1 /**
2  * This file has no copyright assigned and is placed in the Public Domain.
3  * This file is part of the mingw-w64 runtime package.
4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5  */
6 #ifndef __REQUIRED_RPCNDR_H_VERSION__
7 #define __REQUIRED_RPCNDR_H_VERSION__ 475
8 #endif
9 
10 #include "rpc.h"
11 #include "rpcndr.h"
12 
13 #ifndef __RPCNDR_H_VERSION__
14 #error This stub requires an updated version of <rpcndr.h>
15 #endif
16 
17 #ifndef __sdoias_h__
18 #define __sdoias_h__
19 
20 #ifndef __ISdoMachine_FWD_DEFINED__
21 #define __ISdoMachine_FWD_DEFINED__
22 typedef struct ISdoMachine ISdoMachine;
23 #endif
24 
25 #ifndef __ISdoServiceControl_FWD_DEFINED__
26 #define __ISdoServiceControl_FWD_DEFINED__
27 typedef struct ISdoServiceControl ISdoServiceControl;
28 #endif
29 
30 #ifndef __ISdo_FWD_DEFINED__
31 #define __ISdo_FWD_DEFINED__
32 typedef struct ISdo ISdo;
33 #endif
34 
35 #ifndef __ISdoCollection_FWD_DEFINED__
36 #define __ISdoCollection_FWD_DEFINED__
37 typedef struct ISdoCollection ISdoCollection;
38 #endif
39 
40 #ifndef __ISdoDictionaryOld_FWD_DEFINED__
41 #define __ISdoDictionaryOld_FWD_DEFINED__
42 typedef struct ISdoDictionaryOld ISdoDictionaryOld;
43 #endif
44 
45 #ifndef __SdoMachine_FWD_DEFINED__
46 #define __SdoMachine_FWD_DEFINED__
47 
48 #ifdef __cplusplus
49 typedef class SdoMachine SdoMachine;
50 #else
51 typedef struct SdoMachine SdoMachine;
52 #endif
53 #endif
54 
55 #include "oaidl.h"
56 #include "ocidl.h"
57 
58 #ifdef __cplusplus
59 extern "C" {
60 #endif
61 
62 #ifndef __MIDL_user_allocate_free_DEFINED__
63 #define __MIDL_user_allocate_free_DEFINED__
64   void *__RPC_API MIDL_user_allocate(size_t);
65   void __RPC_API MIDL_user_free(void *);
66 #endif
67 
68 #ifndef __SDOIASLib_LIBRARY_DEFINED__
69 #define __SDOIASLib_LIBRARY_DEFINED__
70 
71   typedef enum _ATTRIBUTEID {
72     ATTRIBUTE_UNDEFINED = 0,ATTRIBUTE_MIN_VALUE = 1,
73     RADIUS_ATTRIBUTE_USER_PASSWORD,RADIUS_ATTRIBUTE_CHAP_PASSWORD,
74     RADIUS_ATTRIBUTE_NAS_IP_ADDRESS,RADIUS_ATTRIBUTE_NAS_PORT,
75     RADIUS_ATTRIBUTE_SERVICE_TYPE,RADIUS_ATTRIBUTE_FRAMED_PROTOCOL,
76     RADIUS_ATTRIBUTE_FRAMED_IP_ADDRESS,RADIUS_ATTRIBUTE_FRAMED_IP_NETMASK,
77     RADIUS_ATTRIBUTE_FRAMED_ROUTING,RADIUS_ATTRIBUTE_FILTER_ID,
78     RADIUS_ATTRIBUTE_FRAMED_MTU,RADIUS_ATTRIBUTE_FRAMED_COMPRESSION,
79     RADIUS_ATTRIBUTE_LOGIN_IP_HOST,RADIUS_ATTRIBUTE_LOGIN_SERVICE,
80     RADIUS_ATTRIBUTE_LOGIN_TCP_PORT,RADIUS_ATTRIBUTE_UNASSIGNED1,
81     RADIUS_ATTRIBUTE_REPLY_MESSAGE,RADIUS_ATTRIBUTE_CALLBACK_NUMBER,
82     RADIUS_ATTRIBUTE_CALLBACK_ID,RADIUS_ATTRIBUTE_UNASSIGNED2,
83     RADIUS_ATTRIBUTE_FRAMED_ROUTE,RADIUS_ATTRIBUTE_FRAMED_IPX_NETWORK,
84     RADIUS_ATTRIBUTE_STATE,RADIUS_ATTRIBUTE_CLASS,
85     RADIUS_ATTRIBUTE_VENDOR_SPECIFIC,RADIUS_ATTRIBUTE_SESSION_TIMEOUT,
86     RADIUS_ATTRIBUTE_IDLE_TIMEOUT,RADIUS_ATTRIBUTE_TERMINATION_ACTION,
87     RADIUS_ATTRIBUTE_CALLED_STATION_ID,RADIUS_ATTRIBUTE_CALLING_STATION_ID,
88     RADIUS_ATTRIBUTE_NAS_IDENTIFIER,RADIUS_ATTRIBUTE_PROXY_STATE,
89     RADIUS_ATTRIBUTE_LOGIN_LAT_SERVICE,RADIUS_ATTRIBUTE_LOGIN_LAT_NODE,
90     RADIUS_ATTRIBUTE_LOGIN_LAT_GROUP,RADIUS_ATTRIBUTE_FRAMED_APPLETALK_LINK,
91     RADIUS_ATTRIBUTE_FRAMED_APPLETALK_NET,RADIUS_ATTRIBUTE_FRAMED_APPLETALK_ZONE,
92     RADIUS_ATTRIBUTE_ACCT_STATUS_TYPE,RADIUS_ATTRIBUTE_ACCT_DELAY_TIME,
93     RADIUS_ATTRIBUTE_ACCT_INPUT_OCTETS,RADIUS_ATTRIBUTE_ACCT_OUTPUT_OCTETS,
94     RADIUS_ATTRIBUTE_ACCT_SESSION_ID,RADIUS_ATTRIBUTE_ACCT_AUTHENTIC,
95     RADIUS_ATTRIBUTE_ACCT_SESSION_TIME,RADIUS_ATTRIBUTE_ACCT_INPUT_PACKETS,
96     RADIUS_ATTRIBUTE_ACCT_OUTPUT_PACKETS,RADIUS_ATTRIBUTE_ACCT_TERMINATE_CAUSE,
97     RADIUS_ATTRIBUTE_ACCT_MULTI_SSN_ID,RADIUS_ATTRIBUTE_ACCT_LINK_COUNT,
98     RADIUS_ATTRIBUTE_USER_NAME = ATTRIBUTE_MIN_VALUE,
99     RADIUS_ATTRIBUTE_CHAP_CHALLENGE = 60,
100     RADIUS_ATTRIBUTE_NAS_PORT_TYPE,RADIUS_ATTRIBUTE_PORT_LIMIT,
101     RADIUS_ATTRIBUTE_LOGIN_LAT_PORT,RADIUS_ATTRIBUTE_TUNNEL_TYPE,
102     RADIUS_ATTRIBUTE_TUNNEL_MEDIUM_TYPE,RADIUS_ATTRIBUTE_TUNNEL_CLIENT_ENDPT,
103     RADIUS_ATTRIBUTE_TUNNEL_SERVER_ENDPT,RADIUS_ATTRIBUTE_ACCT_TUNNEL_CONN,
104     RADIUS_ATTRIBUTE_TUNNEL_PASSWORD,RADIUS_ATTRIBUTE_ARAP_PASSWORD,
105     RADIUS_ATTRIBUTE_ARAP_FEATURES,RADIUS_ATTRIBUTE_ARAP_ZONE_ACCESS,
106     RADIUS_ATTRIBUTE_ARAP_SECURITY,RADIUS_ATTRIBUTE_ARAP_SECURITY_DATA,
107     RADIUS_ATTRIBUTE_PASSWORD_RETRY,RADIUS_ATTRIBUTE_PROMPT,
108     RADIUS_ATTRIBUTE_CONNECT_INFO,RADIUS_ATTRIBUTE_CONFIGURATION_TOKEN,
109     RADIUS_ATTRIBUTE_EAP_MESSAGE,RADIUS_ATTRIBUTE_SIGNATURE,
110     RADIUS_ATTRIBUTE_TUNNEL_PVT_GROUP_ID,RADIUS_ATTRIBUTE_TUNNEL_ASSIGNMENT_ID,
111     RADIUS_ATTRIBUTE_TUNNEL_PREFERENCE,RADIUS_ATTRIBUTE_ARAP_CHALLENGE_RESPONSE,
112     RADIUS_ATTRIBUTE_ACCT_INTERIM_INTERVAL,
113     IAS_ATTRIBUTE_SAVED_RADIUS_FRAMED_IP_ADDRESS = 0x1000,
114     IAS_ATTRIBUTE_SAVED_RADIUS_CALLBACK_NUMBER,IAS_ATTRIBUTE_NP_CALLING_STATION_ID,
115     IAS_ATTRIBUTE_SAVED_NP_CALLING_STATION_ID,IAS_ATTRIBUTE_SAVED_RADIUS_FRAMED_ROUTE,
116     IAS_ATTRIBUTE_IGNORE_USER_DIALIN_PROPERTIES,IAS_ATTRIBUTE_NP_TIME_OF_DAY,
117     IAS_ATTRIBUTE_NP_CALLED_STATION_ID,IAS_ATTRIBUTE_NP_ALLOWED_PORT_TYPES,
118     IAS_ATTRIBUTE_NP_AUTHENTICATION_TYPE,IAS_ATTRIBUTE_NP_ALLOWED_EAP_TYPE,
119     IAS_ATTRIBUTE_SHARED_SECRET,IAS_ATTRIBUTE_CLIENT_IP_ADDRESS,
120     IAS_ATTRIBUTE_CLIENT_PACKET_HEADER,IAS_ATTRIBUTE_TOKEN_GROUPS,
121     IAS_ATTRIBUTE_ALLOW_DIALIN,IAS_ATTRIBUTE_REQUEST_ID,
122     IAS_ATTRIBUTE_MANIPULATION_TARGET,IAS_ATTRIBUTE_MANIPULATION_RULE,
123     IAS_ATTRIBUTE_ORIGINAL_USER_NAME,IAS_ATTRIBUTE_CLIENT_VENDOR_TYPE,
124     IAS_ATTRIBUTE_CLIENT_UDP_PORT,MS_ATTRIBUTE_CHAP_CHALLENGE,
125     MS_ATTRIBUTE_CHAP_RESPONSE,MS_ATTRIBUTE_CHAP_DOMAIN,
126     MS_ATTRIBUTE_CHAP_ERROR,MS_ATTRIBUTE_CHAP_CPW1,
127     MS_ATTRIBUTE_CHAP_CPW2,MS_ATTRIBUTE_CHAP_LM_ENC_PW,
128     MS_ATTRIBUTE_CHAP_NT_ENC_PW,MS_ATTRIBUTE_CHAP_MPPE_KEYS,
129     IAS_ATTRIBUTE_AUTHENTICATION_TYPE,IAS_ATTRIBUTE_CLIENT_NAME,
130     IAS_ATTRIBUTE_NT4_ACCOUNT_NAME,IAS_ATTRIBUTE_FULLY_QUALIFIED_USER_NAME,
131     IAS_ATTRIBUTE_NTGROUPS,IAS_ATTRIBUTE_EAP_FRIENDLY_NAME,
132     IAS_ATTRIBUTE_AUTH_PROVIDER_TYPE,MS_ATTRIBUTE_ACCT_AUTH_TYPE,
133     MS_ATTRIBUTE_ACCT_EAP_TYPE,IAS_ATTRIBUTE_PACKET_TYPE,
134     IAS_ATTRIBUTE_AUTH_PROVIDER_NAME,IAS_ATTRIBUTE_ACCT_PROVIDER_TYPE,
135     IAS_ATTRIBUTE_ACCT_PROVIDER_NAME,MS_ATTRIBUTE_MPPE_SEND_KEY,
136     MS_ATTRIBUTE_MPPE_RECV_KEY,IAS_ATTRIBUTE_REASON_CODE,
137     MS_ATTRIBUTE_FILTER,MS_ATTRIBUTE_CHAP2_RESPONSE,
138     MS_ATTRIBUTE_CHAP2_SUCCESS,MS_ATTRIBUTE_CHAP2_CPW,
139     MS_ATTRIBUTE_RAS_VENDOR,MS_ATTRIBUTE_RAS_VERSION,
140     IAS_ATTRIBUTE_NP_NAME,MS_ATTRIBUTE_PRIMARY_DNS_SERVER,
141     MS_ATTRIBUTE_SECONDARY_DNS_SERVER,MS_ATTRIBUTE_PRIMARY_NBNS_SERVER,
142     MS_ATTRIBUTE_SECONDARY_NBNS_SERVER,IAS_ATTRIBUTE_PROXY_POLICY_NAME,
143     IAS_ATTRIBUTE_PROVIDER_TYPE,IAS_ATTRIBUTE_PROVIDER_NAME,
144     IAS_ATTRIBUTE_REMOTE_SERVER_ADDRESS,IAS_ATTRIBUTE_GENERATE_CLASS_ATTRIBUTE,
145     MS_ATTRIBUTE_RAS_CLIENT_NAME,MS_ATTRIBUTE_RAS_CLIENT_VERSION,
146     IAS_ATTRIBUTE_ALLOWED_CERTIFICATE_EKU,IAS_ATTRIBUTE_EXTENSION_STATE,
147     IAS_ATTRIBUTE_GENERATE_SESSION_TIMEOUT,MS_ATTRIBUTE_SESSION_TIMEOUT,
148     MS_ATTRIBUTE_QUARANTINE_IPFILTER,MS_ATTRIBUTE_QUARANTINE_SESSION_TIMEOUT,
149     MS_ATTRIBUTE_USER_SECURITY_IDENTITY,IAS_ATTRIBUTE_REMOTE_RADIUS_TO_WINDOWS_USER_MAPPING,
150     IAS_ATTRIBUTE_PASSPORT_USER_MAPPING_UPN_SUFFIX,IAS_ATTRIBUTE_TUNNEL_TAG,
151     IAS_ATTRIBUTE_NP_PEAPUPFRONT_ENABLED,
152     IAS_ATTRIBUTE_CERTIFICATE_EKU = 8097,
153     IAS_ATTRIBUTE_EAP_CONFIG,MS_ATTRIBUTE_PEAP_EMBEDDED_EAP_TYPEID,
154     MS_ATTRIBUTE_PEAP_FAST_ROAMED_SESSION,IAS_ATTRIBUTE_EAP_TYPEID,
155     IAS_ATTRIBUTE_EAP_TLV,IAS_ATTRIBUTE_REJECT_REASON_CODE,
156     IAS_ATTRIBUTE_PROXY_EAP_CONFIG,IAS_ATTRIBUTE_EAP_SESSION,
157     IAS_ATTRIBUTE_IS_REPLAY,IAS_ATTRIBUTE_CLEAR_TEXT_PASSWORD,
158     RAS_ATTRIBUTE_ENCRYPTION_TYPE = 0xffffffff - 89,
159     RAS_ATTRIBUTE_ENCRYPTION_POLICY = 0xffffffff - 88,
160     RAS_ATTRIBUTE_BAP_REQUIRED = 0xffffffff - 87,
161     RAS_ATTRIBUTE_BAP_LINE_DOWN_TIME = 0xffffffff - 86,
162     RAS_ATTRIBUTE_BAP_LINE_DOWN_LIMIT = 0xffffffff - 85
163   } ATTRIBUTEID;
164 
165   typedef enum _NEW_LOG_FILE_FREQUENCY {
166     IAS_LOGGING_UNLIMITED_SIZE = 0,
167     IAS_LOGGING_DAILY,IAS_LOGGING_WEEKLY,IAS_LOGGING_MONTHLY,IAS_LOGGING_WHEN_FILE_SIZE_REACHES
168   } NEW_LOG_FILE_FREQUENCY;
169 
170   typedef enum _AUTHENTICATION_TYPE {
171     IAS_AUTH_INVALID = 0,
172     IAS_AUTH_PAP,IAS_AUTH_MD5CHAP,IAS_AUTH_MSCHAP,IAS_AUTH_MSCHAP2,IAS_AUTH_EAP,
173     IAS_AUTH_ARAP,IAS_AUTH_NONE,IAS_AUTH_CUSTOM,IAS_AUTH_MSCHAP_CPW,IAS_AUTH_MSCHAP2_CPW,
174     IAS_AUTH_PEAP
175   } AUTHENTICATION_TYPE;
176 
177   typedef enum _ATTRIBUTESYNTAX {
178     IAS_SYNTAX_BOOLEAN = 1,
179     IAS_SYNTAX_INTEGER,IAS_SYNTAX_ENUMERATOR,IAS_SYNTAX_INETADDR,IAS_SYNTAX_STRING,
180     IAS_SYNTAX_OCTETSTRING,IAS_SYNTAX_UTCTIME,IAS_SYNTAX_PROVIDERSPECIFIC,
181     IAS_SYNTAX_UNSIGNEDINTEGER
182   } ATTRIBUTESYNTAX;
183 
184   typedef enum _ATTRIBUTERESTRICTIONS {
185     MULTIVALUED = 0x1,ALLOWEDINPROFILE = 0x2,ALLOWEDINCONDITION = 0x4,ALLOWEDINPROXYPROFILE = 0x8,
186     ALLOWEDINPROXYCONDITION = 0x10
187   } ATTRIBUTERESTRICTIONS;
188 
189   typedef enum _ATTRIBUTEINFO {
190     NAME = 1,
191     SYNTAX,RESTRICTIONS,DESCRIPTION,VENDORID,LDAPNAME,VENDORTYPE
192   } ATTRIBUTEINFO;
193 
194   typedef enum _IASCOMMONPROPERTIES {
195     PROPERTY_SDO_RESERVED = 0,
196     PROPERTY_SDO_CLASS,PROPERTY_SDO_NAME,PROPERTY_SDO_DESCRIPTION,PROPERTY_SDO_ID,
197     PROPERTY_SDO_DATASTORE_NAME,
198     PROPERTY_SDO_START = 0x400
199   } IASCOMMONPROPERTIES;
200 
201   typedef enum _USERPROPERTIES {
202     PROPERTY_USER_CALLING_STATION_ID = 0x400,
203     PROPERTY_USER_SAVED_CALLING_STATION_ID,PROPERTY_USER_RADIUS_CALLBACK_NUMBER,
204     PROPERTY_USER_RADIUS_FRAMED_ROUTE,PROPERTY_USER_RADIUS_FRAMED_IP_ADDRESS,
205     PROPERTY_USER_SAVED_RADIUS_CALLBACK_NUMBER,PROPERTY_USER_SAVED_RADIUS_FRAMED_ROUTE,
206     PROPERTY_USER_SAVED_RADIUS_FRAMED_IP_ADDRESS,PROPERTY_USER_ALLOW_DIALIN,
207     PROPERTY_USER_SERVICE_TYPE
208   } USERPROPERTIES;
209 
210   typedef enum _DICTIONARYPROPERTIES {
211     PROPERTY_DICTIONARY_ATTRIBUTES_COLLECTION = 0x400,
212     PROPERTY_DICTIONARY_LOCATION
213   } DICTIONARYPROPERTIES;
214 
215   typedef enum _ATTRIBUTEPROPERTIES {
216     PROPERTY_ATTRIBUTE_ID = 0x400,
217     PROPERTY_ATTRIBUTE_VENDOR_ID,PROPERTY_ATTRIBUTE_VENDOR_TYPE_ID,
218     PROPERTY_ATTRIBUTE_IS_ENUMERABLE,PROPERTY_ATTRIBUTE_ENUM_NAMES,
219     PROPERTY_ATTRIBUTE_ENUM_VALUES,PROPERTY_ATTRIBUTE_SYNTAX,
220     PROPERTY_ATTRIBUTE_ALLOW_MULTIPLE,PROPERTY_ATTRIBUTE_ALLOW_LOG_ORDINAL,
221     PROPERTY_ATTRIBUTE_ALLOW_IN_PROFILE,PROPERTY_ATTRIBUTE_ALLOW_IN_CONDITION,
222     PROPERTY_ATTRIBUTE_DISPLAY_NAME,PROPERTY_ATTRIBUTE_VALUE,
223     PROPERTY_ATTRIBUTE_ALLOW_IN_PROXY_PROFILE,PROPERTY_ATTRIBUTE_ALLOW_IN_PROXY_CONDITION
224   } ATTRIBUTEPROPERTIES;
225 
226   typedef enum _IASPROPERTIES {
227     PROPERTY_IAS_RADIUSSERVERGROUPS_COLLECTION = 0x400,
228     PROPERTY_IAS_POLICIES_COLLECTION,PROPERTY_IAS_PROFILES_COLLECTION,
229     PROPERTY_IAS_PROTOCOLS_COLLECTION,PROPERTY_IAS_AUDITORS_COLLECTION,
230     PROPERTY_IAS_REQUESTHANDLERS_COLLECTION,PROPERTY_IAS_PROXYPOLICIES_COLLECTION,
231     PROPERTY_IAS_PROXYPROFILES_COLLECTION
232   } IASPROPERTIES;
233 
234   typedef enum _CLIENTPROPERTIES {
235     PROPERTY_CLIENT_REQUIRE_SIGNATURE = 0x400,
236     PROPERTY_CLIENT_UNUSED,PROPERTY_CLIENT_SHARED_SECRET,
237     PROPERTY_CLIENT_NAS_MANUFACTURER,PROPERTY_CLIENT_ADDRESS
238   } CLIENTPROPERTIES;
239 
240   typedef enum _VENDORPROPERTIES {
241     PROPERTY_NAS_VENDOR_ID = 0x400
242   } VENDORPROPERTIES;
243 
244   typedef enum _PROFILEPROPERTIES {
245     PROPERTY_PROFILE_ATTRIBUTES_COLLECTION = 0x400
246   } PROFILEPROPERTIES;
247 
248   typedef enum _POLICYPROPERTIES {
249     PROPERTY_POLICY_CONSTRAINT = 0x400,
250     PROPERTY_POLICY_MERIT,PROPERTY_POLICY_UNUSED0,
251     PROPERTY_POLICY_UNUSED1,PROPERTY_POLICY_PROFILE_NAME,
252     PROPERTY_POLICY_ACTION,PROPERTY_POLICY_CONDITIONS_COLLECTION
253   } POLICYPROPERTIES;
254 
255   typedef enum _CONDITIONPROPERTIES {
256     PROPERTY_CONDITION_TEXT = 0x400
257   } CONDITIONPROPERTIES;
258 
259   typedef enum _RADIUSSERVERGROUPPROPERTIES {
260     PROPERTY_RADIUSSERVERGROUP_SERVERS_COLLECTION = 0x400
261   } RADIUSSERVERGROUPPROPERTIES;
262 
263   typedef enum _RADIUSSERVERPROPERTIES {
264     PROPERTY_RADIUSSERVER_AUTH_PORT = 0x400,
265     PROPERTY_RADIUSSERVER_AUTH_SECRET,PROPERTY_RADIUSSERVER_ACCT_PORT,
266     PROPERTY_RADIUSSERVER_ACCT_SECRET,PROPERTY_RADIUSSERVER_ADDRESS,
267     PROPERTY_RADIUSSERVER_FORWARD_ACCT_ONOFF,PROPERTY_RADIUSSERVER_PRIORITY,
268     PROPERTY_RADIUSSERVER_WEIGHT,PROPERTY_RADIUSSERVER_TIMEOUT,
269     PROPERTY_RADIUSSERVER_MAX_LOST,PROPERTY_RADIUSSERVER_BLACKOUT
270   } RADIUSSERVERPROPERTIES;
271 
272   typedef enum _IASCOMPONENTPROPERTIES {
273     PROPERTY_COMPONENT_ID = 0x400,
274     PROPERTY_COMPONENT_PROG_ID = 0x401,
275     PROPERTY_COMPONENT_START = 0x402
276   } IASCOMPONENTPROPERTIES;
277 
278   typedef enum _PROTOCOLPROPERTIES {
279     PROPERTY_PROTOCOL_REQUEST_HANDLER = 0x402,
280     PROPERTY_PROTOCOL_START = 0x403
281   } PROTOCOLPROPERTIES;
282 
283   typedef enum _RADIUSPROPERTIES {
284     PROPERTY_RADIUS_ACCOUNTING_PORT = 0x403,
285     PROPERTY_RADIUS_AUTHENTICATION_PORT,PROPERTY_RADIUS_CLIENTS_COLLECTION,
286     PROPERTY_RADIUS_VENDORS_COLLECTION
287   } RADIUSPROPERTIES;
288 
289   typedef enum _NTEVENTLOGPROPERTIES {
290     PROPERTY_EVENTLOG_LOG_APPLICATION_EVENTS = 0x402,
291     PROPERTY_EVENTLOG_LOG_MALFORMED,
292     PROPERTY_EVENTLOG_LOG_DEBUG
293   } NTEVENTLOGPROPERTIES;
294 
295   typedef enum _NAMESPROPERTIES {
296     PROPERTY_NAMES_REALMS = 0x402
297   } NAMESPROPERTIES;
298 
299   typedef enum _NTSAMPROPERTIES {
300     PROPERTY_NTSAM_ALLOW_LM_AUTHENTICATION = 0x402
301   } NTSAMPROPERTIES;
302 
303   typedef enum _ACCOUNTINGPROPERTIES {
304     PROPERTY_ACCOUNTING_LOG_ACCOUNTING = 0x402,
305     PROPERTY_ACCOUNTING_LOG_ACCOUNTING_INTERIM,PROPERTY_ACCOUNTING_LOG_AUTHENTICATION,
306     PROPERTY_ACCOUNTING_LOG_OPEN_NEW_FREQUENCY,PROPERTY_ACCOUNTING_LOG_OPEN_NEW_SIZE,
307     PROPERTY_ACCOUNTING_LOG_FILE_DIRECTORY,PROPERTY_ACCOUNTING_LOG_IAS1_FORMAT,
308     PROPERTY_ACCOUNTING_LOG_ENABLE_LOGGING,PROPERTY_ACCOUNTING_LOG_DELETE_IF_FULL,
309     PROPERTY_ACCOUNTING_SQL_MAX_SESSIONS,PROPERTY_ACCOUNTING_LOG_AUTHENTICATION_INTERIM
310   } ACCOUNTINGPROPERTIES;
311 
312   typedef enum _EAPWRAPPROPERTIES {
313     PROPERTY_EAP_SESSION_TIMEOUT = 0x402,
314     PROPERTY_EAP_MAX_SESSIONS
315   } EAPWRAPPROPERTIES;
316 
317   typedef enum _NAPPROPERTIES {
318     PROPERTY_NAP_POLICIES_COLLECTION = 0x402
319   } NAPPROPERTIES;
320 
321   typedef enum _RADIUSPROXYPROPERTIES {
322     PROPERTY_RADIUSPROXY_SERVERGROUPS = 0x402
323   } RADIUSPROXYPROPERTIES;
324 
325   typedef enum _SERVICE_TYPE {
326     SERVICE_TYPE_IAS = 0,
327     SERVICE_TYPE_RAS,SERVICE_TYPE_MAX
328   } SERVICE_TYPE;
329 
330   typedef enum _IASOSTYPE {
331     SYSTEM_TYPE_NT4_WORKSTATION = 0,
332     SYSTEM_TYPE_NT5_WORKSTATION,SYSTEM_TYPE_NT4_SERVER,SYSTEM_TYPE_NT5_SERVER
333   } IASOSTYPE;
334 
335   typedef enum _IASOSTYPE *PIASOSTYPE;
336 
337   typedef enum _DOMAINTYPE {
338     DOMAIN_TYPE_NONE = 0,
339     DOMAIN_TYPE_NT4,DOMAIN_TYPE_NT5,DOMAIN_TYPE_MIXED
340   } IASDOMAINTYPE;
341 
342   typedef enum _DOMAINTYPE *PIASDOMAINTYPE;
343 
344   typedef enum _IASDATASTORE {
345     DATA_STORE_LOCAL = 0,
346     DATA_STORE_DIRECTORY
347   } IASDATASTORE;
348 
349   typedef enum _IASDATASTORE *PIASDATASTORE;
350 
351   EXTERN_C const IID LIBID_SDOIASLib;
352 #ifndef __ISdoMachine_INTERFACE_DEFINED__
353 #define __ISdoMachine_INTERFACE_DEFINED__
354   EXTERN_C const IID IID_ISdoMachine;
355 #if defined(__cplusplus) && !defined(CINTERFACE)
356   struct ISdoMachine : public IDispatch {
357   public:
358     virtual HRESULT WINAPI Attach(BSTR bstrComputerName) = 0;
359     virtual HRESULT WINAPI GetDictionarySDO(IUnknown **ppDictionarySDO) = 0;
360     virtual HRESULT WINAPI GetServiceSDO(IASDATASTORE eDataStore,BSTR bstrServiceName,IUnknown **ppServiceSDO) = 0;
361     virtual HRESULT WINAPI GetUserSDO(IASDATASTORE eDataStore,BSTR bstrUserName,IUnknown **ppUserSDO) = 0;
362     virtual HRESULT WINAPI GetOSType(IASOSTYPE *eOSType) = 0;
363     virtual HRESULT WINAPI GetDomainType(IASDOMAINTYPE *eDomainType) = 0;
364     virtual HRESULT WINAPI IsDirectoryAvailable(VARIANT_BOOL *boolDirectoryAvailable) = 0;
365     virtual HRESULT WINAPI GetAttachedComputer(BSTR *bstrComputerName) = 0;
366     virtual HRESULT WINAPI GetSDOSchema(IUnknown **ppSDOSchema) = 0;
367   };
368 #else
369   typedef struct ISdoMachineVtbl {
370     BEGIN_INTERFACE
371       HRESULT (WINAPI *QueryInterface)(ISdoMachine *This,REFIID riid,void **ppvObject);
372       ULONG (WINAPI *AddRef)(ISdoMachine *This);
373       ULONG (WINAPI *Release)(ISdoMachine *This);
374       HRESULT (WINAPI *GetTypeInfoCount)(ISdoMachine *This,UINT *pctinfo);
375       HRESULT (WINAPI *GetTypeInfo)(ISdoMachine *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
376       HRESULT (WINAPI *GetIDsOfNames)(ISdoMachine *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
377       HRESULT (WINAPI *Invoke)(ISdoMachine *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
378       HRESULT (WINAPI *Attach)(ISdoMachine *This,BSTR bstrComputerName);
379       HRESULT (WINAPI *GetDictionarySDO)(ISdoMachine *This,IUnknown **ppDictionarySDO);
380       HRESULT (WINAPI *GetServiceSDO)(ISdoMachine *This,IASDATASTORE eDataStore,BSTR bstrServiceName,IUnknown **ppServiceSDO);
381       HRESULT (WINAPI *GetUserSDO)(ISdoMachine *This,IASDATASTORE eDataStore,BSTR bstrUserName,IUnknown **ppUserSDO);
382       HRESULT (WINAPI *GetOSType)(ISdoMachine *This,IASOSTYPE *eOSType);
383       HRESULT (WINAPI *GetDomainType)(ISdoMachine *This,IASDOMAINTYPE *eDomainType);
384       HRESULT (WINAPI *IsDirectoryAvailable)(ISdoMachine *This,VARIANT_BOOL *boolDirectoryAvailable);
385       HRESULT (WINAPI *GetAttachedComputer)(ISdoMachine *This,BSTR *bstrComputerName);
386       HRESULT (WINAPI *GetSDOSchema)(ISdoMachine *This,IUnknown **ppSDOSchema);
387     END_INTERFACE
388   } ISdoMachineVtbl;
389   struct ISdoMachine {
390     CONST_VTBL struct ISdoMachineVtbl *lpVtbl;
391   };
392 #ifdef COBJMACROS
393 #define ISdoMachine_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
394 #define ISdoMachine_AddRef(This) (This)->lpVtbl->AddRef(This)
395 #define ISdoMachine_Release(This) (This)->lpVtbl->Release(This)
396 #define ISdoMachine_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
397 #define ISdoMachine_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
398 #define ISdoMachine_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
399 #define ISdoMachine_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
400 #define ISdoMachine_Attach(This,bstrComputerName) (This)->lpVtbl->Attach(This,bstrComputerName)
401 #define ISdoMachine_GetDictionarySDO(This,ppDictionarySDO) (This)->lpVtbl->GetDictionarySDO(This,ppDictionarySDO)
402 #define ISdoMachine_GetServiceSDO(This,eDataStore,bstrServiceName,ppServiceSDO) (This)->lpVtbl->GetServiceSDO(This,eDataStore,bstrServiceName,ppServiceSDO)
403 #define ISdoMachine_GetUserSDO(This,eDataStore,bstrUserName,ppUserSDO) (This)->lpVtbl->GetUserSDO(This,eDataStore,bstrUserName,ppUserSDO)
404 #define ISdoMachine_GetOSType(This,eOSType) (This)->lpVtbl->GetOSType(This,eOSType)
405 #define ISdoMachine_GetDomainType(This,eDomainType) (This)->lpVtbl->GetDomainType(This,eDomainType)
406 #define ISdoMachine_IsDirectoryAvailable(This,boolDirectoryAvailable) (This)->lpVtbl->IsDirectoryAvailable(This,boolDirectoryAvailable)
407 #define ISdoMachine_GetAttachedComputer(This,bstrComputerName) (This)->lpVtbl->GetAttachedComputer(This,bstrComputerName)
408 #define ISdoMachine_GetSDOSchema(This,ppSDOSchema) (This)->lpVtbl->GetSDOSchema(This,ppSDOSchema)
409 #endif
410 #endif
411   HRESULT WINAPI ISdoMachine_Attach_Proxy(ISdoMachine *This,BSTR bstrComputerName);
412   void __RPC_STUB ISdoMachine_Attach_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
413   HRESULT WINAPI ISdoMachine_GetDictionarySDO_Proxy(ISdoMachine *This,IUnknown **ppDictionarySDO);
414   void __RPC_STUB ISdoMachine_GetDictionarySDO_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
415   HRESULT WINAPI ISdoMachine_GetServiceSDO_Proxy(ISdoMachine *This,IASDATASTORE eDataStore,BSTR bstrServiceName,IUnknown **ppServiceSDO);
416   void __RPC_STUB ISdoMachine_GetServiceSDO_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
417   HRESULT WINAPI ISdoMachine_GetUserSDO_Proxy(ISdoMachine *This,IASDATASTORE eDataStore,BSTR bstrUserName,IUnknown **ppUserSDO);
418   void __RPC_STUB ISdoMachine_GetUserSDO_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
419   HRESULT WINAPI ISdoMachine_GetOSType_Proxy(ISdoMachine *This,IASOSTYPE *eOSType);
420   void __RPC_STUB ISdoMachine_GetOSType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
421   HRESULT WINAPI ISdoMachine_GetDomainType_Proxy(ISdoMachine *This,IASDOMAINTYPE *eDomainType);
422   void __RPC_STUB ISdoMachine_GetDomainType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
423   HRESULT WINAPI ISdoMachine_IsDirectoryAvailable_Proxy(ISdoMachine *This,VARIANT_BOOL *boolDirectoryAvailable);
424   void __RPC_STUB ISdoMachine_IsDirectoryAvailable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
425   HRESULT WINAPI ISdoMachine_GetAttachedComputer_Proxy(ISdoMachine *This,BSTR *bstrComputerName);
426   void __RPC_STUB ISdoMachine_GetAttachedComputer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
427   HRESULT WINAPI ISdoMachine_GetSDOSchema_Proxy(ISdoMachine *This,IUnknown **ppSDOSchema);
428   void __RPC_STUB ISdoMachine_GetSDOSchema_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
429 #endif
430 
431 #ifndef __ISdoServiceControl_INTERFACE_DEFINED__
432 #define __ISdoServiceControl_INTERFACE_DEFINED__
433   EXTERN_C const IID IID_ISdoServiceControl;
434 #if defined(__cplusplus) && !defined(CINTERFACE)
435   struct ISdoServiceControl : public IDispatch {
436   public:
437     virtual HRESULT WINAPI StartService(void) = 0;
438     virtual HRESULT WINAPI StopService(void) = 0;
439     virtual HRESULT WINAPI GetServiceStatus(LONG *status) = 0;
440     virtual HRESULT WINAPI ResetService(void) = 0;
441   };
442 #else
443   typedef struct ISdoServiceControlVtbl {
444     BEGIN_INTERFACE
445       HRESULT (WINAPI *QueryInterface)(ISdoServiceControl *This,REFIID riid,void **ppvObject);
446       ULONG (WINAPI *AddRef)(ISdoServiceControl *This);
447       ULONG (WINAPI *Release)(ISdoServiceControl *This);
448       HRESULT (WINAPI *GetTypeInfoCount)(ISdoServiceControl *This,UINT *pctinfo);
449       HRESULT (WINAPI *GetTypeInfo)(ISdoServiceControl *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
450       HRESULT (WINAPI *GetIDsOfNames)(ISdoServiceControl *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
451       HRESULT (WINAPI *Invoke)(ISdoServiceControl *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
452       HRESULT (WINAPI *StartService)(ISdoServiceControl *This);
453       HRESULT (WINAPI *StopService)(ISdoServiceControl *This);
454       HRESULT (WINAPI *GetServiceStatus)(ISdoServiceControl *This,LONG *status);
455       HRESULT (WINAPI *ResetService)(ISdoServiceControl *This);
456     END_INTERFACE
457   } ISdoServiceControlVtbl;
458   struct ISdoServiceControl {
459     CONST_VTBL struct ISdoServiceControlVtbl *lpVtbl;
460   };
461 #ifdef COBJMACROS
462 #define ISdoServiceControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
463 #define ISdoServiceControl_AddRef(This) (This)->lpVtbl->AddRef(This)
464 #define ISdoServiceControl_Release(This) (This)->lpVtbl->Release(This)
465 #define ISdoServiceControl_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
466 #define ISdoServiceControl_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
467 #define ISdoServiceControl_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
468 #define ISdoServiceControl_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
469 #define ISdoServiceControl_StartService(This) (This)->lpVtbl->StartService(This)
470 #define ISdoServiceControl_StopService(This) (This)->lpVtbl->StopService(This)
471 #define ISdoServiceControl_GetServiceStatus(This,status) (This)->lpVtbl->GetServiceStatus(This,status)
472 #define ISdoServiceControl_ResetService(This) (This)->lpVtbl->ResetService(This)
473 #endif
474 #endif
475   HRESULT WINAPI ISdoServiceControl_StartService_Proxy(ISdoServiceControl *This);
476   void __RPC_STUB ISdoServiceControl_StartService_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
477   HRESULT WINAPI ISdoServiceControl_StopService_Proxy(ISdoServiceControl *This);
478   void __RPC_STUB ISdoServiceControl_StopService_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
479   HRESULT WINAPI ISdoServiceControl_GetServiceStatus_Proxy(ISdoServiceControl *This,LONG *status);
480   void __RPC_STUB ISdoServiceControl_GetServiceStatus_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
481   HRESULT WINAPI ISdoServiceControl_ResetService_Proxy(ISdoServiceControl *This);
482   void __RPC_STUB ISdoServiceControl_ResetService_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
483 #endif
484 
485 #ifndef __ISdo_INTERFACE_DEFINED__
486 #define __ISdo_INTERFACE_DEFINED__
487   EXTERN_C const IID IID_ISdo;
488 #if defined(__cplusplus) && !defined(CINTERFACE)
489   struct ISdo : public IDispatch {
490   public:
491     virtual HRESULT WINAPI GetPropertyInfo(LONG Id,IUnknown **ppPropertyInfo) = 0;
492     virtual HRESULT WINAPI GetProperty(LONG Id,VARIANT *pValue) = 0;
493     virtual HRESULT WINAPI PutProperty(LONG Id,VARIANT *pValue) = 0;
494     virtual HRESULT WINAPI ResetProperty(LONG Id) = 0;
495     virtual HRESULT WINAPI Apply(void) = 0;
496     virtual HRESULT WINAPI Restore(void) = 0;
497     virtual HRESULT WINAPI get__NewEnum(IUnknown **ppEnumVARIANT) = 0;
498   };
499 #else
500   typedef struct ISdoVtbl {
501     BEGIN_INTERFACE
502       HRESULT (WINAPI *QueryInterface)(ISdo *This,REFIID riid,void **ppvObject);
503       ULONG (WINAPI *AddRef)(ISdo *This);
504       ULONG (WINAPI *Release)(ISdo *This);
505       HRESULT (WINAPI *GetTypeInfoCount)(ISdo *This,UINT *pctinfo);
506       HRESULT (WINAPI *GetTypeInfo)(ISdo *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
507       HRESULT (WINAPI *GetIDsOfNames)(ISdo *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
508       HRESULT (WINAPI *Invoke)(ISdo *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
509       HRESULT (WINAPI *GetPropertyInfo)(ISdo *This,LONG Id,IUnknown **ppPropertyInfo);
510       HRESULT (WINAPI *GetProperty)(ISdo *This,LONG Id,VARIANT *pValue);
511       HRESULT (WINAPI *PutProperty)(ISdo *This,LONG Id,VARIANT *pValue);
512       HRESULT (WINAPI *ResetProperty)(ISdo *This,LONG Id);
513       HRESULT (WINAPI *Apply)(ISdo *This);
514       HRESULT (WINAPI *Restore)(ISdo *This);
515       HRESULT (WINAPI *get__NewEnum)(ISdo *This,IUnknown **ppEnumVARIANT);
516     END_INTERFACE
517   } ISdoVtbl;
518   struct ISdo {
519     CONST_VTBL struct ISdoVtbl *lpVtbl;
520   };
521 #ifdef COBJMACROS
522 #define ISdo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
523 #define ISdo_AddRef(This) (This)->lpVtbl->AddRef(This)
524 #define ISdo_Release(This) (This)->lpVtbl->Release(This)
525 #define ISdo_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
526 #define ISdo_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
527 #define ISdo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
528 #define ISdo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
529 #define ISdo_GetPropertyInfo(This,Id,ppPropertyInfo) (This)->lpVtbl->GetPropertyInfo(This,Id,ppPropertyInfo)
530 #define ISdo_GetProperty(This,Id,pValue) (This)->lpVtbl->GetProperty(This,Id,pValue)
531 #define ISdo_PutProperty(This,Id,pValue) (This)->lpVtbl->PutProperty(This,Id,pValue)
532 #define ISdo_ResetProperty(This,Id) (This)->lpVtbl->ResetProperty(This,Id)
533 #define ISdo_Apply(This) (This)->lpVtbl->Apply(This)
534 #define ISdo_Restore(This) (This)->lpVtbl->Restore(This)
535 #define ISdo_get__NewEnum(This,ppEnumVARIANT) (This)->lpVtbl->get__NewEnum(This,ppEnumVARIANT)
536 #endif
537 #endif
538   HRESULT WINAPI ISdo_GetPropertyInfo_Proxy(ISdo *This,LONG Id,IUnknown **ppPropertyInfo);
539   void __RPC_STUB ISdo_GetPropertyInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
540   HRESULT WINAPI ISdo_GetProperty_Proxy(ISdo *This,LONG Id,VARIANT *pValue);
541   void __RPC_STUB ISdo_GetProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
542   HRESULT WINAPI ISdo_PutProperty_Proxy(ISdo *This,LONG Id,VARIANT *pValue);
543   void __RPC_STUB ISdo_PutProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
544   HRESULT WINAPI ISdo_ResetProperty_Proxy(ISdo *This,LONG Id);
545   void __RPC_STUB ISdo_ResetProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
546   HRESULT WINAPI ISdo_Apply_Proxy(ISdo *This);
547   void __RPC_STUB ISdo_Apply_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
548   HRESULT WINAPI ISdo_Restore_Proxy(ISdo *This);
549   void __RPC_STUB ISdo_Restore_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
550   HRESULT WINAPI ISdo_get__NewEnum_Proxy(ISdo *This,IUnknown **ppEnumVARIANT);
551   void __RPC_STUB ISdo_get__NewEnum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
552 #endif
553 
554 #ifndef __ISdoCollection_INTERFACE_DEFINED__
555 #define __ISdoCollection_INTERFACE_DEFINED__
556   EXTERN_C const IID IID_ISdoCollection;
557 #if defined(__cplusplus) && !defined(CINTERFACE)
558   struct ISdoCollection : public IDispatch {
559   public:
560     virtual HRESULT WINAPI get_Count(__LONG32 *pCount) = 0;
561     virtual HRESULT WINAPI Add(BSTR bstrName,IDispatch **ppItem) = 0;
562     virtual HRESULT WINAPI Remove(IDispatch *pItem) = 0;
563     virtual HRESULT WINAPI RemoveAll(void) = 0;
564     virtual HRESULT WINAPI Reload(void) = 0;
565     virtual HRESULT WINAPI IsNameUnique(BSTR bstrName,VARIANT_BOOL *pBool) = 0;
566     virtual HRESULT WINAPI Item(VARIANT *Name,IDispatch **pItem) = 0;
567     virtual HRESULT WINAPI get__NewEnum(IUnknown **ppEnumVARIANT) = 0;
568   };
569 #else
570   typedef struct ISdoCollectionVtbl {
571     BEGIN_INTERFACE
572       HRESULT (WINAPI *QueryInterface)(ISdoCollection *This,REFIID riid,void **ppvObject);
573       ULONG (WINAPI *AddRef)(ISdoCollection *This);
574       ULONG (WINAPI *Release)(ISdoCollection *This);
575       HRESULT (WINAPI *GetTypeInfoCount)(ISdoCollection *This,UINT *pctinfo);
576       HRESULT (WINAPI *GetTypeInfo)(ISdoCollection *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
577       HRESULT (WINAPI *GetIDsOfNames)(ISdoCollection *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
578       HRESULT (WINAPI *Invoke)(ISdoCollection *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
579       HRESULT (WINAPI *get_Count)(ISdoCollection *This,__LONG32 *pCount);
580       HRESULT (WINAPI *Add)(ISdoCollection *This,BSTR bstrName,IDispatch **ppItem);
581       HRESULT (WINAPI *Remove)(ISdoCollection *This,IDispatch *pItem);
582       HRESULT (WINAPI *RemoveAll)(ISdoCollection *This);
583       HRESULT (WINAPI *Reload)(ISdoCollection *This);
584       HRESULT (WINAPI *IsNameUnique)(ISdoCollection *This,BSTR bstrName,VARIANT_BOOL *pBool);
585       HRESULT (WINAPI *Item)(ISdoCollection *This,VARIANT *Name,IDispatch **pItem);
586       HRESULT (WINAPI *get__NewEnum)(ISdoCollection *This,IUnknown **ppEnumVARIANT);
587     END_INTERFACE
588   } ISdoCollectionVtbl;
589   struct ISdoCollection {
590     CONST_VTBL struct ISdoCollectionVtbl *lpVtbl;
591   };
592 #ifdef COBJMACROS
593 #define ISdoCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
594 #define ISdoCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
595 #define ISdoCollection_Release(This) (This)->lpVtbl->Release(This)
596 #define ISdoCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
597 #define ISdoCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
598 #define ISdoCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
599 #define ISdoCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
600 #define ISdoCollection_get_Count(This,pCount) (This)->lpVtbl->get_Count(This,pCount)
601 #define ISdoCollection_Add(This,bstrName,ppItem) (This)->lpVtbl->Add(This,bstrName,ppItem)
602 #define ISdoCollection_Remove(This,pItem) (This)->lpVtbl->Remove(This,pItem)
603 #define ISdoCollection_RemoveAll(This) (This)->lpVtbl->RemoveAll(This)
604 #define ISdoCollection_Reload(This) (This)->lpVtbl->Reload(This)
605 #define ISdoCollection_IsNameUnique(This,bstrName,pBool) (This)->lpVtbl->IsNameUnique(This,bstrName,pBool)
606 #define ISdoCollection_Item(This,Name,pItem) (This)->lpVtbl->Item(This,Name,pItem)
607 #define ISdoCollection_get__NewEnum(This,ppEnumVARIANT) (This)->lpVtbl->get__NewEnum(This,ppEnumVARIANT)
608 #endif
609 #endif
610   HRESULT WINAPI ISdoCollection_get_Count_Proxy(ISdoCollection *This,__LONG32 *pCount);
611   void __RPC_STUB ISdoCollection_get_Count_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
612   HRESULT WINAPI ISdoCollection_Add_Proxy(ISdoCollection *This,BSTR bstrName,IDispatch **ppItem);
613   void __RPC_STUB ISdoCollection_Add_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
614   HRESULT WINAPI ISdoCollection_Remove_Proxy(ISdoCollection *This,IDispatch *pItem);
615   void __RPC_STUB ISdoCollection_Remove_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
616   HRESULT WINAPI ISdoCollection_RemoveAll_Proxy(ISdoCollection *This);
617   void __RPC_STUB ISdoCollection_RemoveAll_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
618   HRESULT WINAPI ISdoCollection_Reload_Proxy(ISdoCollection *This);
619   void __RPC_STUB ISdoCollection_Reload_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
620   HRESULT WINAPI ISdoCollection_IsNameUnique_Proxy(ISdoCollection *This,BSTR bstrName,VARIANT_BOOL *pBool);
621   void __RPC_STUB ISdoCollection_IsNameUnique_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
622   HRESULT WINAPI ISdoCollection_Item_Proxy(ISdoCollection *This,VARIANT *Name,IDispatch **pItem);
623   void __RPC_STUB ISdoCollection_Item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
624   HRESULT WINAPI ISdoCollection_get__NewEnum_Proxy(ISdoCollection *This,IUnknown **ppEnumVARIANT);
625   void __RPC_STUB ISdoCollection_get__NewEnum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
626 #endif
627 
628 #ifndef __ISdoDictionaryOld_INTERFACE_DEFINED__
629 #define __ISdoDictionaryOld_INTERFACE_DEFINED__
630   EXTERN_C const IID IID_ISdoDictionaryOld;
631 #if defined(__cplusplus) && !defined(CINTERFACE)
632 
633   struct ISdoDictionaryOld : public IDispatch {
634   public:
635     virtual HRESULT WINAPI EnumAttributes(VARIANT *Id,VARIANT *pValues) = 0;
636     virtual HRESULT WINAPI GetAttributeInfo(ATTRIBUTEID Id,VARIANT *pInfoIDs,VARIANT *pInfoValues) = 0;
637     virtual HRESULT WINAPI EnumAttributeValues(ATTRIBUTEID Id,VARIANT *pValueIds,VARIANT *pValuesDesc) = 0;
638     virtual HRESULT WINAPI CreateAttribute(ATTRIBUTEID Id,IDispatch **ppAttributeObject) = 0;
639     virtual HRESULT WINAPI GetAttributeID(BSTR bstrAttributeName,ATTRIBUTEID *pId) = 0;
640   };
641 #else
642   typedef struct ISdoDictionaryOldVtbl {
643     BEGIN_INTERFACE
644       HRESULT (WINAPI *QueryInterface)(ISdoDictionaryOld *This,REFIID riid,void **ppvObject);
645       ULONG (WINAPI *AddRef)(ISdoDictionaryOld *This);
646       ULONG (WINAPI *Release)(ISdoDictionaryOld *This);
647       HRESULT (WINAPI *GetTypeInfoCount)(ISdoDictionaryOld *This,UINT *pctinfo);
648       HRESULT (WINAPI *GetTypeInfo)(ISdoDictionaryOld *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
649       HRESULT (WINAPI *GetIDsOfNames)(ISdoDictionaryOld *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
650       HRESULT (WINAPI *Invoke)(ISdoDictionaryOld *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
651       HRESULT (WINAPI *EnumAttributes)(ISdoDictionaryOld *This,VARIANT *Id,VARIANT *pValues);
652       HRESULT (WINAPI *GetAttributeInfo)(ISdoDictionaryOld *This,ATTRIBUTEID Id,VARIANT *pInfoIDs,VARIANT *pInfoValues);
653       HRESULT (WINAPI *EnumAttributeValues)(ISdoDictionaryOld *This,ATTRIBUTEID Id,VARIANT *pValueIds,VARIANT *pValuesDesc);
654       HRESULT (WINAPI *CreateAttribute)(ISdoDictionaryOld *This,ATTRIBUTEID Id,IDispatch **ppAttributeObject);
655       HRESULT (WINAPI *GetAttributeID)(ISdoDictionaryOld *This,BSTR bstrAttributeName,ATTRIBUTEID *pId);
656     END_INTERFACE
657   } ISdoDictionaryOldVtbl;
658   struct ISdoDictionaryOld {
659     CONST_VTBL struct ISdoDictionaryOldVtbl *lpVtbl;
660   };
661 #ifdef COBJMACROS
662 #define ISdoDictionaryOld_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
663 #define ISdoDictionaryOld_AddRef(This) (This)->lpVtbl->AddRef(This)
664 #define ISdoDictionaryOld_Release(This) (This)->lpVtbl->Release(This)
665 #define ISdoDictionaryOld_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
666 #define ISdoDictionaryOld_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
667 #define ISdoDictionaryOld_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
668 #define ISdoDictionaryOld_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
669 #define ISdoDictionaryOld_EnumAttributes(This,Id,pValues) (This)->lpVtbl->EnumAttributes(This,Id,pValues)
670 #define ISdoDictionaryOld_GetAttributeInfo(This,Id,pInfoIDs,pInfoValues) (This)->lpVtbl->GetAttributeInfo(This,Id,pInfoIDs,pInfoValues)
671 #define ISdoDictionaryOld_EnumAttributeValues(This,Id,pValueIds,pValuesDesc) (This)->lpVtbl->EnumAttributeValues(This,Id,pValueIds,pValuesDesc)
672 #define ISdoDictionaryOld_CreateAttribute(This,Id,ppAttributeObject) (This)->lpVtbl->CreateAttribute(This,Id,ppAttributeObject)
673 #define ISdoDictionaryOld_GetAttributeID(This,bstrAttributeName,pId) (This)->lpVtbl->GetAttributeID(This,bstrAttributeName,pId)
674 #endif
675 #endif
676   HRESULT WINAPI ISdoDictionaryOld_EnumAttributes_Proxy(ISdoDictionaryOld *This,VARIANT *Id,VARIANT *pValues);
677   void __RPC_STUB ISdoDictionaryOld_EnumAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
678   HRESULT WINAPI ISdoDictionaryOld_GetAttributeInfo_Proxy(ISdoDictionaryOld *This,ATTRIBUTEID Id,VARIANT *pInfoIDs,VARIANT *pInfoValues);
679   void __RPC_STUB ISdoDictionaryOld_GetAttributeInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
680   HRESULT WINAPI ISdoDictionaryOld_EnumAttributeValues_Proxy(ISdoDictionaryOld *This,ATTRIBUTEID Id,VARIANT *pValueIds,VARIANT *pValuesDesc);
681   void __RPC_STUB ISdoDictionaryOld_EnumAttributeValues_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
682   HRESULT WINAPI ISdoDictionaryOld_CreateAttribute_Proxy(ISdoDictionaryOld *This,ATTRIBUTEID Id,IDispatch **ppAttributeObject);
683   void __RPC_STUB ISdoDictionaryOld_CreateAttribute_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
684   HRESULT WINAPI ISdoDictionaryOld_GetAttributeID_Proxy(ISdoDictionaryOld *This,BSTR bstrAttributeName,ATTRIBUTEID *pId);
685   void __RPC_STUB ISdoDictionaryOld_GetAttributeID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
686 #endif
687 
688   EXTERN_C const CLSID CLSID_SdoMachine;
689 #ifdef __cplusplus
690   class SdoMachine;
691 #endif
692 #endif
693 
694 #if (_WIN32_WINNT >= 0x0600)
695 typedef enum _IDENTITY_TYPE {
696   IAS_IDENTITY_NO_DEFAULT   = 1
697 } IDENTITY_TYPE;
698 
699 typedef enum _ATTRIBUTE_FILTER {
700   ATTRIBUTE_FILTER_NONE = 0,
701   ATTRIBUTE_FILTER_VPN_DIALUP,
702   ATTRIBUTE_FILTER_IEEE_802_1x
703 } ATTRIBUTEFILTER;
704 
705 typedef enum REMEDIATIONSERVERGROUPPROPERTIES {
706   PROPERTY_REMEDIATIONSERVERGROUP_SERVERS_COLLECTION   = PROPERTY_SDO_START
707 } REMEDIATIONSERVERGROUPPROPERTIES;
708 
709 typedef enum _REMEDIATIONSERVERPROPERTIES {
710   PROPERTY_REMEDIATIONSERVER_ADDRESS         = PROPERTY_SDO_START,
711   PROPERTY_REMEDIATIONSERVER_FRIENDLY_NAME
712 } REMEDIATIONSERVERPROPERTIES;
713 
714 typedef enum _REMEDIATIONSERVERPROPERTIES {
715   PROPERTY_REMEDIATIONSERVERS_SERVERGROUPS   = PROPERTY_COMPONENT_START
716 } REMEDIATIONSERVERPROPERTIES;
717 
718 typedef enum _SHV_COMBINATION_TYPE {
719   SHV_COMBINATION_TYPE_ALL_PASS                   = 0,
720   SHV_COMBINATION_TYPE_ALL_FAIL,
721   SHV_COMBINATION_TYPE_ONE_OR_MORE_PASS,
722   SHV_COMBINATION_TYPE_ONE_OR_MORE_FAIL,
723   SHV_COMBINATION_TYPE_ONE_OR_MORE_INFECTED,
724   SHV_COMBINATION_TYPE_ONE_OR_MORE_TRANSITIONAL,
725   SHV_COMBINATION_TYPE_ONE_OR_MORE_UNKNOWN,
726   SHV_COMBINATION_TYPE_MAX
727 } SHV_COMBINATION_TYPE;
728 
729 typedef enum _SHVTEMPLATEPROPERTIES {
730   PROPERTY_SHV_COMBINATION_TYPE   = PROPERTY_SDO_START,
731   PROPERTY_SHV_LIST
732 } SHVTEMPLATEPROPERTIES;
733 
734 #endif /*(_WIN32_WINNT >= 0x0600)*/
735 
736 #ifdef __cplusplus
737 }
738 #endif
739 #endif
740