Leaked source code of windows server 2003
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.

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