text: 
  
  /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  
  
   /* File created by MIDL compiler version 8.01.0626 */
  /* @@MIDL_FILE_HEADING(  ) */
  
  
  
  /* verify that the <rpcndr.h> version is high enough to compile this file*/
  #ifndef __REQUIRED_RPCNDR_H_VERSION__
  #define __REQUIRED_RPCNDR_H_VERSION__ 500
  #endif
  
  /* verify that the <rpcsal.h> version is high enough to compile this file*/
  #ifndef __REQUIRED_RPCSAL_H_VERSION__
  #define __REQUIRED_RPCSAL_H_VERSION__ 100
  #endif
  
  #include "rpc.h"
  #include "rpcndr.h"
  
  #ifndef __RPCNDR_H_VERSION__
  #error this stub requires an updated version of <rpcndr.h>
  #endif /* __RPCNDR_H_VERSION__ */
  
  
  #ifndef __sdoias_h__
  #define __sdoias_h__
  
  #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  #pragma once
  #endif
  
  #ifndef DECLSPEC_XFGVIRT
  #if _CONTROL_FLOW_GUARD_XFG
  #define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func))
  #else
  #define DECLSPEC_XFGVIRT(base, func)
  #endif
  #endif
  
  /* Forward Declarations */ 
  
  #ifndef __ISdoMachine_FWD_DEFINED__
  #define __ISdoMachine_FWD_DEFINED__
  typedef interface ISdoMachine ISdoMachine;
  
  #endif 	/* __ISdoMachine_FWD_DEFINED__ */
  
  
  #ifndef __ISdoMachine2_FWD_DEFINED__
  #define __ISdoMachine2_FWD_DEFINED__
  typedef interface ISdoMachine2 ISdoMachine2;
  
  #endif 	/* __ISdoMachine2_FWD_DEFINED__ */
  
  
  #ifndef __ISdoServiceControl_FWD_DEFINED__
  #define __ISdoServiceControl_FWD_DEFINED__
  typedef interface ISdoServiceControl ISdoServiceControl;
  
  #endif 	/* __ISdoServiceControl_FWD_DEFINED__ */
  
  
  #ifndef __ISdo_FWD_DEFINED__
  #define __ISdo_FWD_DEFINED__
  typedef interface ISdo ISdo;
  
  #endif 	/* __ISdo_FWD_DEFINED__ */
  
  
  #ifndef __ISdoCollection_FWD_DEFINED__
  #define __ISdoCollection_FWD_DEFINED__
  typedef interface ISdoCollection ISdoCollection;
  
  #endif 	/* __ISdoCollection_FWD_DEFINED__ */
  
  
  #ifndef __ITemplateSdo_FWD_DEFINED__
  #define __ITemplateSdo_FWD_DEFINED__
  typedef interface ITemplateSdo ITemplateSdo;
  
  #endif 	/* __ITemplateSdo_FWD_DEFINED__ */
  
  
  #ifndef __ISdoDictionaryOld_FWD_DEFINED__
  #define __ISdoDictionaryOld_FWD_DEFINED__
  typedef interface ISdoDictionaryOld ISdoDictionaryOld;
  
  #endif 	/* __ISdoDictionaryOld_FWD_DEFINED__ */
  
  
  #ifndef __SdoMachine_FWD_DEFINED__
  #define __SdoMachine_FWD_DEFINED__
  
  #ifdef __cplusplus
  typedef class SdoMachine SdoMachine;
  #else
  typedef struct SdoMachine SdoMachine;
  #endif /* __cplusplus */
  
  #endif 	/* __SdoMachine_FWD_DEFINED__ */
  
  
  /* header files for imported files */
  #include "oaidl.h"
  #include "ocidl.h"
  
  #ifdef __cplusplus
  extern "C"{
  #endif 
  
  
  /* interface __MIDL_itf_sdoias_0000_0000 */
  /* [local] */ 
  
  #include <winapifamily.h>
  #pragma region Desktop Family
  #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
  
  
  extern RPC_IF_HANDLE __MIDL_itf_sdoias_0000_0000_v0_0_c_ifspec;
  extern RPC_IF_HANDLE __MIDL_itf_sdoias_0000_0000_v0_0_s_ifspec;
  
  
  #ifndef __SDOIASLib_LIBRARY_DEFINED__
  #define __SDOIASLib_LIBRARY_DEFINED__
  
  /* library SDOIASLib */
  /* [helpstring][version][uuid] */ 
  
  typedef /* [public] */ 
  enum _ATTRIBUTEID
      {
          ATTRIBUTE_UNDEFINED	= 0,
          ATTRIBUTE_MIN_VALUE	= 1,
          RADIUS_ATTRIBUTE_USER_NAME	= ATTRIBUTE_MIN_VALUE,
          RADIUS_ATTRIBUTE_USER_PASSWORD	= ( RADIUS_ATTRIBUTE_USER_NAME + 1 ) ,
          RADIUS_ATTRIBUTE_CHAP_PASSWORD	= ( RADIUS_ATTRIBUTE_USER_PASSWORD + 1 ) ,
          RADIUS_ATTRIBUTE_NAS_IP_ADDRESS	= ( RADIUS_ATTRIBUTE_CHAP_PASSWORD + 1 ) ,
          RADIUS_ATTRIBUTE_NAS_PORT	= ( RADIUS_ATTRIBUTE_NAS_IP_ADDRESS + 1 ) ,
          RADIUS_ATTRIBUTE_SERVICE_TYPE	= ( RADIUS_ATTRIBUTE_NAS_PORT + 1 ) ,
          RADIUS_ATTRIBUTE_FRAMED_PROTOCOL	= ( RADIUS_ATTRIBUTE_SERVICE_TYPE + 1 ) ,
          RADIUS_ATTRIBUTE_FRAMED_IP_ADDRESS	= ( RADIUS_ATTRIBUTE_FRAMED_PROTOCOL + 1 ) ,
          RADIUS_ATTRIBUTE_FRAMED_IP_NETMASK	= ( RADIUS_ATTRIBUTE_FRAMED_IP_ADDRESS + 1 ) ,
          RADIUS_ATTRIBUTE_FRAMED_ROUTING	= 10,
          RADIUS_ATTRIBUTE_FILTER_ID	= ( RADIUS_ATTRIBUTE_FRAMED_ROUTING + 1 ) ,
          RADIUS_ATTRIBUTE_FRAMED_MTU	= ( RADIUS_ATTRIBUTE_FILTER_ID + 1 ) ,
          RADIUS_ATTRIBUTE_FRAMED_COMPRESSION	= ( RADIUS_ATTRIBUTE_FRAMED_MTU + 1 ) ,
          RADIUS_ATTRIBUTE_LOGIN_IP_HOST	= ( RADIUS_ATTRIBUTE_FRAMED_COMPRESSION + 1 ) ,
          RADIUS_ATTRIBUTE_LOGIN_SERVICE	= ( RADIUS_ATTRIBUTE_LOGIN_IP_HOST + 1 ) ,
          RADIUS_ATTRIBUTE_LOGIN_TCP_PORT	= ( RADIUS_ATTRIBUTE_LOGIN_SERVICE + 1 ) ,
          RADIUS_ATTRIBUTE_UNASSIGNED1	= ( RADIUS_ATTRIBUTE_LOGIN_TCP_PORT + 1 ) ,
          RADIUS_ATTRIBUTE_REPLY_MESSAGE	= ( RADIUS_ATTRIBUTE_UNASSIGNED1 + 1 ) ,
          RADIUS_ATTRIBUTE_CALLBACK_NUMBER	= ( RADIUS_ATTRIBUTE_REPLY_MESSAGE + 1 ) ,
          RADIUS_ATTRIBUTE_CALLBACK_ID	= 20,
          RADIUS_ATTRIBUTE_UNASSIGNED2	= ( RADIUS_ATTRIBUTE_CALLBACK_ID + 1 ) ,
          RADIUS_ATTRIBUTE_FRAMED_ROUTE	= ( RADIUS_ATTRIBUTE_UNASSIGNED2 + 1 ) ,
          RADIUS_ATTRIBUTE_FRAMED_IPX_NETWORK	= ( RADIUS_ATTRIBUTE_FRAMED_ROUTE + 1 ) ,
          RADIUS_ATTRIBUTE_STATE	= ( RADIUS_ATTRIBUTE_FRAMED_IPX_NETWORK + 1 ) ,
          RADIUS_ATTRIBUTE_CLASS	= ( RADIUS_ATTRIBUTE_STATE + 1 ) ,
          RADIUS_ATTRIBUTE_VENDOR_SPECIFIC	= ( RADIUS_ATTRIBUTE_CLASS + 1 ) ,
          RADIUS_ATTRIBUTE_SESSION_TIMEOUT	= ( RADIUS_ATTRIBUTE_VENDOR_SPECIFIC + 1 ) ,
          RADIUS_ATTRIBUTE_IDLE_TIMEOUT	= ( RADIUS_ATTRIBUTE_SESSION_TIMEOUT + 1 ) ,
          RADIUS_ATTRIBUTE_TERMINATION_ACTION	= ( RADIUS_ATTRIBUTE_IDLE_TIMEOUT + 1 ) ,
          RADIUS_ATTRIBUTE_CALLED_STATION_ID	= 30,
          RADIUS_ATTRIBUTE_CALLING_STATION_ID	= ( RADIUS_ATTRIBUTE_CALLED_STATION_ID + 1 ) ,
          RADIUS_ATTRIBUTE_NAS_IDENTIFIER	= ( RADIUS_ATTRIBUTE_CALLING_STATION_ID + 1 ) ,
          RADIUS_ATTRIBUTE_PROXY_STATE	= ( RADIUS_ATTRIBUTE_NAS_IDENTIFIER + 1 ) ,
          RADIUS_ATTRIBUTE_LOGIN_LAT_SERVICE	= ( RADIUS_ATTRIBUTE_PROXY_STATE + 1 ) ,
          RADIUS_ATTRIBUTE_LOGIN_LAT_NODE	= ( RADIUS_ATTRIBUTE_LOGIN_LAT_SERVICE + 1 ) ,
          RADIUS_ATTRIBUTE_LOGIN_LAT_GROUP	= ( RADIUS_ATTRIBUTE_LOGIN_LAT_NODE + 1 ) ,
          RADIUS_ATTRIBUTE_FRAMED_APPLETALK_LINK	= ( RADIUS_ATTRIBUTE_LOGIN_LAT_GROUP + 1 ) ,
          RADIUS_ATTRIBUTE_FRAMED_APPLETALK_NET	= ( RADIUS_ATTRIBUTE_FRAMED_APPLETALK_LINK + 1 ) ,
          RADIUS_ATTRIBUTE_FRAMED_APPLETALK_ZONE	= ( RADIUS_ATTRIBUTE_FRAMED_APPLETALK_NET + 1 ) ,
          RADIUS_ATTRIBUTE_ACCT_STATUS_TYPE	= 40,
          RADIUS_ATTRIBUTE_ACCT_DELAY_TIME	= ( RADIUS_ATTRIBUTE_ACCT_STATUS_TYPE + 1 ) ,
          RADIUS_ATTRIBUTE_ACCT_INPUT_OCTETS	= ( RADIUS_ATTRIBUTE_ACCT_DELAY_TIME + 1 ) ,
          RADIUS_ATTRIBUTE_ACCT_OUTPUT_OCTETS	= ( RADIUS_ATTRIBUTE_ACCT_INPUT_OCTETS + 1 ) ,
          RADIUS_ATTRIBUTE_ACCT_SESSION_ID	= ( RADIUS_ATTRIBUTE_ACCT_OUTPUT_OCTETS + 1 ) ,
          RADIUS_ATTRIBUTE_ACCT_AUTHENTIC	= ( RADIUS_ATTRIBUTE_ACCT_SESSION_ID + 1 ) ,
          RADIUS_ATTRIBUTE_ACCT_SESSION_TIME	= ( RADIUS_ATTRIBUTE_ACCT_AUTHENTIC + 1 ) ,
          RADIUS_ATTRIBUTE_ACCT_INPUT_PACKETS	= ( RADIUS_ATTRIBUTE_ACCT_SESSION_TIME + 1 ) ,
          RADIUS_ATTRIBUTE_ACCT_OUTPUT_PACKETS	= ( RADIUS_ATTRIBUTE_ACCT_INPUT_PACKETS + 1 ) ,
          RADIUS_ATTRIBUTE_ACCT_TERMINATE_CAUSE	= ( RADIUS_ATTRIBUTE_ACCT_OUTPUT_PACKETS + 1 ) ,
          RADIUS_ATTRIBUTE_ACCT_MULTI_SSN_ID	= 50,
          RADIUS_ATTRIBUTE_ACCT_LINK_COUNT	= 51,
          RADIUS_ATTRIBUTE_CHAP_CHALLENGE	= 60,
          RADIUS_ATTRIBUTE_NAS_PORT_TYPE	= ( RADIUS_ATTRIBUTE_CHAP_CHALLENGE + 1 ) ,
          RADIUS_ATTRIBUTE_PORT_LIMIT	= ( RADIUS_ATTRIBUTE_NAS_PORT_TYPE + 1 ) ,
          RADIUS_ATTRIBUTE_LOGIN_LAT_PORT	= ( RADIUS_ATTRIBUTE_PORT_LIMIT + 1 ) ,
          RADIUS_ATTRIBUTE_TUNNEL_TYPE	= ( RADIUS_ATTRIBUTE_LOGIN_LAT_PORT + 1 ) ,
          RADIUS_ATTRIBUTE_TUNNEL_MEDIUM_TYPE	= ( RADIUS_ATTRIBUTE_TUNNEL_TYPE + 1 ) ,
          RADIUS_ATTRIBUTE_TUNNEL_CLIENT_ENDPT	= ( RADIUS_ATTRIBUTE_TUNNEL_MEDIUM_TYPE + 1 ) ,
          RADIUS_ATTRIBUTE_TUNNEL_SERVER_ENDPT	= ( RADIUS_ATTRIBUTE_TUNNEL_CLIENT_ENDPT + 1 ) ,
          RADIUS_ATTRIBUTE_ACCT_TUNNEL_CONN	= ( RADIUS_ATTRIBUTE_TUNNEL_SERVER_ENDPT + 1 ) ,
          RADIUS_ATTRIBUTE_TUNNEL_PASSWORD	= ( RADIUS_ATTRIBUTE_ACCT_TUNNEL_CONN + 1 ) ,
          RADIUS_ATTRIBUTE_ARAP_PASSWORD	= 70,
          RADIUS_ATTRIBUTE_ARAP_FEATURES	= ( RADIUS_ATTRIBUTE_ARAP_PASSWORD + 1 ) ,
          RADIUS_ATTRIBUTE_ARAP_ZONE_ACCESS	= ( RADIUS_ATTRIBUTE_ARAP_FEATURES + 1 ) ,
          RADIUS_ATTRIBUTE_ARAP_SECURITY	= ( RADIUS_ATTRIBUTE_ARAP_ZONE_ACCESS + 1 ) ,
          RADIUS_ATTRIBUTE_ARAP_SECURITY_DATA	= ( RADIUS_ATTRIBUTE_ARAP_SECURITY + 1 ) ,
          RADIUS_ATTRIBUTE_PASSWORD_RETRY	= ( RADIUS_ATTRIBUTE_ARAP_SECURITY_DATA + 1 ) ,
          RADIUS_ATTRIBUTE_PROMPT	= 76,
          RADIUS_ATTRIBUTE_CONNECT_INFO	= ( RADIUS_ATTRIBUTE_PROMPT + 1 ) ,
          RADIUS_ATTRIBUTE_CONFIGURATION_TOKEN	= ( RADIUS_ATTRIBUTE_CONNECT_INFO + 1 ) ,
          RADIUS_ATTRIBUTE_EAP_MESSAGE	= ( RADIUS_ATTRIBUTE_CONFIGURATION_TOKEN + 1 ) ,
          RADIUS_ATTRIBUTE_SIGNATURE	= 80,
          RADIUS_ATTRIBUTE_TUNNEL_PVT_GROUP_ID	= ( RADIUS_ATTRIBUTE_SIGNATURE + 1 ) ,
          RADIUS_ATTRIBUTE_TUNNEL_ASSIGNMENT_ID	= ( RADIUS_ATTRIBUTE_TUNNEL_PVT_GROUP_ID + 1 ) ,
          RADIUS_ATTRIBUTE_TUNNEL_PREFERENCE	= ( RADIUS_ATTRIBUTE_TUNNEL_ASSIGNMENT_ID + 1 ) ,
          RADIUS_ATTRIBUTE_ARAP_CHALLENGE_RESPONSE	= ( RADIUS_ATTRIBUTE_TUNNEL_PREFERENCE + 1 ) ,
          RADIUS_ATTRIBUTE_ACCT_INTERIM_INTERVAL	= 85,
          RADIUS_ATTRIBUTE_NAS_IPv6_ADDRESS	= 95,
          RADIUS_ATTRIBUTE_FRAMED_INTERFACE_ID	= ( RADIUS_ATTRIBUTE_NAS_IPv6_ADDRESS + 1 ) ,
          RADIUS_ATTRIBUTE_FRAMED_IPv6_PREFIX	= ( RADIUS_ATTRIBUTE_FRAMED_INTERFACE_ID + 1 ) ,
          RADIUS_ATTRIBUTE_LOGIN_IPv6_HOST	= ( RADIUS_ATTRIBUTE_FRAMED_IPv6_PREFIX + 1 ) ,
          RADIUS_ATTRIBUTE_FRAMED_IPv6_ROUTE	= ( RADIUS_ATTRIBUTE_LOGIN_IPv6_HOST + 1 ) ,
          RADIUS_ATTRIBUTE_FRAMED_IPv6_POOL	= 100,
          IAS_ATTRIBUTE_SAVED_RADIUS_FRAMED_IP_ADDRESS	= 0x1000,
          IAS_ATTRIBUTE_SAVED_RADIUS_CALLBACK_NUMBER	= ( IAS_ATTRIBUTE_SAVED_RADIUS_FRAMED_IP_ADDRESS + 1 ) ,
          IAS_ATTRIBUTE_NP_CALLING_STATION_ID	= ( IAS_ATTRIBUTE_SAVED_RADIUS_CALLBACK_NUMBER + 1 ) ,
          IAS_ATTRIBUTE_SAVED_NP_CALLING_STATION_ID	= ( IAS_ATTRIBUTE_NP_CALLING_STATION_ID + 1 ) ,
          IAS_ATTRIBUTE_SAVED_RADIUS_FRAMED_ROUTE	= ( IAS_ATTRIBUTE_SAVED_NP_CALLING_STATION_ID + 1 ) ,
          IAS_ATTRIBUTE_IGNORE_USER_DIALIN_PROPERTIES	= ( IAS_ATTRIBUTE_SAVED_RADIUS_FRAMED_ROUTE + 1 ) ,
          IAS_ATTRIBUTE_NP_TIME_OF_DAY	= ( IAS_ATTRIBUTE_IGNORE_USER_DIALIN_PROPERTIES + 1 ) ,
          IAS_ATTRIBUTE_NP_CALLED_STATION_ID	= ( IAS_ATTRIBUTE_NP_TIME_OF_DAY + 1 ) ,
          IAS_ATTRIBUTE_NP_ALLOWED_PORT_TYPES	= 0x1008,
          IAS_ATTRIBUTE_NP_AUTHENTICATION_TYPE	= ( IAS_ATTRIBUTE_NP_ALLOWED_PORT_TYPES + 1 ) ,
          IAS_ATTRIBUTE_NP_ALLOWED_EAP_TYPE	= ( IAS_ATTRIBUTE_NP_AUTHENTICATION_TYPE + 1 ) ,
          IAS_ATTRIBUTE_SHARED_SECRET	= ( IAS_ATTRIBUTE_NP_ALLOWED_EAP_TYPE + 1 ) ,
          IAS_ATTRIBUTE_CLIENT_IP_ADDRESS	= ( IAS_ATTRIBUTE_SHARED_SECRET + 1 ) ,
          IAS_ATTRIBUTE_CLIENT_PACKET_HEADER	= ( IAS_ATTRIBUTE_CLIENT_IP_ADDRESS + 1 ) ,
          IAS_ATTRIBUTE_TOKEN_GROUPS	= ( IAS_ATTRIBUTE_CLIENT_PACKET_HEADER + 1 ) ,
          IAS_ATTRIBUTE_ALLOW_DIALIN	= ( IAS_ATTRIBUTE_TOKEN_GROUPS + 1 ) ,
          IAS_ATTRIBUTE_REQUEST_ID	= 0x1010,
          IAS_ATTRIBUTE_MANIPULATION_TARGET	= ( IAS_ATTRIBUTE_REQUEST_ID + 1 ) ,
          IAS_ATTRIBUTE_MANIPULATION_RULE	= ( IAS_ATTRIBUTE_MANIPULATION_TARGET + 1 ) ,
          IAS_ATTRIBUTE_ORIGINAL_USER_NAME	= ( IAS_ATTRIBUTE_MANIPULATION_RULE + 1 ) ,
          IAS_ATTRIBUTE_CLIENT_VENDOR_TYPE	= ( IAS_ATTRIBUTE_ORIGINAL_USER_NAME + 1 ) ,
          IAS_ATTRIBUTE_CLIENT_UDP_PORT	= ( IAS_ATTRIBUTE_CLIENT_VENDOR_TYPE + 1 ) ,
          MS_ATTRIBUTE_CHAP_CHALLENGE	= ( IAS_ATTRIBUTE_CLIENT_UDP_PORT + 1 ) ,
          MS_ATTRIBUTE_CHAP_RESPONSE	= ( MS_ATTRIBUTE_CHAP_CHALLENGE + 1 ) ,
          MS_ATTRIBUTE_CHAP_DOMAIN	= 0x1018,
          MS_ATTRIBUTE_CHAP_ERROR	= ( MS_ATTRIBUTE_CHAP_DOMAIN + 1 ) ,
          MS_ATTRIBUTE_CHAP_CPW1	= ( MS_ATTRIBUTE_CHAP_ERROR + 1 ) ,
          MS_ATTRIBUTE_CHAP_CPW2	= ( MS_ATTRIBUTE_CHAP_CPW1 + 1 ) ,
          MS_ATTRIBUTE_CHAP_LM_ENC_PW	= ( MS_ATTRIBUTE_CHAP_CPW2 + 1 ) ,
          MS_ATTRIBUTE_CHAP_NT_ENC_PW	= ( MS_ATTRIBUTE_CHAP_LM_ENC_PW + 1 ) ,
          MS_ATTRIBUTE_CHAP_MPPE_KEYS	= ( MS_ATTRIBUTE_CHAP_NT_ENC_PW + 1 ) ,
          IAS_ATTRIBUTE_AUTHENTICATION_TYPE	= ( MS_ATTRIBUTE_CHAP_MPPE_KEYS + 1 ) ,
          IAS_ATTRIBUTE_CLIENT_NAME	= 0x1020,
          IAS_ATTRIBUTE_NT4_ACCOUNT_NAME	= ( IAS_ATTRIBUTE_CLIENT_NAME + 1 ) ,
          IAS_ATTRIBUTE_FULLY_QUALIFIED_USER_NAME	= ( IAS_ATTRIBUTE_NT4_ACCOUNT_NAME + 1 ) ,
          IAS_ATTRIBUTE_NTGROUPS	= ( IAS_ATTRIBUTE_FULLY_QUALIFIED_USER_NAME + 1 ) ,
          IAS_ATTRIBUTE_EAP_FRIENDLY_NAME	= ( IAS_ATTRIBUTE_NTGROUPS + 1 ) ,
          IAS_ATTRIBUTE_AUTH_PROVIDER_TYPE	= ( IAS_ATTRIBUTE_EAP_FRIENDLY_NAME + 1 ) ,
          MS_ATTRIBUTE_ACCT_AUTH_TYPE	= ( IAS_ATTRIBUTE_AUTH_PROVIDER_TYPE + 1 ) ,
          MS_ATTRIBUTE_ACCT_EAP_TYPE	= ( MS_ATTRIBUTE_ACCT_AUTH_TYPE + 1 ) ,
          IAS_ATTRIBUTE_PACKET_TYPE	= 0x1028,
          IAS_ATTRIBUTE_AUTH_PROVIDER_NAME	= ( IAS_ATTRIBUTE_PACKET_TYPE + 1 ) ,
          IAS_ATTRIBUTE_ACCT_PROVIDER_TYPE	= ( IAS_ATTRIBUTE_AUTH_PROVIDER_NAME + 1 ) ,
          IAS_ATTRIBUTE_ACCT_PROVIDER_NAME	= ( IAS_ATTRIBUTE_ACCT_PROVIDER_TYPE + 1 ) ,
          MS_ATTRIBUTE_MPPE_SEND_KEY	= ( IAS_ATTRIBUTE_ACCT_PROVIDER_NAME + 1 ) ,
          MS_ATTRIBUTE_MPPE_RECV_KEY	= ( MS_ATTRIBUTE_MPPE_SEND_KEY + 1 ) ,
          IAS_ATTRIBUTE_REASON_CODE	= ( MS_ATTRIBUTE_MPPE_RECV_KEY + 1 ) ,
          MS_ATTRIBUTE_FILTER	= ( IAS_ATTRIBUTE_REASON_CODE + 1 ) ,
          MS_ATTRIBUTE_CHAP2_RESPONSE	= 0x1030,
          MS_ATTRIBUTE_CHAP2_SUCCESS	= ( MS_ATTRIBUTE_CHAP2_RESPONSE + 1 ) ,
          MS_ATTRIBUTE_CHAP2_CPW	= ( MS_ATTRIBUTE_CHAP2_SUCCESS + 1 ) ,
          MS_ATTRIBUTE_RAS_VENDOR	= ( MS_ATTRIBUTE_CHAP2_CPW + 1 ) ,
          MS_ATTRIBUTE_RAS_VERSION	= ( MS_ATTRIBUTE_RAS_VENDOR + 1 ) ,
          IAS_ATTRIBUTE_NP_NAME	= ( MS_ATTRIBUTE_RAS_VERSION + 1 ) ,
          MS_ATTRIBUTE_PRIMARY_DNS_SERVER	= ( IAS_ATTRIBUTE_NP_NAME + 1 ) ,
          MS_ATTRIBUTE_SECONDARY_DNS_SERVER	= ( MS_ATTRIBUTE_PRIMARY_DNS_SERVER + 1 ) ,
          MS_ATTRIBUTE_PRIMARY_NBNS_SERVER	= 0x1038,
          MS_ATTRIBUTE_SECONDARY_NBNS_SERVER	= ( MS_ATTRIBUTE_PRIMARY_NBNS_SERVER + 1 ) ,
          IAS_ATTRIBUTE_PROXY_POLICY_NAME	= ( MS_ATTRIBUTE_SECONDARY_NBNS_SERVER + 1 ) ,
          IAS_ATTRIBUTE_PROVIDER_TYPE	= ( IAS_ATTRIBUTE_PROXY_POLICY_NAME + 1 ) ,
          IAS_ATTRIBUTE_PROVIDER_NAME	= ( IAS_ATTRIBUTE_PROVIDER_TYPE + 1 ) ,
          IAS_ATTRIBUTE_REMOTE_SERVER_ADDRESS	= ( IAS_ATTRIBUTE_PROVIDER_NAME + 1 ) ,
          IAS_ATTRIBUTE_GENERATE_CLASS_ATTRIBUTE	= ( IAS_ATTRIBUTE_REMOTE_SERVER_ADDRESS + 1 ) ,
          MS_ATTRIBUTE_RAS_CLIENT_NAME	= ( IAS_ATTRIBUTE_GENERATE_CLASS_ATTRIBUTE + 1 ) ,
          MS_ATTRIBUTE_RAS_CLIENT_VERSION	= 0x1040,
          IAS_ATTRIBUTE_ALLOWED_CERTIFICATE_EKU	= ( MS_ATTRIBUTE_RAS_CLIENT_VERSION + 1 ) ,
          IAS_ATTRIBUTE_EXTENSION_STATE	= ( IAS_ATTRIBUTE_ALLOWED_CERTIFICATE_EKU + 1 ) ,
          IAS_ATTRIBUTE_GENERATE_SESSION_TIMEOUT	= ( IAS_ATTRIBUTE_EXTENSION_STATE + 1 ) ,
          IAS_ATTRIBUTE_SESSION_TIMEOUT	= ( IAS_ATTRIBUTE_GENERATE_SESSION_TIMEOUT + 1 ) ,
          MS_ATTRIBUTE_QUARANTINE_IPFILTER	= ( IAS_ATTRIBUTE_SESSION_TIMEOUT + 1 ) ,
          MS_ATTRIBUTE_QUARANTINE_SESSION_TIMEOUT	= ( MS_ATTRIBUTE_QUARANTINE_IPFILTER + 1 ) ,
          MS_ATTRIBUTE_USER_SECURITY_IDENTITY	= ( MS_ATTRIBUTE_QUARANTINE_SESSION_TIMEOUT + 1 ) ,
          IAS_ATTRIBUTE_REMOTE_RADIUS_TO_WINDOWS_USER_MAPPING	= 0x1048,
          IAS_ATTRIBUTE_PASSPORT_USER_MAPPING_UPN_SUFFIX	= ( IAS_ATTRIBUTE_REMOTE_RADIUS_TO_WINDOWS_USER_MAPPING + 1 ) ,
          IAS_ATTRIBUTE_TUNNEL_TAG	= ( IAS_ATTRIBUTE_PASSPORT_USER_MAPPING_UPN_SUFFIX + 1 ) ,
          IAS_ATTRIBUTE_NP_PEAPUPFRONT_ENABLED	= ( IAS_ATTRIBUTE_TUNNEL_TAG + 1 ) ,
          IAS_ATTRIBUTE_CERTIFICATE_EKU	= 8097,
          IAS_ATTRIBUTE_EAP_CONFIG	= ( IAS_ATTRIBUTE_CERTIFICATE_EKU + 1 ) ,
          IAS_ATTRIBUTE_PEAP_EMBEDDED_EAP_TYPEID	= ( IAS_ATTRIBUTE_EAP_CONFIG + 1 ) ,
          IAS_ATTRIBUTE_PEAP_FAST_ROAMED_SESSION	= 8100,
          IAS_ATTRIBUTE_EAP_TYPEID	= ( IAS_ATTRIBUTE_PEAP_FAST_ROAMED_SESSION + 1 ) ,
          MS_ATTRIBUTE_EAP_TLV	= ( IAS_ATTRIBUTE_EAP_TYPEID + 1 ) ,
          IAS_ATTRIBUTE_REJECT_REASON_CODE	= ( MS_ATTRIBUTE_EAP_TLV + 1 ) ,
          IAS_ATTRIBUTE_PROXY_EAP_CONFIG	= ( IAS_ATTRIBUTE_REJECT_REASON_CODE + 1 ) ,
          IAS_ATTRIBUTE_EAP_SESSION	= ( IAS_ATTRIBUTE_PROXY_EAP_CONFIG + 1 ) ,
          IAS_ATTRIBUTE_IS_REPLAY	= ( IAS_ATTRIBUTE_EAP_SESSION + 1 ) ,
          IAS_ATTRIBUTE_CLEAR_TEXT_PASSWORD	= ( IAS_ATTRIBUTE_IS_REPLAY + 1 ) ,
          MS_ATTRIBUTE_IDENTITY_TYPE	= ( IAS_ATTRIBUTE_CLEAR_TEXT_PASSWORD + 1 ) ,
          MS_ATTRIBUTE_SERVICE_CLASS	= ( MS_ATTRIBUTE_IDENTITY_TYPE + 1 ) ,
          MS_ATTRIBUTE_QUARANTINE_USER_CLASS	= 8110,
          MS_ATTRIBUTE_QUARANTINE_STATE	= ( MS_ATTRIBUTE_QUARANTINE_USER_CLASS + 1 ) ,
          IAS_ATTRIBUTE_OVERRIDE_RAP_AUTH	= ( MS_ATTRIBUTE_QUARANTINE_STATE + 1 ) ,
          IAS_ATTRIBUTE_PEAP_CHANNEL_UP	= ( IAS_ATTRIBUTE_OVERRIDE_RAP_AUTH + 1 ) ,
          IAS_ATTRIBUTE_NAME_MAPPED	= ( IAS_ATTRIBUTE_PEAP_CHANNEL_UP + 1 ) ,
          IAS_ATTRIBUTE_POLICY_ENFORCED	= ( IAS_ATTRIBUTE_NAME_MAPPED + 1 ) ,
          IAS_ATTRIBUTE_MACHINE_NTGROUPS	= ( IAS_ATTRIBUTE_POLICY_ENFORCED + 1 ) ,
          IAS_ATTRIBUTE_USER_NTGROUPS	= ( IAS_ATTRIBUTE_MACHINE_NTGROUPS + 1 ) ,
          IAS_ATTRIBUTE_MACHINE_TOKEN_GROUPS	= ( IAS_ATTRIBUTE_USER_NTGROUPS + 1 ) ,
          IAS_ATTRIBUTE_USER_TOKEN_GROUPS	= ( IAS_ATTRIBUTE_MACHINE_TOKEN_GROUPS + 1 ) ,
          MS_ATTRIBUTE_QUARANTINE_GRACE_TIME	= 8120,
          IAS_ATTRIBUTE_QUARANTINE_URL	= ( MS_ATTRIBUTE_QUARANTINE_GRACE_TIME + 1 ) ,
          IAS_ATTRIBUTE_QUARANTINE_FIXUP_SERVERS	= ( IAS_ATTRIBUTE_QUARANTINE_URL + 1 ) ,
          MS_ATTRIBUTE_NOT_QUARANTINE_CAPABLE	= ( IAS_ATTRIBUTE_QUARANTINE_FIXUP_SERVERS + 1 ) ,
          IAS_ATTRIBUTE_QUARANTINE_SYSTEM_HEALTH_RESULT	= ( MS_ATTRIBUTE_NOT_QUARANTINE_CAPABLE + 1 ) ,
          IAS_ATTRIBUTE_QUARANTINE_SYSTEM_HEALTH_VALIDATORS	= ( IAS_ATTRIBUTE_QUARANTINE_SYSTEM_HEALTH_RESULT + 1 ) ,
          IAS_ATTRIBUTE_MACHINE_NAME	= ( IAS_ATTRIBUTE_QUARANTINE_SYSTEM_HEALTH_VALIDATORS + 1 ) ,
          IAS_ATTRIBUTE_NT4_MACHINE_NAME	= ( IAS_ATTRIBUTE_MACHINE_NAME + 1 ) ,
          IAS_ATTRIBUTE_QUARANTINE_SESSION_HANDLE	= ( IAS_ATTRIBUTE_NT4_MACHINE_NAME + 1 ) ,
          IAS_ATTRIBUTE_FULLY_QUALIFIED_MACHINE_NAME	= ( IAS_ATTRIBUTE_QUARANTINE_SESSION_HANDLE + 1 ) ,
          IAS_ATTRIBUTE_QUARANTINE_FIXUP_SERVERS_CONFIGURATION	= 8130,
          IAS_ATTRIBUTE_CLIENT_QUARANTINE_COMPATIBLE	= ( IAS_ATTRIBUTE_QUARANTINE_FIXUP_SERVERS_CONFIGURATION + 1 ) ,
          MS_ATTRIBUTE_NETWORK_ACCESS_SERVER_TYPE	= ( IAS_ATTRIBUTE_CLIENT_QUARANTINE_COMPATIBLE + 1 ) ,
          IAS_ATTRIBUTE_QUARANTINE_SESSION_ID	= ( MS_ATTRIBUTE_NETWORK_ACCESS_SERVER_TYPE + 1 ) ,
          MS_ATTRIBUTE_AFW_QUARANTINE_ZONE	= ( IAS_ATTRIBUTE_QUARANTINE_SESSION_ID + 1 ) ,
          MS_ATTRIBUTE_AFW_PROTECTION_LEVEL	= ( MS_ATTRIBUTE_AFW_QUARANTINE_ZONE + 1 ) ,
          IAS_ATTRIBUTE_QUARANTINE_UPDATE_NON_COMPLIANT	= ( MS_ATTRIBUTE_AFW_PROTECTION_LEVEL + 1 ) ,
          IAS_ATTRIBUTE_REQUEST_START_TIME	= ( IAS_ATTRIBUTE_QUARANTINE_UPDATE_NON_COMPLIANT + 1 ) ,
          MS_ATTRIBUTE_MACHINE_NAME	= ( IAS_ATTRIBUTE_REQUEST_START_TIME + 1 ) ,
          IAS_ATTRIBUTE_CLIENT_IPv6_ADDRESS	= ( MS_ATTRIBUTE_MACHINE_NAME + 1 ) ,
          IAS_ATTRIBUTE_SAVED_RADIUS_FRAMED_INTERFACE_ID	= 8140,
          IAS_ATTRIBUTE_SAVED_RADIUS_FRAMED_IPv6_PREFIX	= ( IAS_ATTRIBUTE_SAVED_RADIUS_FRAMED_INTERFACE_ID + 1 ) ,
          IAS_ATTRIBUTE_SAVED_RADIUS_FRAMED_IPv6_ROUTE	= ( IAS_ATTRIBUTE_SAVED_RADIUS_FRAMED_IPv6_PREFIX + 1 ) ,
          MS_ATTRIBUTE_QUARANTINE_GRACE_TIME_CONFIGURATION	= ( IAS_ATTRIBUTE_SAVED_RADIUS_FRAMED_IPv6_ROUTE + 1 ) ,
          MS_ATTRIBUTE_IPv6_FILTER	= 8144,
          MS_ATTRIBUTE_IPV4_REMEDIATION_SERVERS	= ( MS_ATTRIBUTE_IPv6_FILTER + 1 ) ,
          MS_ATTRIBUTE_IPV6_REMEDIATION_SERVERS	= ( MS_ATTRIBUTE_IPV4_REMEDIATION_SERVERS + 1 ) ,
          IAS_ATTRIBUTE_PROXY_RETRY_COUNT	= ( MS_ATTRIBUTE_IPV6_REMEDIATION_SERVERS + 1 ) ,
          IAS_ATTRIBUTE_MACHINE_INVENTORY	= ( IAS_ATTRIBUTE_PROXY_RETRY_COUNT + 1 ) ,
          IAS_ATTRIBUTE_ABSOLUTE_TIME	= ( IAS_ATTRIBUTE_MACHINE_INVENTORY + 1 ) ,
          MS_ATTRIBUTE_QUARANTINE_SOH	= 8150,
          IAS_ATTRIBUTE_EAP_TYPES_CONFIGURED_IN_PROXYPOLICY	= ( MS_ATTRIBUTE_QUARANTINE_SOH + 1 ) ,
          MS_ATTRIBUTE_HCAP_LOCATION_GROUP_NAME	= ( IAS_ATTRIBUTE_EAP_TYPES_CONFIGURED_IN_PROXYPOLICY + 1 ) ,
          MS_ATTRIBUTE_EXTENDED_QUARANTINE_STATE	= ( MS_ATTRIBUTE_HCAP_LOCATION_GROUP_NAME + 1 ) ,
          IAS_ATTRIBUTE_SOH_CARRIER_EAPTLV	= ( MS_ATTRIBUTE_EXTENDED_QUARANTINE_STATE + 1 ) ,
          MS_ATTRIBUTE_HCAP_USER_GROUPS	= 8155,
          IAS_ATTRIBUTE_SAVED_MACHINE_HEALTHCHECK_ONLY	= ( MS_ATTRIBUTE_HCAP_USER_GROUPS + 1 ) ,
          IAS_ATTRIBUTE_POLICY_EVALUATED_SHV	= ( IAS_ATTRIBUTE_SAVED_MACHINE_HEALTHCHECK_ONLY + 1 ) ,
          MS_ATTRIBUTE_RAS_CORRELATION_ID	= ( IAS_ATTRIBUTE_POLICY_EVALUATED_SHV + 1 ) ,
          MS_ATTRIBUTE_HCAP_USER_NAME	= ( MS_ATTRIBUTE_RAS_CORRELATION_ID + 1 ) ,
          IAS_ATTRIBUTE_NT4_HCAP_ACCOUNT_NAME	= 8160,
          IAS_ATTRIBUTE_USER_TOKEN_SID	= ( IAS_ATTRIBUTE_NT4_HCAP_ACCOUNT_NAME + 1 ) ,
          IAS_ATTRIBUTE_MACHINE_TOKEN_SID	= ( IAS_ATTRIBUTE_USER_TOKEN_SID + 1 ) ,
          IAS_ATTRIBUTE_MACHINE_VALIDATED	= ( IAS_ATTRIBUTE_MACHINE_TOKEN_SID + 1 ) ,
          MS_ATTRIBUTE_USER_IPv4_ADDRESS	= ( IAS_ATTRIBUTE_MACHINE_VALIDATED + 1 ) ,
          MS_ATTRIBUTE_USER_IPv6_ADDRESS	= 8165,
          MS_ATTRIBUTE_TSG_DEVICE_REDIRECTION	= ( MS_ATTRIBUTE_USER_IPv6_ADDRESS + 1 ) ,
          IAS_ATTRIBUTE_ACCEPT_REASON_CODE	= ( MS_ATTRIBUTE_TSG_DEVICE_REDIRECTION + 1 ) ,
          IAS_ATTRIBUTE_LOGGING_RESULT	= ( IAS_ATTRIBUTE_ACCEPT_REASON_CODE + 1 ) ,
          IAS_ATTRIBUTE_SERVER_IP_ADDRESS	= ( IAS_ATTRIBUTE_LOGGING_RESULT + 1 ) ,
          IAS_ATTRIBUTE_SERVER_IPv6_ADDRESS	= ( IAS_ATTRIBUTE_SERVER_IP_ADDRESS + 1 ) ,
          IAS_ATTRIBUTE_RADIUS_USERNAME_ENCODING_ASCII	= ( IAS_ATTRIBUTE_SERVER_IPv6_ADDRESS + 1 ) ,
          MS_ATTRIBUTE_RAS_ROUTING_DOMAIN_ID	= 8172,
          IAS_ATTRIBUTE_CERTIFICATE_THUMBPRINT	= 8250,
          RAS_ATTRIBUTE_ENCRYPTION_TYPE	= ( 0xffffffff - 89 ) ,
          RAS_ATTRIBUTE_ENCRYPTION_POLICY	= ( RAS_ATTRIBUTE_ENCRYPTION_TYPE + 1 ) ,
          RAS_ATTRIBUTE_BAP_REQUIRED	= ( RAS_ATTRIBUTE_ENCRYPTION_POLICY + 1 ) ,
          RAS_ATTRIBUTE_BAP_LINE_DOWN_TIME	= ( RAS_ATTRIBUTE_BAP_REQUIRED + 1 ) ,
          RAS_ATTRIBUTE_BAP_LINE_DOWN_LIMIT	= ( RAS_ATTRIBUTE_BAP_LINE_DOWN_TIME + 1 ) 
      } 	ATTRIBUTEID;
  
  typedef /* [public] */ 
  enum _NEW_LOG_FILE_FREQUENCY
      {
          IAS_LOGGING_UNLIMITED_SIZE	= 0,
          IAS_LOGGING_DAILY	= ( IAS_LOGGING_UNLIMITED_SIZE + 1 ) ,
          IAS_LOGGING_WEEKLY	= ( IAS_LOGGING_DAILY + 1 ) ,
          IAS_LOGGING_MONTHLY	= ( IAS_LOGGING_WEEKLY + 1 ) ,
          IAS_LOGGING_WHEN_FILE_SIZE_REACHES	= ( IAS_LOGGING_MONTHLY + 1 ) 
      } 	NEW_LOG_FILE_FREQUENCY;
  
  typedef /* [public] */ 
  enum _AUTHENTICATION_TYPE
      {
          IAS_AUTH_INVALID	= 0,
          IAS_AUTH_PAP	= ( IAS_AUTH_INVALID + 1 ) ,
          IAS_AUTH_MD5CHAP	= ( IAS_AUTH_PAP + 1 ) ,
          IAS_AUTH_MSCHAP	= ( IAS_AUTH_MD5CHAP + 1 ) ,
          IAS_AUTH_MSCHAP2	= ( IAS_AUTH_MSCHAP + 1 ) ,
          IAS_AUTH_EAP	= ( IAS_AUTH_MSCHAP2 + 1 ) ,
          IAS_AUTH_ARAP	= ( IAS_AUTH_EAP + 1 ) ,
          IAS_AUTH_NONE	= ( IAS_AUTH_ARAP + 1 ) ,
          IAS_AUTH_CUSTOM	= ( IAS_AUTH_NONE + 1 ) ,
          IAS_AUTH_MSCHAP_CPW	= ( IAS_AUTH_CUSTOM + 1 ) ,
          IAS_AUTH_MSCHAP2_CPW	= ( IAS_AUTH_MSCHAP_CPW + 1 ) ,
          IAS_AUTH_PEAP	= ( IAS_AUTH_MSCHAP2_CPW + 1 ) 
      } 	AUTHENTICATION_TYPE;
  
  typedef /* [public] */ 
  enum _IDENTITY_TYPE
      {
          IAS_IDENTITY_NO_DEFAULT	= 0x1
      } 	IDENTITY_TYPE;
  
  typedef /* [public] */ 
  enum _ATTRIBUTESYNTAX
      {
          IAS_SYNTAX_BOOLEAN	= 1,
          IAS_SYNTAX_INTEGER	= ( IAS_SYNTAX_BOOLEAN + 1 ) ,
          IAS_SYNTAX_ENUMERATOR	= ( IAS_SYNTAX_INTEGER + 1 ) ,
          IAS_SYNTAX_INETADDR	= ( IAS_SYNTAX_ENUMERATOR + 1 ) ,
          IAS_SYNTAX_STRING	= ( IAS_SYNTAX_INETADDR + 1 ) ,
          IAS_SYNTAX_OCTETSTRING	= ( IAS_SYNTAX_STRING + 1 ) ,
          IAS_SYNTAX_UTCTIME	= ( IAS_SYNTAX_OCTETSTRING + 1 ) ,
          IAS_SYNTAX_PROVIDERSPECIFIC	= ( IAS_SYNTAX_UTCTIME + 1 ) ,
          IAS_SYNTAX_UNSIGNEDINTEGER	= ( IAS_SYNTAX_PROVIDERSPECIFIC + 1 ) ,
          IAS_SYNTAX_INETADDR6	= ( IAS_SYNTAX_UNSIGNEDINTEGER + 1 ) 
      } 	ATTRIBUTESYNTAX;
  
  typedef /* [public] */ 
  enum _ATTRIBUTERESTRICTIONS
      {
          MULTIVALUED	= 0x1,
          ALLOWEDINPROFILE	= 0x2,
          ALLOWEDINCONDITION	= 0x4,
          ALLOWEDINPROXYPROFILE	= 0x8,
          ALLOWEDINPROXYCONDITION	= 0x10,
          ALLOWEDINVPNDIALUP	= 0x20,
          ALLOWEDIN8021X	= 0x40
      } 	ATTRIBUTERESTRICTIONS;
  
  typedef /* [public] */ 
  enum _ATTRIBUTEFILTER
      {
          ATTRIBUTE_FILTER_NONE	= 0,
          ATTRIBUTE_FILTER_VPN_DIALUP	= 0x1,
          ATTRIBUTE_FILTER_IEEE_802_1x	= 0x2
      } 	ATTRIBUTEFILTER;
  
  typedef /* [public] */ 
  enum _ATTRIBUTEINFO
      {
          NAME	= 1,
          SYNTAX	= ( NAME + 1 ) ,
          RESTRICTIONS	= ( SYNTAX + 1 ) ,
          DESCRIPTION	= ( RESTRICTIONS + 1 ) ,
          VENDORID	= ( DESCRIPTION + 1 ) ,
          LDAPNAME	= ( VENDORID + 1 ) ,
          VENDORTYPE	= ( LDAPNAME + 1 ) 
      } 	ATTRIBUTEINFO;
  
  typedef /* [public] */ 
  enum _IASCOMMONPROPERTIES
      {
          PROPERTY_SDO_RESERVED	= 0,
          PROPERTY_SDO_CLASS	= ( PROPERTY_SDO_RESERVED + 1 ) ,
          PROPERTY_SDO_NAME	= ( PROPERTY_SDO_CLASS + 1 ) ,
          PROPERTY_SDO_DESCRIPTION	= ( PROPERTY_SDO_NAME + 1 ) ,
          PROPERTY_SDO_ID	= ( PROPERTY_SDO_DESCRIPTION + 1 ) ,
          PROPERTY_SDO_DATASTORE_NAME	= ( PROPERTY_SDO_ID + 1 ) ,
          PROPERTY_SDO_TEMPLATE_GUID	= ( PROPERTY_SDO_DATASTORE_NAME + 1 ) ,
          PROPERTY_SDO_OPAQUE	= ( PROPERTY_SDO_TEMPLATE_GUID + 1 ) ,
          PROPERTY_SDO_START	= 0x400
      } 	IASCOMMONPROPERTIES;
  
  typedef /* [public] */ 
  enum _USERPROPERTIES
      {
          PROPERTY_USER_CALLING_STATION_ID	= PROPERTY_SDO_START,
          PROPERTY_USER_SAVED_CALLING_STATION_ID	= ( PROPERTY_USER_CALLING_STATION_ID + 1 ) ,
          PROPERTY_USER_RADIUS_CALLBACK_NUMBER	= ( PROPERTY_USER_SAVED_CALLING_STATION_ID + 1 ) ,
          PROPERTY_USER_RADIUS_FRAMED_ROUTE	= ( PROPERTY_USER_RADIUS_CALLBACK_NUMBER + 1 ) ,
          PROPERTY_USER_RADIUS_FRAMED_IP_ADDRESS	= ( PROPERTY_USER_RADIUS_FRAMED_ROUTE + 1 ) ,
          PROPERTY_USER_SAVED_RADIUS_CALLBACK_NUMBER	= ( PROPERTY_USER_RADIUS_FRAMED_IP_ADDRESS + 1 ) ,
          PROPERTY_USER_SAVED_RADIUS_FRAMED_ROUTE	= ( PROPERTY_USER_SAVED_RADIUS_CALLBACK_NUMBER + 1 ) ,
          PROPERTY_USER_SAVED_RADIUS_FRAMED_IP_ADDRESS	= ( PROPERTY_USER_SAVED_RADIUS_FRAMED_ROUTE + 1 ) ,
          PROPERTY_USER_ALLOW_DIALIN	= ( PROPERTY_USER_SAVED_RADIUS_FRAMED_IP_ADDRESS + 1 ) ,
          PROPERTY_USER_SERVICE_TYPE	= ( PROPERTY_USER_ALLOW_DIALIN + 1 ) ,
          PROPERTY_USER_RADIUS_FRAMED_IPV6_ROUTE	= ( PROPERTY_USER_SERVICE_TYPE + 1 ) ,
          PROPERTY_USER_SAVED_RADIUS_FRAMED_IPV6_ROUTE	= ( PROPERTY_USER_RADIUS_FRAMED_IPV6_ROUTE + 1 ) ,
          PROPERTY_USER_RADIUS_FRAMED_INTERFACE_ID	= ( PROPERTY_USER_SAVED_RADIUS_FRAMED_IPV6_ROUTE + 1 ) ,
          PROPERTY_USER_SAVED_RADIUS_FRAMED_INTERFACE_ID	= ( PROPERTY_USER_RADIUS_FRAMED_INTERFACE_ID + 1 ) ,
          PROPERTY_USER_RADIUS_FRAMED_IPV6_PREFIX	= ( PROPERTY_USER_SAVED_RADIUS_FRAMED_INTERFACE_ID + 1 ) ,
          PROPERTY_USER_SAVED_RADIUS_FRAMED_IPV6_PREFIX	= ( PROPERTY_USER_RADIUS_FRAMED_IPV6_PREFIX + 1 ) 
      } 	USERPROPERTIES;
  
  typedef /* [public] */ 
  enum _DICTIONARYPROPERTIES
      {
          PROPERTY_DICTIONARY_ATTRIBUTES_COLLECTION	= PROPERTY_SDO_START,
          PROPERTY_DICTIONARY_LOCATION	= ( PROPERTY_DICTIONARY_ATTRIBUTES_COLLECTION + 1 ) 
      } 	DICTIONARYPROPERTIES;
  
  typedef /* [public] */ 
  enum _ATTRIBUTEPROPERTIES
      {
          PROPERTY_ATTRIBUTE_ID	= PROPERTY_SDO_START,
          PROPERTY_ATTRIBUTE_VENDOR_ID	= ( PROPERTY_ATTRIBUTE_ID + 1 ) ,
          PROPERTY_ATTRIBUTE_VENDOR_TYPE_ID	= ( PROPERTY_ATTRIBUTE_VENDOR_ID + 1 ) ,
          PROPERTY_ATTRIBUTE_IS_ENUMERABLE	= ( PROPERTY_ATTRIBUTE_VENDOR_TYPE_ID + 1 ) ,
          PROPERTY_ATTRIBUTE_ENUM_NAMES	= ( PROPERTY_ATTRIBUTE_IS_ENUMERABLE + 1 ) ,
          PROPERTY_ATTRIBUTE_ENUM_VALUES	= ( PROPERTY_ATTRIBUTE_ENUM_NAMES + 1 ) ,
          PROPERTY_ATTRIBUTE_SYNTAX	= ( PROPERTY_ATTRIBUTE_ENUM_VALUES + 1 ) ,
          PROPERTY_ATTRIBUTE_ALLOW_MULTIPLE	= ( PROPERTY_ATTRIBUTE_SYNTAX + 1 ) ,
          PROPERTY_ATTRIBUTE_ALLOW_LOG_ORDINAL	= ( PROPERTY_ATTRIBUTE_ALLOW_MULTIPLE + 1 ) ,
          PROPERTY_ATTRIBUTE_ALLOW_IN_PROFILE	= ( PROPERTY_ATTRIBUTE_ALLOW_LOG_ORDINAL + 1 ) ,
          PROPERTY_ATTRIBUTE_ALLOW_IN_CONDITION	= ( PROPERTY_ATTRIBUTE_ALLOW_IN_PROFILE + 1 ) ,
          PROPERTY_ATTRIBUTE_DISPLAY_NAME	= ( PROPERTY_ATTRIBUTE_ALLOW_IN_CONDITION + 1 ) ,
          PROPERTY_ATTRIBUTE_VALUE	= ( PROPERTY_ATTRIBUTE_DISPLAY_NAME + 1 ) ,
          PROPERTY_ATTRIBUTE_ALLOW_IN_PROXY_PROFILE	= ( PROPERTY_ATTRIBUTE_VALUE + 1 ) ,
          PROPERTY_ATTRIBUTE_ALLOW_IN_PROXY_CONDITION	= ( PROPERTY_ATTRIBUTE_ALLOW_IN_PROXY_PROFILE + 1 ) ,
          PROPERTY_ATTRIBUTE_ALLOW_IN_VPNDIALUP	= ( PROPERTY_ATTRIBUTE_ALLOW_IN_PROXY_CONDITION + 1 ) ,
          PROPERTY_ATTRIBUTE_ALLOW_IN_8021X	= ( PROPERTY_ATTRIBUTE_ALLOW_IN_VPNDIALUP + 1 ) ,
          PROPERTY_ATTRIBUTE_ENUM_FILTERS	= ( PROPERTY_ATTRIBUTE_ALLOW_IN_8021X + 1 ) 
      } 	ATTRIBUTEPROPERTIES;
  
  typedef /* [public] */ 
  enum _IASPROPERTIES
      {
          PROPERTY_IAS_RADIUSSERVERGROUPS_COLLECTION	= PROPERTY_SDO_START,
          PROPERTY_IAS_POLICIES_COLLECTION	= ( PROPERTY_IAS_RADIUSSERVERGROUPS_COLLECTION + 1 ) ,
          PROPERTY_IAS_PROFILES_COLLECTION	= ( PROPERTY_IAS_POLICIES_COLLECTION + 1 ) ,
          PROPERTY_IAS_PROTOCOLS_COLLECTION	= ( PROPERTY_IAS_PROFILES_COLLECTION + 1 ) ,
          PROPERTY_IAS_AUDITORS_COLLECTION	= ( PROPERTY_IAS_PROTOCOLS_COLLECTION + 1 ) ,
          PROPERTY_IAS_REQUESTHANDLERS_COLLECTION	= ( PROPERTY_IAS_AUDITORS_COLLECTION + 1 ) ,
          PROPERTY_IAS_PROXYPOLICIES_COLLECTION	= ( PROPERTY_IAS_REQUESTHANDLERS_COLLECTION + 1 ) ,
          PROPERTY_IAS_PROXYPROFILES_COLLECTION	= ( PROPERTY_IAS_PROXYPOLICIES_COLLECTION + 1 ) ,
          PROPERTY_IAS_REMEDIATIONSERVERGROUPS_COLLECTION	= ( PROPERTY_IAS_PROXYPROFILES_COLLECTION + 1 ) ,
          PROPERTY_IAS_SHVTEMPLATES_COLLECTION	= ( PROPERTY_IAS_REMEDIATIONSERVERGROUPS_COLLECTION + 1 ) 
      } 	IASPROPERTIES;
  
  typedef /* [public] */ 
  enum _TEMPLATESPROPERTIES
      {
          PROPERTY_TEMPLATES_POLICIES_TEMPLATES	= PROPERTY_SDO_START,
          PROPERTY_TEMPLATES_PROFILES_TEMPLATES	= ( PROPERTY_TEMPLATES_POLICIES_TEMPLATES + 1 ) ,
          PROPERTY_TEMPLATES_PROFILES_COLLECTION	= ( PROPERTY_TEMPLATES_PROFILES_TEMPLATES + 1 ) ,
          PROPERTY_TEMPLATES_PROXYPOLICIES_TEMPLATES	= ( PROPERTY_TEMPLATES_PROFILES_COLLECTION + 1 ) ,
          PROPERTY_TEMPLATES_PROXYPROFILES_TEMPLATES	= ( PROPERTY_TEMPLATES_PROXYPOLICIES_TEMPLATES + 1 ) ,
          PROPERTY_TEMPLATES_PROXYPROFILES_COLLECTION	= ( PROPERTY_TEMPLATES_PROXYPROFILES_TEMPLATES + 1 ) ,
          PROPERTY_TEMPLATES_REMEDIATIONSERVERGROUPS_TEMPLATES	= ( PROPERTY_TEMPLATES_PROXYPROFILES_COLLECTION + 1 ) ,
          PROPERTY_TEMPLATES_SHVTEMPLATES_TEMPLATES	= ( PROPERTY_TEMPLATES_REMEDIATIONSERVERGROUPS_TEMPLATES + 1 ) ,
          PROPERTY_TEMPLATES_CLIENTS_TEMPLATES	= ( PROPERTY_TEMPLATES_SHVTEMPLATES_TEMPLATES + 1 ) ,
          PROPERTY_TEMPLATES_RADIUSSERVERS_TEMPLATES	= ( PROPERTY_TEMPLATES_CLIENTS_TEMPLATES + 1 ) ,
          PROPERTY_TEMPLATES_SHAREDSECRETS_TEMPLATES	= ( PROPERTY_TEMPLATES_RADIUSSERVERS_TEMPLATES + 1 ) ,
          PROPERTY_TEMPLATES_IPFILTERS_TEMPLATES	= ( PROPERTY_TEMPLATES_SHAREDSECRETS_TEMPLATES + 1 ) 
      } 	TEMPLATESPROPERTIES;
  
  typedef /* [public] */ 
  enum _CLIENTPROPERTIES
      {
          PROPERTY_CLIENT_REQUIRE_SIGNATURE	= PROPERTY_SDO_START,
          PROPERTY_CLIENT_UNUSED	= ( PROPERTY_CLIENT_REQUIRE_SIGNATURE + 1 ) ,
          PROPERTY_CLIENT_SHARED_SECRET	= ( PROPERTY_CLIENT_UNUSED + 1 ) ,
          PROPERTY_CLIENT_NAS_MANUFACTURER	= ( PROPERTY_CLIENT_SHARED_SECRET + 1 ) ,
          PROPERTY_CLIENT_ADDRESS	= ( PROPERTY_CLIENT_NAS_MANUFACTURER + 1 ) ,
          PROPERTY_CLIENT_QUARANTINE_COMPATIBLE	= ( PROPERTY_CLIENT_ADDRESS + 1 ) ,
          PROPERTY_CLIENT_ENABLED	= ( PROPERTY_CLIENT_QUARANTINE_COMPATIBLE + 1 ) ,
          PROPERTY_CLIENT_SECRET_TEMPLATE_GUID	= ( PROPERTY_CLIENT_ENABLED + 1 ) 
      } 	CLIENTPROPERTIES;
  
  typedef /* [public] */ 
  enum _VENDORPROPERTIES
      {
          PROPERTY_NAS_VENDOR_ID	= PROPERTY_SDO_START
      } 	VENDORPROPERTIES;
  
  typedef /* [public] */ 
  enum _PROFILEPROPERTIES
      {
          PROPERTY_PROFILE_ATTRIBUTES_COLLECTION	= PROPERTY_SDO_START,
          PROPERTY_PROFILE_IPFILTER_TEMPLATE_GUID	= ( PROPERTY_PROFILE_ATTRIBUTES_COLLECTION + 1 ) 
      } 	PROFILEPROPERTIES;
  
  typedef /* [public] */ 
  enum _POLICYPROPERTIES
      {
          PROPERTY_POLICY_CONSTRAINT	= PROPERTY_SDO_START,
          PROPERTY_POLICY_MERIT	= ( PROPERTY_POLICY_CONSTRAINT + 1 ) ,
          PROPERTY_POLICY_UNUSED0	= ( PROPERTY_POLICY_MERIT + 1 ) ,
          PROPERTY_POLICY_UNUSED1	= ( PROPERTY_POLICY_UNUSED0 + 1 ) ,
          PROPERTY_POLICY_PROFILE_NAME	= ( PROPERTY_POLICY_UNUSED1 + 1 ) ,
          PROPERTY_POLICY_ACTION	= ( PROPERTY_POLICY_PROFILE_NAME + 1 ) ,
          PROPERTY_POLICY_CONDITIONS_COLLECTION	= ( PROPERTY_POLICY_ACTION + 1 ) ,
          PROPERTY_POLICY_ENABLED	= ( PROPERTY_POLICY_CONDITIONS_COLLECTION + 1 ) ,
          PROPERTY_POLICY_SOURCETAG	= ( PROPERTY_POLICY_ENABLED + 1 ) 
      } 	POLICYPROPERTIES;
  
  typedef /* [public] */ 
  enum _CONDITIONPROPERTIES
      {
          PROPERTY_CONDITION_TEXT	= PROPERTY_SDO_START
      } 	CONDITIONPROPERTIES;
  
  typedef /* [public] */ 
  enum _RADIUSSERVERGROUPPROPERTIES
      {
          PROPERTY_RADIUSSERVERGROUP_SERVERS_COLLECTION	= PROPERTY_SDO_START
      } 	RADIUSSERVERGROUPPROPERTIES;
  
  typedef /* [public] */ 
  enum _RADIUSSERVERPROPERTIES
      {
          PROPERTY_RADIUSSERVER_AUTH_PORT	= PROPERTY_SDO_START,
          PROPERTY_RADIUSSERVER_AUTH_SECRET	= ( PROPERTY_RADIUSSERVER_AUTH_PORT + 1 ) ,
          PROPERTY_RADIUSSERVER_ACCT_PORT	= ( PROPERTY_RADIUSSERVER_AUTH_SECRET + 1 ) ,
          PROPERTY_RADIUSSERVER_ACCT_SECRET	= ( PROPERTY_RADIUSSERVER_ACCT_PORT + 1 ) ,
          PROPERTY_RADIUSSERVER_ADDRESS	= ( PROPERTY_RADIUSSERVER_ACCT_SECRET + 1 ) ,
          PROPERTY_RADIUSSERVER_FORWARD_ACCT_ONOFF	= ( PROPERTY_RADIUSSERVER_ADDRESS + 1 ) ,
          PROPERTY_RADIUSSERVER_PRIORITY	= ( PROPERTY_RADIUSSERVER_FORWARD_ACCT_ONOFF + 1 ) ,
          PROPERTY_RADIUSSERVER_WEIGHT	= ( PROPERTY_RADIUSSERVER_PRIORITY + 1 ) ,
          PROPERTY_RADIUSSERVER_TIMEOUT	= ( PROPERTY_RADIUSSERVER_WEIGHT + 1 ) ,
          PROPERTY_RADIUSSERVER_MAX_LOST	= ( PROPERTY_RADIUSSERVER_TIMEOUT + 1 ) ,
          PROPERTY_RADIUSSERVER_BLACKOUT	= ( PROPERTY_RADIUSSERVER_MAX_LOST + 1 ) ,
          PROPERTY_RADIUSSERVER_SEND_SIGNATURE	= ( PROPERTY_RADIUSSERVER_BLACKOUT + 1 ) ,
          PROPERTY_RADIUSSERVER_AUTH_SECRET_TEMPLATE_GUID	= ( PROPERTY_RADIUSSERVER_SEND_SIGNATURE + 1 ) ,
          PROPERTY_RADIUSSERVER_ACCT_SECRET_TEMPLATE_GUID	= ( PROPERTY_RADIUSSERVER_AUTH_SECRET_TEMPLATE_GUID + 1 ) 
      } 	RADIUSSERVERPROPERTIES;
  
  typedef /* [public] */ 
  enum _REMEDIATIONSERVERGROUPPROPERTIES
      {
          PROPERTY_REMEDIATIONSERVERGROUP_SERVERS_COLLECTION	= PROPERTY_SDO_START
      } 	REMEDIATIONSERVERGROUPPROPERTIES;
  
  typedef /* [public] */ 
  enum _REMEDIATIONSERVERPROPERTIES
      {
          PROPERTY_REMEDIATIONSERVER_ADDRESS	= PROPERTY_SDO_START,
          PROPERTY_REMEDIATIONSERVER_FRIENDLY_NAME	= ( PROPERTY_REMEDIATIONSERVER_ADDRESS + 1 ) 
      } 	REMEDIATIONSERVERPROPERTIES;
  
  typedef /* [public] */ 
  enum _SHVTEMPLATEPROPERTIES
      {
          PROPERTY_SHV_COMBINATION_TYPE	= PROPERTY_SDO_START,
          PROPERTY_SHV_LIST	= ( PROPERTY_SHV_COMBINATION_TYPE + 1 ) ,
          PROPERTY_SHVCONFIG_LIST	= ( PROPERTY_SHV_LIST + 1 ) 
      } 	SHVTEMPLATEPROPERTIES;
  
  typedef /* [public] */ 
  enum _IPFILTERPROPERTIES
      {
          PROPERTY_IPFILTER_ATTRIBUTES_COLLECTION	= PROPERTY_SDO_START
      } 	IPFILTERPROPERTIES;
  
  typedef /* [public] */ 
  enum _SHAREDSECRETPROPERTIES
      {
          PROPERTY_SHAREDSECRET_STRING	= PROPERTY_SDO_START
      } 	SHAREDSECRETPROPERTIES;
  
  typedef /* [public] */ 
  enum _IASCOMPONENTPROPERTIES
      {
          PROPERTY_COMPONENT_ID	= PROPERTY_SDO_START,
          PROPERTY_COMPONENT_PROG_ID	= ( PROPERTY_COMPONENT_ID + 1 ) ,
          PROPERTY_COMPONENT_START	= ( PROPERTY_COMPONENT_PROG_ID + 1 ) 
      } 	IASCOMPONENTPROPERTIES;
  
  typedef /* [public] */ 
  enum _PROTOCOLPROPERTIES
      {
          PROPERTY_PROTOCOL_REQUEST_HANDLER	= PROPERTY_COMPONENT_START,
          PROPERTY_PROTOCOL_START	= ( PROPERTY_PROTOCOL_REQUEST_HANDLER + 1 ) 
      } 	PROTOCOLPROPERTIES;
  
  typedef /* [public] */ 
  enum _RADIUSPROPERTIES
      {
          PROPERTY_RADIUS_ACCOUNTING_PORT	= PROPERTY_PROTOCOL_START,
          PROPERTY_RADIUS_AUTHENTICATION_PORT	= ( PROPERTY_RADIUS_ACCOUNTING_PORT + 1 ) ,
          PROPERTY_RADIUS_CLIENTS_COLLECTION	= ( PROPERTY_RADIUS_AUTHENTICATION_PORT + 1 ) ,
          PROPERTY_RADIUS_VENDORS_COLLECTION	= ( PROPERTY_RADIUS_CLIENTS_COLLECTION + 1 ) 
      } 	RADIUSPROPERTIES;
  
  typedef /* [public] */ 
  enum _NTEVENTLOGPROPERTIES
      {
          PROPERTY_EVENTLOG_LOG_APPLICATION_EVENTS	= PROPERTY_COMPONENT_START,
          PROPERTY_EVENTLOG_LOG_MALFORMED	= ( PROPERTY_EVENTLOG_LOG_APPLICATION_EVENTS + 1 ) ,
          PROPERTY_EVENTLOG_LOG_DEBUG	= ( PROPERTY_EVENTLOG_LOG_MALFORMED + 1 ) 
      } 	NTEVENTLOGPROPERTIES;
  
  typedef /* [public] */ 
  enum _NAMESPROPERTIES
      {
          PROPERTY_NAMES_REALMS	= PROPERTY_COMPONENT_START
      } 	NAMESPROPERTIES;
  
  typedef /* [public] */ 
  enum _NTSAMPROPERTIES
      {
          PROPERTY_NTSAM_ALLOW_LM_AUTHENTICATION	= PROPERTY_COMPONENT_START
      } 	NTSAMPROPERTIES;
  
  typedef /* [public] */ 
  enum _ACCOUNTINGPROPERTIES
      {
          PROPERTY_ACCOUNTING_LOG_ACCOUNTING	= PROPERTY_COMPONENT_START,
          PROPERTY_ACCOUNTING_LOG_ACCOUNTING_INTERIM	= ( PROPERTY_ACCOUNTING_LOG_ACCOUNTING + 1 ) ,
          PROPERTY_ACCOUNTING_LOG_AUTHENTICATION	= ( PROPERTY_ACCOUNTING_LOG_ACCOUNTING_INTERIM + 1 ) ,
          PROPERTY_ACCOUNTING_LOG_OPEN_NEW_FREQUENCY	= ( PROPERTY_ACCOUNTING_LOG_AUTHENTICATION + 1 ) ,
          PROPERTY_ACCOUNTING_LOG_OPEN_NEW_SIZE	= ( PROPERTY_ACCOUNTING_LOG_OPEN_NEW_FREQUENCY + 1 ) ,
          PROPERTY_ACCOUNTING_LOG_FILE_DIRECTORY	= ( PROPERTY_ACCOUNTING_LOG_OPEN_NEW_SIZE + 1 ) ,
          PROPERTY_ACCOUNTING_LOG_IAS1_FORMAT	= ( PROPERTY_ACCOUNTING_LOG_FILE_DIRECTORY + 1 ) ,
          PROPERTY_ACCOUNTING_LOG_ENABLE_LOGGING	= ( PROPERTY_ACCOUNTING_LOG_IAS1_FORMAT + 1 ) ,
          PROPERTY_ACCOUNTING_LOG_DELETE_IF_FULL	= ( PROPERTY_ACCOUNTING_LOG_ENABLE_LOGGING + 1 ) ,
          PROPERTY_ACCOUNTING_SQL_MAX_SESSIONS	= ( PROPERTY_ACCOUNTING_LOG_DELETE_IF_FULL + 1 ) ,
          PROPERTY_ACCOUNTING_LOG_AUTHENTICATION_INTERIM	= ( PROPERTY_ACCOUNTING_SQL_MAX_SESSIONS + 1 ) ,
          PROPERTY_ACCOUNTING_LOG_FILE_IS_BACKUP	= ( PROPERTY_ACCOUNTING_LOG_AUTHENTICATION_INTERIM + 1 ) ,
          PROPERTY_ACCOUNTING_DISCARD_REQUEST_ON_FAILURE	= ( PROPERTY_ACCOUNTING_LOG_FILE_IS_BACKUP + 1 ) 
      } 	ACCOUNTINGPROPERTIES;
  
  typedef /* [public] */ 
  enum _NAPPROPERTIES
      {
          PROPERTY_NAP_POLICIES_COLLECTION	= PROPERTY_COMPONENT_START,
          PROPERTY_SHV_TEMPLATES_COLLECTION	= ( PROPERTY_NAP_POLICIES_COLLECTION + 1 ) 
      } 	NAPPROPERTIES;
  
  typedef /* [public] */ 
  enum _RADIUSPROXYPROPERTIES
      {
          PROPERTY_RADIUSPROXY_SERVERGROUPS	= PROPERTY_COMPONENT_START
      } 	RADIUSPROXYPROPERTIES;
  
  typedef /* [public] */ 
  enum _REMEDIATIONSERVERSPROPERTIES
      {
          PROPERTY_REMEDIATIONSERVERS_SERVERGROUPS	= PROPERTY_COMPONENT_START
      } 	REMEDIATIONSERVERSPROPERTIES;
  
  typedef /* [public] */ 
  enum _SHV_COMBINATION_TYPE
      {
          SHV_COMBINATION_TYPE_ALL_PASS	= 0,
          SHV_COMBINATION_TYPE_ALL_FAIL	= ( SHV_COMBINATION_TYPE_ALL_PASS + 1 ) ,
          SHV_COMBINATION_TYPE_ONE_OR_MORE_PASS	= ( SHV_COMBINATION_TYPE_ALL_FAIL + 1 ) ,
          SHV_COMBINATION_TYPE_ONE_OR_MORE_FAIL	= ( SHV_COMBINATION_TYPE_ONE_OR_MORE_PASS + 1 ) ,
          SHV_COMBINATION_TYPE_ONE_OR_MORE_INFECTED	= ( SHV_COMBINATION_TYPE_ONE_OR_MORE_FAIL + 1 ) ,
          SHV_COMBINATION_TYPE_ONE_OR_MORE_TRANSITIONAL	= ( SHV_COMBINATION_TYPE_ONE_OR_MORE_INFECTED + 1 ) ,
          SHV_COMBINATION_TYPE_ONE_OR_MORE_UNKNOWN	= ( SHV_COMBINATION_TYPE_ONE_OR_MORE_TRANSITIONAL + 1 ) ,
          SHV_COMBINATION_TYPE_MAX	= ( SHV_COMBINATION_TYPE_ONE_OR_MORE_UNKNOWN + 1 ) 
      } 	SHV_COMBINATION_TYPE;
  
  typedef /* [public] */ 
  enum _SERVICE_TYPE
      {
          SERVICE_TYPE_IAS	= 0,
          SERVICE_TYPE_RAS	= ( SERVICE_TYPE_IAS + 1 ) ,
          SERVICE_TYPE_RAMGMTSVC	= ( SERVICE_TYPE_RAS + 1 ) ,
          SERVICE_TYPE_MAX	= ( SERVICE_TYPE_RAMGMTSVC + 1 ) 
      } 	SERVICE_TYPE;
  
  typedef /* [public] */ 
  enum _IASOSTYPE
      {
          SYSTEM_TYPE_NT4_WORKSTATION	= 0,
          SYSTEM_TYPE_NT5_WORKSTATION	= ( SYSTEM_TYPE_NT4_WORKSTATION + 1 ) ,
          SYSTEM_TYPE_NT6_WORKSTATION	= ( SYSTEM_TYPE_NT5_WORKSTATION + 1 ) ,
          SYSTEM_TYPE_NT6_1_WORKSTATION	= ( SYSTEM_TYPE_NT6_WORKSTATION + 1 ) ,
          SYSTEM_TYPE_NT6_2_WORKSTATION	= ( SYSTEM_TYPE_NT6_1_WORKSTATION + 1 ) ,
          SYSTEM_TYPE_NT6_3_WORKSTATION	= ( SYSTEM_TYPE_NT6_2_WORKSTATION + 1 ) ,
          SYSTEM_TYPE_NT10_0_WORKSTATION	= ( SYSTEM_TYPE_NT6_3_WORKSTATION + 1 ) ,
          SYSTEM_TYPE_NT4_SERVER	= ( SYSTEM_TYPE_NT10_0_WORKSTATION + 1 ) ,
          SYSTEM_TYPE_NT5_SERVER	= ( SYSTEM_TYPE_NT4_SERVER + 1 ) ,
          SYSTEM_TYPE_NT6_SERVER	= ( SYSTEM_TYPE_NT5_SERVER + 1 ) ,
          SYSTEM_TYPE_NT6_1_SERVER	= ( SYSTEM_TYPE_NT6_SERVER + 1 ) ,
          SYSTEM_TYPE_NT6_2_SERVER	= ( SYSTEM_TYPE_NT6_1_SERVER + 1 ) ,
          SYSTEM_TYPE_NT6_3_SERVER	= ( SYSTEM_TYPE_NT6_2_SERVER + 1 ) ,
          SYSTEM_TYPE_NT10_0_SERVER	= ( SYSTEM_TYPE_NT6_3_SERVER + 1 ) 
      } 	IASOSTYPE;
  
  typedef /* [public] */ enum _IASOSTYPE *PIASOSTYPE;
  
  typedef /* [public] */ 
  enum _DOMAINTYPE
      {
          DOMAIN_TYPE_NONE	= 0,
          DOMAIN_TYPE_NT4	= ( DOMAIN_TYPE_NONE + 1 ) ,
          DOMAIN_TYPE_NT5	= ( DOMAIN_TYPE_NT4 + 1 ) ,
          DOMAIN_TYPE_MIXED	= ( DOMAIN_TYPE_NT5 + 1 ) 
      } 	IASDOMAINTYPE;
  
  typedef /* [public] */ enum _DOMAINTYPE *PIASDOMAINTYPE;
  
  typedef /* [public] */ 
  enum _IASDATASTORE
      {
          DATA_STORE_LOCAL	= 0,
          DATA_STORE_DIRECTORY	= ( DATA_STORE_LOCAL + 1 ) 
      } 	IASDATASTORE;
  
  typedef /* [public] */ enum _IASDATASTORE *PIASDATASTORE;
  
  
  EXTERN_C const IID LIBID_SDOIASLib;
  
  #ifndef __ISdoMachine_INTERFACE_DEFINED__
  #define __ISdoMachine_INTERFACE_DEFINED__
  
  /* interface ISdoMachine */
  /* [unique][dual][uuid][object] */ 
  
  
  EXTERN_C const IID IID_ISdoMachine;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("479F6E75-49A2-11d2-8ECA-00C04FC2F519")
      ISdoMachine : public IDispatch
      {
      public:
          virtual /* [id] */ HRESULT STDMETHODCALLTYPE Attach( 
              /* [in] */ __RPC__in BSTR bstrComputerName) = 0;
          
          virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetDictionarySDO( 
              /* [retval][out] */ __RPC__deref_out_opt IUnknown **ppDictionarySDO) = 0;
          
          virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetServiceSDO( 
              /* [in] */ IASDATASTORE eDataStore,
              /* [in] */ __RPC__in BSTR bstrServiceName,
              /* [retval][out] */ __RPC__deref_out_opt IUnknown **ppServiceSDO) = 0;
          
          virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetUserSDO( 
              /* [in] */ IASDATASTORE eDataStore,
              /* [in] */ __RPC__in BSTR bstrUserName,
              /* [retval][out] */ __RPC__deref_out_opt IUnknown **ppUserSDO) = 0;
          
          virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetOSType( 
              /* [retval][out] */ __RPC__out IASOSTYPE *eOSType) = 0;
          
          virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetDomainType( 
              /* [retval][out] */ __RPC__out IASDOMAINTYPE *eDomainType) = 0;
          
          virtual /* [id] */ HRESULT STDMETHODCALLTYPE IsDirectoryAvailable( 
              /* [retval][out] */ __RPC__out VARIANT_BOOL *boolDirectoryAvailable) = 0;
          
          virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetAttachedComputer( 
              /* [retval][out] */ __RPC__deref_out_opt BSTR *bstrComputerName) = 0;
          
          virtual /* [hidden][id] */ HRESULT STDMETHODCALLTYPE GetSDOSchema( 
              /* [retval][out] */ __RPC__deref_out_opt IUnknown **ppSDOSchema) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct ISdoMachineVtbl
      {
          BEGIN_INTERFACE
          
          DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in ISdoMachine * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          DECLSPEC_XFGVIRT(IUnknown, AddRef)
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in ISdoMachine * This);
          
          DECLSPEC_XFGVIRT(IUnknown, Release)
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in ISdoMachine * This);
          
          DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
          HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
              __RPC__in ISdoMachine * This,
              /* [out] */ __RPC__out UINT *pctinfo);
          
          DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
          HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
              __RPC__in ISdoMachine * This,
              /* [in] */ UINT iTInfo,
              /* [in] */ LCID lcid,
              /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
          
          DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
          HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
              __RPC__in ISdoMachine * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
              /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
              /* [in] */ LCID lcid,
              /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
          
          DECLSPEC_XFGVIRT(IDispatch, Invoke)
          /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
              ISdoMachine * This,
              /* [annotation][in] */ 
              _In_  DISPID dispIdMember,
              /* [annotation][in] */ 
              _In_  REFIID riid,
              /* [annotation][in] */ 
              _In_  LCID lcid,
              /* [annotation][in] */ 
              _In_  WORD wFlags,
              /* [annotation][out][in] */ 
              _In_  DISPPARAMS *pDispParams,
              /* [annotation][out] */ 
              _Out_opt_  VARIANT *pVarResult,
              /* [annotation][out] */ 
              _Out_opt_  EXCEPINFO *pExcepInfo,
              /* [annotation][out] */ 
              _Out_opt_  UINT *puArgErr);
          
          DECLSPEC_XFGVIRT(ISdoMachine, Attach)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *Attach )( 
              __RPC__in ISdoMachine * This,
              /* [in] */ __RPC__in BSTR bstrComputerName);
          
          DECLSPEC_XFGVIRT(ISdoMachine, GetDictionarySDO)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetDictionarySDO )( 
              __RPC__in ISdoMachine * This,
              /* [retval][out] */ __RPC__deref_out_opt IUnknown **ppDictionarySDO);
          
          DECLSPEC_XFGVIRT(ISdoMachine, GetServiceSDO)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetServiceSDO )( 
              __RPC__in ISdoMachine * This,
              /* [in] */ IASDATASTORE eDataStore,
              /* [in] */ __RPC__in BSTR bstrServiceName,
              /* [retval][out] */ __RPC__deref_out_opt IUnknown **ppServiceSDO);
          
          DECLSPEC_XFGVIRT(ISdoMachine, GetUserSDO)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetUserSDO )( 
              __RPC__in ISdoMachine * This,
              /* [in] */ IASDATASTORE eDataStore,
              /* [in] */ __RPC__in BSTR bstrUserName,
              /* [retval][out] */ __RPC__deref_out_opt IUnknown **ppUserSDO);
          
          DECLSPEC_XFGVIRT(ISdoMachine, GetOSType)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetOSType )( 
              __RPC__in ISdoMachine * This,
              /* [retval][out] */ __RPC__out IASOSTYPE *eOSType);
          
          DECLSPEC_XFGVIRT(ISdoMachine, GetDomainType)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetDomainType )( 
              __RPC__in ISdoMachine * This,
              /* [retval][out] */ __RPC__out IASDOMAINTYPE *eDomainType);
          
          DECLSPEC_XFGVIRT(ISdoMachine, IsDirectoryAvailable)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *IsDirectoryAvailable )( 
              __RPC__in ISdoMachine * This,
              /* [retval][out] */ __RPC__out VARIANT_BOOL *boolDirectoryAvailable);
          
          DECLSPEC_XFGVIRT(ISdoMachine, GetAttachedComputer)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetAttachedComputer )( 
              __RPC__in ISdoMachine * This,
              /* [retval][out] */ __RPC__deref_out_opt BSTR *bstrComputerName);
          
          DECLSPEC_XFGVIRT(ISdoMachine, GetSDOSchema)
          /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *GetSDOSchema )( 
              __RPC__in ISdoMachine * This,
              /* [retval][out] */ __RPC__deref_out_opt IUnknown **ppSDOSchema);
          
          END_INTERFACE
      } ISdoMachineVtbl;
  
      interface ISdoMachine
      {
          CONST_VTBL struct ISdoMachineVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define ISdoMachine_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define ISdoMachine_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define ISdoMachine_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define ISdoMachine_GetTypeInfoCount(This,pctinfo)	\
      ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 
  
  #define ISdoMachine_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
      ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 
  
  #define ISdoMachine_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
      ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 
  
  #define ISdoMachine_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
      ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 
  
  
  #define ISdoMachine_Attach(This,bstrComputerName)	\
      ( (This)->lpVtbl -> Attach(This,bstrComputerName) ) 
  
  #define ISdoMachine_GetDictionarySDO(This,ppDictionarySDO)	\
      ( (This)->lpVtbl -> GetDictionarySDO(This,ppDictionarySDO) ) 
  
  #define ISdoMachine_GetServiceSDO(This,eDataStore,bstrServiceName,ppServiceSDO)	\
      ( (This)->lpVtbl -> GetServiceSDO(This,eDataStore,bstrServiceName,ppServiceSDO) ) 
  
  #define ISdoMachine_GetUserSDO(This,eDataStore,bstrUserName,ppUserSDO)	\
      ( (This)->lpVtbl -> GetUserSDO(This,eDataStore,bstrUserName,ppUserSDO) ) 
  
  #define ISdoMachine_GetOSType(This,eOSType)	\
      ( (This)->lpVtbl -> GetOSType(This,eOSType) ) 
  
  #define ISdoMachine_GetDomainType(This,eDomainType)	\
      ( (This)->lpVtbl -> GetDomainType(This,eDomainType) ) 
  
  #define ISdoMachine_IsDirectoryAvailable(This,boolDirectoryAvailable)	\
      ( (This)->lpVtbl -> IsDirectoryAvailable(This,boolDirectoryAvailable) ) 
  
  #define ISdoMachine_GetAttachedComputer(This,bstrComputerName)	\
      ( (This)->lpVtbl -> GetAttachedComputer(This,bstrComputerName) ) 
  
  #define ISdoMachine_GetSDOSchema(This,ppSDOSchema)	\
      ( (This)->lpVtbl -> GetSDOSchema(This,ppSDOSchema) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __ISdoMachine_INTERFACE_DEFINED__ */
  
  
  #ifndef __ISdoMachine2_INTERFACE_DEFINED__
  #define __ISdoMachine2_INTERFACE_DEFINED__
  
  /* interface ISdoMachine2 */
  /* [unique][dual][uuid][object] */ 
  
  
  EXTERN_C const IID IID_ISdoMachine2;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("518E5FFE-D8CE-4f7e-A5DB-B40A35419D3B")
      ISdoMachine2 : public ISdoMachine
      {
      public:
          virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetTemplatesSDO( 
              /* [in] */ __RPC__in BSTR bstrServiceName,
              /* [retval][out] */ __RPC__deref_out_opt IUnknown **ppTemplatesSDO) = 0;
          
          virtual /* [id] */ HRESULT STDMETHODCALLTYPE EnableTemplates( void) = 0;
          
          virtual /* [id] */ HRESULT STDMETHODCALLTYPE SyncConfigAgainstTemplates( 
              /* [in] */ __RPC__in BSTR bstrServiceName,
              /* [out][in] */ __RPC__deref_inout_opt IUnknown **ppConfigRoot,
              /* [out][in] */ __RPC__deref_inout_opt IUnknown **ppTemplatesRoot,
              /* [in] */ VARIANT_BOOL bForcedSync) = 0;
          
          virtual /* [id] */ HRESULT STDMETHODCALLTYPE ImportRemoteTemplates( 
              __RPC__in_opt IUnknown *pLocalTemplatesRoot,
              __RPC__in BSTR bstrRemoteMachineName) = 0;
          
          virtual /* [id] */ HRESULT STDMETHODCALLTYPE Reload( void) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct ISdoMachine2Vtbl
      {
          BEGIN_INTERFACE
          
          DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in ISdoMachine2 * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          DECLSPEC_XFGVIRT(IUnknown, AddRef)
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in ISdoMachine2 * This);
          
          DECLSPEC_XFGVIRT(IUnknown, Release)
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in ISdoMachine2 * This);
          
          DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
          HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
              __RPC__in ISdoMachine2 * This,
              /* [out] */ __RPC__out UINT *pctinfo);
          
          DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
          HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
              __RPC__in ISdoMachine2 * This,
              /* [in] */ UINT iTInfo,
              /* [in] */ LCID lcid,
              /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
          
          DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
          HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
              __RPC__in ISdoMachine2 * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
              /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
              /* [in] */ LCID lcid,
              /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
          
          DECLSPEC_XFGVIRT(IDispatch, Invoke)
          /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
              ISdoMachine2 * This,
              /* [annotation][in] */ 
              _In_  DISPID dispIdMember,
              /* [annotation][in] */ 
              _In_  REFIID riid,
              /* [annotation][in] */ 
              _In_  LCID lcid,
              /* [annotation][in] */ 
              _In_  WORD wFlags,
              /* [annotation][out][in] */ 
              _In_  DISPPARAMS *pDispParams,
              /* [annotation][out] */ 
              _Out_opt_  VARIANT *pVarResult,
              /* [annotation][out] */ 
              _Out_opt_  EXCEPINFO *pExcepInfo,
              /* [annotation][out] */ 
              _Out_opt_  UINT *puArgErr);
          
          DECLSPEC_XFGVIRT(ISdoMachine, Attach)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *Attach )( 
              __RPC__in ISdoMachine2 * This,
              /* [in] */ __RPC__in BSTR bstrComputerName);
          
          DECLSPEC_XFGVIRT(ISdoMachine, GetDictionarySDO)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetDictionarySDO )( 
              __RPC__in ISdoMachine2 * This,
              /* [retval][out] */ __RPC__deref_out_opt IUnknown **ppDictionarySDO);
          
          DECLSPEC_XFGVIRT(ISdoMachine, GetServiceSDO)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetServiceSDO )( 
              __RPC__in ISdoMachine2 * This,
              /* [in] */ IASDATASTORE eDataStore,
              /* [in] */ __RPC__in BSTR bstrServiceName,
              /* [retval][out] */ __RPC__deref_out_opt IUnknown **ppServiceSDO);
          
          DECLSPEC_XFGVIRT(ISdoMachine, GetUserSDO)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetUserSDO )( 
              __RPC__in ISdoMachine2 * This,
              /* [in] */ IASDATASTORE eDataStore,
              /* [in] */ __RPC__in BSTR bstrUserName,
              /* [retval][out] */ __RPC__deref_out_opt IUnknown **ppUserSDO);
          
          DECLSPEC_XFGVIRT(ISdoMachine, GetOSType)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetOSType )( 
              __RPC__in ISdoMachine2 * This,
              /* [retval][out] */ __RPC__out IASOSTYPE *eOSType);
          
          DECLSPEC_XFGVIRT(ISdoMachine, GetDomainType)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetDomainType )( 
              __RPC__in ISdoMachine2 * This,
              /* [retval][out] */ __RPC__out IASDOMAINTYPE *eDomainType);
          
          DECLSPEC_XFGVIRT(ISdoMachine, IsDirectoryAvailable)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *IsDirectoryAvailable )( 
              __RPC__in ISdoMachine2 * This,
              /* [retval][out] */ __RPC__out VARIANT_BOOL *boolDirectoryAvailable);
          
          DECLSPEC_XFGVIRT(ISdoMachine, GetAttachedComputer)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetAttachedComputer )( 
              __RPC__in ISdoMachine2 * This,
              /* [retval][out] */ __RPC__deref_out_opt BSTR *bstrComputerName);
          
          DECLSPEC_XFGVIRT(ISdoMachine, GetSDOSchema)
          /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *GetSDOSchema )( 
              __RPC__in ISdoMachine2 * This,
              /* [retval][out] */ __RPC__deref_out_opt IUnknown **ppSDOSchema);
          
          DECLSPEC_XFGVIRT(ISdoMachine2, GetTemplatesSDO)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetTemplatesSDO )( 
              __RPC__in ISdoMachine2 * This,
              /* [in] */ __RPC__in BSTR bstrServiceName,
              /* [retval][out] */ __RPC__deref_out_opt IUnknown **ppTemplatesSDO);
          
          DECLSPEC_XFGVIRT(ISdoMachine2, EnableTemplates)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *EnableTemplates )( 
              __RPC__in ISdoMachine2 * This);
          
          DECLSPEC_XFGVIRT(ISdoMachine2, SyncConfigAgainstTemplates)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *SyncConfigAgainstTemplates )( 
              __RPC__in ISdoMachine2 * This,
              /* [in] */ __RPC__in BSTR bstrServiceName,
              /* [out][in] */ __RPC__deref_inout_opt IUnknown **ppConfigRoot,
              /* [out][in] */ __RPC__deref_inout_opt IUnknown **ppTemplatesRoot,
              /* [in] */ VARIANT_BOOL bForcedSync);
          
          DECLSPEC_XFGVIRT(ISdoMachine2, ImportRemoteTemplates)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *ImportRemoteTemplates )( 
              __RPC__in ISdoMachine2 * This,
              __RPC__in_opt IUnknown *pLocalTemplatesRoot,
              __RPC__in BSTR bstrRemoteMachineName);
          
          DECLSPEC_XFGVIRT(ISdoMachine2, Reload)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *Reload )( 
              __RPC__in ISdoMachine2 * This);
          
          END_INTERFACE
      } ISdoMachine2Vtbl;
  
      interface ISdoMachine2
      {
          CONST_VTBL struct ISdoMachine2Vtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define ISdoMachine2_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define ISdoMachine2_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define ISdoMachine2_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define ISdoMachine2_GetTypeInfoCount(This,pctinfo)	\
      ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 
  
  #define ISdoMachine2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
      ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 
  
  #define ISdoMachine2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
      ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 
  
  #define ISdoMachine2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
      ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 
  
  
  #define ISdoMachine2_Attach(This,bstrComputerName)	\
      ( (This)->lpVtbl -> Attach(This,bstrComputerName) ) 
  
  #define ISdoMachine2_GetDictionarySDO(This,ppDictionarySDO)	\
      ( (This)->lpVtbl -> GetDictionarySDO(This,ppDictionarySDO) ) 
  
  #define ISdoMachine2_GetServiceSDO(This,eDataStore,bstrServiceName,ppServiceSDO)	\
      ( (This)->lpVtbl -> GetServiceSDO(This,eDataStore,bstrServiceName,ppServiceSDO) ) 
  
  #define ISdoMachine2_GetUserSDO(This,eDataStore,bstrUserName,ppUserSDO)	\
      ( (This)->lpVtbl -> GetUserSDO(This,eDataStore,bstrUserName,ppUserSDO) ) 
  
  #define ISdoMachine2_GetOSType(This,eOSType)	\
      ( (This)->lpVtbl -> GetOSType(This,eOSType) ) 
  
  #define ISdoMachine2_GetDomainType(This,eDomainType)	\
      ( (This)->lpVtbl -> GetDomainType(This,eDomainType) ) 
  
  #define ISdoMachine2_IsDirectoryAvailable(This,boolDirectoryAvailable)	\
      ( (This)->lpVtbl -> IsDirectoryAvailable(This,boolDirectoryAvailable) ) 
  
  #define ISdoMachine2_GetAttachedComputer(This,bstrComputerName)	\
      ( (This)->lpVtbl -> GetAttachedComputer(This,bstrComputerName) ) 
  
  #define ISdoMachine2_GetSDOSchema(This,ppSDOSchema)	\
      ( (This)->lpVtbl -> GetSDOSchema(This,ppSDOSchema) ) 
  
  
  #define ISdoMachine2_GetTemplatesSDO(This,bstrServiceName,ppTemplatesSDO)	\
      ( (This)->lpVtbl -> GetTemplatesSDO(This,bstrServiceName,ppTemplatesSDO) ) 
  
  #define ISdoMachine2_EnableTemplates(This)	\
      ( (This)->lpVtbl -> EnableTemplates(This) ) 
  
  #define ISdoMachine2_SyncConfigAgainstTemplates(This,bstrServiceName,ppConfigRoot,ppTemplatesRoot,bForcedSync)	\
      ( (This)->lpVtbl -> SyncConfigAgainstTemplates(This,bstrServiceName,ppConfigRoot,ppTemplatesRoot,bForcedSync) ) 
  
  #define ISdoMachine2_ImportRemoteTemplates(This,pLocalTemplatesRoot,bstrRemoteMachineName)	\
      ( (This)->lpVtbl -> ImportRemoteTemplates(This,pLocalTemplatesRoot,bstrRemoteMachineName) ) 
  
  #define ISdoMachine2_Reload(This)	\
      ( (This)->lpVtbl -> Reload(This) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __ISdoMachine2_INTERFACE_DEFINED__ */
  
  
  #ifndef __ISdoServiceControl_INTERFACE_DEFINED__
  #define __ISdoServiceControl_INTERFACE_DEFINED__
  
  /* interface ISdoServiceControl */
  /* [unique][dual][uuid][object] */ 
  
  
  EXTERN_C const IID IID_ISdoServiceControl;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("479F6E74-49A2-11d2-8ECA-00C04FC2F519")
      ISdoServiceControl : public IDispatch
      {
      public:
          virtual /* [id] */ HRESULT STDMETHODCALLTYPE StartService( void) = 0;
          
          virtual /* [id] */ HRESULT STDMETHODCALLTYPE StopService( void) = 0;
          
          virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetServiceStatus( 
              /* [retval][out] */ __RPC__out LONG *status) = 0;
          
          virtual /* [id] */ HRESULT STDMETHODCALLTYPE ResetService( void) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct ISdoServiceControlVtbl
      {
          BEGIN_INTERFACE
          
          DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in ISdoServiceControl * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          DECLSPEC_XFGVIRT(IUnknown, AddRef)
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in ISdoServiceControl * This);
          
          DECLSPEC_XFGVIRT(IUnknown, Release)
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in ISdoServiceControl * This);
          
          DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
          HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
              __RPC__in ISdoServiceControl * This,
              /* [out] */ __RPC__out UINT *pctinfo);
          
          DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
          HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
              __RPC__in ISdoServiceControl * This,
              /* [in] */ UINT iTInfo,
              /* [in] */ LCID lcid,
              /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
          
          DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
          HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
              __RPC__in ISdoServiceControl * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
              /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
              /* [in] */ LCID lcid,
              /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
          
          DECLSPEC_XFGVIRT(IDispatch, Invoke)
          /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
              ISdoServiceControl * This,
              /* [annotation][in] */ 
              _In_  DISPID dispIdMember,
              /* [annotation][in] */ 
              _In_  REFIID riid,
              /* [annotation][in] */ 
              _In_  LCID lcid,
              /* [annotation][in] */ 
              _In_  WORD wFlags,
              /* [annotation][out][in] */ 
              _In_  DISPPARAMS *pDispParams,
              /* [annotation][out] */ 
              _Out_opt_  VARIANT *pVarResult,
              /* [annotation][out] */ 
              _Out_opt_  EXCEPINFO *pExcepInfo,
              /* [annotation][out] */ 
              _Out_opt_  UINT *puArgErr);
          
          DECLSPEC_XFGVIRT(ISdoServiceControl, StartService)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *StartService )( 
              __RPC__in ISdoServiceControl * This);
          
          DECLSPEC_XFGVIRT(ISdoServiceControl, StopService)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *StopService )( 
              __RPC__in ISdoServiceControl * This);
          
          DECLSPEC_XFGVIRT(ISdoServiceControl, GetServiceStatus)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetServiceStatus )( 
              __RPC__in ISdoServiceControl * This,
              /* [retval][out] */ __RPC__out LONG *status);
          
          DECLSPEC_XFGVIRT(ISdoServiceControl, ResetService)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *ResetService )( 
              __RPC__in ISdoServiceControl * This);
          
          END_INTERFACE
      } ISdoServiceControlVtbl;
  
      interface ISdoServiceControl
      {
          CONST_VTBL struct ISdoServiceControlVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define ISdoServiceControl_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define ISdoServiceControl_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define ISdoServiceControl_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define ISdoServiceControl_GetTypeInfoCount(This,pctinfo)	\
      ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 
  
  #define ISdoServiceControl_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
      ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 
  
  #define ISdoServiceControl_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
      ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 
  
  #define ISdoServiceControl_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
      ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 
  
  
  #define ISdoServiceControl_StartService(This)	\
      ( (This)->lpVtbl -> StartService(This) ) 
  
  #define ISdoServiceControl_StopService(This)	\
      ( (This)->lpVtbl -> StopService(This) ) 
  
  #define ISdoServiceControl_GetServiceStatus(This,status)	\
      ( (This)->lpVtbl -> GetServiceStatus(This,status) ) 
  
  #define ISdoServiceControl_ResetService(This)	\
      ( (This)->lpVtbl -> ResetService(This) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __ISdoServiceControl_INTERFACE_DEFINED__ */
  
  
  #ifndef __ISdo_INTERFACE_DEFINED__
  #define __ISdo_INTERFACE_DEFINED__
  
  /* interface ISdo */
  /* [unique][dual][uuid][object] */ 
  
  
  EXTERN_C const IID IID_ISdo;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("56BC53DE-96DB-11D1-BF3F-000000000000")
      ISdo : public IDispatch
      {
      public:
          virtual /* [hidden][id] */ HRESULT STDMETHODCALLTYPE GetPropertyInfo( 
              /* [in] */ LONG Id,
              /* [retval][out] */ __RPC__deref_out_opt IUnknown **ppPropertyInfo) = 0;
          
          virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetProperty( 
              /* [in] */ LONG Id,
              /* [retval][out] */ __RPC__out VARIANT *pValue) = 0;
          
          virtual /* [id] */ HRESULT STDMETHODCALLTYPE PutProperty( 
              /* [in] */ LONG Id,
              /* [in] */ __RPC__in VARIANT *pValue) = 0;
          
          virtual /* [id] */ HRESULT STDMETHODCALLTYPE ResetProperty( 
              /* [in] */ LONG Id) = 0;
          
          virtual /* [id] */ HRESULT STDMETHODCALLTYPE Apply( void) = 0;
          
          virtual /* [id] */ HRESULT STDMETHODCALLTYPE Restore( void) = 0;
          
          virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
              /* [retval][out] */ __RPC__deref_out_opt IUnknown **ppEnumVARIANT) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct ISdoVtbl
      {
          BEGIN_INTERFACE
          
          DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in ISdo * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          DECLSPEC_XFGVIRT(IUnknown, AddRef)
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in ISdo * This);
          
          DECLSPEC_XFGVIRT(IUnknown, Release)
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in ISdo * This);
          
          DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
          HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
              __RPC__in ISdo * This,
              /* [out] */ __RPC__out UINT *pctinfo);
          
          DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
          HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
              __RPC__in ISdo * This,
              /* [in] */ UINT iTInfo,
              /* [in] */ LCID lcid,
              /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
          
          DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
          HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
              __RPC__in ISdo * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
              /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
              /* [in] */ LCID lcid,
              /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
          
          DECLSPEC_XFGVIRT(IDispatch, Invoke)
          /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
              ISdo * This,
              /* [annotation][in] */ 
              _In_  DISPID dispIdMember,
              /* [annotation][in] */ 
              _In_  REFIID riid,
              /* [annotation][in] */ 
              _In_  LCID lcid,
              /* [annotation][in] */ 
              _In_  WORD wFlags,
              /* [annotation][out][in] */ 
              _In_  DISPPARAMS *pDispParams,
              /* [annotation][out] */ 
              _Out_opt_  VARIANT *pVarResult,
              /* [annotation][out] */ 
              _Out_opt_  EXCEPINFO *pExcepInfo,
              /* [annotation][out] */ 
              _Out_opt_  UINT *puArgErr);
          
          DECLSPEC_XFGVIRT(ISdo, GetPropertyInfo)
          /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *GetPropertyInfo )( 
              __RPC__in ISdo * This,
              /* [in] */ LONG Id,
              /* [retval][out] */ __RPC__deref_out_opt IUnknown **ppPropertyInfo);
          
          DECLSPEC_XFGVIRT(ISdo, GetProperty)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetProperty )( 
              __RPC__in ISdo * This,
              /* [in] */ LONG Id,
              /* [retval][out] */ __RPC__out VARIANT *pValue);
          
          DECLSPEC_XFGVIRT(ISdo, PutProperty)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *PutProperty )( 
              __RPC__in ISdo * This,
              /* [in] */ LONG Id,
              /* [in] */ __RPC__in VARIANT *pValue);
          
          DECLSPEC_XFGVIRT(ISdo, ResetProperty)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *ResetProperty )( 
              __RPC__in ISdo * This,
              /* [in] */ LONG Id);
          
          DECLSPEC_XFGVIRT(ISdo, Apply)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *Apply )( 
              __RPC__in ISdo * This);
          
          DECLSPEC_XFGVIRT(ISdo, Restore)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *Restore )( 
              __RPC__in ISdo * This);
          
          DECLSPEC_XFGVIRT(ISdo, get__NewEnum)
          /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
              __RPC__in ISdo * This,
              /* [retval][out] */ __RPC__deref_out_opt IUnknown **ppEnumVARIANT);
          
          END_INTERFACE
      } ISdoVtbl;
  
      interface ISdo
      {
          CONST_VTBL struct ISdoVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define ISdo_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define ISdo_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define ISdo_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define ISdo_GetTypeInfoCount(This,pctinfo)	\
      ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 
  
  #define ISdo_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
      ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 
  
  #define ISdo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
      ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 
  
  #define ISdo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
      ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 
  
  
  #define ISdo_GetPropertyInfo(This,Id,ppPropertyInfo)	\
      ( (This)->lpVtbl -> GetPropertyInfo(This,Id,ppPropertyInfo) ) 
  
  #define ISdo_GetProperty(This,Id,pValue)	\
      ( (This)->lpVtbl -> GetProperty(This,Id,pValue) ) 
  
  #define ISdo_PutProperty(This,Id,pValue)	\
      ( (This)->lpVtbl -> PutProperty(This,Id,pValue) ) 
  
  #define ISdo_ResetProperty(This,Id)	\
      ( (This)->lpVtbl -> ResetProperty(This,Id) ) 
  
  #define ISdo_Apply(This)	\
      ( (This)->lpVtbl -> Apply(This) ) 
  
  #define ISdo_Restore(This)	\
      ( (This)->lpVtbl -> Restore(This) ) 
  
  #define ISdo_get__NewEnum(This,ppEnumVARIANT)	\
      ( (This)->lpVtbl -> get__NewEnum(This,ppEnumVARIANT) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __ISdo_INTERFACE_DEFINED__ */
  
  
  #ifndef __ISdoCollection_INTERFACE_DEFINED__
  #define __ISdoCollection_INTERFACE_DEFINED__
  
  /* interface ISdoCollection */
  /* [unique][dual][uuid][object] */ 
  
  
  EXTERN_C const IID IID_ISdoCollection;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("56BC53E2-96DB-11D1-BF3F-000000000000")
      ISdoCollection : public IDispatch
      {
      public:
          virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
              /* [retval][out] */ __RPC__out long *pCount) = 0;
          
          virtual /* [id] */ HRESULT STDMETHODCALLTYPE Add( 
              /* [in] */ __RPC__in BSTR bstrName,
              /* [out][in] */ __RPC__deref_inout_opt IDispatch **ppItem) = 0;
          
          virtual /* [id] */ HRESULT STDMETHODCALLTYPE Remove( 
              /* [in] */ __RPC__in_opt IDispatch *pItem) = 0;
          
          virtual /* [id] */ HRESULT STDMETHODCALLTYPE RemoveAll( void) = 0;
          
          virtual /* [id] */ HRESULT STDMETHODCALLTYPE Reload( void) = 0;
          
          virtual /* [id] */ HRESULT STDMETHODCALLTYPE IsNameUnique( 
              /* [in] */ __RPC__in BSTR bstrName,
              /* [retval][out] */ __RPC__out VARIANT_BOOL *pBool) = 0;
          
          virtual /* [id] */ HRESULT STDMETHODCALLTYPE Item( 
              /* [in] */ __RPC__in VARIANT *Name,
              /* [retval][out] */ __RPC__deref_out_opt IDispatch **pItem) = 0;
          
          virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
              /* [retval][out] */ __RPC__deref_out_opt IUnknown **ppEnumVARIANT) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct ISdoCollectionVtbl
      {
          BEGIN_INTERFACE
          
          DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in ISdoCollection * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          DECLSPEC_XFGVIRT(IUnknown, AddRef)
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in ISdoCollection * This);
          
          DECLSPEC_XFGVIRT(IUnknown, Release)
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in ISdoCollection * This);
          
          DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
          HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
              __RPC__in ISdoCollection * This,
              /* [out] */ __RPC__out UINT *pctinfo);
          
          DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
          HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
              __RPC__in ISdoCollection * This,
              /* [in] */ UINT iTInfo,
              /* [in] */ LCID lcid,
              /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
          
          DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
          HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
              __RPC__in ISdoCollection * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
              /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
              /* [in] */ LCID lcid,
              /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
          
          DECLSPEC_XFGVIRT(IDispatch, Invoke)
          /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
              ISdoCollection * This,
              /* [annotation][in] */ 
              _In_  DISPID dispIdMember,
              /* [annotation][in] */ 
              _In_  REFIID riid,
              /* [annotation][in] */ 
              _In_  LCID lcid,
              /* [annotation][in] */ 
              _In_  WORD wFlags,
              /* [annotation][out][in] */ 
              _In_  DISPPARAMS *pDispParams,
              /* [annotation][out] */ 
              _Out_opt_  VARIANT *pVarResult,
              /* [annotation][out] */ 
              _Out_opt_  EXCEPINFO *pExcepInfo,
              /* [annotation][out] */ 
              _Out_opt_  UINT *puArgErr);
          
          DECLSPEC_XFGVIRT(ISdoCollection, get_Count)
          /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
              __RPC__in ISdoCollection * This,
              /* [retval][out] */ __RPC__out long *pCount);
          
          DECLSPEC_XFGVIRT(ISdoCollection, Add)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
              __RPC__in ISdoCollection * This,
              /* [in] */ __RPC__in BSTR bstrName,
              /* [out][in] */ __RPC__deref_inout_opt IDispatch **ppItem);
          
          DECLSPEC_XFGVIRT(ISdoCollection, Remove)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
              __RPC__in ISdoCollection * This,
              /* [in] */ __RPC__in_opt IDispatch *pItem);
          
          DECLSPEC_XFGVIRT(ISdoCollection, RemoveAll)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *RemoveAll )( 
              __RPC__in ISdoCollection * This);
          
          DECLSPEC_XFGVIRT(ISdoCollection, Reload)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *Reload )( 
              __RPC__in ISdoCollection * This);
          
          DECLSPEC_XFGVIRT(ISdoCollection, IsNameUnique)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *IsNameUnique )( 
              __RPC__in ISdoCollection * This,
              /* [in] */ __RPC__in BSTR bstrName,
              /* [retval][out] */ __RPC__out VARIANT_BOOL *pBool);
          
          DECLSPEC_XFGVIRT(ISdoCollection, Item)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
              __RPC__in ISdoCollection * This,
              /* [in] */ __RPC__in VARIANT *Name,
              /* [retval][out] */ __RPC__deref_out_opt IDispatch **pItem);
          
          DECLSPEC_XFGVIRT(ISdoCollection, get__NewEnum)
          /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
              __RPC__in ISdoCollection * This,
              /* [retval][out] */ __RPC__deref_out_opt IUnknown **ppEnumVARIANT);
          
          END_INTERFACE
      } ISdoCollectionVtbl;
  
      interface ISdoCollection
      {
          CONST_VTBL struct ISdoCollectionVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define ISdoCollection_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define ISdoCollection_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define ISdoCollection_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define ISdoCollection_GetTypeInfoCount(This,pctinfo)	\
      ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 
  
  #define ISdoCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
      ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 
  
  #define ISdoCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
      ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 
  
  #define ISdoCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
      ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 
  
  
  #define ISdoCollection_get_Count(This,pCount)	\
      ( (This)->lpVtbl -> get_Count(This,pCount) ) 
  
  #define ISdoCollection_Add(This,bstrName,ppItem)	\
      ( (This)->lpVtbl -> Add(This,bstrName,ppItem) ) 
  
  #define ISdoCollection_Remove(This,pItem)	\
      ( (This)->lpVtbl -> Remove(This,pItem) ) 
  
  #define ISdoCollection_RemoveAll(This)	\
      ( (This)->lpVtbl -> RemoveAll(This) ) 
  
  #define ISdoCollection_Reload(This)	\
      ( (This)->lpVtbl -> Reload(This) ) 
  
  #define ISdoCollection_IsNameUnique(This,bstrName,pBool)	\
      ( (This)->lpVtbl -> IsNameUnique(This,bstrName,pBool) ) 
  
  #define ISdoCollection_Item(This,Name,pItem)	\
      ( (This)->lpVtbl -> Item(This,Name,pItem) ) 
  
  #define ISdoCollection_get__NewEnum(This,ppEnumVARIANT)	\
      ( (This)->lpVtbl -> get__NewEnum(This,ppEnumVARIANT) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __ISdoCollection_INTERFACE_DEFINED__ */
  
  
  #ifndef __ITemplateSdo_INTERFACE_DEFINED__
  #define __ITemplateSdo_INTERFACE_DEFINED__
  
  /* interface ITemplateSdo */
  /* [unique][dual][uuid][object] */ 
  
  
  EXTERN_C const IID IID_ITemplateSdo;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("8AA85302-D2E2-4e20-8B1F-A571E437D6C9")
      ITemplateSdo : public ISdo
      {
      public:
          virtual /* [id] */ HRESULT STDMETHODCALLTYPE AddToCollection( 
              /* [in] */ __RPC__in BSTR bstrName,
              /* [in] */ __RPC__in_opt IDispatch *pCollection,
              /* [out][in] */ __RPC__deref_inout_opt IDispatch **ppItem) = 0;
          
          virtual /* [id] */ HRESULT STDMETHODCALLTYPE AddToSdo( 
              /* [in] */ __RPC__in BSTR bstrName,
              /* [in] */ __RPC__in_opt IDispatch *pSdoTarget,
              /* [out][in] */ __RPC__deref_inout_opt IDispatch **ppItem) = 0;
          
          virtual /* [id] */ HRESULT STDMETHODCALLTYPE AddToSdoAsProperty( 
              /* [in] */ __RPC__in_opt IDispatch *pSdoTarget,
              /* [in] */ LONG id) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct ITemplateSdoVtbl
      {
          BEGIN_INTERFACE
          
          DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in ITemplateSdo * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          DECLSPEC_XFGVIRT(IUnknown, AddRef)
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in ITemplateSdo * This);
          
          DECLSPEC_XFGVIRT(IUnknown, Release)
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in ITemplateSdo * This);
          
          DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
          HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
              __RPC__in ITemplateSdo * This,
              /* [out] */ __RPC__out UINT *pctinfo);
          
          DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
          HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
              __RPC__in ITemplateSdo * This,
              /* [in] */ UINT iTInfo,
              /* [in] */ LCID lcid,
              /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
          
          DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
          HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
              __RPC__in ITemplateSdo * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
              /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
              /* [in] */ LCID lcid,
              /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
          
          DECLSPEC_XFGVIRT(IDispatch, Invoke)
          /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
              ITemplateSdo * This,
              /* [annotation][in] */ 
              _In_  DISPID dispIdMember,
              /* [annotation][in] */ 
              _In_  REFIID riid,
              /* [annotation][in] */ 
              _In_  LCID lcid,
              /* [annotation][in] */ 
              _In_  WORD wFlags,
              /* [annotation][out][in] */ 
              _In_  DISPPARAMS *pDispParams,
              /* [annotation][out] */ 
              _Out_opt_  VARIANT *pVarResult,
              /* [annotation][out] */ 
              _Out_opt_  EXCEPINFO *pExcepInfo,
              /* [annotation][out] */ 
              _Out_opt_  UINT *puArgErr);
          
          DECLSPEC_XFGVIRT(ISdo, GetPropertyInfo)
          /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *GetPropertyInfo )( 
              __RPC__in ITemplateSdo * This,
              /* [in] */ LONG Id,
              /* [retval][out] */ __RPC__deref_out_opt IUnknown **ppPropertyInfo);
          
          DECLSPEC_XFGVIRT(ISdo, GetProperty)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetProperty )( 
              __RPC__in ITemplateSdo * This,
              /* [in] */ LONG Id,
              /* [retval][out] */ __RPC__out VARIANT *pValue);
          
          DECLSPEC_XFGVIRT(ISdo, PutProperty)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *PutProperty )( 
              __RPC__in ITemplateSdo * This,
              /* [in] */ LONG Id,
              /* [in] */ __RPC__in VARIANT *pValue);
          
          DECLSPEC_XFGVIRT(ISdo, ResetProperty)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *ResetProperty )( 
              __RPC__in ITemplateSdo * This,
              /* [in] */ LONG Id);
          
          DECLSPEC_XFGVIRT(ISdo, Apply)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *Apply )( 
              __RPC__in ITemplateSdo * This);
          
          DECLSPEC_XFGVIRT(ISdo, Restore)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *Restore )( 
              __RPC__in ITemplateSdo * This);
          
          DECLSPEC_XFGVIRT(ISdo, get__NewEnum)
          /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
              __RPC__in ITemplateSdo * This,
              /* [retval][out] */ __RPC__deref_out_opt IUnknown **ppEnumVARIANT);
          
          DECLSPEC_XFGVIRT(ITemplateSdo, AddToCollection)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *AddToCollection )( 
              __RPC__in ITemplateSdo * This,
              /* [in] */ __RPC__in BSTR bstrName,
              /* [in] */ __RPC__in_opt IDispatch *pCollection,
              /* [out][in] */ __RPC__deref_inout_opt IDispatch **ppItem);
          
          DECLSPEC_XFGVIRT(ITemplateSdo, AddToSdo)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *AddToSdo )( 
              __RPC__in ITemplateSdo * This,
              /* [in] */ __RPC__in BSTR bstrName,
              /* [in] */ __RPC__in_opt IDispatch *pSdoTarget,
              /* [out][in] */ __RPC__deref_inout_opt IDispatch **ppItem);
          
          DECLSPEC_XFGVIRT(ITemplateSdo, AddToSdoAsProperty)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *AddToSdoAsProperty )( 
              __RPC__in ITemplateSdo * This,
              /* [in] */ __RPC__in_opt IDispatch *pSdoTarget,
              /* [in] */ LONG id);
          
          END_INTERFACE
      } ITemplateSdoVtbl;
  
      interface ITemplateSdo
      {
          CONST_VTBL struct ITemplateSdoVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define ITemplateSdo_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define ITemplateSdo_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define ITemplateSdo_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define ITemplateSdo_GetTypeInfoCount(This,pctinfo)	\
      ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 
  
  #define ITemplateSdo_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
      ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 
  
  #define ITemplateSdo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
      ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 
  
  #define ITemplateSdo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
      ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 
  
  
  #define ITemplateSdo_GetPropertyInfo(This,Id,ppPropertyInfo)	\
      ( (This)->lpVtbl -> GetPropertyInfo(This,Id,ppPropertyInfo) ) 
  
  #define ITemplateSdo_GetProperty(This,Id,pValue)	\
      ( (This)->lpVtbl -> GetProperty(This,Id,pValue) ) 
  
  #define ITemplateSdo_PutProperty(This,Id,pValue)	\
      ( (This)->lpVtbl -> PutProperty(This,Id,pValue) ) 
  
  #define ITemplateSdo_ResetProperty(This,Id)	\
      ( (This)->lpVtbl -> ResetProperty(This,Id) ) 
  
  #define ITemplateSdo_Apply(This)	\
      ( (This)->lpVtbl -> Apply(This) ) 
  
  #define ITemplateSdo_Restore(This)	\
      ( (This)->lpVtbl -> Restore(This) ) 
  
  #define ITemplateSdo_get__NewEnum(This,ppEnumVARIANT)	\
      ( (This)->lpVtbl -> get__NewEnum(This,ppEnumVARIANT) ) 
  
  
  #define ITemplateSdo_AddToCollection(This,bstrName,pCollection,ppItem)	\
      ( (This)->lpVtbl -> AddToCollection(This,bstrName,pCollection,ppItem) ) 
  
  #define ITemplateSdo_AddToSdo(This,bstrName,pSdoTarget,ppItem)	\
      ( (This)->lpVtbl -> AddToSdo(This,bstrName,pSdoTarget,ppItem) ) 
  
  #define ITemplateSdo_AddToSdoAsProperty(This,pSdoTarget,id)	\
      ( (This)->lpVtbl -> AddToSdoAsProperty(This,pSdoTarget,id) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __ITemplateSdo_INTERFACE_DEFINED__ */
  
  
  #ifndef __ISdoDictionaryOld_INTERFACE_DEFINED__
  #define __ISdoDictionaryOld_INTERFACE_DEFINED__
  
  /* interface ISdoDictionaryOld */
  /* [unique][dual][uuid][object] */ 
  
  
  EXTERN_C const IID IID_ISdoDictionaryOld;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("d432e5f4-53d8-11d2-9a3a-00c04fb998ac")
      ISdoDictionaryOld : public IDispatch
      {
      public:
          virtual /* [id] */ HRESULT STDMETHODCALLTYPE EnumAttributes( 
              /* [out][in] */ __RPC__inout VARIANT *Id,
              /* [retval][out] */ __RPC__out VARIANT *pValues) = 0;
          
          virtual /* [hidden][id] */ HRESULT STDMETHODCALLTYPE GetAttributeInfo( 
              /* [in] */ ATTRIBUTEID Id,
              /* [in] */ __RPC__in VARIANT *pInfoIDs,
              /* [retval][out] */ __RPC__out VARIANT *pInfoValues) = 0;
          
          virtual /* [id] */ HRESULT STDMETHODCALLTYPE EnumAttributeValues( 
              /* [in] */ ATTRIBUTEID Id,
              /* [out] */ __RPC__out VARIANT *pValueIds,
              /* [retval][out] */ __RPC__out VARIANT *pValuesDesc) = 0;
          
          virtual /* [id] */ HRESULT STDMETHODCALLTYPE CreateAttribute( 
              /* [in] */ ATTRIBUTEID Id,
              /* [retval][out] */ __RPC__deref_out_opt IDispatch **ppAttributeObject) = 0;
          
          virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetAttributeID( 
              /* [in] */ __RPC__in BSTR bstrAttributeName,
              /* [retval][out] */ __RPC__out ATTRIBUTEID *pId) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct ISdoDictionaryOldVtbl
      {
          BEGIN_INTERFACE
          
          DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in ISdoDictionaryOld * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          DECLSPEC_XFGVIRT(IUnknown, AddRef)
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in ISdoDictionaryOld * This);
          
          DECLSPEC_XFGVIRT(IUnknown, Release)
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in ISdoDictionaryOld * This);
          
          DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
          HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
              __RPC__in ISdoDictionaryOld * This,
              /* [out] */ __RPC__out UINT *pctinfo);
          
          DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
          HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
              __RPC__in ISdoDictionaryOld * This,
              /* [in] */ UINT iTInfo,
              /* [in] */ LCID lcid,
              /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
          
          DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
          HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
              __RPC__in ISdoDictionaryOld * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
              /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
              /* [in] */ LCID lcid,
              /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
          
          DECLSPEC_XFGVIRT(IDispatch, Invoke)
          /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
              ISdoDictionaryOld * This,
              /* [annotation][in] */ 
              _In_  DISPID dispIdMember,
              /* [annotation][in] */ 
              _In_  REFIID riid,
              /* [annotation][in] */ 
              _In_  LCID lcid,
              /* [annotation][in] */ 
              _In_  WORD wFlags,
              /* [annotation][out][in] */ 
              _In_  DISPPARAMS *pDispParams,
              /* [annotation][out] */ 
              _Out_opt_  VARIANT *pVarResult,
              /* [annotation][out] */ 
              _Out_opt_  EXCEPINFO *pExcepInfo,
              /* [annotation][out] */ 
              _Out_opt_  UINT *puArgErr);
          
          DECLSPEC_XFGVIRT(ISdoDictionaryOld, EnumAttributes)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *EnumAttributes )( 
              __RPC__in ISdoDictionaryOld * This,
              /* [out][in] */ __RPC__inout VARIANT *Id,
              /* [retval][out] */ __RPC__out VARIANT *pValues);
          
          DECLSPEC_XFGVIRT(ISdoDictionaryOld, GetAttributeInfo)
          /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *GetAttributeInfo )( 
              __RPC__in ISdoDictionaryOld * This,
              /* [in] */ ATTRIBUTEID Id,
              /* [in] */ __RPC__in VARIANT *pInfoIDs,
              /* [retval][out] */ __RPC__out VARIANT *pInfoValues);
          
          DECLSPEC_XFGVIRT(ISdoDictionaryOld, EnumAttributeValues)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *EnumAttributeValues )( 
              __RPC__in ISdoDictionaryOld * This,
              /* [in] */ ATTRIBUTEID Id,
              /* [out] */ __RPC__out VARIANT *pValueIds,
              /* [retval][out] */ __RPC__out VARIANT *pValuesDesc);
          
          DECLSPEC_XFGVIRT(ISdoDictionaryOld, CreateAttribute)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *CreateAttribute )( 
              __RPC__in ISdoDictionaryOld * This,
              /* [in] */ ATTRIBUTEID Id,
              /* [retval][out] */ __RPC__deref_out_opt IDispatch **ppAttributeObject);
          
          DECLSPEC_XFGVIRT(ISdoDictionaryOld, GetAttributeID)
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetAttributeID )( 
              __RPC__in ISdoDictionaryOld * This,
              /* [in] */ __RPC__in BSTR bstrAttributeName,
              /* [retval][out] */ __RPC__out ATTRIBUTEID *pId);
          
          END_INTERFACE
      } ISdoDictionaryOldVtbl;
  
      interface ISdoDictionaryOld
      {
          CONST_VTBL struct ISdoDictionaryOldVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define ISdoDictionaryOld_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define ISdoDictionaryOld_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define ISdoDictionaryOld_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define ISdoDictionaryOld_GetTypeInfoCount(This,pctinfo)	\
      ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 
  
  #define ISdoDictionaryOld_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
      ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 
  
  #define ISdoDictionaryOld_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
      ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 
  
  #define ISdoDictionaryOld_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
      ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 
  
  
  #define ISdoDictionaryOld_EnumAttributes(This,Id,pValues)	\
      ( (This)->lpVtbl -> EnumAttributes(This,Id,pValues) ) 
  
  #define ISdoDictionaryOld_GetAttributeInfo(This,Id,pInfoIDs,pInfoValues)	\
      ( (This)->lpVtbl -> GetAttributeInfo(This,Id,pInfoIDs,pInfoValues) ) 
  
  #define ISdoDictionaryOld_EnumAttributeValues(This,Id,pValueIds,pValuesDesc)	\
      ( (This)->lpVtbl -> EnumAttributeValues(This,Id,pValueIds,pValuesDesc) ) 
  
  #define ISdoDictionaryOld_CreateAttribute(This,Id,ppAttributeObject)	\
      ( (This)->lpVtbl -> CreateAttribute(This,Id,ppAttributeObject) ) 
  
  #define ISdoDictionaryOld_GetAttributeID(This,bstrAttributeName,pId)	\
      ( (This)->lpVtbl -> GetAttributeID(This,bstrAttributeName,pId) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __ISdoDictionaryOld_INTERFACE_DEFINED__ */
  
  
  EXTERN_C const CLSID CLSID_SdoMachine;
  
  #ifdef __cplusplus
  
  class DECLSPEC_UUID("E9218AE7-9E91-11D1-BF60-0080C7846BC0")
  SdoMachine;
  #endif
  #endif /* __SDOIASLib_LIBRARY_DEFINED__ */
  
  /* interface __MIDL_itf_sdoias_0000_0001 */
  /* [local] */ 
  
  #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
  #pragma endregion
  
  
  extern RPC_IF_HANDLE __MIDL_itf_sdoias_0000_0001_v0_0_c_ifspec;
  extern RPC_IF_HANDLE __MIDL_itf_sdoias_0000_0001_v0_0_s_ifspec;
  
  /* Additional Prototypes for ALL interfaces */
  
  /* end of Additional Prototypes */
  
  #ifdef __cplusplus
  }
  #endif
  
  #endif
  
  
  