sdoias.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:65k
源码类别:

模拟服务器

开发平台:

C/C++

  1. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3.  /* File created by MIDL compiler version 6.00.0347 */
  4. /* Compiler settings for sdoias.idl:
  5.     Oicf, W1, Zp8, env=Win32 (32b run)
  6.     protocol : dce , ms_ext, c_ext, robust
  7.     error checks: allocation ref bounds_check enum stub_data 
  8.     VC __declspec() decoration level: 
  9.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  10.          DECLSPEC_UUID(), MIDL_INTERFACE()
  11. */
  12. //@@MIDL_FILE_HEADING(  )
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef __sdoias_h__
  23. #define __sdoias_h__
  24. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  25. #pragma once
  26. #endif
  27. /* Forward Declarations */ 
  28. #ifndef __ISdoMachine_FWD_DEFINED__
  29. #define __ISdoMachine_FWD_DEFINED__
  30. typedef interface ISdoMachine ISdoMachine;
  31. #endif  /* __ISdoMachine_FWD_DEFINED__ */
  32. #ifndef __ISdoServiceControl_FWD_DEFINED__
  33. #define __ISdoServiceControl_FWD_DEFINED__
  34. typedef interface ISdoServiceControl ISdoServiceControl;
  35. #endif  /* __ISdoServiceControl_FWD_DEFINED__ */
  36. #ifndef __ISdo_FWD_DEFINED__
  37. #define __ISdo_FWD_DEFINED__
  38. typedef interface ISdo ISdo;
  39. #endif  /* __ISdo_FWD_DEFINED__ */
  40. #ifndef __ISdoCollection_FWD_DEFINED__
  41. #define __ISdoCollection_FWD_DEFINED__
  42. typedef interface ISdoCollection ISdoCollection;
  43. #endif  /* __ISdoCollection_FWD_DEFINED__ */
  44. #ifndef __ISdoDictionaryOld_FWD_DEFINED__
  45. #define __ISdoDictionaryOld_FWD_DEFINED__
  46. typedef interface ISdoDictionaryOld ISdoDictionaryOld;
  47. #endif  /* __ISdoDictionaryOld_FWD_DEFINED__ */
  48. #ifndef __SdoMachine_FWD_DEFINED__
  49. #define __SdoMachine_FWD_DEFINED__
  50. #ifdef __cplusplus
  51. typedef class SdoMachine SdoMachine;
  52. #else
  53. typedef struct SdoMachine SdoMachine;
  54. #endif /* __cplusplus */
  55. #endif  /* __SdoMachine_FWD_DEFINED__ */
  56. /* header files for imported files */
  57. #include "oaidl.h"
  58. #include "ocidl.h"
  59. #ifdef __cplusplus
  60. extern "C"{
  61. #endif 
  62. void * __RPC_USER MIDL_user_allocate(size_t);
  63. void __RPC_USER MIDL_user_free( void * ); 
  64. #ifndef __SDOIASLib_LIBRARY_DEFINED__
  65. #define __SDOIASLib_LIBRARY_DEFINED__
  66. /* library SDOIASLib */
  67. /* [helpstring][version][uuid] */ 
  68. typedef /* [public] */ 
  69. enum _ATTRIBUTEID
  70.     { ATTRIBUTE_UNDEFINED = 0,
  71. ATTRIBUTE_MIN_VALUE = 1,
  72. RADIUS_ATTRIBUTE_USER_NAME = ATTRIBUTE_MIN_VALUE,
  73. RADIUS_ATTRIBUTE_USER_PASSWORD = RADIUS_ATTRIBUTE_USER_NAME + 1,
  74. RADIUS_ATTRIBUTE_CHAP_PASSWORD = RADIUS_ATTRIBUTE_USER_PASSWORD + 1,
  75. RADIUS_ATTRIBUTE_NAS_IP_ADDRESS = RADIUS_ATTRIBUTE_CHAP_PASSWORD + 1,
  76. RADIUS_ATTRIBUTE_NAS_PORT = RADIUS_ATTRIBUTE_NAS_IP_ADDRESS + 1,
  77. RADIUS_ATTRIBUTE_SERVICE_TYPE = RADIUS_ATTRIBUTE_NAS_PORT + 1,
  78. RADIUS_ATTRIBUTE_FRAMED_PROTOCOL = RADIUS_ATTRIBUTE_SERVICE_TYPE + 1,
  79. RADIUS_ATTRIBUTE_FRAMED_IP_ADDRESS = RADIUS_ATTRIBUTE_FRAMED_PROTOCOL + 1,
  80. RADIUS_ATTRIBUTE_FRAMED_IP_NETMASK = RADIUS_ATTRIBUTE_FRAMED_IP_ADDRESS + 1,
  81. RADIUS_ATTRIBUTE_FRAMED_ROUTING = RADIUS_ATTRIBUTE_FRAMED_IP_NETMASK + 1,
  82. RADIUS_ATTRIBUTE_FILTER_ID = RADIUS_ATTRIBUTE_FRAMED_ROUTING + 1,
  83. RADIUS_ATTRIBUTE_FRAMED_MTU = RADIUS_ATTRIBUTE_FILTER_ID + 1,
  84. RADIUS_ATTRIBUTE_FRAMED_COMPRESSION = RADIUS_ATTRIBUTE_FRAMED_MTU + 1,
  85. RADIUS_ATTRIBUTE_LOGIN_IP_HOST = RADIUS_ATTRIBUTE_FRAMED_COMPRESSION + 1,
  86. RADIUS_ATTRIBUTE_LOGIN_SERVICE = RADIUS_ATTRIBUTE_LOGIN_IP_HOST + 1,
  87. RADIUS_ATTRIBUTE_LOGIN_TCP_PORT = RADIUS_ATTRIBUTE_LOGIN_SERVICE + 1,
  88. RADIUS_ATTRIBUTE_UNASSIGNED1 = RADIUS_ATTRIBUTE_LOGIN_TCP_PORT + 1,
  89. RADIUS_ATTRIBUTE_REPLY_MESSAGE = RADIUS_ATTRIBUTE_UNASSIGNED1 + 1,
  90. RADIUS_ATTRIBUTE_CALLBACK_NUMBER = RADIUS_ATTRIBUTE_REPLY_MESSAGE + 1,
  91. RADIUS_ATTRIBUTE_CALLBACK_ID = RADIUS_ATTRIBUTE_CALLBACK_NUMBER + 1,
  92. RADIUS_ATTRIBUTE_UNASSIGNED2 = RADIUS_ATTRIBUTE_CALLBACK_ID + 1,
  93. RADIUS_ATTRIBUTE_FRAMED_ROUTE = RADIUS_ATTRIBUTE_UNASSIGNED2 + 1,
  94. RADIUS_ATTRIBUTE_FRAMED_IPX_NETWORK = RADIUS_ATTRIBUTE_FRAMED_ROUTE + 1,
  95. RADIUS_ATTRIBUTE_STATE = RADIUS_ATTRIBUTE_FRAMED_IPX_NETWORK + 1,
  96. RADIUS_ATTRIBUTE_CLASS = RADIUS_ATTRIBUTE_STATE + 1,
  97. RADIUS_ATTRIBUTE_VENDOR_SPECIFIC = RADIUS_ATTRIBUTE_CLASS + 1,
  98. RADIUS_ATTRIBUTE_SESSION_TIMEOUT = RADIUS_ATTRIBUTE_VENDOR_SPECIFIC + 1,
  99. RADIUS_ATTRIBUTE_IDLE_TIMEOUT = RADIUS_ATTRIBUTE_SESSION_TIMEOUT + 1,
  100. RADIUS_ATTRIBUTE_TERMINATION_ACTION = RADIUS_ATTRIBUTE_IDLE_TIMEOUT + 1,
  101. RADIUS_ATTRIBUTE_CALLED_STATION_ID = RADIUS_ATTRIBUTE_TERMINATION_ACTION + 1,
  102. RADIUS_ATTRIBUTE_CALLING_STATION_ID = RADIUS_ATTRIBUTE_CALLED_STATION_ID + 1,
  103. RADIUS_ATTRIBUTE_NAS_IDENTIFIER = RADIUS_ATTRIBUTE_CALLING_STATION_ID + 1,
  104. RADIUS_ATTRIBUTE_PROXY_STATE = RADIUS_ATTRIBUTE_NAS_IDENTIFIER + 1,
  105. RADIUS_ATTRIBUTE_LOGIN_LAT_SERVICE = RADIUS_ATTRIBUTE_PROXY_STATE + 1,
  106. RADIUS_ATTRIBUTE_LOGIN_LAT_NODE = RADIUS_ATTRIBUTE_LOGIN_LAT_SERVICE + 1,
  107. RADIUS_ATTRIBUTE_LOGIN_LAT_GROUP = RADIUS_ATTRIBUTE_LOGIN_LAT_NODE + 1,
  108. RADIUS_ATTRIBUTE_FRAMED_APPLETALK_LINK = RADIUS_ATTRIBUTE_LOGIN_LAT_GROUP + 1,
  109. RADIUS_ATTRIBUTE_FRAMED_APPLETALK_NET = RADIUS_ATTRIBUTE_FRAMED_APPLETALK_LINK + 1,
  110. RADIUS_ATTRIBUTE_FRAMED_APPLETALK_ZONE = RADIUS_ATTRIBUTE_FRAMED_APPLETALK_NET + 1,
  111. RADIUS_ATTRIBUTE_ACCT_STATUS_TYPE = RADIUS_ATTRIBUTE_FRAMED_APPLETALK_ZONE + 1,
  112. RADIUS_ATTRIBUTE_ACCT_DELAY_TIME = RADIUS_ATTRIBUTE_ACCT_STATUS_TYPE + 1,
  113. RADIUS_ATTRIBUTE_ACCT_INPUT_OCTETS = RADIUS_ATTRIBUTE_ACCT_DELAY_TIME + 1,
  114. RADIUS_ATTRIBUTE_ACCT_OUTPUT_OCTETS = RADIUS_ATTRIBUTE_ACCT_INPUT_OCTETS + 1,
  115. RADIUS_ATTRIBUTE_ACCT_SESSION_ID = RADIUS_ATTRIBUTE_ACCT_OUTPUT_OCTETS + 1,
  116. RADIUS_ATTRIBUTE_ACCT_AUTHENTIC = RADIUS_ATTRIBUTE_ACCT_SESSION_ID + 1,
  117. RADIUS_ATTRIBUTE_ACCT_SESSION_TIME = RADIUS_ATTRIBUTE_ACCT_AUTHENTIC + 1,
  118. RADIUS_ATTRIBUTE_ACCT_INPUT_PACKETS = RADIUS_ATTRIBUTE_ACCT_SESSION_TIME + 1,
  119. RADIUS_ATTRIBUTE_ACCT_OUTPUT_PACKETS = RADIUS_ATTRIBUTE_ACCT_INPUT_PACKETS + 1,
  120. RADIUS_ATTRIBUTE_ACCT_TERMINATE_CAUSE = RADIUS_ATTRIBUTE_ACCT_OUTPUT_PACKETS + 1,
  121. RADIUS_ATTRIBUTE_ACCT_MULTI_SSN_ID = RADIUS_ATTRIBUTE_ACCT_TERMINATE_CAUSE + 1,
  122. RADIUS_ATTRIBUTE_ACCT_LINK_COUNT = RADIUS_ATTRIBUTE_ACCT_MULTI_SSN_ID + 1,
  123. RADIUS_ATTRIBUTE_CHAP_CHALLENGE = 60,
  124. RADIUS_ATTRIBUTE_NAS_PORT_TYPE = RADIUS_ATTRIBUTE_CHAP_CHALLENGE + 1,
  125. RADIUS_ATTRIBUTE_PORT_LIMIT = RADIUS_ATTRIBUTE_NAS_PORT_TYPE + 1,
  126. RADIUS_ATTRIBUTE_LOGIN_LAT_PORT = RADIUS_ATTRIBUTE_PORT_LIMIT + 1,
  127. RADIUS_ATTRIBUTE_TUNNEL_TYPE = RADIUS_ATTRIBUTE_LOGIN_LAT_PORT + 1,
  128. RADIUS_ATTRIBUTE_TUNNEL_MEDIUM_TYPE = RADIUS_ATTRIBUTE_TUNNEL_TYPE + 1,
  129. RADIUS_ATTRIBUTE_TUNNEL_CLIENT_ENDPT = RADIUS_ATTRIBUTE_TUNNEL_MEDIUM_TYPE + 1,
  130. RADIUS_ATTRIBUTE_TUNNEL_SERVER_ENDPT = RADIUS_ATTRIBUTE_TUNNEL_CLIENT_ENDPT + 1,
  131. RADIUS_ATTRIBUTE_ACCT_TUNNEL_CONN = RADIUS_ATTRIBUTE_TUNNEL_SERVER_ENDPT + 1,
  132. RADIUS_ATTRIBUTE_TUNNEL_PASSWORD = RADIUS_ATTRIBUTE_ACCT_TUNNEL_CONN + 1,
  133. RADIUS_ATTRIBUTE_ARAP_PASSWORD = RADIUS_ATTRIBUTE_TUNNEL_PASSWORD + 1,
  134. RADIUS_ATTRIBUTE_ARAP_FEATURES = RADIUS_ATTRIBUTE_ARAP_PASSWORD + 1,
  135. RADIUS_ATTRIBUTE_ARAP_ZONE_ACCESS = RADIUS_ATTRIBUTE_ARAP_FEATURES + 1,
  136. RADIUS_ATTRIBUTE_ARAP_SECURITY = RADIUS_ATTRIBUTE_ARAP_ZONE_ACCESS + 1,
  137. RADIUS_ATTRIBUTE_ARAP_SECURITY_DATA = RADIUS_ATTRIBUTE_ARAP_SECURITY + 1,
  138. RADIUS_ATTRIBUTE_PASSWORD_RETRY = RADIUS_ATTRIBUTE_ARAP_SECURITY_DATA + 1,
  139. RADIUS_ATTRIBUTE_PROMPT = 76,
  140. RADIUS_ATTRIBUTE_CONNECT_INFO = RADIUS_ATTRIBUTE_PROMPT + 1,
  141. RADIUS_ATTRIBUTE_CONFIGURATION_TOKEN = RADIUS_ATTRIBUTE_CONNECT_INFO + 1,
  142. RADIUS_ATTRIBUTE_EAP_MESSAGE = RADIUS_ATTRIBUTE_CONFIGURATION_TOKEN + 1,
  143. RADIUS_ATTRIBUTE_SIGNATURE = RADIUS_ATTRIBUTE_EAP_MESSAGE + 1,
  144. RADIUS_ATTRIBUTE_TUNNEL_PVT_GROUP_ID = RADIUS_ATTRIBUTE_SIGNATURE + 1,
  145. RADIUS_ATTRIBUTE_TUNNEL_ASSIGNMENT_ID = RADIUS_ATTRIBUTE_TUNNEL_PVT_GROUP_ID + 1,
  146. RADIUS_ATTRIBUTE_TUNNEL_PREFERENCE = RADIUS_ATTRIBUTE_TUNNEL_ASSIGNMENT_ID + 1,
  147. RADIUS_ATTRIBUTE_ARAP_CHALLENGE_RESPONSE = RADIUS_ATTRIBUTE_TUNNEL_PREFERENCE + 1,
  148. IAS_ATTRIBUTE_SAVED_RADIUS_FRAMED_IP_ADDRESS = 0x1000,
  149. IAS_ATTRIBUTE_SAVED_RADIUS_CALLBACK_NUMBER = IAS_ATTRIBUTE_SAVED_RADIUS_FRAMED_IP_ADDRESS + 1,
  150. IAS_ATTRIBUTE_NP_CALLING_STATION_ID = IAS_ATTRIBUTE_SAVED_RADIUS_CALLBACK_NUMBER + 1,
  151. IAS_ATTRIBUTE_SAVED_NP_CALLING_STATION_ID = IAS_ATTRIBUTE_NP_CALLING_STATION_ID + 1,
  152. IAS_ATTRIBUTE_SAVED_RADIUS_FRAMED_ROUTE = IAS_ATTRIBUTE_SAVED_NP_CALLING_STATION_ID + 1,
  153. IAS_ATTRIBUTE_IGNORE_USER_DIALIN_PROPERTIES = IAS_ATTRIBUTE_SAVED_RADIUS_FRAMED_ROUTE + 1,
  154. IAS_ATTRIBUTE_NP_TIME_OF_DAY = IAS_ATTRIBUTE_IGNORE_USER_DIALIN_PROPERTIES + 1,
  155. IAS_ATTRIBUTE_NP_CALLED_STATION_ID = IAS_ATTRIBUTE_NP_TIME_OF_DAY + 1,
  156. IAS_ATTRIBUTE_NP_ALLOWED_PORT_TYPES = IAS_ATTRIBUTE_NP_CALLED_STATION_ID + 1,
  157. IAS_ATTRIBUTE_NP_AUTHENTICATION_TYPE = IAS_ATTRIBUTE_NP_ALLOWED_PORT_TYPES + 1,
  158. IAS_ATTRIBUTE_NP_ALLOWED_EAP_TYPE = IAS_ATTRIBUTE_NP_AUTHENTICATION_TYPE + 1,
  159. IAS_ATTRIBUTE_SHARED_SECRET = IAS_ATTRIBUTE_NP_ALLOWED_EAP_TYPE + 1,
  160. IAS_ATTRIBUTE_CLIENT_IP_ADDRESS = IAS_ATTRIBUTE_SHARED_SECRET + 1,
  161. IAS_ATTRIBUTE_CLIENT_PACKET_HEADER = IAS_ATTRIBUTE_CLIENT_IP_ADDRESS + 1,
  162. IAS_ATTRIBUTE_TOKEN_GROUPS = IAS_ATTRIBUTE_CLIENT_PACKET_HEADER + 1,
  163. IAS_ATTRIBUTE_ALLOW_DIALIN = IAS_ATTRIBUTE_TOKEN_GROUPS + 1,
  164. IAS_ATTRIBUTE_NP_CONSTRAINT = IAS_ATTRIBUTE_ALLOW_DIALIN + 1,
  165. IAS_ATTRIBUTE_MANIPULATION_TARGET = IAS_ATTRIBUTE_NP_CONSTRAINT + 1,
  166. IAS_ATTRIBUTE_MANIPULATION_RULE = IAS_ATTRIBUTE_MANIPULATION_TARGET + 1,
  167. IAS_ATTRIBUTE_ORIGINAL_USER_NAME = IAS_ATTRIBUTE_MANIPULATION_RULE + 1,
  168. IAS_ATTRIBUTE_CLIENT_VENDOR_TYPE = IAS_ATTRIBUTE_ORIGINAL_USER_NAME + 1,
  169. IAS_ATTRIBUTE_CLIENT_UDP_PORT = IAS_ATTRIBUTE_CLIENT_VENDOR_TYPE + 1,
  170. MS_ATTRIBUTE_CHAP_CHALLENGE = IAS_ATTRIBUTE_CLIENT_UDP_PORT + 1,
  171. MS_ATTRIBUTE_CHAP_RESPONSE = MS_ATTRIBUTE_CHAP_CHALLENGE + 1,
  172. MS_ATTRIBUTE_CHAP_DOMAIN = MS_ATTRIBUTE_CHAP_RESPONSE + 1,
  173. MS_ATTRIBUTE_CHAP_ERROR = MS_ATTRIBUTE_CHAP_DOMAIN + 1,
  174. MS_ATTRIBUTE_CHAP_CPW1 = MS_ATTRIBUTE_CHAP_ERROR + 1,
  175. MS_ATTRIBUTE_CHAP_CPW2 = MS_ATTRIBUTE_CHAP_CPW1 + 1,
  176. MS_ATTRIBUTE_CHAP_LM_ENC_PW = MS_ATTRIBUTE_CHAP_CPW2 + 1,
  177. MS_ATTRIBUTE_CHAP_NT_ENC_PW = MS_ATTRIBUTE_CHAP_LM_ENC_PW + 1,
  178. MS_ATTRIBUTE_CHAP_MPPE_KEYS = MS_ATTRIBUTE_CHAP_NT_ENC_PW + 1,
  179. IAS_ATTRIBUTE_AUTHENTICATION_TYPE = MS_ATTRIBUTE_CHAP_MPPE_KEYS + 1,
  180. IAS_ATTRIBUTE_CLIENT_NAME = IAS_ATTRIBUTE_AUTHENTICATION_TYPE + 1,
  181. IAS_ATTRIBUTE_NT4_ACCOUNT_NAME = IAS_ATTRIBUTE_CLIENT_NAME + 1,
  182. IAS_ATTRIBUTE_FULLY_QUALIFIED_USER_NAME = IAS_ATTRIBUTE_NT4_ACCOUNT_NAME + 1,
  183. IAS_ATTRIBUTE_NTGROUPS = IAS_ATTRIBUTE_FULLY_QUALIFIED_USER_NAME + 1,
  184. IAS_ATTRIBUTE_EAP_FRIENDLY_NAME = IAS_ATTRIBUTE_NTGROUPS + 1,
  185. IAS_ATTRIBUTE_AUTH_PROVIDER_TYPE = IAS_ATTRIBUTE_EAP_FRIENDLY_NAME + 1,
  186. MS_ATTRIBUTE_ACCT_AUTH_TYPE = IAS_ATTRIBUTE_AUTH_PROVIDER_TYPE + 1,
  187. MS_ATTRIBUTE_ACCT_EAP_TYPE = MS_ATTRIBUTE_ACCT_AUTH_TYPE + 1,
  188. IAS_ATTRIBUTE_PACKET_TYPE = MS_ATTRIBUTE_ACCT_EAP_TYPE + 1,
  189. IAS_ATTRIBUTE_AUTH_PROVIDER_NAME = IAS_ATTRIBUTE_PACKET_TYPE + 1,
  190. IAS_ATTRIBUTE_ACCT_PROVIDER_TYPE = IAS_ATTRIBUTE_AUTH_PROVIDER_NAME + 1,
  191. IAS_ATTRIBUTE_ACCT_PROVIDER_NAME = IAS_ATTRIBUTE_ACCT_PROVIDER_TYPE + 1,
  192. MS_ATTRIBUTE_MPPE_SEND_KEY = IAS_ATTRIBUTE_ACCT_PROVIDER_NAME + 1,
  193. MS_ATTRIBUTE_MPPE_RECV_KEY = MS_ATTRIBUTE_MPPE_SEND_KEY + 1,
  194. IAS_ATTRIBUTE_REASON_CODE = MS_ATTRIBUTE_MPPE_RECV_KEY + 1,
  195. MS_ATTRIBUTE_FILTER = IAS_ATTRIBUTE_REASON_CODE + 1,
  196. MS_ATTRIBUTE_CHAP2_RESPONSE = MS_ATTRIBUTE_FILTER + 1,
  197. MS_ATTRIBUTE_CHAP2_SUCCESS = MS_ATTRIBUTE_CHAP2_RESPONSE + 1,
  198. MS_ATTRIBUTE_CHAP2_CPW = MS_ATTRIBUTE_CHAP2_SUCCESS + 1,
  199. MS_ATTRIBUTE_RAS_VENDOR = MS_ATTRIBUTE_CHAP2_CPW + 1,
  200. MS_ATTRIBUTE_RAS_VERSION = MS_ATTRIBUTE_RAS_VENDOR + 1,
  201. IAS_ATTRIBUTE_NP_NAME = MS_ATTRIBUTE_RAS_VERSION + 1,
  202. MS_ATTRIBUTE_PRIMARY_DNS_SERVER = IAS_ATTRIBUTE_NP_NAME + 1,
  203. MS_ATTRIBUTE_SECONDARY_DNS_SERVER = MS_ATTRIBUTE_PRIMARY_DNS_SERVER + 1,
  204. MS_ATTRIBUTE_PRIMARY_NBNS_SERVER = MS_ATTRIBUTE_SECONDARY_DNS_SERVER + 1,
  205. MS_ATTRIBUTE_SECONDARY_NBNS_SERVER = MS_ATTRIBUTE_PRIMARY_NBNS_SERVER + 1,
  206. IAS_ATTRIBUTE_PROXY_POLICY_NAME = MS_ATTRIBUTE_SECONDARY_NBNS_SERVER + 1,
  207. IAS_ATTRIBUTE_PROVIDER_TYPE = IAS_ATTRIBUTE_PROXY_POLICY_NAME + 1,
  208. IAS_ATTRIBUTE_PROVIDER_NAME = IAS_ATTRIBUTE_PROVIDER_TYPE + 1,
  209. IAS_ATTRIBUTE_REMOTE_SERVER_ADDRESS = IAS_ATTRIBUTE_PROVIDER_NAME + 1,
  210. IAS_ATTRIBUTE_GENERATE_CLASS_ATTRIBUTE = IAS_ATTRIBUTE_REMOTE_SERVER_ADDRESS + 1,
  211. MS_ATTRIBUTE_RAS_CLIENT_NAME = IAS_ATTRIBUTE_GENERATE_CLASS_ATTRIBUTE + 1,
  212. MS_ATTRIBUTE_RAS_CLIENT_VERSION = MS_ATTRIBUTE_RAS_CLIENT_NAME + 1,
  213. IAS_ATTRIBUTE_ALLOWED_CERTIFICATE_EKU = MS_ATTRIBUTE_RAS_CLIENT_VERSION + 1,
  214. IAS_ATTRIBUTE_CERTIFICATE_EKU = 8097,
  215. RAS_ATTRIBUTE_ENCRYPTION_TYPE = 0xffffffff - 89,
  216. RAS_ATTRIBUTE_ENCRYPTION_POLICY = RAS_ATTRIBUTE_ENCRYPTION_TYPE + 1,
  217. RAS_ATTRIBUTE_BAP_REQUIRED = RAS_ATTRIBUTE_ENCRYPTION_POLICY + 1,
  218. RAS_ATTRIBUTE_BAP_LINE_DOWN_TIME = RAS_ATTRIBUTE_BAP_REQUIRED + 1,
  219. RAS_ATTRIBUTE_BAP_LINE_DOWN_LIMIT = RAS_ATTRIBUTE_BAP_LINE_DOWN_TIME + 1
  220.     }  ATTRIBUTEID;
  221. typedef /* [public] */ 
  222. enum _NEW_LOG_FILE_FREQUENCY
  223.     { IAS_LOGGING_UNLIMITED_SIZE = 0,
  224. IAS_LOGGING_DAILY = IAS_LOGGING_UNLIMITED_SIZE + 1,
  225. IAS_LOGGING_WEEKLY = IAS_LOGGING_DAILY + 1,
  226. IAS_LOGGING_MONTHLY = IAS_LOGGING_WEEKLY + 1,
  227. IAS_LOGGING_WHEN_FILE_SIZE_REACHES = IAS_LOGGING_MONTHLY + 1
  228.     }  NEW_LOG_FILE_FREQUENCY;
  229. typedef /* [public] */ 
  230. enum _AUTHENTICATION_TYPE
  231.     { IAS_AUTH_INVALID = 0,
  232. IAS_AUTH_PAP = IAS_AUTH_INVALID + 1,
  233. IAS_AUTH_MD5CHAP = IAS_AUTH_PAP + 1,
  234. IAS_AUTH_MSCHAP = IAS_AUTH_MD5CHAP + 1,
  235. IAS_AUTH_MSCHAP2 = IAS_AUTH_MSCHAP + 1,
  236. IAS_AUTH_EAP = IAS_AUTH_MSCHAP2 + 1,
  237. IAS_AUTH_ARAP = IAS_AUTH_EAP + 1,
  238. IAS_AUTH_NONE = IAS_AUTH_ARAP + 1,
  239. IAS_AUTH_CUSTOM = IAS_AUTH_NONE + 1,
  240. IAS_AUTH_MSCHAP_CPW = IAS_AUTH_CUSTOM + 1,
  241. IAS_AUTH_MSCHAP2_CPW = IAS_AUTH_MSCHAP_CPW + 1
  242.     }  AUTHENTICATION_TYPE;
  243. typedef /* [public] */ 
  244. enum _ATTRIBUTESYNTAX
  245.     { IAS_SYNTAX_BOOLEAN = 1,
  246. IAS_SYNTAX_INTEGER = IAS_SYNTAX_BOOLEAN + 1,
  247. IAS_SYNTAX_ENUMERATOR = IAS_SYNTAX_INTEGER + 1,
  248. IAS_SYNTAX_INETADDR = IAS_SYNTAX_ENUMERATOR + 1,
  249. IAS_SYNTAX_STRING = IAS_SYNTAX_INETADDR + 1,
  250. IAS_SYNTAX_OCTETSTRING = IAS_SYNTAX_STRING + 1,
  251. IAS_SYNTAX_UTCTIME = IAS_SYNTAX_OCTETSTRING + 1,
  252. IAS_SYNTAX_PROVIDERSPECIFIC = IAS_SYNTAX_UTCTIME + 1,
  253. IAS_SYNTAX_UNSIGNEDINTEGER = IAS_SYNTAX_PROVIDERSPECIFIC + 1
  254.     }  ATTRIBUTESYNTAX;
  255. typedef /* [public] */ 
  256. enum _ATTRIBUTERESTRICTIONS
  257.     { MULTIVALUED = 0x1,
  258. ALLOWEDINPROFILE = 0x2,
  259. ALLOWEDINCONDITION = 0x4,
  260. ALLOWEDINPROXYPROFILE = 0x8,
  261. ALLOWEDINPROXYCONDITION = 0x10
  262.     }  ATTRIBUTERESTRICTIONS;
  263. typedef /* [public] */ 
  264. enum _ATTRIBUTEINFO
  265.     { NAME = 1,
  266. SYNTAX = NAME + 1,
  267. RESTRICTIONS = SYNTAX + 1,
  268. DESCRIPTION = RESTRICTIONS + 1,
  269. VENDORID = DESCRIPTION + 1,
  270. LDAPNAME = VENDORID + 1,
  271. VENDORTYPE = LDAPNAME + 1
  272.     }  ATTRIBUTEINFO;
  273. typedef /* [public] */ 
  274. enum _IASCOMMONPROPERTIES
  275.     { PROPERTY_SDO_RESERVED = 0,
  276. PROPERTY_SDO_CLASS = PROPERTY_SDO_RESERVED + 1,
  277. PROPERTY_SDO_NAME = PROPERTY_SDO_CLASS + 1,
  278. PROPERTY_SDO_DESCRIPTION = PROPERTY_SDO_NAME + 1,
  279. PROPERTY_SDO_ID = PROPERTY_SDO_DESCRIPTION + 1,
  280. PROPERTY_SDO_DATASTORE_NAME = PROPERTY_SDO_ID + 1,
  281. PROPERTY_SDO_START = 0x400
  282.     }  IASCOMMONPROPERTIES;
  283. typedef /* [public] */ 
  284. enum _USERPROPERTIES
  285.     { PROPERTY_USER_CALLING_STATION_ID = PROPERTY_SDO_START,
  286. PROPERTY_USER_SAVED_CALLING_STATION_ID = PROPERTY_USER_CALLING_STATION_ID + 1,
  287. PROPERTY_USER_RADIUS_CALLBACK_NUMBER = PROPERTY_USER_SAVED_CALLING_STATION_ID + 1,
  288. PROPERTY_USER_RADIUS_FRAMED_ROUTE = PROPERTY_USER_RADIUS_CALLBACK_NUMBER + 1,
  289. PROPERTY_USER_RADIUS_FRAMED_IP_ADDRESS = PROPERTY_USER_RADIUS_FRAMED_ROUTE + 1,
  290. PROPERTY_USER_SAVED_RADIUS_CALLBACK_NUMBER = PROPERTY_USER_RADIUS_FRAMED_IP_ADDRESS + 1,
  291. PROPERTY_USER_SAVED_RADIUS_FRAMED_ROUTE = PROPERTY_USER_SAVED_RADIUS_CALLBACK_NUMBER + 1,
  292. PROPERTY_USER_SAVED_RADIUS_FRAMED_IP_ADDRESS = PROPERTY_USER_SAVED_RADIUS_FRAMED_ROUTE + 1,
  293. PROPERTY_USER_ALLOW_DIALIN = PROPERTY_USER_SAVED_RADIUS_FRAMED_IP_ADDRESS + 1,
  294. PROPERTY_USER_SERVICE_TYPE = PROPERTY_USER_ALLOW_DIALIN + 1
  295.     }  USERPROPERTIES;
  296. typedef /* [public] */ 
  297. enum _DICTIONARYPROPERTIES
  298.     { PROPERTY_DICTIONARY_ATTRIBUTES_COLLECTION = PROPERTY_SDO_START,
  299. PROPERTY_DICTIONARY_LOCATION = PROPERTY_DICTIONARY_ATTRIBUTES_COLLECTION + 1
  300.     }  DICTIONARYPROPERTIES;
  301. typedef /* [public] */ 
  302. enum _ATTRIBUTEPROPERTIES
  303.     { PROPERTY_ATTRIBUTE_ID = PROPERTY_SDO_START,
  304. PROPERTY_ATTRIBUTE_VENDOR_ID = PROPERTY_ATTRIBUTE_ID + 1,
  305. PROPERTY_ATTRIBUTE_VENDOR_TYPE_ID = PROPERTY_ATTRIBUTE_VENDOR_ID + 1,
  306. PROPERTY_ATTRIBUTE_IS_ENUMERABLE = PROPERTY_ATTRIBUTE_VENDOR_TYPE_ID + 1,
  307. PROPERTY_ATTRIBUTE_ENUM_NAMES = PROPERTY_ATTRIBUTE_IS_ENUMERABLE + 1,
  308. PROPERTY_ATTRIBUTE_ENUM_VALUES = PROPERTY_ATTRIBUTE_ENUM_NAMES + 1,
  309. PROPERTY_ATTRIBUTE_SYNTAX = PROPERTY_ATTRIBUTE_ENUM_VALUES + 1,
  310. PROPERTY_ATTRIBUTE_ALLOW_MULTIPLE = PROPERTY_ATTRIBUTE_SYNTAX + 1,
  311. PROPERTY_ATTRIBUTE_ALLOW_LOG_ORDINAL = PROPERTY_ATTRIBUTE_ALLOW_MULTIPLE + 1,
  312. PROPERTY_ATTRIBUTE_ALLOW_IN_PROFILE = PROPERTY_ATTRIBUTE_ALLOW_LOG_ORDINAL + 1,
  313. PROPERTY_ATTRIBUTE_ALLOW_IN_CONDITION = PROPERTY_ATTRIBUTE_ALLOW_IN_PROFILE + 1,
  314. PROPERTY_ATTRIBUTE_DISPLAY_NAME = PROPERTY_ATTRIBUTE_ALLOW_IN_CONDITION + 1,
  315. PROPERTY_ATTRIBUTE_VALUE = PROPERTY_ATTRIBUTE_DISPLAY_NAME + 1,
  316. PROPERTY_ATTRIBUTE_ALLOW_IN_PROXY_PROFILE = PROPERTY_ATTRIBUTE_VALUE + 1,
  317. PROPERTY_ATTRIBUTE_ALLOW_IN_PROXY_CONDITION = PROPERTY_ATTRIBUTE_ALLOW_IN_PROXY_PROFILE + 1
  318.     }  ATTRIBUTEPROPERTIES;
  319. typedef /* [public] */ 
  320. enum _IASPROPERTIES
  321.     { PROPERTY_IAS_RADIUSSERVERGROUPS_COLLECTION = PROPERTY_SDO_START,
  322. PROPERTY_IAS_POLICIES_COLLECTION = PROPERTY_IAS_RADIUSSERVERGROUPS_COLLECTION + 1,
  323. PROPERTY_IAS_PROFILES_COLLECTION = PROPERTY_IAS_POLICIES_COLLECTION + 1,
  324. PROPERTY_IAS_PROTOCOLS_COLLECTION = PROPERTY_IAS_PROFILES_COLLECTION + 1,
  325. PROPERTY_IAS_AUDITORS_COLLECTION = PROPERTY_IAS_PROTOCOLS_COLLECTION + 1,
  326. PROPERTY_IAS_REQUESTHANDLERS_COLLECTION = PROPERTY_IAS_AUDITORS_COLLECTION + 1,
  327. PROPERTY_IAS_PROXYPOLICIES_COLLECTION = PROPERTY_IAS_REQUESTHANDLERS_COLLECTION + 1,
  328. PROPERTY_IAS_PROXYPROFILES_COLLECTION = PROPERTY_IAS_PROXYPOLICIES_COLLECTION + 1
  329.     }  IASPROPERTIES;
  330. typedef /* [public] */ 
  331. enum _CLIENTPROPERTIES
  332.     { PROPERTY_CLIENT_REQUIRE_SIGNATURE = PROPERTY_SDO_START,
  333. PROPERTY_CLIENT_UNUSED = PROPERTY_CLIENT_REQUIRE_SIGNATURE + 1,
  334. PROPERTY_CLIENT_SHARED_SECRET = PROPERTY_CLIENT_UNUSED + 1,
  335. PROPERTY_CLIENT_NAS_MANUFACTURER = PROPERTY_CLIENT_SHARED_SECRET + 1,
  336. PROPERTY_CLIENT_ADDRESS = PROPERTY_CLIENT_NAS_MANUFACTURER + 1
  337.     }  CLIENTPROPERTIES;
  338. typedef /* [public] */ 
  339. enum _VENDORPROPERTIES
  340.     { PROPERTY_NAS_VENDOR_ID = PROPERTY_SDO_START
  341.     }  VENDORPROPERTIES;
  342. typedef /* [public] */ 
  343. enum _PROFILEPROPERTIES
  344.     { PROPERTY_PROFILE_ATTRIBUTES_COLLECTION = PROPERTY_SDO_START
  345.     }  PROFILEPROPERTIES;
  346. typedef /* [public] */ 
  347. enum _POLICYPROPERTIES
  348.     { PROPERTY_POLICY_CONSTRAINT = PROPERTY_SDO_START,
  349. PROPERTY_POLICY_MERIT = PROPERTY_POLICY_CONSTRAINT + 1,
  350. PROPERTY_POLICY_UNUSED0 = PROPERTY_POLICY_MERIT + 1,
  351. PROPERTY_POLICY_UNUSED1 = PROPERTY_POLICY_UNUSED0 + 1,
  352. PROPERTY_POLICY_PROFILE_NAME = PROPERTY_POLICY_UNUSED1 + 1,
  353. PROPERTY_POLICY_ACTION = PROPERTY_POLICY_PROFILE_NAME + 1,
  354. PROPERTY_POLICY_CONDITIONS_COLLECTION = PROPERTY_POLICY_ACTION + 1
  355.     }  POLICYPROPERTIES;
  356. typedef /* [public] */ 
  357. enum _CONDITIONPROPERTIES
  358.     { PROPERTY_CONDITION_TEXT = PROPERTY_SDO_START
  359.     }  CONDITIONPROPERTIES;
  360. typedef /* [public] */ 
  361. enum _RADIUSSERVERGROUPPROPERTIES
  362.     { PROPERTY_RADIUSSERVERGROUP_SERVERS_COLLECTION = PROPERTY_SDO_START
  363.     }  RADIUSSERVERGROUPPROPERTIES;
  364. typedef /* [public] */ 
  365. enum _RADIUSSERVERPROPERTIES
  366.     { PROPERTY_RADIUSSERVER_AUTH_PORT = PROPERTY_SDO_START,
  367. PROPERTY_RADIUSSERVER_AUTH_SECRET = PROPERTY_RADIUSSERVER_AUTH_PORT + 1,
  368. PROPERTY_RADIUSSERVER_ACCT_PORT = PROPERTY_RADIUSSERVER_AUTH_SECRET + 1,
  369. PROPERTY_RADIUSSERVER_ACCT_SECRET = PROPERTY_RADIUSSERVER_ACCT_PORT + 1,
  370. PROPERTY_RADIUSSERVER_ADDRESS = PROPERTY_RADIUSSERVER_ACCT_SECRET + 1,
  371. PROPERTY_RADIUSSERVER_FORWARD_ACCT_ONOFF = PROPERTY_RADIUSSERVER_ADDRESS + 1,
  372. PROPERTY_RADIUSSERVER_PRIORITY = PROPERTY_RADIUSSERVER_FORWARD_ACCT_ONOFF + 1,
  373. PROPERTY_RADIUSSERVER_WEIGHT = PROPERTY_RADIUSSERVER_PRIORITY + 1,
  374. PROPERTY_RADIUSSERVER_TIMEOUT = PROPERTY_RADIUSSERVER_WEIGHT + 1,
  375. PROPERTY_RADIUSSERVER_MAX_LOST = PROPERTY_RADIUSSERVER_TIMEOUT + 1,
  376. PROPERTY_RADIUSSERVER_BLACKOUT = PROPERTY_RADIUSSERVER_MAX_LOST + 1
  377.     }  RADIUSSERVERPROPERTIES;
  378. typedef /* [public] */ 
  379. enum _IASCOMPONENTPROPERTIES
  380.     { PROPERTY_COMPONENT_ID = PROPERTY_SDO_START,
  381. PROPERTY_COMPONENT_PROG_ID = PROPERTY_COMPONENT_ID + 1,
  382. PROPERTY_COMPONENT_START = PROPERTY_COMPONENT_PROG_ID + 1
  383.     }  IASCOMPONENTPROPERTIES;
  384. typedef /* [public] */ 
  385. enum _PROTOCOLPROPERTIES
  386.     { PROPERTY_PROTOCOL_REQUEST_HANDLER = PROPERTY_COMPONENT_START,
  387. PROPERTY_PROTOCOL_START = PROPERTY_PROTOCOL_REQUEST_HANDLER + 1
  388.     }  PROTOCOLPROPERTIES;
  389. typedef /* [public] */ 
  390. enum _RADIUSPROPERTIES
  391.     { PROPERTY_RADIUS_ACCOUNTING_PORT = PROPERTY_PROTOCOL_START,
  392. PROPERTY_RADIUS_AUTHENTICATION_PORT = PROPERTY_RADIUS_ACCOUNTING_PORT + 1,
  393. PROPERTY_RADIUS_CLIENTS_COLLECTION = PROPERTY_RADIUS_AUTHENTICATION_PORT + 1,
  394. PROPERTY_RADIUS_VENDORS_COLLECTION = PROPERTY_RADIUS_CLIENTS_COLLECTION + 1
  395.     }  RADIUSPROPERTIES;
  396. typedef /* [public] */ 
  397. enum _NTEVENTLOGPROPERTIES
  398.     { PROPERTY_EVENTLOG_LOG_APPLICATION_EVENTS = PROPERTY_COMPONENT_START,
  399. PROPERTY_EVENTLOG_LOG_MALFORMED = PROPERTY_EVENTLOG_LOG_APPLICATION_EVENTS + 1,
  400. PROPERTY_EVENTLOG_LOG_DEBUG = PROPERTY_EVENTLOG_LOG_MALFORMED + 1
  401.     }  NTEVENTLOGPROPERTIES;
  402. typedef /* [public] */ 
  403. enum _NAMESPROPERTIES
  404.     { PROPERTY_NAMES_REALMS = PROPERTY_COMPONENT_START
  405.     }  NAMESPROPERTIES;
  406. typedef /* [public] */ 
  407. enum _NTSAMPROPERTIES
  408.     { PROPERTY_NTSAM_ALLOW_LM_AUTHENTICATION = PROPERTY_COMPONENT_START
  409.     }  NTSAMPROPERTIES;
  410. typedef /* [public] */ 
  411. enum _ACCOUNTINGPROPERTIES
  412.     { PROPERTY_ACCOUNTING_LOG_ACCOUNTING = PROPERTY_COMPONENT_START,
  413. PROPERTY_ACCOUNTING_LOG_ACCOUNTING_INTERIM = PROPERTY_ACCOUNTING_LOG_ACCOUNTING + 1,
  414. PROPERTY_ACCOUNTING_LOG_AUTHENTICATION = PROPERTY_ACCOUNTING_LOG_ACCOUNTING_INTERIM + 1,
  415. PROPERTY_ACCOUNTING_LOG_OPEN_NEW_FREQUENCY = PROPERTY_ACCOUNTING_LOG_AUTHENTICATION + 1,
  416. PROPERTY_ACCOUNTING_LOG_OPEN_NEW_SIZE = PROPERTY_ACCOUNTING_LOG_OPEN_NEW_FREQUENCY + 1,
  417. PROPERTY_ACCOUNTING_LOG_FILE_DIRECTORY = PROPERTY_ACCOUNTING_LOG_OPEN_NEW_SIZE + 1,
  418. PROPERTY_ACCOUNTING_LOG_IAS1_FORMAT = PROPERTY_ACCOUNTING_LOG_FILE_DIRECTORY + 1
  419.     }  ACCOUNTINGPROPERTIES;
  420. typedef /* [public] */ 
  421. enum _EAPWRAPPROPERTIES
  422.     { PROPERTY_EAP_SESSION_TIMEOUT = PROPERTY_COMPONENT_START,
  423. PROPERTY_EAP_MAX_SESSIONS = PROPERTY_EAP_SESSION_TIMEOUT + 1
  424.     }  EAPWRAPPROPERTIES;
  425. typedef /* [public] */ 
  426. enum _NAPPROPERTIES
  427.     { PROPERTY_NAP_POLICIES_COLLECTION = PROPERTY_COMPONENT_START
  428.     }  NAPPROPERTIES;
  429. typedef /* [public] */ 
  430. enum _RADIUSPROXYPROPERTIES
  431.     { PROPERTY_RADIUSPROXY_SERVERGROUPS = PROPERTY_COMPONENT_START
  432.     }  RADIUSPROXYPROPERTIES;
  433. typedef /* [public] */ 
  434. enum _SERVICE_TYPE
  435.     { SERVICE_TYPE_IAS = 0,
  436. SERVICE_TYPE_RAS = SERVICE_TYPE_IAS + 1,
  437. SERVICE_TYPE_MAX = SERVICE_TYPE_RAS + 1
  438.     }  SERVICE_TYPE;
  439. typedef /* [public] */ 
  440. enum _IASOSTYPE
  441.     { SYSTEM_TYPE_NT4_WORKSTATION = 0,
  442. SYSTEM_TYPE_NT5_WORKSTATION = SYSTEM_TYPE_NT4_WORKSTATION + 1,
  443. SYSTEM_TYPE_NT4_SERVER = SYSTEM_TYPE_NT5_WORKSTATION + 1,
  444. SYSTEM_TYPE_NT5_SERVER = SYSTEM_TYPE_NT4_SERVER + 1
  445.     }  IASOSTYPE;
  446. typedef /* [public] */ enum _IASOSTYPE *PIASOSTYPE;
  447. typedef /* [public] */ 
  448. enum _DOMAINTYPE
  449.     { DOMAIN_TYPE_NONE = 0,
  450. DOMAIN_TYPE_NT4 = DOMAIN_TYPE_NONE + 1,
  451. DOMAIN_TYPE_NT5 = DOMAIN_TYPE_NT4 + 1,
  452. DOMAIN_TYPE_MIXED = DOMAIN_TYPE_NT5 + 1
  453.     }  IASDOMAINTYPE;
  454. typedef /* [public] */ enum _DOMAINTYPE *PIASDOMAINTYPE;
  455. typedef /* [public] */ 
  456. enum _IASDATASTORE
  457.     { DATA_STORE_LOCAL = 0,
  458. DATA_STORE_DIRECTORY = DATA_STORE_LOCAL + 1
  459.     }  IASDATASTORE;
  460. typedef /* [public] */ enum _IASDATASTORE *PIASDATASTORE;
  461. EXTERN_C const IID LIBID_SDOIASLib;
  462. #ifndef __ISdoMachine_INTERFACE_DEFINED__
  463. #define __ISdoMachine_INTERFACE_DEFINED__
  464. /* interface ISdoMachine */
  465. /* [unique][dual][uuid][object] */ 
  466. EXTERN_C const IID IID_ISdoMachine;
  467. #if defined(__cplusplus) && !defined(CINTERFACE)
  468.     
  469.     MIDL_INTERFACE("479F6E75-49A2-11d2-8ECA-00C04FC2F519")
  470.     ISdoMachine : public IDispatch
  471.     {
  472.     public:
  473.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Attach( 
  474.             /* [in] */ BSTR bstrComputerName) = 0;
  475.         
  476.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetDictionarySDO( 
  477.             /* [retval][out] */ IUnknown **ppDictionarySDO) = 0;
  478.         
  479.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetServiceSDO( 
  480.             /* [in] */ IASDATASTORE eDataStore,
  481.             /* [in] */ BSTR bstrServiceName,
  482.             /* [retval][out] */ IUnknown **ppServiceSDO) = 0;
  483.         
  484.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetUserSDO( 
  485.             /* [in] */ IASDATASTORE eDataStore,
  486.             /* [in] */ BSTR bstrUserName,
  487.             /* [retval][out] */ IUnknown **ppUserSDO) = 0;
  488.         
  489.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetOSType( 
  490.             /* [retval][out] */ IASOSTYPE *eOSType) = 0;
  491.         
  492.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetDomainType( 
  493.             /* [retval][out] */ IASDOMAINTYPE *eDomainType) = 0;
  494.         
  495.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE IsDirectoryAvailable( 
  496.             /* [retval][out] */ VARIANT_BOOL *boolDirectoryAvailable) = 0;
  497.         
  498.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetAttachedComputer( 
  499.             /* [retval][out] */ BSTR *bstrComputerName) = 0;
  500.         
  501.         virtual /* [hidden][id] */ HRESULT STDMETHODCALLTYPE GetSDOSchema( 
  502.             /* [retval][out] */ IUnknown **ppSDOSchema) = 0;
  503.         
  504.     };
  505.     
  506. #else  /* C style interface */
  507.     typedef struct ISdoMachineVtbl
  508.     {
  509.         BEGIN_INTERFACE
  510.         
  511.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  512.             ISdoMachine * This,
  513.             /* [in] */ REFIID riid,
  514.             /* [iid_is][out] */ void **ppvObject);
  515.         
  516.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  517.             ISdoMachine * This);
  518.         
  519.         ULONG ( STDMETHODCALLTYPE *Release )( 
  520.             ISdoMachine * This);
  521.         
  522.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  523.             ISdoMachine * This,
  524.             /* [out] */ UINT *pctinfo);
  525.         
  526.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  527.             ISdoMachine * This,
  528.             /* [in] */ UINT iTInfo,
  529.             /* [in] */ LCID lcid,
  530.             /* [out] */ ITypeInfo **ppTInfo);
  531.         
  532.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  533.             ISdoMachine * This,
  534.             /* [in] */ REFIID riid,
  535.             /* [size_is][in] */ LPOLESTR *rgszNames,
  536.             /* [in] */ UINT cNames,
  537.             /* [in] */ LCID lcid,
  538.             /* [size_is][out] */ DISPID *rgDispId);
  539.         
  540.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  541.             ISdoMachine * This,
  542.             /* [in] */ DISPID dispIdMember,
  543.             /* [in] */ REFIID riid,
  544.             /* [in] */ LCID lcid,
  545.             /* [in] */ WORD wFlags,
  546.             /* [out][in] */ DISPPARAMS *pDispParams,
  547.             /* [out] */ VARIANT *pVarResult,
  548.             /* [out] */ EXCEPINFO *pExcepInfo,
  549.             /* [out] */ UINT *puArgErr);
  550.         
  551.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Attach )( 
  552.             ISdoMachine * This,
  553.             /* [in] */ BSTR bstrComputerName);
  554.         
  555.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetDictionarySDO )( 
  556.             ISdoMachine * This,
  557.             /* [retval][out] */ IUnknown **ppDictionarySDO);
  558.         
  559.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetServiceSDO )( 
  560.             ISdoMachine * This,
  561.             /* [in] */ IASDATASTORE eDataStore,
  562.             /* [in] */ BSTR bstrServiceName,
  563.             /* [retval][out] */ IUnknown **ppServiceSDO);
  564.         
  565.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetUserSDO )( 
  566.             ISdoMachine * This,
  567.             /* [in] */ IASDATASTORE eDataStore,
  568.             /* [in] */ BSTR bstrUserName,
  569.             /* [retval][out] */ IUnknown **ppUserSDO);
  570.         
  571.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetOSType )( 
  572.             ISdoMachine * This,
  573.             /* [retval][out] */ IASOSTYPE *eOSType);
  574.         
  575.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetDomainType )( 
  576.             ISdoMachine * This,
  577.             /* [retval][out] */ IASDOMAINTYPE *eDomainType);
  578.         
  579.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *IsDirectoryAvailable )( 
  580.             ISdoMachine * This,
  581.             /* [retval][out] */ VARIANT_BOOL *boolDirectoryAvailable);
  582.         
  583.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetAttachedComputer )( 
  584.             ISdoMachine * This,
  585.             /* [retval][out] */ BSTR *bstrComputerName);
  586.         
  587.         /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *GetSDOSchema )( 
  588.             ISdoMachine * This,
  589.             /* [retval][out] */ IUnknown **ppSDOSchema);
  590.         
  591.         END_INTERFACE
  592.     } ISdoMachineVtbl;
  593.     interface ISdoMachine
  594.     {
  595.         CONST_VTBL struct ISdoMachineVtbl *lpVtbl;
  596.     };
  597.     
  598. #ifdef COBJMACROS
  599. #define ISdoMachine_QueryInterface(This,riid,ppvObject)
  600.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  601. #define ISdoMachine_AddRef(This)
  602.     (This)->lpVtbl -> AddRef(This)
  603. #define ISdoMachine_Release(This)
  604.     (This)->lpVtbl -> Release(This)
  605. #define ISdoMachine_GetTypeInfoCount(This,pctinfo)
  606.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  607. #define ISdoMachine_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  608.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  609. #define ISdoMachine_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  610.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  611. #define ISdoMachine_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  612.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  613. #define ISdoMachine_Attach(This,bstrComputerName)
  614.     (This)->lpVtbl -> Attach(This,bstrComputerName)
  615. #define ISdoMachine_GetDictionarySDO(This,ppDictionarySDO)
  616.     (This)->lpVtbl -> GetDictionarySDO(This,ppDictionarySDO)
  617. #define ISdoMachine_GetServiceSDO(This,eDataStore,bstrServiceName,ppServiceSDO)
  618.     (This)->lpVtbl -> GetServiceSDO(This,eDataStore,bstrServiceName,ppServiceSDO)
  619. #define ISdoMachine_GetUserSDO(This,eDataStore,bstrUserName,ppUserSDO)
  620.     (This)->lpVtbl -> GetUserSDO(This,eDataStore,bstrUserName,ppUserSDO)
  621. #define ISdoMachine_GetOSType(This,eOSType)
  622.     (This)->lpVtbl -> GetOSType(This,eOSType)
  623. #define ISdoMachine_GetDomainType(This,eDomainType)
  624.     (This)->lpVtbl -> GetDomainType(This,eDomainType)
  625. #define ISdoMachine_IsDirectoryAvailable(This,boolDirectoryAvailable)
  626.     (This)->lpVtbl -> IsDirectoryAvailable(This,boolDirectoryAvailable)
  627. #define ISdoMachine_GetAttachedComputer(This,bstrComputerName)
  628.     (This)->lpVtbl -> GetAttachedComputer(This,bstrComputerName)
  629. #define ISdoMachine_GetSDOSchema(This,ppSDOSchema)
  630.     (This)->lpVtbl -> GetSDOSchema(This,ppSDOSchema)
  631. #endif /* COBJMACROS */
  632. #endif  /* C style interface */
  633. /* [id] */ HRESULT STDMETHODCALLTYPE ISdoMachine_Attach_Proxy( 
  634.     ISdoMachine * This,
  635.     /* [in] */ BSTR bstrComputerName);
  636. void __RPC_STUB ISdoMachine_Attach_Stub(
  637.     IRpcStubBuffer *This,
  638.     IRpcChannelBuffer *_pRpcChannelBuffer,
  639.     PRPC_MESSAGE _pRpcMessage,
  640.     DWORD *_pdwStubPhase);
  641. /* [id] */ HRESULT STDMETHODCALLTYPE ISdoMachine_GetDictionarySDO_Proxy( 
  642.     ISdoMachine * This,
  643.     /* [retval][out] */ IUnknown **ppDictionarySDO);
  644. void __RPC_STUB ISdoMachine_GetDictionarySDO_Stub(
  645.     IRpcStubBuffer *This,
  646.     IRpcChannelBuffer *_pRpcChannelBuffer,
  647.     PRPC_MESSAGE _pRpcMessage,
  648.     DWORD *_pdwStubPhase);
  649. /* [id] */ HRESULT STDMETHODCALLTYPE ISdoMachine_GetServiceSDO_Proxy( 
  650.     ISdoMachine * This,
  651.     /* [in] */ IASDATASTORE eDataStore,
  652.     /* [in] */ BSTR bstrServiceName,
  653.     /* [retval][out] */ IUnknown **ppServiceSDO);
  654. void __RPC_STUB ISdoMachine_GetServiceSDO_Stub(
  655.     IRpcStubBuffer *This,
  656.     IRpcChannelBuffer *_pRpcChannelBuffer,
  657.     PRPC_MESSAGE _pRpcMessage,
  658.     DWORD *_pdwStubPhase);
  659. /* [id] */ HRESULT STDMETHODCALLTYPE ISdoMachine_GetUserSDO_Proxy( 
  660.     ISdoMachine * This,
  661.     /* [in] */ IASDATASTORE eDataStore,
  662.     /* [in] */ BSTR bstrUserName,
  663.     /* [retval][out] */ IUnknown **ppUserSDO);
  664. void __RPC_STUB ISdoMachine_GetUserSDO_Stub(
  665.     IRpcStubBuffer *This,
  666.     IRpcChannelBuffer *_pRpcChannelBuffer,
  667.     PRPC_MESSAGE _pRpcMessage,
  668.     DWORD *_pdwStubPhase);
  669. /* [id] */ HRESULT STDMETHODCALLTYPE ISdoMachine_GetOSType_Proxy( 
  670.     ISdoMachine * This,
  671.     /* [retval][out] */ IASOSTYPE *eOSType);
  672. void __RPC_STUB ISdoMachine_GetOSType_Stub(
  673.     IRpcStubBuffer *This,
  674.     IRpcChannelBuffer *_pRpcChannelBuffer,
  675.     PRPC_MESSAGE _pRpcMessage,
  676.     DWORD *_pdwStubPhase);
  677. /* [id] */ HRESULT STDMETHODCALLTYPE ISdoMachine_GetDomainType_Proxy( 
  678.     ISdoMachine * This,
  679.     /* [retval][out] */ IASDOMAINTYPE *eDomainType);
  680. void __RPC_STUB ISdoMachine_GetDomainType_Stub(
  681.     IRpcStubBuffer *This,
  682.     IRpcChannelBuffer *_pRpcChannelBuffer,
  683.     PRPC_MESSAGE _pRpcMessage,
  684.     DWORD *_pdwStubPhase);
  685. /* [id] */ HRESULT STDMETHODCALLTYPE ISdoMachine_IsDirectoryAvailable_Proxy( 
  686.     ISdoMachine * This,
  687.     /* [retval][out] */ VARIANT_BOOL *boolDirectoryAvailable);
  688. void __RPC_STUB ISdoMachine_IsDirectoryAvailable_Stub(
  689.     IRpcStubBuffer *This,
  690.     IRpcChannelBuffer *_pRpcChannelBuffer,
  691.     PRPC_MESSAGE _pRpcMessage,
  692.     DWORD *_pdwStubPhase);
  693. /* [id] */ HRESULT STDMETHODCALLTYPE ISdoMachine_GetAttachedComputer_Proxy( 
  694.     ISdoMachine * This,
  695.     /* [retval][out] */ BSTR *bstrComputerName);
  696. void __RPC_STUB ISdoMachine_GetAttachedComputer_Stub(
  697.     IRpcStubBuffer *This,
  698.     IRpcChannelBuffer *_pRpcChannelBuffer,
  699.     PRPC_MESSAGE _pRpcMessage,
  700.     DWORD *_pdwStubPhase);
  701. /* [hidden][id] */ HRESULT STDMETHODCALLTYPE ISdoMachine_GetSDOSchema_Proxy( 
  702.     ISdoMachine * This,
  703.     /* [retval][out] */ IUnknown **ppSDOSchema);
  704. void __RPC_STUB ISdoMachine_GetSDOSchema_Stub(
  705.     IRpcStubBuffer *This,
  706.     IRpcChannelBuffer *_pRpcChannelBuffer,
  707.     PRPC_MESSAGE _pRpcMessage,
  708.     DWORD *_pdwStubPhase);
  709. #endif  /* __ISdoMachine_INTERFACE_DEFINED__ */
  710. #ifndef __ISdoServiceControl_INTERFACE_DEFINED__
  711. #define __ISdoServiceControl_INTERFACE_DEFINED__
  712. /* interface ISdoServiceControl */
  713. /* [unique][dual][uuid][object] */ 
  714. EXTERN_C const IID IID_ISdoServiceControl;
  715. #if defined(__cplusplus) && !defined(CINTERFACE)
  716.     
  717.     MIDL_INTERFACE("479F6E74-49A2-11d2-8ECA-00C04FC2F519")
  718.     ISdoServiceControl : public IDispatch
  719.     {
  720.     public:
  721.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE StartService( void) = 0;
  722.         
  723.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE StopService( void) = 0;
  724.         
  725.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetServiceStatus( 
  726.             /* [retval][out] */ LONG *status) = 0;
  727.         
  728.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE ResetService( void) = 0;
  729.         
  730.     };
  731.     
  732. #else  /* C style interface */
  733.     typedef struct ISdoServiceControlVtbl
  734.     {
  735.         BEGIN_INTERFACE
  736.         
  737.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  738.             ISdoServiceControl * This,
  739.             /* [in] */ REFIID riid,
  740.             /* [iid_is][out] */ void **ppvObject);
  741.         
  742.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  743.             ISdoServiceControl * This);
  744.         
  745.         ULONG ( STDMETHODCALLTYPE *Release )( 
  746.             ISdoServiceControl * This);
  747.         
  748.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  749.             ISdoServiceControl * This,
  750.             /* [out] */ UINT *pctinfo);
  751.         
  752.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  753.             ISdoServiceControl * This,
  754.             /* [in] */ UINT iTInfo,
  755.             /* [in] */ LCID lcid,
  756.             /* [out] */ ITypeInfo **ppTInfo);
  757.         
  758.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  759.             ISdoServiceControl * This,
  760.             /* [in] */ REFIID riid,
  761.             /* [size_is][in] */ LPOLESTR *rgszNames,
  762.             /* [in] */ UINT cNames,
  763.             /* [in] */ LCID lcid,
  764.             /* [size_is][out] */ DISPID *rgDispId);
  765.         
  766.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  767.             ISdoServiceControl * This,
  768.             /* [in] */ DISPID dispIdMember,
  769.             /* [in] */ REFIID riid,
  770.             /* [in] */ LCID lcid,
  771.             /* [in] */ WORD wFlags,
  772.             /* [out][in] */ DISPPARAMS *pDispParams,
  773.             /* [out] */ VARIANT *pVarResult,
  774.             /* [out] */ EXCEPINFO *pExcepInfo,
  775.             /* [out] */ UINT *puArgErr);
  776.         
  777.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *StartService )( 
  778.             ISdoServiceControl * This);
  779.         
  780.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *StopService )( 
  781.             ISdoServiceControl * This);
  782.         
  783.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetServiceStatus )( 
  784.             ISdoServiceControl * This,
  785.             /* [retval][out] */ LONG *status);
  786.         
  787.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *ResetService )( 
  788.             ISdoServiceControl * This);
  789.         
  790.         END_INTERFACE
  791.     } ISdoServiceControlVtbl;
  792.     interface ISdoServiceControl
  793.     {
  794.         CONST_VTBL struct ISdoServiceControlVtbl *lpVtbl;
  795.     };
  796.     
  797. #ifdef COBJMACROS
  798. #define ISdoServiceControl_QueryInterface(This,riid,ppvObject)
  799.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  800. #define ISdoServiceControl_AddRef(This)
  801.     (This)->lpVtbl -> AddRef(This)
  802. #define ISdoServiceControl_Release(This)
  803.     (This)->lpVtbl -> Release(This)
  804. #define ISdoServiceControl_GetTypeInfoCount(This,pctinfo)
  805.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  806. #define ISdoServiceControl_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  807.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  808. #define ISdoServiceControl_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  809.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  810. #define ISdoServiceControl_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  811.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  812. #define ISdoServiceControl_StartService(This)
  813.     (This)->lpVtbl -> StartService(This)
  814. #define ISdoServiceControl_StopService(This)
  815.     (This)->lpVtbl -> StopService(This)
  816. #define ISdoServiceControl_GetServiceStatus(This,status)
  817.     (This)->lpVtbl -> GetServiceStatus(This,status)
  818. #define ISdoServiceControl_ResetService(This)
  819.     (This)->lpVtbl -> ResetService(This)
  820. #endif /* COBJMACROS */
  821. #endif  /* C style interface */
  822. /* [id] */ HRESULT STDMETHODCALLTYPE ISdoServiceControl_StartService_Proxy( 
  823.     ISdoServiceControl * This);
  824. void __RPC_STUB ISdoServiceControl_StartService_Stub(
  825.     IRpcStubBuffer *This,
  826.     IRpcChannelBuffer *_pRpcChannelBuffer,
  827.     PRPC_MESSAGE _pRpcMessage,
  828.     DWORD *_pdwStubPhase);
  829. /* [id] */ HRESULT STDMETHODCALLTYPE ISdoServiceControl_StopService_Proxy( 
  830.     ISdoServiceControl * This);
  831. void __RPC_STUB ISdoServiceControl_StopService_Stub(
  832.     IRpcStubBuffer *This,
  833.     IRpcChannelBuffer *_pRpcChannelBuffer,
  834.     PRPC_MESSAGE _pRpcMessage,
  835.     DWORD *_pdwStubPhase);
  836. /* [id] */ HRESULT STDMETHODCALLTYPE ISdoServiceControl_GetServiceStatus_Proxy( 
  837.     ISdoServiceControl * This,
  838.     /* [retval][out] */ LONG *status);
  839. void __RPC_STUB ISdoServiceControl_GetServiceStatus_Stub(
  840.     IRpcStubBuffer *This,
  841.     IRpcChannelBuffer *_pRpcChannelBuffer,
  842.     PRPC_MESSAGE _pRpcMessage,
  843.     DWORD *_pdwStubPhase);
  844. /* [id] */ HRESULT STDMETHODCALLTYPE ISdoServiceControl_ResetService_Proxy( 
  845.     ISdoServiceControl * This);
  846. void __RPC_STUB ISdoServiceControl_ResetService_Stub(
  847.     IRpcStubBuffer *This,
  848.     IRpcChannelBuffer *_pRpcChannelBuffer,
  849.     PRPC_MESSAGE _pRpcMessage,
  850.     DWORD *_pdwStubPhase);
  851. #endif  /* __ISdoServiceControl_INTERFACE_DEFINED__ */
  852. #ifndef __ISdo_INTERFACE_DEFINED__
  853. #define __ISdo_INTERFACE_DEFINED__
  854. /* interface ISdo */
  855. /* [unique][dual][uuid][object] */ 
  856. EXTERN_C const IID IID_ISdo;
  857. #if defined(__cplusplus) && !defined(CINTERFACE)
  858.     
  859.     MIDL_INTERFACE("56BC53DE-96DB-11D1-BF3F-000000000000")
  860.     ISdo : public IDispatch
  861.     {
  862.     public:
  863.         virtual /* [hidden][id] */ HRESULT STDMETHODCALLTYPE GetPropertyInfo( 
  864.             /* [in] */ LONG Id,
  865.             /* [retval][out] */ IUnknown **ppPropertyInfo) = 0;
  866.         
  867.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetProperty( 
  868.             /* [in] */ LONG Id,
  869.             /* [retval][out] */ VARIANT *pValue) = 0;
  870.         
  871.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE PutProperty( 
  872.             /* [in] */ LONG Id,
  873.             /* [in] */ VARIANT *pValue) = 0;
  874.         
  875.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE ResetProperty( 
  876.             /* [in] */ LONG Id) = 0;
  877.         
  878.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Apply( void) = 0;
  879.         
  880.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Restore( void) = 0;
  881.         
  882.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
  883.             /* [retval][out] */ IUnknown **ppEnumVARIANT) = 0;
  884.         
  885.     };
  886.     
  887. #else  /* C style interface */
  888.     typedef struct ISdoVtbl
  889.     {
  890.         BEGIN_INTERFACE
  891.         
  892.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  893.             ISdo * This,
  894.             /* [in] */ REFIID riid,
  895.             /* [iid_is][out] */ void **ppvObject);
  896.         
  897.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  898.             ISdo * This);
  899.         
  900.         ULONG ( STDMETHODCALLTYPE *Release )( 
  901.             ISdo * This);
  902.         
  903.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  904.             ISdo * This,
  905.             /* [out] */ UINT *pctinfo);
  906.         
  907.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  908.             ISdo * This,
  909.             /* [in] */ UINT iTInfo,
  910.             /* [in] */ LCID lcid,
  911.             /* [out] */ ITypeInfo **ppTInfo);
  912.         
  913.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  914.             ISdo * This,
  915.             /* [in] */ REFIID riid,
  916.             /* [size_is][in] */ LPOLESTR *rgszNames,
  917.             /* [in] */ UINT cNames,
  918.             /* [in] */ LCID lcid,
  919.             /* [size_is][out] */ DISPID *rgDispId);
  920.         
  921.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  922.             ISdo * This,
  923.             /* [in] */ DISPID dispIdMember,
  924.             /* [in] */ REFIID riid,
  925.             /* [in] */ LCID lcid,
  926.             /* [in] */ WORD wFlags,
  927.             /* [out][in] */ DISPPARAMS *pDispParams,
  928.             /* [out] */ VARIANT *pVarResult,
  929.             /* [out] */ EXCEPINFO *pExcepInfo,
  930.             /* [out] */ UINT *puArgErr);
  931.         
  932.         /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *GetPropertyInfo )( 
  933.             ISdo * This,
  934.             /* [in] */ LONG Id,
  935.             /* [retval][out] */ IUnknown **ppPropertyInfo);
  936.         
  937.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetProperty )( 
  938.             ISdo * This,
  939.             /* [in] */ LONG Id,
  940.             /* [retval][out] */ VARIANT *pValue);
  941.         
  942.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *PutProperty )( 
  943.             ISdo * This,
  944.             /* [in] */ LONG Id,
  945.             /* [in] */ VARIANT *pValue);
  946.         
  947.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *ResetProperty )( 
  948.             ISdo * This,
  949.             /* [in] */ LONG Id);
  950.         
  951.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Apply )( 
  952.             ISdo * This);
  953.         
  954.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Restore )( 
  955.             ISdo * This);
  956.         
  957.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
  958.             ISdo * This,
  959.             /* [retval][out] */ IUnknown **ppEnumVARIANT);
  960.         
  961.         END_INTERFACE
  962.     } ISdoVtbl;
  963.     interface ISdo
  964.     {
  965.         CONST_VTBL struct ISdoVtbl *lpVtbl;
  966.     };
  967.     
  968. #ifdef COBJMACROS
  969. #define ISdo_QueryInterface(This,riid,ppvObject)
  970.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  971. #define ISdo_AddRef(This)
  972.     (This)->lpVtbl -> AddRef(This)
  973. #define ISdo_Release(This)
  974.     (This)->lpVtbl -> Release(This)
  975. #define ISdo_GetTypeInfoCount(This,pctinfo)
  976.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  977. #define ISdo_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  978.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  979. #define ISdo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  980.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  981. #define ISdo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  982.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  983. #define ISdo_GetPropertyInfo(This,Id,ppPropertyInfo)
  984.     (This)->lpVtbl -> GetPropertyInfo(This,Id,ppPropertyInfo)
  985. #define ISdo_GetProperty(This,Id,pValue)
  986.     (This)->lpVtbl -> GetProperty(This,Id,pValue)
  987. #define ISdo_PutProperty(This,Id,pValue)
  988.     (This)->lpVtbl -> PutProperty(This,Id,pValue)
  989. #define ISdo_ResetProperty(This,Id)
  990.     (This)->lpVtbl -> ResetProperty(This,Id)
  991. #define ISdo_Apply(This)
  992.     (This)->lpVtbl -> Apply(This)
  993. #define ISdo_Restore(This)
  994.     (This)->lpVtbl -> Restore(This)
  995. #define ISdo_get__NewEnum(This,ppEnumVARIANT)
  996.     (This)->lpVtbl -> get__NewEnum(This,ppEnumVARIANT)
  997. #endif /* COBJMACROS */
  998. #endif  /* C style interface */
  999. /* [hidden][id] */ HRESULT STDMETHODCALLTYPE ISdo_GetPropertyInfo_Proxy( 
  1000.     ISdo * This,
  1001.     /* [in] */ LONG Id,
  1002.     /* [retval][out] */ IUnknown **ppPropertyInfo);
  1003. void __RPC_STUB ISdo_GetPropertyInfo_Stub(
  1004.     IRpcStubBuffer *This,
  1005.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1006.     PRPC_MESSAGE _pRpcMessage,
  1007.     DWORD *_pdwStubPhase);
  1008. /* [id] */ HRESULT STDMETHODCALLTYPE ISdo_GetProperty_Proxy( 
  1009.     ISdo * This,
  1010.     /* [in] */ LONG Id,
  1011.     /* [retval][out] */ VARIANT *pValue);
  1012. void __RPC_STUB ISdo_GetProperty_Stub(
  1013.     IRpcStubBuffer *This,
  1014.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1015.     PRPC_MESSAGE _pRpcMessage,
  1016.     DWORD *_pdwStubPhase);
  1017. /* [id] */ HRESULT STDMETHODCALLTYPE ISdo_PutProperty_Proxy( 
  1018.     ISdo * This,
  1019.     /* [in] */ LONG Id,
  1020.     /* [in] */ VARIANT *pValue);
  1021. void __RPC_STUB ISdo_PutProperty_Stub(
  1022.     IRpcStubBuffer *This,
  1023.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1024.     PRPC_MESSAGE _pRpcMessage,
  1025.     DWORD *_pdwStubPhase);
  1026. /* [id] */ HRESULT STDMETHODCALLTYPE ISdo_ResetProperty_Proxy( 
  1027.     ISdo * This,
  1028.     /* [in] */ LONG Id);
  1029. void __RPC_STUB ISdo_ResetProperty_Stub(
  1030.     IRpcStubBuffer *This,
  1031.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1032.     PRPC_MESSAGE _pRpcMessage,
  1033.     DWORD *_pdwStubPhase);
  1034. /* [id] */ HRESULT STDMETHODCALLTYPE ISdo_Apply_Proxy( 
  1035.     ISdo * This);
  1036. void __RPC_STUB ISdo_Apply_Stub(
  1037.     IRpcStubBuffer *This,
  1038.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1039.     PRPC_MESSAGE _pRpcMessage,
  1040.     DWORD *_pdwStubPhase);
  1041. /* [id] */ HRESULT STDMETHODCALLTYPE ISdo_Restore_Proxy( 
  1042.     ISdo * This);
  1043. void __RPC_STUB ISdo_Restore_Stub(
  1044.     IRpcStubBuffer *This,
  1045.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1046.     PRPC_MESSAGE _pRpcMessage,
  1047.     DWORD *_pdwStubPhase);
  1048. /* [id][propget] */ HRESULT STDMETHODCALLTYPE ISdo_get__NewEnum_Proxy( 
  1049.     ISdo * This,
  1050.     /* [retval][out] */ IUnknown **ppEnumVARIANT);
  1051. void __RPC_STUB ISdo_get__NewEnum_Stub(
  1052.     IRpcStubBuffer *This,
  1053.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1054.     PRPC_MESSAGE _pRpcMessage,
  1055.     DWORD *_pdwStubPhase);
  1056. #endif  /* __ISdo_INTERFACE_DEFINED__ */
  1057. #ifndef __ISdoCollection_INTERFACE_DEFINED__
  1058. #define __ISdoCollection_INTERFACE_DEFINED__
  1059. /* interface ISdoCollection */
  1060. /* [unique][dual][uuid][object] */ 
  1061. EXTERN_C const IID IID_ISdoCollection;
  1062. #if defined(__cplusplus) && !defined(CINTERFACE)
  1063.     
  1064.     MIDL_INTERFACE("56BC53E2-96DB-11D1-BF3F-000000000000")
  1065.     ISdoCollection : public IDispatch
  1066.     {
  1067.     public:
  1068.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
  1069.             /* [retval][out] */ long *pCount) = 0;
  1070.         
  1071.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Add( 
  1072.             /* [in] */ BSTR bstrName,
  1073.             /* [out][in] */ IDispatch **ppItem) = 0;
  1074.         
  1075.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Remove( 
  1076.             /* [in] */ IDispatch *pItem) = 0;
  1077.         
  1078.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE RemoveAll( void) = 0;
  1079.         
  1080.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Reload( void) = 0;
  1081.         
  1082.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE IsNameUnique( 
  1083.             /* [in] */ BSTR bstrName,
  1084.             /* [retval][out] */ VARIANT_BOOL *pBool) = 0;
  1085.         
  1086.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Item( 
  1087.             /* [in] */ VARIANT *Name,
  1088.             /* [retval][out] */ IDispatch **pItem) = 0;
  1089.         
  1090.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
  1091.             /* [retval][out] */ IUnknown **ppEnumVARIANT) = 0;
  1092.         
  1093.     };
  1094.     
  1095. #else  /* C style interface */
  1096.     typedef struct ISdoCollectionVtbl
  1097.     {
  1098.         BEGIN_INTERFACE
  1099.         
  1100.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1101.             ISdoCollection * This,
  1102.             /* [in] */ REFIID riid,
  1103.             /* [iid_is][out] */ void **ppvObject);
  1104.         
  1105.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1106.             ISdoCollection * This);
  1107.         
  1108.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1109.             ISdoCollection * This);
  1110.         
  1111.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1112.             ISdoCollection * This,
  1113.             /* [out] */ UINT *pctinfo);
  1114.         
  1115.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1116.             ISdoCollection * This,
  1117.             /* [in] */ UINT iTInfo,
  1118.             /* [in] */ LCID lcid,
  1119.             /* [out] */ ITypeInfo **ppTInfo);
  1120.         
  1121.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1122.             ISdoCollection * This,
  1123.             /* [in] */ REFIID riid,
  1124.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1125.             /* [in] */ UINT cNames,
  1126.             /* [in] */ LCID lcid,
  1127.             /* [size_is][out] */ DISPID *rgDispId);
  1128.         
  1129.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1130.             ISdoCollection * This,
  1131.             /* [in] */ DISPID dispIdMember,
  1132.             /* [in] */ REFIID riid,
  1133.             /* [in] */ LCID lcid,
  1134.             /* [in] */ WORD wFlags,
  1135.             /* [out][in] */ DISPPARAMS *pDispParams,
  1136.             /* [out] */ VARIANT *pVarResult,
  1137.             /* [out] */ EXCEPINFO *pExcepInfo,
  1138.             /* [out] */ UINT *puArgErr);
  1139.         
  1140.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
  1141.             ISdoCollection * This,
  1142.             /* [retval][out] */ long *pCount);
  1143.         
  1144.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
  1145.             ISdoCollection * This,
  1146.             /* [in] */ BSTR bstrName,
  1147.             /* [out][in] */ IDispatch **ppItem);
  1148.         
  1149.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
  1150.             ISdoCollection * This,
  1151.             /* [in] */ IDispatch *pItem);
  1152.         
  1153.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *RemoveAll )( 
  1154.             ISdoCollection * This);
  1155.         
  1156.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Reload )( 
  1157.             ISdoCollection * This);
  1158.         
  1159.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *IsNameUnique )( 
  1160.             ISdoCollection * This,
  1161.             /* [in] */ BSTR bstrName,
  1162.             /* [retval][out] */ VARIANT_BOOL *pBool);
  1163.         
  1164.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
  1165.             ISdoCollection * This,
  1166.             /* [in] */ VARIANT *Name,
  1167.             /* [retval][out] */ IDispatch **pItem);
  1168.         
  1169.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
  1170.             ISdoCollection * This,
  1171.             /* [retval][out] */ IUnknown **ppEnumVARIANT);
  1172.         
  1173.         END_INTERFACE
  1174.     } ISdoCollectionVtbl;
  1175.     interface ISdoCollection
  1176.     {
  1177.         CONST_VTBL struct ISdoCollectionVtbl *lpVtbl;
  1178.     };
  1179.     
  1180. #ifdef COBJMACROS
  1181. #define ISdoCollection_QueryInterface(This,riid,ppvObject)
  1182.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1183. #define ISdoCollection_AddRef(This)
  1184.     (This)->lpVtbl -> AddRef(This)
  1185. #define ISdoCollection_Release(This)
  1186.     (This)->lpVtbl -> Release(This)
  1187. #define ISdoCollection_GetTypeInfoCount(This,pctinfo)
  1188.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1189. #define ISdoCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1190.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1191. #define ISdoCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1192.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1193. #define ISdoCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1194.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1195. #define ISdoCollection_get_Count(This,pCount)
  1196.     (This)->lpVtbl -> get_Count(This,pCount)
  1197. #define ISdoCollection_Add(This,bstrName,ppItem)
  1198.     (This)->lpVtbl -> Add(This,bstrName,ppItem)
  1199. #define ISdoCollection_Remove(This,pItem)
  1200.     (This)->lpVtbl -> Remove(This,pItem)
  1201. #define ISdoCollection_RemoveAll(This)
  1202.     (This)->lpVtbl -> RemoveAll(This)
  1203. #define ISdoCollection_Reload(This)
  1204.     (This)->lpVtbl -> Reload(This)
  1205. #define ISdoCollection_IsNameUnique(This,bstrName,pBool)
  1206.     (This)->lpVtbl -> IsNameUnique(This,bstrName,pBool)
  1207. #define ISdoCollection_Item(This,Name,pItem)
  1208.     (This)->lpVtbl -> Item(This,Name,pItem)
  1209. #define ISdoCollection_get__NewEnum(This,ppEnumVARIANT)
  1210.     (This)->lpVtbl -> get__NewEnum(This,ppEnumVARIANT)
  1211. #endif /* COBJMACROS */
  1212. #endif  /* C style interface */
  1213. /* [id][propget] */ HRESULT STDMETHODCALLTYPE ISdoCollection_get_Count_Proxy( 
  1214.     ISdoCollection * This,
  1215.     /* [retval][out] */ long *pCount);
  1216. void __RPC_STUB ISdoCollection_get_Count_Stub(
  1217.     IRpcStubBuffer *This,
  1218.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1219.     PRPC_MESSAGE _pRpcMessage,
  1220.     DWORD *_pdwStubPhase);
  1221. /* [id] */ HRESULT STDMETHODCALLTYPE ISdoCollection_Add_Proxy( 
  1222.     ISdoCollection * This,
  1223.     /* [in] */ BSTR bstrName,
  1224.     /* [out][in] */ IDispatch **ppItem);
  1225. void __RPC_STUB ISdoCollection_Add_Stub(
  1226.     IRpcStubBuffer *This,
  1227.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1228.     PRPC_MESSAGE _pRpcMessage,
  1229.     DWORD *_pdwStubPhase);
  1230. /* [id] */ HRESULT STDMETHODCALLTYPE ISdoCollection_Remove_Proxy( 
  1231.     ISdoCollection * This,
  1232.     /* [in] */ IDispatch *pItem);
  1233. void __RPC_STUB ISdoCollection_Remove_Stub(
  1234.     IRpcStubBuffer *This,
  1235.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1236.     PRPC_MESSAGE _pRpcMessage,
  1237.     DWORD *_pdwStubPhase);
  1238. /* [id] */ HRESULT STDMETHODCALLTYPE ISdoCollection_RemoveAll_Proxy( 
  1239.     ISdoCollection * This);
  1240. void __RPC_STUB ISdoCollection_RemoveAll_Stub(
  1241.     IRpcStubBuffer *This,
  1242.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1243.     PRPC_MESSAGE _pRpcMessage,
  1244.     DWORD *_pdwStubPhase);
  1245. /* [id] */ HRESULT STDMETHODCALLTYPE ISdoCollection_Reload_Proxy( 
  1246.     ISdoCollection * This);
  1247. void __RPC_STUB ISdoCollection_Reload_Stub(
  1248.     IRpcStubBuffer *This,
  1249.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1250.     PRPC_MESSAGE _pRpcMessage,
  1251.     DWORD *_pdwStubPhase);
  1252. /* [id] */ HRESULT STDMETHODCALLTYPE ISdoCollection_IsNameUnique_Proxy( 
  1253.     ISdoCollection * This,
  1254.     /* [in] */ BSTR bstrName,
  1255.     /* [retval][out] */ VARIANT_BOOL *pBool);
  1256. void __RPC_STUB ISdoCollection_IsNameUnique_Stub(
  1257.     IRpcStubBuffer *This,
  1258.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1259.     PRPC_MESSAGE _pRpcMessage,
  1260.     DWORD *_pdwStubPhase);
  1261. /* [id] */ HRESULT STDMETHODCALLTYPE ISdoCollection_Item_Proxy( 
  1262.     ISdoCollection * This,
  1263.     /* [in] */ VARIANT *Name,
  1264.     /* [retval][out] */ IDispatch **pItem);
  1265. void __RPC_STUB ISdoCollection_Item_Stub(
  1266.     IRpcStubBuffer *This,
  1267.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1268.     PRPC_MESSAGE _pRpcMessage,
  1269.     DWORD *_pdwStubPhase);
  1270. /* [id][propget] */ HRESULT STDMETHODCALLTYPE ISdoCollection_get__NewEnum_Proxy( 
  1271.     ISdoCollection * This,
  1272.     /* [retval][out] */ IUnknown **ppEnumVARIANT);
  1273. void __RPC_STUB ISdoCollection_get__NewEnum_Stub(
  1274.     IRpcStubBuffer *This,
  1275.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1276.     PRPC_MESSAGE _pRpcMessage,
  1277.     DWORD *_pdwStubPhase);
  1278. #endif  /* __ISdoCollection_INTERFACE_DEFINED__ */
  1279. #ifndef __ISdoDictionaryOld_INTERFACE_DEFINED__
  1280. #define __ISdoDictionaryOld_INTERFACE_DEFINED__
  1281. /* interface ISdoDictionaryOld */
  1282. /* [unique][dual][uuid][object] */ 
  1283. EXTERN_C const IID IID_ISdoDictionaryOld;
  1284. #if defined(__cplusplus) && !defined(CINTERFACE)
  1285.     
  1286.     MIDL_INTERFACE("d432e5f4-53d8-11d2-9a3a-00c04fb998ac")
  1287.     ISdoDictionaryOld : public IDispatch
  1288.     {
  1289.     public:
  1290.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE EnumAttributes( 
  1291.             /* [out][in] */ VARIANT *Id,
  1292.             /* [retval][out] */ VARIANT *pValues) = 0;
  1293.         
  1294.         virtual /* [hidden][id] */ HRESULT STDMETHODCALLTYPE GetAttributeInfo( 
  1295.             /* [in] */ ATTRIBUTEID Id,
  1296.             /* [in] */ VARIANT *pInfoIDs,
  1297.             /* [retval][out] */ VARIANT *pInfoValues) = 0;
  1298.         
  1299.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE EnumAttributeValues( 
  1300.             /* [in] */ ATTRIBUTEID Id,
  1301.             /* [out] */ VARIANT *pValueIds,
  1302.             /* [retval][out] */ VARIANT *pValuesDesc) = 0;
  1303.         
  1304.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE CreateAttribute( 
  1305.             /* [in] */ ATTRIBUTEID Id,
  1306.             /* [retval][out] */ IDispatch **ppAttributeObject) = 0;
  1307.         
  1308.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetAttributeID( 
  1309.             /* [in] */ BSTR bstrAttributeName,
  1310.             /* [retval][out] */ ATTRIBUTEID *pId) = 0;
  1311.         
  1312.     };
  1313.     
  1314. #else  /* C style interface */
  1315.     typedef struct ISdoDictionaryOldVtbl
  1316.     {
  1317.         BEGIN_INTERFACE
  1318.         
  1319.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1320.             ISdoDictionaryOld * This,
  1321.             /* [in] */ REFIID riid,
  1322.             /* [iid_is][out] */ void **ppvObject);
  1323.         
  1324.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1325.             ISdoDictionaryOld * This);
  1326.         
  1327.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1328.             ISdoDictionaryOld * This);
  1329.         
  1330.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1331.             ISdoDictionaryOld * This,
  1332.             /* [out] */ UINT *pctinfo);
  1333.         
  1334.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1335.             ISdoDictionaryOld * This,
  1336.             /* [in] */ UINT iTInfo,
  1337.             /* [in] */ LCID lcid,
  1338.             /* [out] */ ITypeInfo **ppTInfo);
  1339.         
  1340.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1341.             ISdoDictionaryOld * This,
  1342.             /* [in] */ REFIID riid,
  1343.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1344.             /* [in] */ UINT cNames,
  1345.             /* [in] */ LCID lcid,
  1346.             /* [size_is][out] */ DISPID *rgDispId);
  1347.         
  1348.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1349.             ISdoDictionaryOld * This,
  1350.             /* [in] */ DISPID dispIdMember,
  1351.             /* [in] */ REFIID riid,
  1352.             /* [in] */ LCID lcid,
  1353.             /* [in] */ WORD wFlags,
  1354.             /* [out][in] */ DISPPARAMS *pDispParams,
  1355.             /* [out] */ VARIANT *pVarResult,
  1356.             /* [out] */ EXCEPINFO *pExcepInfo,
  1357.             /* [out] */ UINT *puArgErr);
  1358.         
  1359.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *EnumAttributes )( 
  1360.             ISdoDictionaryOld * This,
  1361.             /* [out][in] */ VARIANT *Id,
  1362.             /* [retval][out] */ VARIANT *pValues);
  1363.         
  1364.         /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *GetAttributeInfo )( 
  1365.             ISdoDictionaryOld * This,
  1366.             /* [in] */ ATTRIBUTEID Id,
  1367.             /* [in] */ VARIANT *pInfoIDs,
  1368.             /* [retval][out] */ VARIANT *pInfoValues);
  1369.         
  1370.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *EnumAttributeValues )( 
  1371.             ISdoDictionaryOld * This,
  1372.             /* [in] */ ATTRIBUTEID Id,
  1373.             /* [out] */ VARIANT *pValueIds,
  1374.             /* [retval][out] */ VARIANT *pValuesDesc);
  1375.         
  1376.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *CreateAttribute )( 
  1377.             ISdoDictionaryOld * This,
  1378.             /* [in] */ ATTRIBUTEID Id,
  1379.             /* [retval][out] */ IDispatch **ppAttributeObject);
  1380.         
  1381.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetAttributeID )( 
  1382.             ISdoDictionaryOld * This,
  1383.             /* [in] */ BSTR bstrAttributeName,
  1384.             /* [retval][out] */ ATTRIBUTEID *pId);
  1385.         
  1386.         END_INTERFACE
  1387.     } ISdoDictionaryOldVtbl;
  1388.     interface ISdoDictionaryOld
  1389.     {
  1390.         CONST_VTBL struct ISdoDictionaryOldVtbl *lpVtbl;
  1391.     };
  1392.     
  1393. #ifdef COBJMACROS
  1394. #define ISdoDictionaryOld_QueryInterface(This,riid,ppvObject)
  1395.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1396. #define ISdoDictionaryOld_AddRef(This)
  1397.     (This)->lpVtbl -> AddRef(This)
  1398. #define ISdoDictionaryOld_Release(This)
  1399.     (This)->lpVtbl -> Release(This)
  1400. #define ISdoDictionaryOld_GetTypeInfoCount(This,pctinfo)
  1401.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1402. #define ISdoDictionaryOld_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1403.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1404. #define ISdoDictionaryOld_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1405.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1406. #define ISdoDictionaryOld_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1407.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1408. #define ISdoDictionaryOld_EnumAttributes(This,Id,pValues)
  1409.     (This)->lpVtbl -> EnumAttributes(This,Id,pValues)
  1410. #define ISdoDictionaryOld_GetAttributeInfo(This,Id,pInfoIDs,pInfoValues)
  1411.     (This)->lpVtbl -> GetAttributeInfo(This,Id,pInfoIDs,pInfoValues)
  1412. #define ISdoDictionaryOld_EnumAttributeValues(This,Id,pValueIds,pValuesDesc)
  1413.     (This)->lpVtbl -> EnumAttributeValues(This,Id,pValueIds,pValuesDesc)
  1414. #define ISdoDictionaryOld_CreateAttribute(This,Id,ppAttributeObject)
  1415.     (This)->lpVtbl -> CreateAttribute(This,Id,ppAttributeObject)
  1416. #define ISdoDictionaryOld_GetAttributeID(This,bstrAttributeName,pId)
  1417.     (This)->lpVtbl -> GetAttributeID(This,bstrAttributeName,pId)
  1418. #endif /* COBJMACROS */
  1419. #endif  /* C style interface */
  1420. /* [id] */ HRESULT STDMETHODCALLTYPE ISdoDictionaryOld_EnumAttributes_Proxy( 
  1421.     ISdoDictionaryOld * This,
  1422.     /* [out][in] */ VARIANT *Id,
  1423.     /* [retval][out] */ VARIANT *pValues);
  1424. void __RPC_STUB ISdoDictionaryOld_EnumAttributes_Stub(
  1425.     IRpcStubBuffer *This,
  1426.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1427.     PRPC_MESSAGE _pRpcMessage,
  1428.     DWORD *_pdwStubPhase);
  1429. /* [hidden][id] */ HRESULT STDMETHODCALLTYPE ISdoDictionaryOld_GetAttributeInfo_Proxy( 
  1430.     ISdoDictionaryOld * This,
  1431.     /* [in] */ ATTRIBUTEID Id,
  1432.     /* [in] */ VARIANT *pInfoIDs,
  1433.     /* [retval][out] */ VARIANT *pInfoValues);
  1434. void __RPC_STUB ISdoDictionaryOld_GetAttributeInfo_Stub(
  1435.     IRpcStubBuffer *This,
  1436.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1437.     PRPC_MESSAGE _pRpcMessage,
  1438.     DWORD *_pdwStubPhase);
  1439. /* [id] */ HRESULT STDMETHODCALLTYPE ISdoDictionaryOld_EnumAttributeValues_Proxy( 
  1440.     ISdoDictionaryOld * This,
  1441.     /* [in] */ ATTRIBUTEID Id,
  1442.     /* [out] */ VARIANT *pValueIds,
  1443.     /* [retval][out] */ VARIANT *pValuesDesc);
  1444. void __RPC_STUB ISdoDictionaryOld_EnumAttributeValues_Stub(
  1445.     IRpcStubBuffer *This,
  1446.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1447.     PRPC_MESSAGE _pRpcMessage,
  1448.     DWORD *_pdwStubPhase);
  1449. /* [id] */ HRESULT STDMETHODCALLTYPE ISdoDictionaryOld_CreateAttribute_Proxy( 
  1450.     ISdoDictionaryOld * This,
  1451.     /* [in] */ ATTRIBUTEID Id,
  1452.     /* [retval][out] */ IDispatch **ppAttributeObject);
  1453. void __RPC_STUB ISdoDictionaryOld_CreateAttribute_Stub(
  1454.     IRpcStubBuffer *This,
  1455.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1456.     PRPC_MESSAGE _pRpcMessage,
  1457.     DWORD *_pdwStubPhase);
  1458. /* [id] */ HRESULT STDMETHODCALLTYPE ISdoDictionaryOld_GetAttributeID_Proxy( 
  1459.     ISdoDictionaryOld * This,
  1460.     /* [in] */ BSTR bstrAttributeName,
  1461.     /* [retval][out] */ ATTRIBUTEID *pId);
  1462. void __RPC_STUB ISdoDictionaryOld_GetAttributeID_Stub(
  1463.     IRpcStubBuffer *This,
  1464.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1465.     PRPC_MESSAGE _pRpcMessage,
  1466.     DWORD *_pdwStubPhase);
  1467. #endif  /* __ISdoDictionaryOld_INTERFACE_DEFINED__ */
  1468. EXTERN_C const CLSID CLSID_SdoMachine;
  1469. #ifdef __cplusplus
  1470. class DECLSPEC_UUID("E9218AE7-9E91-11D1-BF60-0080C7846BC0")
  1471. SdoMachine;
  1472. #endif
  1473. #endif /* __SDOIASLib_LIBRARY_DEFINED__ */
  1474. /* Additional Prototypes for ALL interfaces */
  1475. /* end of Additional Prototypes */
  1476. #ifdef __cplusplus
  1477. }
  1478. #endif
  1479. #endif