Home | History | Annotate | Download | only in include
      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