Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

882 lines
24 KiB

  1. /////////////////////////////////////////////////////////////////////////////
  2. // Copyright (c) Microsoft Corporation. All rights reserved.
  3. //
  4. // sdoias.idl : IDL source for IAS Server Data Object
  5. //////////////////////////////////////////////////////////////////////////////
  6. #ifndef __SDOIAS_IDL__
  7. #define __SDOIAS_IDL__
  8. import "oaidl.idl";
  9. import "ocidl.idl";
  10. //////////////////////////////////////////////////////////////////////////////
  11. // Type Library
  12. //////////////////////////////////////////////////////////////////////////////
  13. [
  14. uuid(81DDF732-4AA8-4a35-BDFF-8B42EFE7C624),
  15. version(1.0),
  16. helpstring("IAS SDO 1.0 Type Library")
  17. ]
  18. library SDOIASLib
  19. {
  20. importlib("stdole2.tlb");
  21. //////////////////////////////////////////////////////////////////////////
  22. //
  23. // Name: ATTRIBUTEID
  24. //
  25. // What: IAS Dictionary attribute IDs
  26. //
  27. // Purpose: Defines the set of IDs for IAS dictionary attributes
  28. //
  29. //////////////////////////////////////////////////////////////////////////
  30. typedef [public] enum _ATTRIBUTEID
  31. {
  32. ATTRIBUTE_UNDEFINED=0,
  33. ATTRIBUTE_MIN_VALUE=1,
  34. RADIUS_ATTRIBUTE_USER_NAME = ATTRIBUTE_MIN_VALUE,
  35. RADIUS_ATTRIBUTE_USER_PASSWORD,
  36. RADIUS_ATTRIBUTE_CHAP_PASSWORD,
  37. RADIUS_ATTRIBUTE_NAS_IP_ADDRESS,
  38. RADIUS_ATTRIBUTE_NAS_PORT,
  39. RADIUS_ATTRIBUTE_SERVICE_TYPE,
  40. RADIUS_ATTRIBUTE_FRAMED_PROTOCOL,
  41. RADIUS_ATTRIBUTE_FRAMED_IP_ADDRESS,
  42. RADIUS_ATTRIBUTE_FRAMED_IP_NETMASK,
  43. RADIUS_ATTRIBUTE_FRAMED_ROUTING,
  44. RADIUS_ATTRIBUTE_FILTER_ID,
  45. RADIUS_ATTRIBUTE_FRAMED_MTU,
  46. RADIUS_ATTRIBUTE_FRAMED_COMPRESSION,
  47. RADIUS_ATTRIBUTE_LOGIN_IP_HOST,
  48. RADIUS_ATTRIBUTE_LOGIN_SERVICE,
  49. RADIUS_ATTRIBUTE_LOGIN_TCP_PORT,
  50. RADIUS_ATTRIBUTE_UNASSIGNED1,
  51. RADIUS_ATTRIBUTE_REPLY_MESSAGE,
  52. RADIUS_ATTRIBUTE_CALLBACK_NUMBER,
  53. RADIUS_ATTRIBUTE_CALLBACK_ID,
  54. RADIUS_ATTRIBUTE_UNASSIGNED2,
  55. RADIUS_ATTRIBUTE_FRAMED_ROUTE,
  56. RADIUS_ATTRIBUTE_FRAMED_IPX_NETWORK,
  57. RADIUS_ATTRIBUTE_STATE,
  58. RADIUS_ATTRIBUTE_CLASS,
  59. RADIUS_ATTRIBUTE_VENDOR_SPECIFIC,
  60. RADIUS_ATTRIBUTE_SESSION_TIMEOUT,
  61. RADIUS_ATTRIBUTE_IDLE_TIMEOUT,
  62. RADIUS_ATTRIBUTE_TERMINATION_ACTION,
  63. RADIUS_ATTRIBUTE_CALLED_STATION_ID,
  64. RADIUS_ATTRIBUTE_CALLING_STATION_ID,
  65. RADIUS_ATTRIBUTE_NAS_IDENTIFIER,
  66. RADIUS_ATTRIBUTE_PROXY_STATE,
  67. RADIUS_ATTRIBUTE_LOGIN_LAT_SERVICE,
  68. RADIUS_ATTRIBUTE_LOGIN_LAT_NODE,
  69. RADIUS_ATTRIBUTE_LOGIN_LAT_GROUP,
  70. RADIUS_ATTRIBUTE_FRAMED_APPLETALK_LINK,
  71. RADIUS_ATTRIBUTE_FRAMED_APPLETALK_NET,
  72. RADIUS_ATTRIBUTE_FRAMED_APPLETALK_ZONE,
  73. RADIUS_ATTRIBUTE_ACCT_STATUS_TYPE,
  74. RADIUS_ATTRIBUTE_ACCT_DELAY_TIME,
  75. RADIUS_ATTRIBUTE_ACCT_INPUT_OCTETS,
  76. RADIUS_ATTRIBUTE_ACCT_OUTPUT_OCTETS,
  77. RADIUS_ATTRIBUTE_ACCT_SESSION_ID,
  78. RADIUS_ATTRIBUTE_ACCT_AUTHENTIC,
  79. RADIUS_ATTRIBUTE_ACCT_SESSION_TIME,
  80. RADIUS_ATTRIBUTE_ACCT_INPUT_PACKETS,
  81. RADIUS_ATTRIBUTE_ACCT_OUTPUT_PACKETS,
  82. RADIUS_ATTRIBUTE_ACCT_TERMINATE_CAUSE,
  83. RADIUS_ATTRIBUTE_ACCT_MULTI_SSN_ID,
  84. RADIUS_ATTRIBUTE_ACCT_LINK_COUNT,
  85. RADIUS_ATTRIBUTE_CHAP_CHALLENGE = 60,
  86. RADIUS_ATTRIBUTE_NAS_PORT_TYPE,
  87. RADIUS_ATTRIBUTE_PORT_LIMIT,
  88. RADIUS_ATTRIBUTE_LOGIN_LAT_PORT,
  89. RADIUS_ATTRIBUTE_TUNNEL_TYPE,
  90. RADIUS_ATTRIBUTE_TUNNEL_MEDIUM_TYPE,
  91. RADIUS_ATTRIBUTE_TUNNEL_CLIENT_ENDPT,
  92. RADIUS_ATTRIBUTE_TUNNEL_SERVER_ENDPT,
  93. RADIUS_ATTRIBUTE_ACCT_TUNNEL_CONN,
  94. RADIUS_ATTRIBUTE_TUNNEL_PASSWORD,
  95. RADIUS_ATTRIBUTE_ARAP_PASSWORD,
  96. RADIUS_ATTRIBUTE_ARAP_FEATURES,
  97. RADIUS_ATTRIBUTE_ARAP_ZONE_ACCESS,
  98. RADIUS_ATTRIBUTE_ARAP_SECURITY,
  99. RADIUS_ATTRIBUTE_ARAP_SECURITY_DATA,
  100. RADIUS_ATTRIBUTE_PASSWORD_RETRY,
  101. RADIUS_ATTRIBUTE_PROMPT = 76,
  102. RADIUS_ATTRIBUTE_CONNECT_INFO,
  103. RADIUS_ATTRIBUTE_CONFIGURATION_TOKEN,
  104. RADIUS_ATTRIBUTE_EAP_MESSAGE,
  105. RADIUS_ATTRIBUTE_SIGNATURE,
  106. RADIUS_ATTRIBUTE_TUNNEL_PVT_GROUP_ID,
  107. RADIUS_ATTRIBUTE_TUNNEL_ASSIGNMENT_ID,
  108. RADIUS_ATTRIBUTE_TUNNEL_PREFERENCE,
  109. RADIUS_ATTRIBUTE_ARAP_CHALLENGE_RESPONSE,
  110. // RADIUS_ATTRIBUTE_
  111. // New RADIUS Attribute IDs Here...
  112. IAS_ATTRIBUTE_SAVED_RADIUS_FRAMED_IP_ADDRESS = 0x1000,
  113. IAS_ATTRIBUTE_SAVED_RADIUS_CALLBACK_NUMBER,
  114. IAS_ATTRIBUTE_NP_CALLING_STATION_ID,
  115. IAS_ATTRIBUTE_SAVED_NP_CALLING_STATION_ID,
  116. IAS_ATTRIBUTE_SAVED_RADIUS_FRAMED_ROUTE,
  117. IAS_ATTRIBUTE_IGNORE_USER_DIALIN_PROPERTIES,
  118. IAS_ATTRIBUTE_NP_TIME_OF_DAY,
  119. IAS_ATTRIBUTE_NP_CALLED_STATION_ID,
  120. IAS_ATTRIBUTE_NP_ALLOWED_PORT_TYPES,
  121. IAS_ATTRIBUTE_NP_AUTHENTICATION_TYPE,
  122. IAS_ATTRIBUTE_NP_ALLOWED_EAP_TYPE,
  123. IAS_ATTRIBUTE_SHARED_SECRET,
  124. IAS_ATTRIBUTE_CLIENT_IP_ADDRESS,
  125. IAS_ATTRIBUTE_CLIENT_PACKET_HEADER,
  126. IAS_ATTRIBUTE_TOKEN_GROUPS,
  127. IAS_ATTRIBUTE_ALLOW_DIALIN,
  128. IAS_ATTRIBUTE_NP_CONSTRAINT,
  129. IAS_ATTRIBUTE_MANIPULATION_TARGET,
  130. IAS_ATTRIBUTE_MANIPULATION_RULE,
  131. IAS_ATTRIBUTE_ORIGINAL_USER_NAME,
  132. IAS_ATTRIBUTE_CLIENT_VENDOR_TYPE,
  133. IAS_ATTRIBUTE_CLIENT_UDP_PORT,
  134. MS_ATTRIBUTE_CHAP_CHALLENGE,
  135. MS_ATTRIBUTE_CHAP_RESPONSE,
  136. MS_ATTRIBUTE_CHAP_DOMAIN,
  137. MS_ATTRIBUTE_CHAP_ERROR,
  138. MS_ATTRIBUTE_CHAP_CPW1,
  139. MS_ATTRIBUTE_CHAP_CPW2,
  140. MS_ATTRIBUTE_CHAP_LM_ENC_PW,
  141. MS_ATTRIBUTE_CHAP_NT_ENC_PW,
  142. MS_ATTRIBUTE_CHAP_MPPE_KEYS,
  143. IAS_ATTRIBUTE_AUTHENTICATION_TYPE,
  144. IAS_ATTRIBUTE_CLIENT_NAME,
  145. IAS_ATTRIBUTE_NT4_ACCOUNT_NAME,
  146. IAS_ATTRIBUTE_FULLY_QUALIFIED_USER_NAME,
  147. IAS_ATTRIBUTE_NTGROUPS,
  148. IAS_ATTRIBUTE_EAP_FRIENDLY_NAME,
  149. IAS_ATTRIBUTE_AUTH_PROVIDER_TYPE,
  150. MS_ATTRIBUTE_ACCT_AUTH_TYPE,
  151. MS_ATTRIBUTE_ACCT_EAP_TYPE,
  152. IAS_ATTRIBUTE_PACKET_TYPE,
  153. IAS_ATTRIBUTE_AUTH_PROVIDER_NAME,
  154. IAS_ATTRIBUTE_ACCT_PROVIDER_TYPE,
  155. IAS_ATTRIBUTE_ACCT_PROVIDER_NAME,
  156. MS_ATTRIBUTE_MPPE_SEND_KEY,
  157. MS_ATTRIBUTE_MPPE_RECV_KEY,
  158. IAS_ATTRIBUTE_REASON_CODE,
  159. MS_ATTRIBUTE_FILTER,
  160. MS_ATTRIBUTE_CHAP2_RESPONSE,
  161. MS_ATTRIBUTE_CHAP2_SUCCESS,
  162. MS_ATTRIBUTE_CHAP2_CPW,
  163. MS_ATTRIBUTE_RAS_VENDOR,
  164. MS_ATTRIBUTE_RAS_VERSION,
  165. IAS_ATTRIBUTE_NP_NAME,
  166. MS_ATTRIBUTE_PRIMARY_DNS_SERVER,
  167. MS_ATTRIBUTE_SECONDARY_DNS_SERVER,
  168. MS_ATTRIBUTE_PRIMARY_NBNS_SERVER,
  169. MS_ATTRIBUTE_SECONDARY_NBNS_SERVER,
  170. IAS_ATTRIBUTE_PROXY_POLICY_NAME,
  171. IAS_ATTRIBUTE_PROVIDER_TYPE,
  172. IAS_ATTRIBUTE_PROVIDER_NAME,
  173. IAS_ATTRIBUTE_REMOTE_SERVER_ADDRESS,
  174. IAS_ATTRIBUTE_GENERATE_CLASS_ATTRIBUTE,
  175. MS_ATTRIBUTE_RAS_CLIENT_NAME,
  176. MS_ATTRIBUTE_RAS_CLIENT_VERSION,
  177. IAS_ATTRIBUTE_ALLOWED_CERTIFICATE_EKU,
  178. IAS_ATTRIBUTE_CERTIFICATE_EKU=8097,
  179. // IAS_ATTRIBUTE_
  180. // New IAS Attributes Here
  181. RAS_ATTRIBUTE_ENCRYPTION_TYPE = (0xFFFFFFFF-89),
  182. RAS_ATTRIBUTE_ENCRYPTION_POLICY,
  183. RAS_ATTRIBUTE_BAP_REQUIRED,
  184. RAS_ATTRIBUTE_BAP_LINE_DOWN_TIME,
  185. RAS_ATTRIBUTE_BAP_LINE_DOWN_LIMIT
  186. // RAS_ATTRIBUTE_
  187. // New RAS Attributes Here
  188. } ATTRIBUTEID;
  189. //////////////////////////////////////////////////////////////////////////
  190. //
  191. // Name: NEW_LOG_FILE_FREQUENCY
  192. //
  193. // What: IAS Accounting Request Handler Log Frequency Values
  194. //
  195. // Purpose: Defines the log frequency settings for the IAS accounting
  196. // request handler.
  197. //
  198. //////////////////////////////////////////////////////////////////////////
  199. typedef [public] enum _NEW_LOG_FILE_FREQUENCY
  200. {
  201. IAS_LOGGING_UNLIMITED_SIZE=0,
  202. IAS_LOGGING_DAILY,
  203. IAS_LOGGING_WEEKLY,
  204. IAS_LOGGING_MONTHLY,
  205. IAS_LOGGING_WHEN_FILE_SIZE_REACHES
  206. } NEW_LOG_FILE_FREQUENCY;
  207. //////////////////////////////////////////////////////////////////////////
  208. //
  209. // Name: AUTHENTICATION_TYPE
  210. //
  211. // What: IAS Authentication Type Values
  212. //
  213. //////////////////////////////////////////////////////////////////////////
  214. typedef [public] enum _AUTHENTICATION_TYPE
  215. {
  216. IAS_AUTH_INVALID,
  217. IAS_AUTH_PAP,
  218. IAS_AUTH_MD5CHAP,
  219. IAS_AUTH_MSCHAP,
  220. IAS_AUTH_MSCHAP2,
  221. IAS_AUTH_EAP,
  222. IAS_AUTH_ARAP,
  223. IAS_AUTH_NONE,
  224. IAS_AUTH_CUSTOM,
  225. IAS_AUTH_MSCHAP_CPW,
  226. IAS_AUTH_MSCHAP2_CPW
  227. } AUTHENTICATION_TYPE;
  228. //////////////////////////////////////////////////////////////////////////
  229. //
  230. // Name: ATTRIBUTESYNTAX
  231. //
  232. // What: Attribute SDO syntax types
  233. //
  234. // Purpose: Defines the set Attribute SDO syntaxes (attribute data types)
  235. //
  236. //////////////////////////////////////////////////////////////////////////
  237. typedef [public] enum _ATTRIBUTESYNTAX
  238. {
  239. IAS_SYNTAX_BOOLEAN = 1,
  240. IAS_SYNTAX_INTEGER,
  241. IAS_SYNTAX_ENUMERATOR,
  242. IAS_SYNTAX_INETADDR,
  243. IAS_SYNTAX_STRING,
  244. IAS_SYNTAX_OCTETSTRING,
  245. IAS_SYNTAX_UTCTIME,
  246. IAS_SYNTAX_PROVIDERSPECIFIC,
  247. IAS_SYNTAX_UNSIGNEDINTEGER
  248. } ATTRIBUTESYNTAX;
  249. //////////////////////////////////////////////////////////////////////////
  250. //
  251. // Name: Dictionary Attriubutes Restrictions
  252. //
  253. // What: IAS Dictionary Attribute IDs
  254. //
  255. // Purpose: Defines the restrictions for the dictionary attributes
  256. //
  257. //////////////////////////////////////////////////////////////////////////
  258. typedef [public] enum _ATTRIBUTERESTRICTIONS
  259. {
  260. MULTIVALUED = 0x01,
  261. ALLOWEDINPROFILE = 0x02,
  262. ALLOWEDINCONDITION = 0x04,
  263. ALLOWEDINPROXYPROFILE = 0x08,
  264. ALLOWEDINPROXYCONDITION = 0x10
  265. } ATTRIBUTERESTRICTIONS;
  266. //////////////////////////////////////////////////////////////////////////
  267. //
  268. // Name: Dictionary Attributes Info
  269. //
  270. // What: IAS Dictionary Attribute Info IDS
  271. //
  272. // Purpose: Defines the attribute info for the dictionary attributes
  273. //
  274. //////////////////////////////////////////////////////////////////////////
  275. typedef [public] enum _ATTRIBUTEINFO
  276. {
  277. NAME = 1,
  278. SYNTAX,
  279. RESTRICTIONS,
  280. DESCRIPTION,
  281. VENDORID,
  282. LDAPNAME,
  283. VENDORTYPE,
  284. } ATTRIBUTEINFO;
  285. //////////////////////////////////////////////////////////////////////////
  286. //
  287. // Name: SDO Property Aliases
  288. //
  289. // What: SDO Property Enumerations
  290. //
  291. // Purpose: Property IDs used in conjunction with the ISdo and
  292. // ISdoDictionary interfaces.
  293. //
  294. //////////////////////////////////////////////////////////////////////////
  295. //////////////////////////////////////////////////////////////////////////
  296. // Common Properties
  297. //////////////////////////////////////////////////////////////////////////
  298. typedef [public] enum _IASCOMMONPROPERTIES
  299. {
  300. PROPERTY_SDO_RESERVED = 0, //
  301. PROPERTY_SDO_CLASS, // SDO class name
  302. PROPERTY_SDO_NAME, // SDO name
  303. PROPERTY_SDO_DESCRIPTION, // SDO description
  304. PROPERTY_SDO_ID, // SDO instance id
  305. PROPERTY_SDO_DATASTORE_NAME, // SDO name in data store
  306. // New Properties Here...
  307. PROPERTY_SDO_START= 0x00000400 // 1024 stock object properties
  308. } IASCOMMONPROPERTIES;
  309. /////////////////////////////////////////////////////////////////////////
  310. // User Properties
  311. /////////////////////////////////////////////////////////////////////////
  312. typedef [public] enum _USERPROPERTIES
  313. {
  314. PROPERTY_USER_CALLING_STATION_ID = PROPERTY_SDO_START,
  315. PROPERTY_USER_SAVED_CALLING_STATION_ID,
  316. PROPERTY_USER_RADIUS_CALLBACK_NUMBER,
  317. PROPERTY_USER_RADIUS_FRAMED_ROUTE,
  318. PROPERTY_USER_RADIUS_FRAMED_IP_ADDRESS,
  319. PROPERTY_USER_SAVED_RADIUS_CALLBACK_NUMBER,
  320. PROPERTY_USER_SAVED_RADIUS_FRAMED_ROUTE,
  321. PROPERTY_USER_SAVED_RADIUS_FRAMED_IP_ADDRESS,
  322. PROPERTY_USER_ALLOW_DIALIN,
  323. PROPERTY_USER_SERVICE_TYPE
  324. // New Properties Here...
  325. } USERPROPERTIES;
  326. /////////////////////////////////////////////////////////////////////////
  327. // Dictionary Properties
  328. /////////////////////////////////////////////////////////////////////////
  329. /////////////////////////////////////////////////////////////////////////
  330. typedef [public] enum _DICTIONARYPROPERTIES
  331. {
  332. PROPERTY_DICTIONARY_ATTRIBUTES_COLLECTION = PROPERTY_SDO_START,
  333. PROPERTY_DICTIONARY_LOCATION
  334. } DICTIONARYPROPERTIES;
  335. /////////////////////////////////////////////////////////////////////////
  336. typedef [public] enum _ATTRIBUTEPROPERTIES
  337. {
  338. PROPERTY_ATTRIBUTE_ID = PROPERTY_SDO_START,
  339. PROPERTY_ATTRIBUTE_VENDOR_ID,
  340. PROPERTY_ATTRIBUTE_VENDOR_TYPE_ID,
  341. PROPERTY_ATTRIBUTE_IS_ENUMERABLE,
  342. PROPERTY_ATTRIBUTE_ENUM_NAMES,
  343. PROPERTY_ATTRIBUTE_ENUM_VALUES,
  344. PROPERTY_ATTRIBUTE_SYNTAX,
  345. PROPERTY_ATTRIBUTE_ALLOW_MULTIPLE,
  346. PROPERTY_ATTRIBUTE_ALLOW_LOG_ORDINAL,
  347. PROPERTY_ATTRIBUTE_ALLOW_IN_PROFILE,
  348. PROPERTY_ATTRIBUTE_ALLOW_IN_CONDITION,
  349. PROPERTY_ATTRIBUTE_DISPLAY_NAME,
  350. PROPERTY_ATTRIBUTE_VALUE,
  351. PROPERTY_ATTRIBUTE_ALLOW_IN_PROXY_PROFILE,
  352. PROPERTY_ATTRIBUTE_ALLOW_IN_PROXY_CONDITION
  353. // New Properties Here...
  354. } ATTRIBUTEPROPERTIES;
  355. /////////////////////////////////////////////////////////////////////////
  356. // IAS Service Properties
  357. /////////////////////////////////////////////////////////////////////////
  358. /////////////////////////////////////////////////////////////////////////
  359. typedef [public] enum _IASPROPERTIES
  360. {
  361. PROPERTY_IAS_RADIUSSERVERGROUPS_COLLECTION = PROPERTY_SDO_START,
  362. PROPERTY_IAS_POLICIES_COLLECTION,
  363. PROPERTY_IAS_PROFILES_COLLECTION,
  364. PROPERTY_IAS_PROTOCOLS_COLLECTION,
  365. PROPERTY_IAS_AUDITORS_COLLECTION,
  366. PROPERTY_IAS_REQUESTHANDLERS_COLLECTION,
  367. PROPERTY_IAS_PROXYPOLICIES_COLLECTION,
  368. PROPERTY_IAS_PROXYPROFILES_COLLECTION
  369. // New Properties Here...
  370. } IASPROPERTIES;
  371. /////////////////////////////////////////////////////////////////////////
  372. typedef [public] enum _CLIENTPROPERTIES
  373. {
  374. PROPERTY_CLIENT_REQUIRE_SIGNATURE = PROPERTY_SDO_START,
  375. PROPERTY_CLIENT_UNUSED,
  376. PROPERTY_CLIENT_SHARED_SECRET,
  377. PROPERTY_CLIENT_NAS_MANUFACTURER,
  378. PROPERTY_CLIENT_ADDRESS,
  379. // New Properties Here...
  380. } CLIENTPROPERTIES;
  381. /////////////////////////////////////////////////////////////////////////
  382. typedef [public] enum _VENDORPROPERTIES
  383. {
  384. PROPERTY_NAS_VENDOR_ID = PROPERTY_SDO_START
  385. // New Properties Here...
  386. } VENDORPROPERTIES;
  387. /////////////////////////////////////////////////////////////////////////
  388. typedef [public] enum _PROFILEPROPERTIES
  389. {
  390. PROPERTY_PROFILE_ATTRIBUTES_COLLECTION = PROPERTY_SDO_START
  391. // New Properties Here...
  392. } PROFILEPROPERTIES;
  393. /////////////////////////////////////////////////////////////////////////
  394. typedef [public] enum _POLICYPROPERTIES
  395. {
  396. PROPERTY_POLICY_CONSTRAINT = PROPERTY_SDO_START,
  397. PROPERTY_POLICY_MERIT,
  398. PROPERTY_POLICY_UNUSED0,
  399. PROPERTY_POLICY_UNUSED1,
  400. PROPERTY_POLICY_PROFILE_NAME,
  401. PROPERTY_POLICY_ACTION,
  402. PROPERTY_POLICY_CONDITIONS_COLLECTION,
  403. // New Properties Here...
  404. } POLICYPROPERTIES;
  405. /////////////////////////////////////////////////////////////////////////
  406. typedef [public] enum _CONDITIONPROPERTIES
  407. {
  408. PROPERTY_CONDITION_TEXT = PROPERTY_SDO_START,
  409. // New Properties Here...
  410. } CONDITIONPROPERTIES;
  411. /////////////////////////////////////////////////////////////////////////
  412. typedef [public] enum _RADIUSSERVERGROUPPROPERTIES
  413. {
  414. PROPERTY_RADIUSSERVERGROUP_SERVERS_COLLECTION = PROPERTY_SDO_START,
  415. // New Properties Here...
  416. } RADIUSSERVERGROUPPROPERTIES;
  417. /////////////////////////////////////////////////////////////////////////
  418. typedef [public] enum _RADIUSSERVERPROPERTIES
  419. {
  420. PROPERTY_RADIUSSERVER_AUTH_PORT = PROPERTY_SDO_START,
  421. PROPERTY_RADIUSSERVER_AUTH_SECRET,
  422. PROPERTY_RADIUSSERVER_ACCT_PORT,
  423. PROPERTY_RADIUSSERVER_ACCT_SECRET,
  424. PROPERTY_RADIUSSERVER_ADDRESS,
  425. PROPERTY_RADIUSSERVER_FORWARD_ACCT_ONOFF,
  426. PROPERTY_RADIUSSERVER_PRIORITY,
  427. PROPERTY_RADIUSSERVER_WEIGHT,
  428. PROPERTY_RADIUSSERVER_TIMEOUT,
  429. PROPERTY_RADIUSSERVER_MAX_LOST,
  430. PROPERTY_RADIUSSERVER_BLACKOUT
  431. // New Properties Here...
  432. } RADIUSSERVERPROPERTIES;
  433. /////////////////////////////////////////////////////////////////////////
  434. // Component Properties (components available from IAS service object)
  435. /////////////////////////////////////////////////////////////////////////
  436. /////////////////////////////////////////////////////////////////////////
  437. typedef [public] enum _IASCOMPONENTPROPERTIES
  438. {
  439. PROPERTY_COMPONENT_ID = PROPERTY_SDO_START,
  440. PROPERTY_COMPONENT_PROG_ID,
  441. // New Properties Here...
  442. PROPERTY_COMPONENT_START
  443. } IASCOMPONENTPROPERTIES;
  444. /////////////////////////////////////////////////////////////////////////
  445. typedef [public] enum _PROTOCOLPROPERTIES
  446. {
  447. PROPERTY_PROTOCOL_REQUEST_HANDLER = PROPERTY_COMPONENT_START,
  448. // New Properties Here...
  449. PROPERTY_PROTOCOL_START
  450. } PROTOCOLPROPERTIES;
  451. /////////////////////////////////////////////////////////////////////////
  452. typedef [public] enum _RADIUSPROPERTIES
  453. {
  454. PROPERTY_RADIUS_ACCOUNTING_PORT = PROPERTY_PROTOCOL_START,
  455. PROPERTY_RADIUS_AUTHENTICATION_PORT,
  456. PROPERTY_RADIUS_CLIENTS_COLLECTION,
  457. PROPERTY_RADIUS_VENDORS_COLLECTION
  458. // New Properties Here...
  459. } RADIUSPROPERTIES;
  460. /////////////////////////////////////////////////////////////////////////
  461. typedef [public] enum _NTEVENTLOGPROPERTIES
  462. {
  463. PROPERTY_EVENTLOG_LOG_APPLICATION_EVENTS = PROPERTY_COMPONENT_START,
  464. PROPERTY_EVENTLOG_LOG_MALFORMED,
  465. PROPERTY_EVENTLOG_LOG_DEBUG
  466. // New Properties Here...
  467. } NTEVENTLOGPROPERTIES;
  468. /////////////////////////////////////////////////////////////////////////
  469. typedef [public] enum _NAMESPROPERTIES
  470. {
  471. PROPERTY_NAMES_REALMS = PROPERTY_COMPONENT_START
  472. // New Properties Here...
  473. } NAMESPROPERTIES;
  474. /////////////////////////////////////////////////////////////////////////
  475. typedef [public] enum _NTSAMPROPERTIES
  476. {
  477. PROPERTY_NTSAM_ALLOW_LM_AUTHENTICATION = PROPERTY_COMPONENT_START
  478. // New Properties Here...
  479. } NTSAMPROPERTIES;
  480. /////////////////////////////////////////////////////////////////////////
  481. typedef [public] enum _ACCOUNTINGPROPERTIES
  482. {
  483. PROPERTY_ACCOUNTING_LOG_ACCOUNTING = PROPERTY_COMPONENT_START,
  484. PROPERTY_ACCOUNTING_LOG_ACCOUNTING_INTERIM,
  485. PROPERTY_ACCOUNTING_LOG_AUTHENTICATION,
  486. PROPERTY_ACCOUNTING_LOG_OPEN_NEW_FREQUENCY,
  487. PROPERTY_ACCOUNTING_LOG_OPEN_NEW_SIZE,
  488. PROPERTY_ACCOUNTING_LOG_FILE_DIRECTORY,
  489. PROPERTY_ACCOUNTING_LOG_IAS1_FORMAT
  490. // New Properties Here...
  491. } ACCOUNTINGPROPERTIES;
  492. /////////////////////////////////////////////////////////////////////////
  493. typedef [public] enum _EAPWRAPPROPERTIES
  494. {
  495. PROPERTY_EAP_SESSION_TIMEOUT = PROPERTY_COMPONENT_START,
  496. PROPERTY_EAP_MAX_SESSIONS
  497. // New Properties Here...
  498. } EAPWRAPPROPERTIES;
  499. /////////////////////////////////////////////////////////////////////////
  500. typedef [public] enum _NAPPROPERTIES
  501. {
  502. PROPERTY_NAP_POLICIES_COLLECTION = PROPERTY_COMPONENT_START
  503. // New Properties Here...
  504. } NAPPROPERTIES;
  505. /////////////////////////////////////////////////////////////////////////
  506. typedef [public] enum _RADIUSPROXYPROPERTIES
  507. {
  508. PROPERTY_RADIUSPROXY_SERVERGROUPS = PROPERTY_COMPONENT_START
  509. // New Properties Here...
  510. } RADIUSPROXYPROPERTIES;
  511. //////////////////////////////////////////////////////////////////////////
  512. //
  513. // Name: Service Type
  514. //
  515. // What: Supported Service Types
  516. //
  517. // Purpose: Defines the set of NT networking services supported by
  518. // the IAS subsystem. Used by the ISdoService interface.
  519. //
  520. //////////////////////////////////////////////////////////////////////////
  521. typedef [public] enum _SERVICE_TYPE
  522. {
  523. SERVICE_TYPE_IAS = 0,
  524. SERVICE_TYPE_RAS,
  525. //
  526. // New service type here...
  527. SERVICE_TYPE_MAX
  528. } SERVICE_TYPE;
  529. //////////////////////////////////////////////////////////////////////////
  530. //
  531. // Name: Machine Information
  532. //
  533. // What: Identifiers for Machine Information
  534. //
  535. // Purpose: Defines the set of machine information available via the
  536. // ISdoMachine interface.
  537. //
  538. //////////////////////////////////////////////////////////////////////////
  539. /////////////////////////////////////////////////////////////////////////
  540. // Operating System Types
  541. /////////////////////////////////////////////////////////////////////////
  542. typedef [public] enum _IASOSTYPE
  543. {
  544. SYSTEM_TYPE_NT4_WORKSTATION,
  545. SYSTEM_TYPE_NT5_WORKSTATION,
  546. SYSTEM_TYPE_NT4_SERVER,
  547. SYSTEM_TYPE_NT5_SERVER
  548. } IASOSTYPE, *PIASOSTYPE;
  549. /////////////////////////////////////////////////////////////////////////
  550. // Domain Types
  551. /////////////////////////////////////////////////////////////////////////
  552. typedef [public] enum _DOMAINTYPE
  553. {
  554. DOMAIN_TYPE_NONE, // Standalone
  555. DOMAIN_TYPE_NT4,
  556. DOMAIN_TYPE_NT5,
  557. DOMAIN_TYPE_MIXED
  558. } IASDOMAINTYPE, *PIASDOMAINTYPE;
  559. //////////////////////////////////////////////////////////////////////////
  560. //
  561. // Name: IASDATASTORE
  562. //
  563. // What: Set of data stores available to SDO client applications
  564. //
  565. // Purpose: Defines the set of set of data store via the
  566. // ISdoMachine interface.
  567. //
  568. //////////////////////////////////////////////////////////////////////////
  569. typedef [public] enum _IASDATASTORE
  570. {
  571. DATA_STORE_LOCAL,
  572. DATA_STORE_DIRECTORY,
  573. } IASDATASTORE, *PIASDATASTORE;
  574. //////////////////////////////////////////////////////////////////////////
  575. // ISdoMachine - Used to retrieve information from a Machine SDO
  576. //////////////////////////////////////////////////////////////////////////
  577. [
  578. object,
  579. uuid(479F6E75-49A2-11d2-8ECA-00C04FC2F519),
  580. dual,
  581. pointer_default(unique)
  582. ]
  583. interface ISdoMachine: IDispatch
  584. {
  585. [id(1)]
  586. HRESULT Attach (
  587. [in] BSTR bstrComputerName
  588. );
  589. [id(2)]
  590. HRESULT GetDictionarySDO (
  591. [out, retval] IUnknown** ppDictionarySDO
  592. );
  593. [id(3)]
  594. HRESULT GetServiceSDO (
  595. [in] IASDATASTORE eDataStore,
  596. [in] BSTR bstrServiceName,
  597. [out, retval] IUnknown** ppServiceSDO
  598. );
  599. [id(4)]
  600. HRESULT GetUserSDO (
  601. [in] IASDATASTORE eDataStore,
  602. [in] BSTR bstrUserName,
  603. [out, retval] IUnknown** ppUserSDO
  604. );
  605. [id(5)]
  606. HRESULT GetOSType (
  607. [out, retval] IASOSTYPE* eOSType
  608. );
  609. [id(6)]
  610. HRESULT GetDomainType(
  611. [out, retval] IASDOMAINTYPE* eDomainType
  612. );
  613. [id(7)]
  614. HRESULT IsDirectoryAvailable(
  615. [out, retval] VARIANT_BOOL* boolDirectoryAvailable
  616. );
  617. [id(8)]
  618. HRESULT GetAttachedComputer(
  619. [out, retval] BSTR* bstrComputerName
  620. );
  621. [id(9), hidden]
  622. HRESULT GetSDOSchema(
  623. [out, retval] IUnknown** ppSDOSchema
  624. );
  625. };
  626. //////////////////////////////////////////////////////////////////////////
  627. // ISdoServiceControl - Used to control a Service SDO
  628. //////////////////////////////////////////////////////////////////////////
  629. [
  630. object,
  631. uuid(479F6E74-49A2-11d2-8ECA-00C04FC2F519),
  632. dual,
  633. pointer_default(unique)
  634. ]
  635. interface ISdoServiceControl: IDispatch
  636. {
  637. [id(1)]
  638. HRESULT StartService (void);
  639. [id(2)]
  640. HRESULT StopService (void);
  641. [id(3)]
  642. HRESULT GetServiceStatus ([out, retval] LONG* status);
  643. [id(4)]
  644. HRESULT ResetService (void);
  645. };
  646. //////////////////////////////////////////////////////////////////////////
  647. // ISdo - Used to store, retrieve and update SDO information
  648. //////////////////////////////////////////////////////////////////////////
  649. [
  650. object,
  651. uuid(56BC53DE-96DB-11D1-BF3F-000000000000),
  652. dual,
  653. pointer_default(unique)
  654. ]
  655. interface ISdo : IDispatch
  656. {
  657. [id(1), hidden]
  658. HRESULT GetPropertyInfo ([in] LONG Id, [out, retval] IUnknown** ppPropertyInfo);
  659. [id(2)]
  660. HRESULT GetProperty ([in] LONG Id, [out, retval] VARIANT* pValue);
  661. [id(3)]
  662. HRESULT PutProperty ([in] LONG Id, [in] VARIANT* pValue);
  663. [id(4)]
  664. HRESULT ResetProperty ([in] LONG Id);
  665. [id(5)]
  666. HRESULT Apply (void);
  667. [id(6)]
  668. HRESULT Restore (void);
  669. [propget, id(DISPID_NEWENUM)]
  670. HRESULT _NewEnum ([out, retval] IUnknown** ppEnumVARIANT); // Property enumerator
  671. };
  672. //////////////////////////////////////////////////////////////////////////
  673. // ISdoCollection - Used to manipulate the contents of a collection
  674. //////////////////////////////////////////////////////////////////////////
  675. [
  676. object,
  677. uuid(56BC53E2-96DB-11D1-BF3F-000000000000),
  678. dual,
  679. pointer_default(unique)
  680. ]
  681. interface ISdoCollection : IDispatch
  682. {
  683. [propget, id(1)]
  684. HRESULT Count ([out, retval] long *pCount);
  685. [id(2)]
  686. HRESULT Add ([in] BSTR bstrName, [in, out] IDispatch** ppItem);
  687. [id(3)]
  688. HRESULT Remove ([in] IDispatch* pItem);
  689. [id(4)]
  690. HRESULT RemoveAll (void);
  691. [id(5)]
  692. HRESULT Reload (void);
  693. [id(6)]
  694. HRESULT IsNameUnique([in] BSTR bstrName, [out, retval] VARIANT_BOOL* pBool);
  695. [id(DISPID_VALUE)]
  696. HRESULT Item ([in] VARIANT* Name, [out, retval] IDispatch** pItem);
  697. [propget, id(DISPID_NEWENUM)]
  698. HRESULT _NewEnum ([out, retval] IUnknown** ppEnumVARIANT);
  699. };
  700. //////////////////////////////////////////////////////////////////////////
  701. // ISdoDictionaryOld - interface Used to access dictionary contents
  702. //////////////////////////////////////////////////////////////////////////
  703. [
  704. object,
  705. uuid(d432e5f4-53d8-11d2-9a3a-00c04fb998ac),
  706. dual,
  707. pointer_default(unique)
  708. ]
  709. interface ISdoDictionaryOld : IDispatch
  710. {
  711. [id(1)]
  712. HRESULT EnumAttributes(
  713. [in, out] VARIANT* Id,
  714. [out,retval] VARIANT* pValues
  715. );
  716. [id(2), hidden]
  717. HRESULT GetAttributeInfo(
  718. [in] ATTRIBUTEID Id,
  719. [in] VARIANT* pInfoIDs,
  720. [out,retval] VARIANT* pInfoValues
  721. );
  722. [id(3)]
  723. HRESULT EnumAttributeValues(
  724. [in] ATTRIBUTEID Id,
  725. [out] VARIANT* pValueIds,
  726. [out,retval] VARIANT* pValuesDesc
  727. );
  728. [id(4)]
  729. HRESULT CreateAttribute(
  730. [in] ATTRIBUTEID Id,
  731. [out,retval] IDispatch** ppAttributeObject
  732. );
  733. [id(5)]
  734. HRESULT GetAttributeID(
  735. [in] BSTR bstrAttributeName,
  736. [out,retval] ATTRIBUTEID* pId
  737. );
  738. };
  739. ///////////////
  740. // Machine SDO
  741. ///////////////
  742. [
  743. uuid(E9218AE7-9E91-11D1-BF60-0080C7846BC0),
  744. ]
  745. coclass SdoMachine
  746. {
  747. [default] interface ISdoMachine;
  748. };
  749. };
  750. #endif // __SDOIAS_IDL__