/* * iads.h Active Directory Service (ADS) interfaces * * ========================================================================= * * Open Watcom Project * * Copyright (c) 2004-2010 The Open Watcom Contributors. All Rights Reserved. * * This file is automatically generated. Do not edit directly. * * ========================================================================= */ #include #include #ifndef __iads_h__ #define __iads_h__ #ifndef _ENABLE_AUTODEPEND #pragma read_only_file; #endif #ifdef __cplusplus extern "C" { #endif /* String data types */ typedef LPWSTR ADS_DN_STRING; typedef LPWSTR *PADS_DN_STRING; typedef LPWSTR ADS_CASE_EXACT_STRING; typedef LPWSTR *PADS_CASE_EXACT_STRING; typedef LPWSTR ADS_CASE_IGNORE_STRING; typedef LPWSTR *PADS_CASE_IGNORE_STRING; typedef LPWSTR ADS_PRINTABLE_STRING; typedef LPWSTR *PADS_PRINTABLE_STRING; typedef LPWSTR ADS_NUMERIC_STRING; typedef LPWSTR *PADS_NUMERIC_STRING; typedef LPWSTR ADS_OBJECT_CLASS; typedef LPWSTR *PADS_OBJECT_CLASS; /* Primitive data types */ typedef DWORD ADS_BOOLEAN; typedef DWORD *LPNDS_BOOLEAN; typedef DWORD ADS_INTEGER; typedef DWORD *PADS_INTEGER; typedef SYSTEMTIME ADS_UTC_TIME; typedef SYSTEMTIME *PADS_UTC_TIME; typedef LARGE_INTEGER ADS_LARGE_INTEGER; typedef LARGE_INTEGER *PADS_LARGE_INTEGER; typedef HANDLE ADS_SEARCH_HANDLE; typedef HANDLE *PADS_SEARCH_HANDLE; /* ADS attribute control codes */ #define ADS_ATTR_CLEAR 1L #define ADS_ATTR_UPDATE 2L #define ADS_ATTR_APPEND 3L #define ADS_ATTR_DELETE 4L /* ADS GUID strings */ #define ADS_DIRSYNC_COOKIE L"FC8CB04D-311D-406C-8CB9-1AE8B843B418" #define ADS_VLV_RESPONSE L"FC8CB04D-311D-406C-8CB9-1AE8B843B419" /* ADS extended dispatch identifiers */ #define ADS_EXT_MINEXTDISPID 1 #define ADS_EXT_MAXEXTDISPID 16777215 #define ADS_EXT_INITCREDENTIALS 1 #define ADS_EXT_INITIALIZE_COMPLETE 2 /* ADS types */ typedef enum { ADSTYPE_INVALID = 0, ADSTYPE_DN_STRING = 1, ADSTYPE_CASE_EXACT_STRING = 2, ADSTYPE_CASE_IGNORE_STRING = 3, ADSTYPE_PRINTABLE_STRING = 4, ADSTYPE_NUMERIC_STRING = 5, ADSTYPE_BOOLEAN = 6, ADSTYPE_INTEGER = 7, ADSTYPE_OCTET_STRING = 8, ADSTYPE_UTC_TIME = 9, ADSTYPE_LARGE_INTEGER = 10, ADSTYPE_PROV_SPECIFIC = 11, ADSTYPE_OBJECT_CLASS = 12, ADSTYPE_CASEIGNORE_LIST = 13, ADSTYPE_OCTET_LIST = 14, ADSTYPE_PATH = 15, ADSTYPE_POSTALADDRESS = 16, ADSTYPE_TIMESTAMP = 17, ADSTYPE_BACKLINK = 18, ADSTYPE_TYPEDNAME = 19, ADSTYPE_HOLD = 20, ADSTYPE_NETADDRESS = 21, ADSTYPE_REPLICAPOINTER = 22, ADSTYPE_FAXNUMBER = 23, ADSTYPE_EMAIL = 24, ADSTYPE_NT_SECURITY_DESCRIPTOR = 25, ADSTYPE_UNKNOWN = 26, ADSTYPE_DN_WITH_BINARY = 27, ADSTYPE_DN_WITH_STRING = 28 } ADSTYPEENUM; typedef ADSTYPEENUM ADSTYPE; /* ADS octet string */ typedef struct { DWORD dwLength; LPBYTE lpValue; } ADS_OCTET_STRING; typedef ADS_OCTET_STRING *PADS_OCTET_STRING; /* ADS NT security descriptor */ typedef struct { DWORD dwLength; LPBYTE lpValue; } ADS_NT_SECURITY_DESCRIPTOR; typedef ADS_NT_SECURITY_DESCRIPTOR *PADS_NT_SECURITY_DESCRIPTOR; /* ADS provider-specific information */ typedef struct { DWORD dwLength; LPBYTE lpValue; } ADS_PROV_SPECIFIC; typedef ADS_PROV_SPECIFIC *PADS_PROV_SPECIFIC; /* ADS case ignore list */ typedef struct _ADS_CASEIGNORE_LIST{ struct _ADS_CASEIGNORE_LIST *Next; LPWSTR String; } ADS_CASEIGNORE_LIST; typedef ADS_CASEIGNORE_LIST *PADS_CASEIGNORE_LIST; /* ADS octet list */ typedef struct _ADS_OCTET_LIST { struct _ADS_OCTET_LIST *Next; DWORD Length; BYTE *Data; } ADS_OCTET_LIST; typedef ADS_OCTET_LIST *PADS_OCTET_LIST; /* ADS path */ typedef struct { DWORD Type; LPWSTR VolumeName; LPWSTR Path; } ADS_PATH; typedef ADS_PATH *PADS_PATH; /* ADS postal address */ typedef struct { LPWSTR PostalAddress[6]; } ADS_POSTALADDRESS; typedef ADS_POSTALADDRESS *PADS_POSTALADDRESS; /* ADS timestamp */ typedef struct { DWORD WholeSeconds; DWORD EventID; } ADS_TIMESTAMP; typedef ADS_TIMESTAMP *PADS_TIMESTAMP; /* ADS backlink */ typedef struct { DWORD RemoteID; LPWSTR ObjectName; } ADS_BACKLINK; typedef ADS_BACKLINK *PADS_BACKLINK; /* ADS typed name */ typedef struct { LPWSTR ObjectName; DWORD Level; DWORD Interval; } ADS_TYPEDNAME; typedef ADS_TYPEDNAME *PADS_TYPEDNAME; /* ADS hold */ typedef struct { LPWSTR ObjectName; DWORD Amount; } ADS_HOLD; typedef ADS_HOLD *PADS_HOLD; /* ADS network address */ typedef struct { DWORD AddressType; DWORD AddressLength; BYTE *Address; } ADS_NETADDRESS; typedef ADS_NETADDRESS *PADS_NETADDRESS; /* ADS replica pointer */ typedef struct { LPWSTR ServerName; DWORD ReplicaType; DWORD ReplicaNumber; DWORD Count; PADS_NETADDRESS ReplicaAddressHints; } ADS_REPLICAPOINTER; typedef ADS_REPLICAPOINTER *PADS_REPLICAPOINTER; /* ADS fax number */ typedef struct { LPWSTR TelephoneNumber; DWORD NumberOfBits; LPBYTE Parameters; } ADS_FAXNUMBER; typedef ADS_FAXNUMBER *PADS_FAXNUMBER; /* ADS email */ typedef struct { LPWSTR Address; DWORD Type; } ADS_EMAIL; typedef ADS_EMAIL *PADS_EMAIL; /* ADS distinguished name with binary */ typedef struct { DWORD dwLength; LPBYTE lpBinaryValue; LPWSTR pszDNString; } ADS_DN_WITH_BINARY; typedef ADS_DN_WITH_BINARY *PADS_DN_WITH_BINARY; /* ADS distinguished name with string */ typedef struct { LPWSTR pszStringValue; LPWSTR pszDNString; } ADS_DN_WITH_STRING; typedef ADS_DN_WITH_STRING *PADS_DN_WITH_STRING; /* ADS value */ typedef struct _adsvalue { ADSTYPE dwType; union { ADS_DN_STRING DNString; ADS_CASE_EXACT_STRING CaseExactString; ADS_CASE_IGNORE_STRING CaseIgnoreString; ADS_PRINTABLE_STRING PrintableString; ADS_NUMERIC_STRING NumericString; ADS_BOOLEAN Boolean; ADS_INTEGER Integer; ADS_OCTET_STRING OctetString; ADS_UTC_TIME UTCTime; ADS_LARGE_INTEGER LargeInteger; ADS_OBJECT_CLASS ClassName; ADS_PROV_SPECIFIC ProviderSpecific; PADS_CASEIGNORE_LIST pCaseIgnoreList; PADS_OCTET_LIST pOctetList; PADS_PATH pPath; PADS_POSTALADDRESS pPostalAddress; ADS_TIMESTAMP Timestamp; ADS_BACKLINK BackLink; PADS_TYPEDNAME pTypedName; ADS_HOLD Hold; PADS_NETADDRESS pNetAddress; PADS_REPLICAPOINTER pReplicaPointer; PADS_FAXNUMBER pFaxNumber; ADS_EMAIL Email; ADS_NT_SECURITY_DESCRIPTOR SecurityDescriptor; PADS_DN_WITH_BINARY pDNWithBinary; PADS_DN_WITH_STRING pDNWithString; }; } ADSVALUE; typedef ADSVALUE *PADSVALUE; typedef ADSVALUE *LPADSVALUE; /* ADS attribute information */ typedef struct _ads_attr_info { LPWSTR pszAttrName; DWORD dwControlCode; ADSTYPE dwADsType; PADSVALUE pADsValues; DWORD dwNumValues; } ADS_ATTR_INFO; typedef ADS_ATTR_INFO *PADS_ATTR_INFO; /* ADS authentication flags */ typedef enum { ADS_SECURE_AUTHENTICATION = 0x00000001, ADS_USE_ENCRYPTION = 0x00000002, ADS_USE_SSL = 0x00000002, ADS_READONLY_SERVER = 0x00000004, ADS_PROMPT_CREDENTIALS = 0x00000008, ADS_NO_AUTHENTICATION = 0x00000010, ADS_FAST_BIND = 0x00000020, ADS_USE_SIGNING = 0x00000040, ADS_USE_SEALING = 0x00000080, ADS_USE_DELEGATION = 0x00000100, ADS_SERVER_BIND = 0x00000200, ADS_NO_REFERRAL_CHASING = 0x00000400 } ADS_AUTHENTICATION_ENUM; /* ADS object information */ typedef struct _ads_object_info { LPWSTR pszRDN; LPWSTR pszObjectDN; LPWSTR pszParentDN; LPWSTR pszSchemaDN; LPWSTR pszClassName; } ADS_OBJECT_INFO; typedef ADS_OBJECT_INFO *PADS_OBJECT_INFO; /* ADS status codes */ typedef enum { ADS_STATUS_S_OK = 0, ADS_STATUS_INVALID_SEARCHPREF = 1, ADS_STATUS_INVALID_SEARCHPREFVALUE = 2 } ADS_STATUSENUM; typedef ADS_STATUSENUM ADS_STATUS; typedef ADS_STATUSENUM *PADS_STATUS; /* ADS dereference options */ typedef enum { ADS_DEREF_NEVER = 0, ADS_DEREF_SEARCHING = 1, ADS_DEREF_FINDING = 2, ADS_DEREF_ALWAYS = 3 } ADS_DEREFENUM; /* ADS scopes */ typedef enum { ADS_SCOPE_BASE = 0, ADS_SCOPE_ONELEVEL = 1, ADS_SCOPE_SUBTREE = 2 } ADS_SCOPEENUM; /* ADS preferences */ typedef enum { ADSIPROP_ASYNCHRONOUS = 0x00000000, ADSIPROP_DEREF_ALIASES = 0x00000001, ADSIPROP_SIZE_LIMIT = 0x00000002, ADSIPROP_TIME_LIMIT = 0x00000003, ADSIPROP_ATTRIBTYPES_ONLY = 0x00000004, ADSIPROP_SEARCH_SCOPE = 0x00000005, ADSIPROP_TIMEOUT = 0x00000006, ADSIPROP_PAGESIZE = 0x00000007, ADSIPROP_PAGED_TIME_LIMIT = 0x00000008, ADSIPROP_CHASE_REFERRALS = 0x00000009, ADSIPROP_SORT_ON = 0x0000000A, ADSIPROP_CACHE_RESULTS = 0x0000000B, ADSIPROP_ADSIFLAG = 0x0000000C } ADS_PREFERENCES_ENUM; /* ADS dialects */ typedef enum { ADSI_DIALECT_LDAP = 0x00000000, ADSI_DIALECT_SQL = 0x00000001 } ADSI_DIALECT_ENUM; /* ADS chase referral flags */ typedef enum { ADS_CHASE_REFERRALS_NEVER = 0x00000000, ADS_CHASE_REFERRALS_SUBORDINATE = 0x00000020, ADS_CHASE_REFERRALS_EXTERNAL = 0x00000040, ADS_CHASE_REFERRALS_ALWAYS = 0x00000060 } ADS_CHASE_REFERRALS_ENUM; /* ADS search preferences */ typedef enum { ADS_SEARCHPREF_ASYNCHRONOUS = 0, ADS_SEARCHPREF_DEREF_ALIASES = 1, ADS_SEARCHPREF_SIZE_LIMIT = 2, ADS_SEARCHPREF_TIME_LIMIT = 3, ADS_SEARCHPREF_ATTRIBTYPES_ONLY = 4, ADS_SEARCHPREF_SEARCH_SCOPE = 5, ADS_SEARCHPREF_TIMEOUT = 6, ADS_SEARCHPREF_PAGESIZE = 7, ADS_SEARCHPREF_PAGED_TIME_LIMIT = 8, ADS_SEARCHPREF_CHASE_REFERRALS = 9, ADS_SEARCHPREF_SORT_ON = 10, ADS_SEARCHPREF_CACHE_RESULTS = 11, ADS_SEARCHPREF_DIRSYNC = 12, ADS_SEARCHPREF_TOMBSTONE = 13, ADS_SEARCHPREF_VLV = 14, ADS_SEARCHPREF_ATTRIBUTE_QUERY = 15, ADS_SEARCHPREF_SECURITY_MASK = 16, ADS_SEARCHPREF_DIRSYNC_FLAG = 17, ADS_SEARCHPREF_EXTENDED_DN = 18 } ADS_SEARCHPREF_ENUM; typedef ADS_SEARCHPREF_ENUM ADS_SEARCHPREF; /* ADS password encodings */ typedef enum { ADS_PASSWORD_ENCODE_REQUIRE_SSL = 0, ADS_PASSWORD_ENCODE_CLEAR = 1 } ADS_PASSWORD_ENCODING_ENUM; /* ADS search preference information */ typedef struct ads_searchpref_info { ADS_SEARCHPREF dwSearchPref; ADSVALUE vValue; ADS_STATUS dwStatus; } ADS_SEARCHPREF_INFO; typedef ADS_SEARCHPREF_INFO *PADS_SEARCHPREF_INFO; typedef ADS_SEARCHPREF_INFO *LPADS_SEARCHPREF_INFO; /* ADS search column */ typedef struct ads_search_column { LPWSTR pszAttrName; ADSTYPE dwADsType; PADSVALUE pADsValues; DWORD dwNumValues; HANDLE hReserved; } ADS_SEARCH_COLUMN; typedef ADS_SEARCH_COLUMN *PADS_SEARCH_COLUMN; /* ADS attribute definition */ typedef struct _ads_attr_def { LPWSTR pszAttrName; ADSTYPE dwADsType; DWORD dwMinRange; DWORD dwMaxRange; BOOL fMultiValued; } ADS_ATTR_DEF; typedef ADS_ATTR_DEF *PADS_ATTR_DEF; /* ADS class definition */ typedef struct _ads_class_def { LPWSTR pszClassName; DWORD dwMandatoryAttrs; LPWSTR *ppszMandatoryAttrs; DWORD optionalAttrs; LPWSTR **ppszOptionalAttrs; DWORD dwNamingAttrs; LPWSTR **ppszNamingAttrs; DWORD dwSuperClasses; LPWSTR **ppszSuperClasses; BOOL fIsContainer; } ADS_CLASS_DEF; typedef ADS_CLASS_DEF *PADS_CLASS_DEF; /* ADS sort key */ typedef struct _ads_sortkey { LPWSTR pszAttrType; LPWSTR pszReserved; BOOLEAN fReverseorder; } ADS_SORTKEY; typedef ADS_SORTKEY *PADS_SORTKEY; /* ADS virtual list view */ typedef struct _ads_vlv { DWORD dwBeforeCount; DWORD dwAfterCount; DWORD dwOffset; DWORD dwContentCount; LPWSTR pszTarget; DWORD dwContextIDLength; LPBYTE lpContextID; } ADS_VLV; typedef ADS_VLV *PADS_VLV; /* ADS property operations */ typedef enum { ADS_PROPERTY_CLEAR = 1, ADS_PROPERTY_UPDATE = 2, ADS_PROPERTY_SEARCH = 3, ADS_PROPERTY_DELETE = 4 } ADS_PROPERTY_OPERATION_ENUM; /* ADS system flags */ typedef enum { ADS_SYSTEMFLAG_DISALLOW_DELETE = 0x80000000, ADS_SYSTEMFLAG_CONFIG_ALLOW_RENAME = 0x40000000, ADS_SYSTEMFLAG_CONFIG_ALLOW_MOVE = 0x20000000, ADS_SYSTEMFLAG_CONFIG_ALLOW_LIMITED_MOVE = 0x10000000, ADS_SYSTEMFLAG_DOMAIN_DISALLOW_RENAME = 0x08000000, ADS_SYSTEMFLAG_DOMAIN_DISALLOW_MOVE = 0x04000000, ADS_SYSTEMFLAG_CR_NTDS_NC = 0x00000001, ADS_SYSTEMFLAG_CR_NTDS_DOMAIN = 0x00000002, ADS_SYSTEMFLAG_ATTR_NOT_REPLICATED = 0x00000001, ADS_SYSTEMFLAG_ATTR_IS_CONSTRUCTED = 0x00000004 } ADS_SYSTEMFLAG_ENUM; /* ADS group types */ typedef enum { ADS_GROUP_TYPE_GLOBAL_GROUP = 0x00000002, ADS_GROUP_TYPE_DOMAIN_LOCAL_GROUP = 0x00000004, ADS_GROUP_TYPE_LOCAL_GROUP = 0x00000004, ADS_GROUP_TYPE_UNIVERSAL_GROUP = 0x00000008, ADS_GROUP_TYPE_SECURITY_ENABLED = 0x80000000 } ADS_GROUP_TYPE_ENUM; /* ADS user flags */ typedef enum ADS_USER_FLAG { ADS_UF_SCRIPT = 0x00000001, ADS_UF_ACCOUNTDISABLE = 0x00000002, ADS_UF_HOMEDIR_REQUIRED = 0x00000008, ADS_UF_LOCKOUT = 0x00000010, ADS_UF_PASSWD_NOTREQD = 0x00000020, ADS_UF_PASSWD_CANT_CHANGE = 0x00000040, ADS_UF_ENCRYPTED_TEXT_PASSWORD_ALLOWED = 0x00000080, ADS_UF_TEMP_DUPLICATE_ACCOUNT = 0x00000100, ADS_UF_NORMAL_ACCOUNT = 0x00000200, ADS_UF_INTERDOMAIN_TRUST_ACCOUNT = 0x00000800, ADS_UF_WORKSTATION_TRUST_ACCOUNT = 0x00001000, ADS_UF_SERVER_TRUST_ACCOUNT = 0x00002000, ADS_UF_DONT_EXPIRE_PASSWD = 0x00010000, ADS_UF_MNS_LOGON_ACCOUNT = 0x00020000, ADS_UF_SMARTCARD_REQUIRED = 0x00040000, ADS_UF_TRUSTED_FOR_DELEGATION = 0x00080000, ADS_UF_NOT_DELEGATED = 0x00100000, ADS_UF_USE_DES_KEY_ONLY = 0x00200000, ADS_UF_DONT_REQUIRE_PREAUTH = 0x00400000, ADS_UF_PASSWORD_EXPIRED = 0x00800000, ADS_UF_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION = 0x01000000 } ADS_USER_FLAG_ENUM; /* ADS rights */ typedef enum { ADS_RIGHT_DELETE = 0x00010000, ADS_RIGHT_READ_CONTROL = 0x00020000, ADS_RIGHT_WRITE_DAC = 0x00040000, ADS_RIGHT_WRITE_OWNER = 0x00080000, ADS_RIGHT_SYNCHRONIZE = 0x00100000, ADS_RIGHT_ACCESS_SYSTEM_SECURITY = 0x01000000, ADS_RIGHT_GENERIC_READ = 0x80000000, ADS_RIGHT_GENERIC_WRITE = 0x40000000, ADS_RIGHT_GENERIC_EXECUTE = 0x20000000, ADS_RIGHT_GENERIC_ALL = 0x10000000, ADS_RIGHT_DS_CREATE_CHILD = 0x00000001, ADS_RIGHT_DS_DELETE_CHILD = 0x00000002, ADS_RIGHT_ACTRL_DS_LIST = 0x00000004, ADS_RIGHT_DS_SELF = 0x00000008, ADS_RIGHT_DS_READ_PROP = 0x00000010, ADS_RIGHT_DS_WRITE_PROP = 0x00000020, ADS_RIGHT_DS_DELETE_TREE = 0x00000040, ADS_RIGHT_DS_LIST_OBJECT = 0x00000080, ADS_RIGHT_DS_CONTROL_ACCESS = 0x00000100 } ADS_RIGHTS_ENUM; /* ADS ACE types */ typedef enum { ADS_ACETYPE_ACCESS_ALLOWED = 0x00000000, ADS_ACETYPE_ACCESS_DENIED = 0x00000001, ADS_ACETYPE_SYSTEM_AUDIT = 0x00000002, ADS_ACETYPE_ACCESS_ALLOWED_OBJECT = 0x00000005, ADS_ACETYPE_ACCESS_DENIED_OBJECT = 0x00000006, ADS_ACETYPE_SYSTEM_AUDIT_OBJECT = 0x00000007, ADS_ACETYPE_SYSTEM_ALARM_OBJECT = 0x00000008, ADS_ACETYPE_ACCESS_ALLOWED_CALLBACK = 0x00000009, ADS_ACETYPE_ACCESS_DENIED_CALLBACK = 0x0000000A, ADS_ACETYPE_ACCESS_ALLOWED_CALLBACK_OBJECT = 0x0000000B, ADS_ACETYPE_ACCESS_DENIED_CALLBACK_OBJECT = 0x0000000C, ADS_ACETYPE_SYSTEM_AUDIT_CALLBACK = 0x0000000D, ADS_ACETYPE_SYSTEM_ALARM_CALLBACK = 0x0000000E, ADS_ACETYPE_SYSTEM_AUDIT_CALLBACK_OBJECT = 0x0000000F, ADS_ACETYPE_SYSTEM_ALARM_CALLBACK_OBJECT = 0x00000010 } ADS_ACETYPE_ENUM; /* ADS ACE flags */ typedef enum { ADS_ACEFLAG_INHERIT_ACE = 0x00000002, ADS_ACEFLAG_NO_PROPAGATE_INHERIT_ACE = 0x00000004, ADS_ACEFLAG_INHERIT_ONLY_ACE = 0x00000008, ADS_ACEFLAG_INHERITED_ACE = 0x00000010, ADS_ACEFLAG_VALID_INHERIT_FLAGS = 0x0000001F, ADS_ACEFLAG_SUCCESSFUL_ACCESS = 0x00000040, ADS_ACEFLAG_FAILED_ACCESS = 0x00000080 } ADS_ACEFLAG_ENUM; /* ADS flag types */ typedef enum { ADS_FLAG_OBJECT_TYPE_PRESENT = 0x00000001, ADS_FLAG_INHERITED_OBJECT_TYPE_PRESENT = 0x00000002 } ADS_FLAGTYPE_ENUM; /* ADS security descriptor control flags */ typedef enum { ADS_SD_CONTROL_SE_OWNER_DEFAULTED = 0x00000001, ADS_SD_CONTROL_SE_GROUP_DEFAULTED = 0x00000002, ADS_SD_CONTROL_SE_DACL_PRESENT = 0x00000004, ADS_SD_CONTROL_SE_DACL_DEFAULTED = 0x00000008, ADS_SD_CONTROL_SE_SACL_PRESENT = 0x00000010, ADS_SD_CONTROL_SE_SACL_DEFAULTED = 0x00000020, ADS_SD_CONTROL_SE_DACL_AUTO_INHERIT_REQ = 0x00000100, ADS_SD_CONTROL_SE_SACL_AUTO_INHERIT_REQ = 0x00000200, ADS_SD_CONTROL_SE_DACL_AUTO_INHERITED = 0x00000400, ADS_SD_CONTROL_SE_SACL_AUTO_INHERITED = 0x00000800, ADS_SD_CONTROL_SE_DACL_PROTECTED = 0x00001000, ADS_SD_CONTROL_SE_SACL_PROTECTED = 0x00002000, ADS_SD_CONTROL_SE_SELF_RELATIVE = 0x00008000 } ADS_SD_CONTROL_ENUM; /* ADS security descriptor revision number */ typedef enum { ADS_SD_REVISION_DS = 4 } ADS_SD_REVISION_ENUM; /* ADS name types */ typedef enum { ADS_NAME_TYPE_1779 = 1, ADS_NAME_TYPE_CANONICAL = 2, ADS_NAME_TYPE_NT4 = 3, ADS_NAME_TYPE_DISPLAY = 4, ADS_NAME_TYPE_DOMAIN_SIMPLE = 5, ADS_NAME_TYPE_ENTERPRISE_SIMPLE = 6, ADS_NAME_TYPE_GUID = 7, ADS_NAME_TYPE_UNKNOWN = 8, ADS_NAME_TYPE_USER_PRINCIPAL_NAME = 9, ADS_NAME_TYPE_CANONICAL_EX = 10, ADS_NAME_TYPE_SERVICE_PRINCIPAL_NAME = 11, ADS_NAME_TYPE_SID_OR_SID_HISTORY_NAME = 12 } ADS_NAME_TYPE_ENUM; /* ADS name initialization types */ typedef enum { ADS_NAME_INITTYPE_DOMAIN = 1, ADS_NAME_INITTYPE_SERVER = 2, ADS_NAME_INITTYPE_GC = 3 } ADS_NAME_INITTYPE_ENUM; /* ADS options */ typedef enum { ADS_OPTION_SERVERNAME = 0, ADS_OPTION_REFERRALS = 1, ADS_OPTION_PAGE_SIZE = 2, ADS_OPTION_SECURITY_MASK = 3, ADS_OPTION_MUTUAL_AUTH_STATUS = 4, ADS_OPTION_QUOTA = 5, ADS_OPTION_PASSWORD_PORTNUMBER = 6, ADS_OPTION_PASSWORD_METHOD = 7, ADS_OPTION_ACCUMULATIVE_MODIFICATION = 8, ADS_OPTION_SKIP_SID_LOOKUP = 9 } ADS_OPTION_ENUM; /* ADS security information types */ typedef enum { ADS_SECURITY_INFO_OWNER = 0x00000001, ADS_SECURITY_INFO_GROUP = 0x00000002, ADS_SECURITY_INFO_DACL = 0x00000004, ADS_SECURITY_INFO_SACL = 0x00000008 } ADS_SECURITY_INFO_ENUM; /* ADS set types */ typedef enum { ADS_SETTYPE_FULL = 1, ADS_SETTYPE_PROVIDER = 2, ADS_SETTYPE_SERVER = 3, ADS_SETTYPE_DN = 4 } ADS_SETTYPE_ENUM; /* ADS formats */ typedef enum { ADS_FORMAT_WINDOWS = 1, ADS_FORMAT_WINDOWS_NO_SERVER = 2, ADS_FORMAT_WINDOWS_DN = 3, ADS_FORMAT_WINDOWS_PARENT = 4, ADS_FORMAT_X500 = 5, ADS_FORMAT_X500_NO_SERVER = 6, ADS_FORMAT_X500_DN = 7, ADS_FORMAT_X500_PARENT = 8, ADS_FORMAT_SERVER = 9, ADS_FORMAT_PROVIDER = 10, ADS_FORMAT_LEAF = 11 } ADS_FORMAT_ENUM; /* ADS display types */ typedef enum { ADS_DISPLAY_FULL = 1, ADS_DISPLAY_VALUE_ONLY = 2 } ADS_DISPLAY_ENUM; /* ADS escape modes */ typedef enum { ADS_ESCAPEDMODE_DEFAULT = 1, ADS_ESCAPEDMODE_ON = 2, ADS_ESCAPEDMODE_OFF = 3, ADS_ESCAPEDMODE_OFF_EX = 4 } ADS_ESCAPE_MODE_ENUM; /* ADS path types */ typedef enum { ADS_PATH_FILE = 1, ADS_PATH_FILESHARE = 2, ADS_PATH_REGISTRY = 3 } ADS_PATHTYPE_ENUM; /* ADS security descriptor formats */ typedef enum { ADS_SD_FORMAT_IID = 1, ADS_SD_FORMAT_RAW = 2, ADS_SD_FORMAT_HEXSTRING = 3 } ADS_SD_FORMAT_ENUM; /* GUIDs */ EXTERN_C const IID IID_IADs; EXTERN_C const IID IID_IADsContainer; EXTERN_C const IID IID_IADsCollection; EXTERN_C const IID IID_IADsMembers; EXTERN_C const IID IID_IADsPropertyList; EXTERN_C const IID IID_IADsPropertyEntry; EXTERN_C const CLSID CLSID_PropertyEntry; EXTERN_C const IID IID_IADsPropertyValue; EXTERN_C const IID IID_IADsPropertyValue2; EXTERN_C const CLSID CLSID_PropertyValue; EXTERN_C const IID IID_IPrivateDispatch; EXTERN_C const IID IID_IPrivateUnknown; EXTERN_C const IID IID_IADsExtension; EXTERN_C const IID IID_IADsDeleteOps; EXTERN_C const IID IID_IADsNamespaces; EXTERN_C const IID IID_IADsClass; EXTERN_C const IID IID_IADsProperty; EXTERN_C const IID IID_IADsSyntax; EXTERN_C const IID IID_IADsLocality; EXTERN_C const IID IID_IADsO; EXTERN_C const IID IID_IADsOU; EXTERN_C const IID IID_IADsDomain; EXTERN_C const IID IID_IADsComputer; EXTERN_C const IID IID_IADsComputerOperations; EXTERN_C const IID IID_IADsGroup; EXTERN_C const IID IID_IADsUser; EXTERN_C const IID IID_IADsPrintQueue; EXTERN_C const IID IID_IADsPrintQueueOperations; EXTERN_C const IID IID_IADsPrintJob; EXTERN_C const IID IID_IADsPrintJobOperations; EXTERN_C const IID IID_IADsService; EXTERN_C const IID IID_IADsServiceOperations; EXTERN_C const IID IID_IADsFileService; EXTERN_C const IID IID_IADsFileServiceOperations; EXTERN_C const IID IID_IADsFileShare; EXTERN_C const IID IID_IADsSession; EXTERN_C const IID IID_IADsResource; EXTERN_C const IID IID_IADsOpenDSObject; EXTERN_C const IID IID_IDirectoryObject; EXTERN_C const IID IID_IDirectorySearch; EXTERN_C const IID IID_IDirectorySchemaMgmt; EXTERN_C const IID IID_IADsAggregatee; EXTERN_C const IID IID_IADsAggregator; EXTERN_C const IID IID_IADsAccessControlEntry; EXTERN_C const CLSID CLSID_AccessControlEntry; EXTERN_C const IID IID_IADsAccessControlList; EXTERN_C const CLSID CLSID_AccessControlList; EXTERN_C const IID IID_IADsSecurityDescriptor; EXTERN_C const CLSID CLSID_SecurityDescriptor; EXTERN_C const IID IID_IADsLargeInteger; EXTERN_C const CLSID CLSID_LargeInteger; EXTERN_C const IID IID_IADsNameTranslate; EXTERN_C const CLSID CLSID_NameTranslate; EXTERN_C const IID IID_IADsCaseIgnoreList; EXTERN_C const CLSID CLSID_CaseIgnoreList; EXTERN_C const IID IID_IADsNetAddress; EXTERN_C const CLSID CLSID_NetAddress; EXTERN_C const IID IID_IADsOctetList; EXTERN_C const CLSID CLSID_OctetList; EXTERN_C const IID IID_IADsEmail; EXTERN_C const CLSID CLSID_Email; EXTERN_C const IID IID_IADsPath; EXTERN_C const CLSID CLSID_Path; EXTERN_C const IID IID_IADsReplicaPointer; EXTERN_C const CLSID CLSID_ReplicaPointer; EXTERN_C const IID IID_IADsAcl; EXTERN_C const IID IID_IADsTimestamp; EXTERN_C const CLSID CLSID_Timestamp; EXTERN_C const IID IID_IADsPostalAddress; EXTERN_C const CLSID CLSID_PostalAddress; EXTERN_C const IID IID_IADsBackLink; EXTERN_C const CLSID CLSID_BackLink; EXTERN_C const IID IID_IADsTypedName; EXTERN_C const CLSID CLSID_TypedName; EXTERN_C const IID IID_IADsHold; EXTERN_C const CLSID CLSID_Hold; EXTERN_C const IID IID_IADsObjectOptions; EXTERN_C const IID IID_IADsPathname; EXTERN_C const CLSID CLSID_Pathname; EXTERN_C const IID IID_IADsADSystemInfo; EXTERN_C const CLSID CLSID_ADSystemInfo; EXTERN_C const IID IID_IADsWinNTSystemInfo; EXTERN_C const CLSID CLSID_WinNTSystemInfo; EXTERN_C const IID IID_IADsDNWithBinary; EXTERN_C const CLSID CLSID_DNWithBinary; EXTERN_C const IID IID_IADsDNWithString; EXTERN_C const CLSID CLSID_DNWithString; EXTERN_C const IID IID_IADsSecurityUtility; EXTERN_C const CLSID CLSID_ADsSecurityUtility; /* IADs interface */ #undef INTERFACE #define INTERFACE IADs DECLARE_INTERFACE_( IADs, IDispatch ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADs methods */ STDMETHOD( get_Name )( THIS_ BSTR * ) PURE; STDMETHOD( get_Class )( THIS_ BSTR * ) PURE; STDMETHOD( get_GUID )( THIS_ BSTR * ) PURE; STDMETHOD( get_ADsPath )( THIS_ BSTR * ) PURE; STDMETHOD( get_Parent )( THIS_ BSTR * ) PURE; STDMETHOD( get_Schema )( THIS_ BSTR * ) PURE; STDMETHOD( GetInfo )( THIS ) PURE; STDMETHOD( SetInfo )( THIS ) PURE; STDMETHOD( Get )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( Put )( THIS_ BSTR, VARIANT ) PURE; STDMETHOD( GetEx )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( PutEx )( THIS_ long, BSTR, VARIANT ) PURE; STDMETHOD( GetInfoEx )( THIS_ VARIANT, long ) PURE; }; /* IADsContainer interface */ #undef INTERFACE #define INTERFACE IADsContainer DECLARE_INTERFACE_( IADsContainer, IDispatch ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADsContainer methods */ STDMETHOD( get_Count )( THIS_ long * ) PURE; STDMETHOD( get__NewEnum )( THIS_ IUnknown ** ) PURE; STDMETHOD( get_Filter )( THIS_ VARIANT * ) PURE; STDMETHOD( put_Filter )( THIS_ VARIANT ) PURE; STDMETHOD( get_Hints )( THIS_ VARIANT * ) PURE; STDMETHOD( put_Hints )( THIS_ VARIANT ) PURE; STDMETHOD( GetObject )( THIS_ BSTR, BSTR, IDispatch ** ) PURE; STDMETHOD( Create )( THIS_ BSTR, BSTR, IDispatch ** ) PURE; STDMETHOD( Delete )( THIS_ BSTR, BSTR ) PURE; STDMETHOD( CopyHere )( THIS_ BSTR, BSTR, IDispatch ** ) PURE; STDMETHOD( MoveHere )( THIS_ BSTR, BSTR, IDispatch ** ) PURE; }; /* IADsCollection interface */ #undef INTERFACE #define INTERFACE IADsCollection DECLARE_INTERFACE_( IADsCollection, IDispatch ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADsCollection methods */ STDMETHOD( get__NewEnum )( THIS_ IUnknown ** ) PURE; STDMETHOD( Add )( THIS_ BSTR, VARIANT ) PURE; STDMETHOD( Remove )( THIS_ BSTR ) PURE; STDMETHOD( GetObject )( THIS_ BSTR, VARIANT * ) PURE; }; /* IADsMembers interface */ #undef INTERFACE #define INTERFACE IADsMembers DECLARE_INTERFACE_( IADsMembers, IDispatch ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADsMembers methods */ STDMETHOD( get_Count )( THIS_ long * ) PURE; STDMETHOD( get__NewEnum )( THIS_ IUnknown ** ) PURE; STDMETHOD( get_Filter )( THIS_ VARIANT * ) PURE; STDMETHOD( put_Filter )( THIS_ VARIANT ) PURE; }; /* IADsPropertyList interface */ #undef INTERFACE #define INTERFACE IADsPropertyList DECLARE_INTERFACE_( IADsPropertyList, IDispatch ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADsPropertyList methods */ STDMETHOD( get_PropertyCount )( THIS_ long * ) PURE; STDMETHOD( Next )( THIS_ VARIANT * ) PURE; STDMETHOD( Skip )( THIS_ long ) PURE; STDMETHOD( Reset )( THIS ) PURE; STDMETHOD( Item )( THIS_ VARIANT, VARIANT * ) PURE; STDMETHOD( GetPropertyItem )( THIS_ BSTR, LONG, VARIANT * ) PURE; STDMETHOD( PutPropertyItem )( THIS_ VARIANT ) PURE; STDMETHOD( ResetPropertyItem )( THIS_ VARIANT ) PURE; STDMETHOD( PurgePropertyList )( THIS ) PURE; }; /* IADsPropertyEntry interface */ #undef INTERFACE #define INTERFACE IADsPropertyEntry DECLARE_INTERFACE_( IADsPropertyEntry, IDispatch ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADsPropertyEntry methods */ STDMETHOD( Clear )( THIS ) PURE; STDMETHOD( get_Name )( THIS_ BSTR * ) PURE; STDMETHOD( put_Name )( THIS_ BSTR ) PURE; STDMETHOD( get_ADsType )( THIS_ long * ) PURE; STDMETHOD( put_ADsType )( THIS_ long ) PURE; STDMETHOD( get_ControlCode )( THIS_ long * ) PURE; STDMETHOD( put_ControlCode )( THIS_ long ) PURE; STDMETHOD( get_Values )( THIS_ VARIANT * ) PURE; STDMETHOD( put_Values )( THIS_ VARIANT ) PURE; }; /* IADsPropertyValue interface */ #undef INTERFACE #define INTERFACE IADsPropertyValue DECLARE_INTERFACE_( IADsPropertyValue, IDispatch ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADsPropertyValue methods */ STDMETHOD( Clear )( THIS ) PURE; STDMETHOD( get_ADsType )( THIS_ long * ) PURE; STDMETHOD( put_ADsType )( THIS_ long ) PURE; STDMETHOD( get_DNString )( THIS_ BSTR * ) PURE; STDMETHOD( put_DNString )( THIS_ BSTR ) PURE; STDMETHOD( get_CaseExactString )( THIS_ BSTR * ) PURE; STDMETHOD( put_CaseExactString )( THIS_ BSTR ) PURE; STDMETHOD( get_CaseIgnoreString )( THIS_ BSTR * ) PURE; STDMETHOD( put_CaseIgnoreString )( THIS_ BSTR ) PURE; STDMETHOD( get_PrintableString )( THIS_ BSTR * ) PURE; STDMETHOD( put_PrintableString )( THIS_ BSTR ) PURE; STDMETHOD( get_NumericString )( THIS_ BSTR * ) PURE; STDMETHOD( put_NumericString )( THIS_ BSTR ) PURE; STDMETHOD( get_Boolean )( THIS_ long * ) PURE; STDMETHOD( put_Boolean )( THIS_ long ) PURE; STDMETHOD( get_Integer )( THIS_ long * ) PURE; STDMETHOD( put_Integer )( THIS_ long ) PURE; STDMETHOD( get_OctetString )( THIS_ VARIANT * ) PURE; STDMETHOD( put_OctetString )( THIS_ VARIANT ) PURE; STDMETHOD( get_SecurityDescriptor )( THIS_ IDispatch ** ) PURE; STDMETHOD( put_SecurityDescriptor )( THIS_ IDispatch * ) PURE; STDMETHOD( get_LargeInteger )( THIS_ IDispatch ** ) PURE; STDMETHOD( put_LargeInteger )( THIS_ IDispatch * ) PURE; STDMETHOD( get_UTCTime )( THIS_ DATE * ) PURE; STDMETHOD( put_UTCTime )( THIS_ DATE ) PURE; }; /* IADsPropertyValue2 interface */ #undef INTERFACE #define INTERFACE IADsPropertyValue2 DECLARE_INTERFACE_( IADsPropertyValue2, IDispatch ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADsPropertyValue2 methods */ STDMETHOD( GetObjectProperty )( THIS_ long *, VARIANT * ) PURE; STDMETHOD( PutObjectProperty )( THIS_ long, VARIANT ) PURE; }; /* IPrivateDispatch interface */ #undef INTERFACE #define INTERFACE IPrivateDispatch DECLARE_INTERFACE_( IPrivateDispatch, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IPrivateDispatch methods */ STDMETHOD( ADSIInitializeDispatchManager )( THIS_ long ) PURE; STDMETHOD( ADSIGetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( ADSIGetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( ADSIGetIDsOfNames )( THIS_ REFIID, OLECHAR **, UINT, LCID, DISPID * ) PURE; STDMETHOD( ADSIInvoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; }; /* IPrivateUnknown interface */ #undef INTERFACE #define INTERFACE IPrivateUnknown DECLARE_INTERFACE_( IPrivateUnknown, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IPrivateUnknown methods */ STDMETHOD( ADSIInitializeObject )( THIS_ BSTR, BSTR, long ) PURE; STDMETHOD( ADSIReleaseObject )( THIS ) PURE; }; /* IADsExtension interface */ #undef INTERFACE #define INTERFACE IADsExtension DECLARE_INTERFACE_( IADsExtension, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IADsExtension methods */ STDMETHOD( Operate )( THIS_ DWORD, VARIANT, VARIANT, VARIANT ) PURE; STDMETHOD( PrivateGetIDsOfNames )( THIS_ REFIID, OLECHAR **, unsigned int, LCID, DISPID * ) PURE; STDMETHOD( PrivateInvoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, unsigned int * ) PURE; }; /* IADsDeleteOps interface */ #undef INTERFACE #define INTERFACE IADsDeleteOps DECLARE_INTERFACE_( IADsDeleteOps, IDispatch ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADsDeleteOps methods */ STDMETHOD( DeleteObject )( THIS_ long ) PURE; }; /* IADsNamespaces interface */ #undef INTERFACE #define INTERFACE IADsNamespaces DECLARE_INTERFACE_( IADsNamespaces, IADs ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADs methods */ STDMETHOD( get_Name )( THIS_ BSTR * ) PURE; STDMETHOD( get_Class )( THIS_ BSTR * ) PURE; STDMETHOD( get_GUID )( THIS_ BSTR * ) PURE; STDMETHOD( get_ADsPath )( THIS_ BSTR * ) PURE; STDMETHOD( get_Parent )( THIS_ BSTR * ) PURE; STDMETHOD( get_Schema )( THIS_ BSTR * ) PURE; STDMETHOD( GetInfo )( THIS ) PURE; STDMETHOD( SetInfo )( THIS ) PURE; STDMETHOD( Get )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( Put )( THIS_ BSTR, VARIANT ) PURE; STDMETHOD( GetEx )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( PutEx )( THIS_ long, BSTR, VARIANT ) PURE; STDMETHOD( GetInfoEx )( THIS_ VARIANT, long ) PURE; /* IADsNamespaces methods */ STDMETHOD( get_DefaultContainer )( THIS_ BSTR * ) PURE; STDMETHOD( put_DefaultContainer )( THIS_ BSTR ) PURE; }; /* IADsClass interface */ #undef INTERFACE #define INTERFACE IADsClass DECLARE_INTERFACE_( IADsClass, IADs ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADs methods */ STDMETHOD( get_Name )( THIS_ BSTR * ) PURE; STDMETHOD( get_Class )( THIS_ BSTR * ) PURE; STDMETHOD( get_GUID )( THIS_ BSTR * ) PURE; STDMETHOD( get_ADsPath )( THIS_ BSTR * ) PURE; STDMETHOD( get_Parent )( THIS_ BSTR * ) PURE; STDMETHOD( get_Schema )( THIS_ BSTR * ) PURE; STDMETHOD( GetInfo )( THIS ) PURE; STDMETHOD( SetInfo )( THIS ) PURE; STDMETHOD( Get )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( Put )( THIS_ BSTR, VARIANT ) PURE; STDMETHOD( GetEx )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( PutEx )( THIS_ long, BSTR, VARIANT ) PURE; STDMETHOD( GetInfoEx )( THIS_ VARIANT, long ) PURE; /* IADsClass methods */ STDMETHOD( get_PrimaryInterface )( THIS_ BSTR * ) PURE; STDMETHOD( get_CLSID )( THIS_ BSTR * ) PURE; STDMETHOD( put_CLSID )( THIS_ BSTR ) PURE; STDMETHOD( get_OID )( THIS_ BSTR * ) PURE; STDMETHOD( put_OID )( THIS_ BSTR ) PURE; STDMETHOD( get_Abstract )( THIS_ VARIANT_BOOL * ) PURE; STDMETHOD( put_Abstract )( THIS_ VARIANT_BOOL ) PURE; STDMETHOD( get_Auxiliary )( THIS_ VARIANT_BOOL * ) PURE; STDMETHOD( put_Auxiliary )( THIS_ VARIANT_BOOL ) PURE; STDMETHOD( get_MandatoryProperties )( THIS_ VARIANT * ) PURE; STDMETHOD( put_MandatoryProperties )( THIS_ VARIANT ) PURE; STDMETHOD( get_OptionalProperties )( THIS_ VARIANT * ) PURE; STDMETHOD( put_OptionalProperties )( THIS_ VARIANT ) PURE; STDMETHOD( get_NamingProperties )( THIS_ VARIANT * ) PURE; STDMETHOD( put_NamingProperties )( THIS_ VARIANT ) PURE; STDMETHOD( get_DerivedFrom )( THIS_ VARIANT * ) PURE; STDMETHOD( put_DerivedFrom )( THIS_ VARIANT ) PURE; STDMETHOD( get_AuxDerivedFrom )( THIS_ VARIANT * ) PURE; STDMETHOD( put_AuxDerivedFrom )( THIS_ VARIANT ) PURE; STDMETHOD( get_PossibleSuperiors )( THIS_ VARIANT * ) PURE; STDMETHOD( put_PossibleSuperiors )( THIS_ VARIANT ) PURE; STDMETHOD( get_Containment )( THIS_ VARIANT * ) PURE; STDMETHOD( put_Containment )( THIS_ VARIANT ) PURE; STDMETHOD( get_Container )( THIS_ VARIANT_BOOL * ) PURE; STDMETHOD( put_Container )( THIS_ VARIANT_BOOL ) PURE; STDMETHOD( get_HelpFileName )( THIS_ BSTR * ) PURE; STDMETHOD( put_HelpFileName )( THIS_ BSTR ) PURE; STDMETHOD( get_HelpFileContext )( THIS_ long * ) PURE; STDMETHOD( put_HelpFileContext )( THIS_ long ) PURE; STDMETHOD( Qualifiers )( THIS_ IADsCollection ** ) PURE; }; /* IADsProperty interface */ #undef INTERFACE #define INTERFACE IADsProperty DECLARE_INTERFACE_( IADsProperty, IADs ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADs methods */ STDMETHOD( get_Name )( THIS_ BSTR * ) PURE; STDMETHOD( get_Class )( THIS_ BSTR * ) PURE; STDMETHOD( get_GUID )( THIS_ BSTR * ) PURE; STDMETHOD( get_ADsPath )( THIS_ BSTR * ) PURE; STDMETHOD( get_Parent )( THIS_ BSTR * ) PURE; STDMETHOD( get_Schema )( THIS_ BSTR * ) PURE; STDMETHOD( GetInfo )( THIS ) PURE; STDMETHOD( SetInfo )( THIS ) PURE; STDMETHOD( Get )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( Put )( THIS_ BSTR, VARIANT ) PURE; STDMETHOD( GetEx )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( PutEx )( THIS_ long, BSTR, VARIANT ) PURE; STDMETHOD( GetInfoEx )( THIS_ VARIANT, long ) PURE; /* IADsProperty methods */ STDMETHOD( get_OID )( THIS_ BSTR * ) PURE; STDMETHOD( put_OID )( THIS_ BSTR ) PURE; STDMETHOD( get_Syntax )( THIS_ BSTR * ) PURE; STDMETHOD( put_Syntax )( THIS_ BSTR ) PURE; STDMETHOD( get_MaxRange )( THIS_ long * ) PURE; STDMETHOD( put_MaxRange )( THIS_ long ) PURE; STDMETHOD( get_MinRange )( THIS_ long * ) PURE; STDMETHOD( put_MinRange )( THIS_ long ) PURE; STDMETHOD( get_MultiValued )( THIS_ VARIANT_BOOL * ) PURE; STDMETHOD( put_MultiValued )( THIS_ VARIANT_BOOL ) PURE; STDMETHOD( Qualifiers )( THIS_ IADsCollection ** ) PURE; }; /* IADsSyntax interface */ #undef INTERFACE #define INTERFACE IADsSyntax DECLARE_INTERFACE_( IADsSyntax, IADs ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADs methods */ STDMETHOD( get_Name )( THIS_ BSTR * ) PURE; STDMETHOD( get_Class )( THIS_ BSTR * ) PURE; STDMETHOD( get_GUID )( THIS_ BSTR * ) PURE; STDMETHOD( get_ADsPath )( THIS_ BSTR * ) PURE; STDMETHOD( get_Parent )( THIS_ BSTR * ) PURE; STDMETHOD( get_Schema )( THIS_ BSTR * ) PURE; STDMETHOD( GetInfo )( THIS ) PURE; STDMETHOD( SetInfo )( THIS ) PURE; STDMETHOD( Get )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( Put )( THIS_ BSTR, VARIANT ) PURE; STDMETHOD( GetEx )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( PutEx )( THIS_ long, BSTR, VARIANT ) PURE; STDMETHOD( GetInfoEx )( THIS_ VARIANT, long ) PURE; /* IADsSyntax methods */ STDMETHOD( get_OleAutoDataType )( THIS_ long * ) PURE; STDMETHOD( put_OleAutoDataType )( THIS_ long ) PURE; }; /* IADsLocality interface */ #undef INTERFACE #define INTERFACE IADsLocality DECLARE_INTERFACE_( IADsLocality, IADs ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADs methods */ STDMETHOD( get_Name )( THIS_ BSTR * ) PURE; STDMETHOD( get_Class )( THIS_ BSTR * ) PURE; STDMETHOD( get_GUID )( THIS_ BSTR * ) PURE; STDMETHOD( get_ADsPath )( THIS_ BSTR * ) PURE; STDMETHOD( get_Parent )( THIS_ BSTR * ) PURE; STDMETHOD( get_Schema )( THIS_ BSTR * ) PURE; STDMETHOD( GetInfo )( THIS ) PURE; STDMETHOD( SetInfo )( THIS ) PURE; STDMETHOD( Get )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( Put )( THIS_ BSTR, VARIANT ) PURE; STDMETHOD( GetEx )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( PutEx )( THIS_ long, BSTR, VARIANT ) PURE; STDMETHOD( GetInfoEx )( THIS_ VARIANT, long ) PURE; /* IADsLocality methods */ STDMETHOD( get_Description )( THIS_ BSTR * ) PURE; STDMETHOD( put_Description )( THIS_ BSTR ) PURE; STDMETHOD( get_LocalityName )( THIS_ BSTR * ) PURE; STDMETHOD( put_LocalityName )( THIS_ BSTR ) PURE; STDMETHOD( get_PostalAddress )( THIS_ BSTR * ) PURE; STDMETHOD( put_PostalAddress )( THIS_ BSTR ) PURE; STDMETHOD( get_SeeAlso )( THIS_ VARIANT * ) PURE; STDMETHOD( put_SeeAlso )( THIS_ VARIANT ) PURE; }; /* IADsO interface */ #undef INTERFACE #define INTERFACE IADsO DECLARE_INTERFACE_( IADsO, IADs ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADs methods */ STDMETHOD( get_Name )( THIS_ BSTR * ) PURE; STDMETHOD( get_Class )( THIS_ BSTR * ) PURE; STDMETHOD( get_GUID )( THIS_ BSTR * ) PURE; STDMETHOD( get_ADsPath )( THIS_ BSTR * ) PURE; STDMETHOD( get_Parent )( THIS_ BSTR * ) PURE; STDMETHOD( get_Schema )( THIS_ BSTR * ) PURE; STDMETHOD( GetInfo )( THIS ) PURE; STDMETHOD( SetInfo )( THIS ) PURE; STDMETHOD( Get )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( Put )( THIS_ BSTR, VARIANT ) PURE; STDMETHOD( GetEx )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( PutEx )( THIS_ long, BSTR, VARIANT ) PURE; STDMETHOD( GetInfoEx )( THIS_ VARIANT, long ) PURE; /* IADsO methods */ STDMETHOD( get_Description )( THIS_ BSTR * ) PURE; STDMETHOD( put_Description )( THIS_ BSTR ) PURE; STDMETHOD( get_LocalityName )( THIS_ BSTR * ) PURE; STDMETHOD( put_LocalityName )( THIS_ BSTR ) PURE; STDMETHOD( get_PostalAddress )( THIS_ BSTR * ) PURE; STDMETHOD( put_PostalAddress )( THIS_ BSTR ) PURE; STDMETHOD( get_TelephoneNumber )( THIS_ BSTR * ) PURE; STDMETHOD( put_TelephoneNumber )( THIS_ BSTR ) PURE; STDMETHOD( get_FaxNumber )( THIS_ BSTR * ) PURE; STDMETHOD( put_FaxNumber )( THIS_ BSTR ) PURE; STDMETHOD( get_SeeAlso )( THIS_ BSTR * ) PURE; STDMETHOD( put_SeeAlso )( THIS_ BSTR ) PURE; }; /* IADsOU interface */ #undef INTERFACE #define INTERFACE IADsOU DECLARE_INTERFACE_( IADsOU, IADs ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADs methods */ STDMETHOD( get_Name )( THIS_ BSTR * ) PURE; STDMETHOD( get_Class )( THIS_ BSTR * ) PURE; STDMETHOD( get_GUID )( THIS_ BSTR * ) PURE; STDMETHOD( get_ADsPath )( THIS_ BSTR * ) PURE; STDMETHOD( get_Parent )( THIS_ BSTR * ) PURE; STDMETHOD( get_Schema )( THIS_ BSTR * ) PURE; STDMETHOD( GetInfo )( THIS ) PURE; STDMETHOD( SetInfo )( THIS ) PURE; STDMETHOD( Get )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( Put )( THIS_ BSTR, VARIANT ) PURE; STDMETHOD( GetEx )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( PutEx )( THIS_ long, BSTR, VARIANT ) PURE; STDMETHOD( GetInfoEx )( THIS_ VARIANT, long ) PURE; /* IADsOU methods */ STDMETHOD( get_Description )( THIS_ BSTR * ) PURE; STDMETHOD( put_Description )( THIS_ BSTR ) PURE; STDMETHOD( get_LocalityName )( THIS_ BSTR * ) PURE; STDMETHOD( put_LocalityName )( THIS_ BSTR ) PURE; STDMETHOD( get_PostalAddress )( THIS_ BSTR * ) PURE; STDMETHOD( put_PostalAddress )( THIS_ BSTR ) PURE; STDMETHOD( get_TelephoneNumber )( THIS_ BSTR * ) PURE; STDMETHOD( put_TelephoneNumber )( THIS_ BSTR ) PURE; STDMETHOD( get_FaxNumber )( THIS_ BSTR * ) PURE; STDMETHOD( put_FaxNumber )( THIS_ BSTR ) PURE; STDMETHOD( get_SeeAlso )( THIS_ BSTR * ) PURE; STDMETHOD( put_SeeAlso )( THIS_ BSTR ) PURE; STDMETHOD( get_BusinessCategory )( THIS_ BSTR * ) PURE; STDMETHOD( put_BusinessCategory )( THIS_ BSTR ) PURE; }; /* IADsDomain interface */ #undef INTERFACE #define INTERFACE IADsDomain DECLARE_INTERFACE_( IADsDomain, IADs ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADs methods */ STDMETHOD( get_Name )( THIS_ BSTR * ) PURE; STDMETHOD( get_Class )( THIS_ BSTR * ) PURE; STDMETHOD( get_GUID )( THIS_ BSTR * ) PURE; STDMETHOD( get_ADsPath )( THIS_ BSTR * ) PURE; STDMETHOD( get_Parent )( THIS_ BSTR * ) PURE; STDMETHOD( get_Schema )( THIS_ BSTR * ) PURE; STDMETHOD( GetInfo )( THIS ) PURE; STDMETHOD( SetInfo )( THIS ) PURE; STDMETHOD( Get )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( Put )( THIS_ BSTR, VARIANT ) PURE; STDMETHOD( GetEx )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( PutEx )( THIS_ long, BSTR, VARIANT ) PURE; STDMETHOD( GetInfoEx )( THIS_ VARIANT, long ) PURE; /* IADsDomain methods */ STDMETHOD( get_IsWorkgroup )( THIS_ VARIANT_BOOL * ) PURE; STDMETHOD( get_MinPasswordLength )( THIS_ long * ) PURE; STDMETHOD( put_MinPasswordLength )( THIS_ long ) PURE; STDMETHOD( get_MinPasswordAge )( THIS_ long * ) PURE; STDMETHOD( put_MinPasswordAge )( THIS_ long ) PURE; STDMETHOD( get_MaxPasswordAge )( THIS_ long * ) PURE; STDMETHOD( put_MaxPasswordAge )( THIS_ long ) PURE; STDMETHOD( get_MaxBadPasswordsAllowed )( THIS_ long * ) PURE; STDMETHOD( put_MaxBadPasswordsAllowed )( THIS_ long ) PURE; STDMETHOD( get_PasswordHistoryLength )( THIS_ long * ) PURE; STDMETHOD( put_PasswordHistoryLength )( THIS_ long ) PURE; STDMETHOD( get_PasswordAttributes )( THIS_ long * ) PURE; STDMETHOD( put_PasswordAttributes )( THIS_ long ) PURE; STDMETHOD( get_AutoUnlockInterval )( THIS_ long * ) PURE; STDMETHOD( put_AutoUnlockInterval )( THIS_ long ) PURE; STDMETHOD( get_LockoutObservationInterval )( THIS_ long * ) PURE; STDMETHOD( put_LockoutObservationInterval )( THIS_ long ) PURE; }; /* IADsComputer interface */ #undef INTERFACE #define INTERFACE IADsComputer DECLARE_INTERFACE_( IADsComputer, IADs ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADs methods */ STDMETHOD( get_Name )( THIS_ BSTR * ) PURE; STDMETHOD( get_Class )( THIS_ BSTR * ) PURE; STDMETHOD( get_GUID )( THIS_ BSTR * ) PURE; STDMETHOD( get_ADsPath )( THIS_ BSTR * ) PURE; STDMETHOD( get_Parent )( THIS_ BSTR * ) PURE; STDMETHOD( get_Schema )( THIS_ BSTR * ) PURE; STDMETHOD( GetInfo )( THIS ) PURE; STDMETHOD( SetInfo )( THIS ) PURE; STDMETHOD( Get )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( Put )( THIS_ BSTR, VARIANT ) PURE; STDMETHOD( GetEx )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( PutEx )( THIS_ long, BSTR, VARIANT ) PURE; STDMETHOD( GetInfoEx )( THIS_ VARIANT, long ) PURE; /* IADsComputer methods */ STDMETHOD( get_ComputerID )( THIS_ BSTR * ) PURE; STDMETHOD( get_Site )( THIS_ BSTR * ) PURE; STDMETHOD( get_Description )( THIS_ BSTR * ) PURE; STDMETHOD( put_Description )( THIS_ BSTR ) PURE; STDMETHOD( get_Location )( THIS_ BSTR * ) PURE; STDMETHOD( put_Location )( THIS_ BSTR ) PURE; STDMETHOD( get_PrimaryUser )( THIS_ BSTR * ) PURE; STDMETHOD( put_PrimaryUser )( THIS_ BSTR ) PURE; STDMETHOD( get_Owner )( THIS_ BSTR * ) PURE; STDMETHOD( put_Owner )( THIS_ BSTR ) PURE; STDMETHOD( get_Division )( THIS_ BSTR * ) PURE; STDMETHOD( put_Division )( THIS_ BSTR ) PURE; STDMETHOD( get_Department )( THIS_ BSTR * ) PURE; STDMETHOD( put_Department )( THIS_ BSTR ) PURE; STDMETHOD( get_Role )( THIS_ BSTR * ) PURE; STDMETHOD( put_Role )( THIS_ BSTR ) PURE; STDMETHOD( get_OperatingSystem )( THIS_ BSTR * ) PURE; STDMETHOD( put_OperatingSystem )( THIS_ BSTR ) PURE; STDMETHOD( get_OperatingSystemVersion )( THIS_ BSTR * ) PURE; STDMETHOD( put_OperatingSystemVersion )( THIS_ BSTR ) PURE; STDMETHOD( get_Model )( THIS_ BSTR * ) PURE; STDMETHOD( put_Model )( THIS_ BSTR ) PURE; STDMETHOD( get_Processor )( THIS_ BSTR * ) PURE; STDMETHOD( put_Processor )( THIS_ BSTR ) PURE; STDMETHOD( get_ProcessorCount )( THIS_ BSTR * ) PURE; STDMETHOD( put_ProcessorCount )( THIS_ BSTR ) PURE; STDMETHOD( get_MemorySize )( THIS_ BSTR * ) PURE; STDMETHOD( put_MemorySize )( THIS_ BSTR ) PURE; STDMETHOD( get_StorageCapacity )( THIS_ BSTR * ) PURE; STDMETHOD( put_StorageCapacity )( THIS_ BSTR ) PURE; STDMETHOD( get_NetAddresses )( THIS_ VARIANT * ) PURE; STDMETHOD( put_NetAddresses )( THIS_ VARIANT ) PURE; }; /* IADsComputerOperations interface */ #undef INTERFACE #define INTERFACE IADsComputerOperations DECLARE_INTERFACE_( IADsComputerOperations, IADs ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADs methods */ STDMETHOD( get_Name )( THIS_ BSTR * ) PURE; STDMETHOD( get_Class )( THIS_ BSTR * ) PURE; STDMETHOD( get_GUID )( THIS_ BSTR * ) PURE; STDMETHOD( get_ADsPath )( THIS_ BSTR * ) PURE; STDMETHOD( get_Parent )( THIS_ BSTR * ) PURE; STDMETHOD( get_Schema )( THIS_ BSTR * ) PURE; STDMETHOD( GetInfo )( THIS ) PURE; STDMETHOD( SetInfo )( THIS ) PURE; STDMETHOD( Get )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( Put )( THIS_ BSTR, VARIANT ) PURE; STDMETHOD( GetEx )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( PutEx )( THIS_ long, BSTR, VARIANT ) PURE; STDMETHOD( GetInfoEx )( THIS_ VARIANT, long ) PURE; /* IADsComputerOperations methods */ STDMETHOD( Status )( THIS_ IDispatch ** ) PURE; STDMETHOD( Shutdown )( THIS_ VARIANT_BOOL ) PURE; }; /* IADsGroup interface */ #undef INTERFACE #define INTERFACE IADsGroup DECLARE_INTERFACE_( IADsGroup, IADs ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADs methods */ STDMETHOD( get_Name )( THIS_ BSTR * ) PURE; STDMETHOD( get_Class )( THIS_ BSTR * ) PURE; STDMETHOD( get_GUID )( THIS_ BSTR * ) PURE; STDMETHOD( get_ADsPath )( THIS_ BSTR * ) PURE; STDMETHOD( get_Parent )( THIS_ BSTR * ) PURE; STDMETHOD( get_Schema )( THIS_ BSTR * ) PURE; STDMETHOD( GetInfo )( THIS ) PURE; STDMETHOD( SetInfo )( THIS ) PURE; STDMETHOD( Get )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( Put )( THIS_ BSTR, VARIANT ) PURE; STDMETHOD( GetEx )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( PutEx )( THIS_ long, BSTR, VARIANT ) PURE; STDMETHOD( GetInfoEx )( THIS_ VARIANT, long ) PURE; /* IADsGroup methods */ STDMETHOD( get_Description )( THIS_ BSTR * ) PURE; STDMETHOD( put_Description )( THIS_ BSTR ) PURE; STDMETHOD( Members )( THIS_ IADsMembers ** ) PURE; STDMETHOD( IsMember )( THIS_ BSTR, VARIANT_BOOL * ) PURE; STDMETHOD( Add )( THIS_ BSTR ) PURE; STDMETHOD( Remove )( THIS_ BSTR ) PURE; }; /* IADsUser interface */ #undef INTERFACE #define INTERFACE IADsUser DECLARE_INTERFACE_( IADsUser, IADs ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADs methods */ STDMETHOD( get_Name )( THIS_ BSTR * ) PURE; STDMETHOD( get_Class )( THIS_ BSTR * ) PURE; STDMETHOD( get_GUID )( THIS_ BSTR * ) PURE; STDMETHOD( get_ADsPath )( THIS_ BSTR * ) PURE; STDMETHOD( get_Parent )( THIS_ BSTR * ) PURE; STDMETHOD( get_Schema )( THIS_ BSTR * ) PURE; STDMETHOD( GetInfo )( THIS ) PURE; STDMETHOD( SetInfo )( THIS ) PURE; STDMETHOD( Get )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( Put )( THIS_ BSTR, VARIANT ) PURE; STDMETHOD( GetEx )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( PutEx )( THIS_ long, BSTR, VARIANT ) PURE; STDMETHOD( GetInfoEx )( THIS_ VARIANT, long ) PURE; /* IADsUser methods */ STDMETHOD( get_BadLoginAddress )( THIS_ BSTR * ) PURE; STDMETHOD( get_BadLoginCount )( THIS_ long * ) PURE; STDMETHOD( get_LastLogin )( THIS_ DATE * ) PURE; STDMETHOD( get_LastLogoff )( THIS_ DATE * ) PURE; STDMETHOD( get_LastFailedLogin )( THIS_ DATE * ) PURE; STDMETHOD( get_PasswordLastChanged )( THIS_ DATE * ) PURE; STDMETHOD( get_Description )( THIS_ BSTR * ) PURE; STDMETHOD( put_Description )( THIS_ BSTR ) PURE; STDMETHOD( get_Division )( THIS_ BSTR * ) PURE; STDMETHOD( put_Division )( THIS_ BSTR ) PURE; STDMETHOD( get_Department )( THIS_ BSTR * ) PURE; STDMETHOD( put_Department )( THIS_ BSTR ) PURE; STDMETHOD( get_EmployeeID )( THIS_ BSTR * ) PURE; STDMETHOD( put_EmployeeID )( THIS_ BSTR ) PURE; STDMETHOD( get_FullName )( THIS_ BSTR * ) PURE; STDMETHOD( put_FullName )( THIS_ BSTR ) PURE; STDMETHOD( get_FirstName )( THIS_ BSTR * ) PURE; STDMETHOD( put_FirstName )( THIS_ BSTR ) PURE; STDMETHOD( get_LastName )( THIS_ BSTR * ) PURE; STDMETHOD( put_LastName )( THIS_ BSTR ) PURE; STDMETHOD( get_OtherName )( THIS_ BSTR * ) PURE; STDMETHOD( put_OtherName )( THIS_ BSTR ) PURE; STDMETHOD( get_NamePrefix )( THIS_ BSTR * ) PURE; STDMETHOD( put_NamePrefix )( THIS_ BSTR ) PURE; STDMETHOD( get_NameSuffix )( THIS_ BSTR * ) PURE; STDMETHOD( put_NameSuffix )( THIS_ BSTR ) PURE; STDMETHOD( get_Title )( THIS_ BSTR * ) PURE; STDMETHOD( put_Title )( THIS_ BSTR ) PURE; STDMETHOD( get_Manager )( THIS_ BSTR * ) PURE; STDMETHOD( put_Manager )( THIS_ BSTR ) PURE; STDMETHOD( get_TelephoneHome )( THIS_ VARIANT * ) PURE; STDMETHOD( put_TelephoneHome )( THIS_ VARIANT ) PURE; STDMETHOD( get_TelephoneMobile )( THIS_ VARIANT * ) PURE; STDMETHOD( put_TelephoneMobile )( THIS_ VARIANT ) PURE; STDMETHOD( get_TelephoneNumber )( THIS_ VARIANT * ) PURE; STDMETHOD( put_TelephoneNumber )( THIS_ VARIANT ) PURE; STDMETHOD( get_TelephonePager )( THIS_ VARIANT * ) PURE; STDMETHOD( put_TelephonePager )( THIS_ VARIANT ) PURE; STDMETHOD( get_FaxNumber )( THIS_ VARIANT * ) PURE; STDMETHOD( put_FaxNumber )( THIS_ VARIANT ) PURE; STDMETHOD( get_OfficeLocations )( THIS_ VARIANT * ) PURE; STDMETHOD( put_OfficeLocations )( THIS_ VARIANT ) PURE; STDMETHOD( get_PostalAddresses )( THIS_ VARIANT * ) PURE; STDMETHOD( put_PostalAddresses )( THIS_ VARIANT ) PURE; STDMETHOD( get_PostalCodes )( THIS_ VARIANT * ) PURE; STDMETHOD( put_PostalCodes )( THIS_ VARIANT ) PURE; STDMETHOD( get_SeeAlso )( THIS_ VARIANT * ) PURE; STDMETHOD( put_SeeAlso )( THIS_ VARIANT ) PURE; STDMETHOD( get_AccountDisabled )( THIS_ VARIANT * ) PURE; STDMETHOD( put_AccountDisabled )( THIS_ VARIANT ) PURE; STDMETHOD( get_AccountExpirationDate )( THIS_ DATE * ) PURE; STDMETHOD( put_AccountExpirationDate )( THIS_ DATE ) PURE; STDMETHOD( get_GraceLoginsAllowed )( THIS_ long * ) PURE; STDMETHOD( put_GraceLoginsAllowed )( THIS_ long ) PURE; STDMETHOD( get_GraceLoginsRemaining )( THIS_ long * ) PURE; STDMETHOD( put_GraceLoginsRemaining )( THIS_ long ) PURE; STDMETHOD( get_IsAccountLocked )( THIS_ VARIANT_BOOL * ) PURE; STDMETHOD( put_IsAccountLocked )( THIS_ VARIANT_BOOL ) PURE; STDMETHOD( get_LoginHours )( THIS_ VARIANT * ) PURE; STDMETHOD( put_LoginHours )( THIS_ VARIANT ) PURE; STDMETHOD( get_LoginWorkstations )( THIS_ VARIANT * ) PURE; STDMETHOD( put_LoginWorkstations )( THIS_ VARIANT ) PURE; STDMETHOD( get_MaxLogins )( THIS_ long * ) PURE; STDMETHOD( put_MaxLogins )( THIS_ long ) PURE; STDMETHOD( get_MaxStorage )( THIS_ long * ) PURE; STDMETHOD( put_MaxStorage )( THIS_ long ) PURE; STDMETHOD( get_PasswordExpirationDate )( THIS_ DATE * ) PURE; STDMETHOD( put_PasswordExpirationDate )( THIS_ DATE ) PURE; STDMETHOD( get_PasswordMinimumLength )( THIS_ long * ) PURE; STDMETHOD( put_PasswordMinimumLength )( THIS_ long ) PURE; STDMETHOD( get_PasswordRequired )( THIS_ VARIANT_BOOL * ) PURE; STDMETHOD( put_PasswordRequired )( THIS_ VARIANT_BOOL ) PURE; STDMETHOD( get_RequireUniquePassword )( THIS_ VARIANT_BOOL * ) PURE; STDMETHOD( put_RequireUniquePassword )( THIS_ VARIANT_BOOL ) PURE; STDMETHOD( get_EmailAddress )( THIS_ BSTR * ) PURE; STDMETHOD( put_EmailAddress )( THIS_ BSTR ) PURE; STDMETHOD( get_HomeDirectory )( THIS_ BSTR * ) PURE; STDMETHOD( put_HomeDirectory )( THIS_ BSTR ) PURE; STDMETHOD( get_Languages )( THIS_ VARIANT * ) PURE; STDMETHOD( put_Languages )( THIS_ VARIANT ) PURE; STDMETHOD( get_Profile )( THIS_ BSTR * ) PURE; STDMETHOD( put_Profile )( THIS_ BSTR ) PURE; STDMETHOD( get_LoginScript )( THIS_ BSTR * ) PURE; STDMETHOD( put_LoginScript )( THIS_ BSTR ) PURE; STDMETHOD( get_Picture )( THIS_ VARIANT * ) PURE; STDMETHOD( put_Picture )( THIS_ VARIANT ) PURE; STDMETHOD( get_HomePage )( THIS_ BSTR * ) PURE; STDMETHOD( put_HomePage )( THIS_ BSTR ) PURE; STDMETHOD( Groups )( THIS_ IADsMembers ** ) PURE; STDMETHOD( SetPassword )( THIS_ BSTR ) PURE; STDMETHOD( ChangePassword )( THIS_ BSTR, BSTR ) PURE; }; /* IADsPrintQueue interface */ #undef INTERFACE #define INTERFACE IADsPrintQueue DECLARE_INTERFACE_( IADsPrintQueue, IADs ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADs methods */ STDMETHOD( get_Name )( THIS_ BSTR * ) PURE; STDMETHOD( get_Class )( THIS_ BSTR * ) PURE; STDMETHOD( get_GUID )( THIS_ BSTR * ) PURE; STDMETHOD( get_ADsPath )( THIS_ BSTR * ) PURE; STDMETHOD( get_Parent )( THIS_ BSTR * ) PURE; STDMETHOD( get_Schema )( THIS_ BSTR * ) PURE; STDMETHOD( GetInfo )( THIS ) PURE; STDMETHOD( SetInfo )( THIS ) PURE; STDMETHOD( Get )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( Put )( THIS_ BSTR, VARIANT ) PURE; STDMETHOD( GetEx )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( PutEx )( THIS_ long, BSTR, VARIANT ) PURE; STDMETHOD( GetInfoEx )( THIS_ VARIANT, long ) PURE; /* IADsPrintQueue methods */ STDMETHOD( get_PrinterPath )( THIS_ BSTR * ) PURE; STDMETHOD( put_PrinterPath )( THIS_ BSTR ) PURE; STDMETHOD( get_Model )( THIS_ BSTR * ) PURE; STDMETHOD( put_Model )( THIS_ BSTR ) PURE; STDMETHOD( get_Datatype )( THIS_ BSTR * ) PURE; STDMETHOD( put_Datatype )( THIS_ BSTR ) PURE; STDMETHOD( get_PrintProcessor )( THIS_ BSTR * ) PURE; STDMETHOD( put_PrintProcessor )( THIS_ BSTR ) PURE; STDMETHOD( get_Description )( THIS_ BSTR * ) PURE; STDMETHOD( put_Description )( THIS_ BSTR ) PURE; STDMETHOD( get_Location )( THIS_ BSTR * ) PURE; STDMETHOD( put_Location )( THIS_ BSTR ) PURE; STDMETHOD( get_StartTime )( THIS_ DATE * ) PURE; STDMETHOD( put_StartTime )( THIS_ DATE ) PURE; STDMETHOD( get_UntilTime )( THIS_ DATE * ) PURE; STDMETHOD( put_UntilTime )( THIS_ DATE ) PURE; STDMETHOD( get_DefaultJobPriority )( THIS_ long * ) PURE; STDMETHOD( put_DefaultJobPriority )( THIS_ long ) PURE; STDMETHOD( get_Priority )( THIS_ long * ) PURE; STDMETHOD( put_Priority )( THIS_ long ) PURE; STDMETHOD( get_BannerPage )( THIS_ BSTR * ) PURE; STDMETHOD( put_BannerPage )( THIS_ BSTR ) PURE; STDMETHOD( get_PrintDevices )( THIS_ VARIANT * ) PURE; STDMETHOD( put_PrintDevices )( THIS_ VARIANT ) PURE; STDMETHOD( get_NetAddresses )( THIS_ VARIANT * ) PURE; STDMETHOD( put_NetAddresses )( THIS_ VARIANT ) PURE; }; /* IADsPrintQueueOperations interface */ #undef INTERFACE #define INTERFACE IADsPrintQueueOperations DECLARE_INTERFACE_( IADsPrintQueueOperations, IADs ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADs methods */ STDMETHOD( get_Name )( THIS_ BSTR * ) PURE; STDMETHOD( get_Class )( THIS_ BSTR * ) PURE; STDMETHOD( get_GUID )( THIS_ BSTR * ) PURE; STDMETHOD( get_ADsPath )( THIS_ BSTR * ) PURE; STDMETHOD( get_Parent )( THIS_ BSTR * ) PURE; STDMETHOD( get_Schema )( THIS_ BSTR * ) PURE; STDMETHOD( GetInfo )( THIS ) PURE; STDMETHOD( SetInfo )( THIS ) PURE; STDMETHOD( Get )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( Put )( THIS_ BSTR, VARIANT ) PURE; STDMETHOD( GetEx )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( PutEx )( THIS_ long, BSTR, VARIANT ) PURE; STDMETHOD( GetInfoEx )( THIS_ VARIANT, long ) PURE; /* IADsPrintQueueOperations methods */ STDMETHOD( get_Status )( THIS_ long * ) PURE; STDMETHOD( PrintJobs )( THIS_ IADsCollection ** ) PURE; STDMETHOD( Pause )( THIS ) PURE; STDMETHOD( Resume )( THIS ) PURE; STDMETHOD( Purge )( THIS ) PURE; }; /* IADsPrintJob interface */ #undef INTERFACE #define INTERFACE IADsPrintJob DECLARE_INTERFACE_( IADsPrintJob, IADs ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADs methods */ STDMETHOD( get_Name )( THIS_ BSTR * ) PURE; STDMETHOD( get_Class )( THIS_ BSTR * ) PURE; STDMETHOD( get_GUID )( THIS_ BSTR * ) PURE; STDMETHOD( get_ADsPath )( THIS_ BSTR * ) PURE; STDMETHOD( get_Parent )( THIS_ BSTR * ) PURE; STDMETHOD( get_Schema )( THIS_ BSTR * ) PURE; STDMETHOD( GetInfo )( THIS ) PURE; STDMETHOD( SetInfo )( THIS ) PURE; STDMETHOD( Get )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( Put )( THIS_ BSTR, VARIANT ) PURE; STDMETHOD( GetEx )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( PutEx )( THIS_ long, BSTR, VARIANT ) PURE; STDMETHOD( GetInfoEx )( THIS_ VARIANT, long ) PURE; /* IADsPrintJob methods */ STDMETHOD( get_HostPrintQueue )( THIS_ BSTR * ) PURE; STDMETHOD( get_User )( THIS_ BSTR * ) PURE; STDMETHOD( get_UserPath )( THIS_ BSTR * ) PURE; STDMETHOD( get_TimeSubmitted )( THIS_ DATE * ) PURE; STDMETHOD( get_TotalPages )( THIS_ long * ) PURE; STDMETHOD( get_Size )( THIS_ long * ) PURE; STDMETHOD( get_Description )( THIS_ BSTR * ) PURE; STDMETHOD( put_Description )( THIS_ BSTR ) PURE; STDMETHOD( get_Priority )( THIS_ long * ) PURE; STDMETHOD( put_Priority )( THIS_ long ) PURE; STDMETHOD( get_StartTime )( THIS_ DATE * ) PURE; STDMETHOD( put_StartTime )( THIS_ DATE ) PURE; STDMETHOD( get_UntilTime )( THIS_ DATE * ) PURE; STDMETHOD( put_UntilTime )( THIS_ DATE ) PURE; STDMETHOD( get_Notify )( THIS_ BSTR * ) PURE; STDMETHOD( put_Notify )( THIS_ BSTR ) PURE; STDMETHOD( get_NotifyPath )( THIS_ BSTR * ) PURE; STDMETHOD( put_NotifyPath )( THIS_ BSTR ) PURE; }; /* IADsPrintJobOperations interface */ #undef INTERFACE #define INTERFACE IADsPrintJobOperations DECLARE_INTERFACE_( IADsPrintJobOperations, IADs ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADs methods */ STDMETHOD( get_Name )( THIS_ BSTR * ) PURE; STDMETHOD( get_Class )( THIS_ BSTR * ) PURE; STDMETHOD( get_GUID )( THIS_ BSTR * ) PURE; STDMETHOD( get_ADsPath )( THIS_ BSTR * ) PURE; STDMETHOD( get_Parent )( THIS_ BSTR * ) PURE; STDMETHOD( get_Schema )( THIS_ BSTR * ) PURE; STDMETHOD( GetInfo )( THIS ) PURE; STDMETHOD( SetInfo )( THIS ) PURE; STDMETHOD( Get )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( Put )( THIS_ BSTR, VARIANT ) PURE; STDMETHOD( GetEx )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( PutEx )( THIS_ long, BSTR, VARIANT ) PURE; STDMETHOD( GetInfoEx )( THIS_ VARIANT, long ) PURE; /* IADsPrintJobOperations methods */ STDMETHOD( get_Status )( THIS_ long * ) PURE; STDMETHOD( get_TimeElapsed )( THIS_ long * ) PURE; STDMETHOD( get_PagesPrinted )( THIS_ long * ) PURE; STDMETHOD( get_Position )( THIS_ long * ) PURE; STDMETHOD( put_Position )( THIS_ long ) PURE; STDMETHOD( Pause )( THIS ) PURE; STDMETHOD( Resume )( THIS ) PURE; }; /* IADsService interface */ #undef INTERFACE #define INTERFACE IADsService DECLARE_INTERFACE_( IADsService, IADs ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADs methods */ STDMETHOD( get_Name )( THIS_ BSTR * ) PURE; STDMETHOD( get_Class )( THIS_ BSTR * ) PURE; STDMETHOD( get_GUID )( THIS_ BSTR * ) PURE; STDMETHOD( get_ADsPath )( THIS_ BSTR * ) PURE; STDMETHOD( get_Parent )( THIS_ BSTR * ) PURE; STDMETHOD( get_Schema )( THIS_ BSTR * ) PURE; STDMETHOD( GetInfo )( THIS ) PURE; STDMETHOD( SetInfo )( THIS ) PURE; STDMETHOD( Get )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( Put )( THIS_ BSTR, VARIANT ) PURE; STDMETHOD( GetEx )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( PutEx )( THIS_ long, BSTR, VARIANT ) PURE; STDMETHOD( GetInfoEx )( THIS_ VARIANT, long ) PURE; /* IADsService methods */ STDMETHOD( get_HostComputer )( THIS_ BSTR * ) PURE; STDMETHOD( put_HostComputer )( THIS_ BSTR ) PURE; STDMETHOD( get_DisplayName )( THIS_ BSTR * ) PURE; STDMETHOD( put_DisplayName )( THIS_ BSTR ) PURE; STDMETHOD( get_Version )( THIS_ BSTR * ) PURE; STDMETHOD( put_Version )( THIS_ BSTR ) PURE; STDMETHOD( get_ServiceType )( THIS_ long * ) PURE; STDMETHOD( put_ServiceType )( THIS_ long ) PURE; STDMETHOD( get_StartType )( THIS_ long * ) PURE; STDMETHOD( put_StartType )( THIS_ long ) PURE; STDMETHOD( get_Path )( THIS_ BSTR * ) PURE; STDMETHOD( put_Path )( THIS_ BSTR ) PURE; STDMETHOD( get_StartupParameters )( THIS_ BSTR * ) PURE; STDMETHOD( put_StartupParameters )( THIS_ BSTR ) PURE; STDMETHOD( get_ErrorControl )( THIS_ long * ) PURE; STDMETHOD( put_ErrorControl )( THIS_ long ) PURE; STDMETHOD( get_LoadOrderGroup )( THIS_ BSTR * ) PURE; STDMETHOD( put_LoadOrderGroup )( THIS_ BSTR ) PURE; STDMETHOD( get_ServiceAccountName )( THIS_ BSTR * ) PURE; STDMETHOD( put_ServiceAccountName )( THIS_ BSTR ) PURE; STDMETHOD( get_ServiceAccountPath )( THIS_ BSTR * ) PURE; STDMETHOD( put_ServiceAccountPath )( THIS_ BSTR ) PURE; STDMETHOD( get_Dependencies )( THIS_ VARIANT * ) PURE; STDMETHOD( put_Dependencies )( THIS_ VARIANT ) PURE; }; /* IADsServiceOperations interface */ #undef INTERFACE #define INTERFACE IADsServiceOperations DECLARE_INTERFACE_( IADsServiceOperations, IADs ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADs methods */ STDMETHOD( get_Name )( THIS_ BSTR * ) PURE; STDMETHOD( get_Class )( THIS_ BSTR * ) PURE; STDMETHOD( get_GUID )( THIS_ BSTR * ) PURE; STDMETHOD( get_ADsPath )( THIS_ BSTR * ) PURE; STDMETHOD( get_Parent )( THIS_ BSTR * ) PURE; STDMETHOD( get_Schema )( THIS_ BSTR * ) PURE; STDMETHOD( GetInfo )( THIS ) PURE; STDMETHOD( SetInfo )( THIS ) PURE; STDMETHOD( Get )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( Put )( THIS_ BSTR, VARIANT ) PURE; STDMETHOD( GetEx )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( PutEx )( THIS_ long, BSTR, VARIANT ) PURE; STDMETHOD( GetInfoEx )( THIS_ VARIANT, long ) PURE; /* IADsServiceOperations methods */ STDMETHOD( get_Status )( THIS_ long * ) PURE; STDMETHOD( Start )( THIS ) PURE; STDMETHOD( Stop )( THIS ) PURE; STDMETHOD( Pause )( THIS ) PURE; STDMETHOD( Continue )( THIS ) PURE; STDMETHOD( SetPassword )( THIS_ BSTR ) PURE; }; /* IADsFileService interface */ #undef INTERFACE #define INTERFACE IADsFileService DECLARE_INTERFACE_( IADsFileService, IADsService ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADs methods */ STDMETHOD( get_Name )( THIS_ BSTR * ) PURE; STDMETHOD( get_Class )( THIS_ BSTR * ) PURE; STDMETHOD( get_GUID )( THIS_ BSTR * ) PURE; STDMETHOD( get_ADsPath )( THIS_ BSTR * ) PURE; STDMETHOD( get_Parent )( THIS_ BSTR * ) PURE; STDMETHOD( get_Schema )( THIS_ BSTR * ) PURE; STDMETHOD( GetInfo )( THIS ) PURE; STDMETHOD( SetInfo )( THIS ) PURE; STDMETHOD( Get )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( Put )( THIS_ BSTR, VARIANT ) PURE; STDMETHOD( GetEx )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( PutEx )( THIS_ long, BSTR, VARIANT ) PURE; STDMETHOD( GetInfoEx )( THIS_ VARIANT, long ) PURE; /* IADsService methods */ STDMETHOD( get_HostComputer )( THIS_ BSTR * ) PURE; STDMETHOD( put_HostComputer )( THIS_ BSTR ) PURE; STDMETHOD( get_DisplayName )( THIS_ BSTR * ) PURE; STDMETHOD( put_DisplayName )( THIS_ BSTR ) PURE; STDMETHOD( get_Version )( THIS_ BSTR * ) PURE; STDMETHOD( put_Version )( THIS_ BSTR ) PURE; STDMETHOD( get_ServiceType )( THIS_ long * ) PURE; STDMETHOD( put_ServiceType )( THIS_ long ) PURE; STDMETHOD( get_StartType )( THIS_ long * ) PURE; STDMETHOD( put_StartType )( THIS_ long ) PURE; STDMETHOD( get_Path )( THIS_ BSTR * ) PURE; STDMETHOD( put_Path )( THIS_ BSTR ) PURE; STDMETHOD( get_StartupParameters )( THIS_ BSTR * ) PURE; STDMETHOD( put_StartupParameters )( THIS_ BSTR ) PURE; STDMETHOD( get_ErrorControl )( THIS_ long * ) PURE; STDMETHOD( put_ErrorControl )( THIS_ long ) PURE; STDMETHOD( get_LoadOrderGroup )( THIS_ BSTR * ) PURE; STDMETHOD( put_LoadOrderGroup )( THIS_ BSTR ) PURE; STDMETHOD( get_ServiceAccountName )( THIS_ BSTR * ) PURE; STDMETHOD( put_ServiceAccountName )( THIS_ BSTR ) PURE; STDMETHOD( get_ServiceAccountPath )( THIS_ BSTR * ) PURE; STDMETHOD( put_ServiceAccountPath )( THIS_ BSTR ) PURE; STDMETHOD( get_Dependencies )( THIS_ VARIANT * ) PURE; STDMETHOD( put_Dependencies )( THIS_ VARIANT ) PURE; /* IADsFileService methods */ STDMETHOD( get_Description )( THIS_ BSTR * ) PURE; STDMETHOD( put_Description )( THIS_ BSTR ) PURE; STDMETHOD( get_MaxUserCount )( THIS_ BSTR * ) PURE; STDMETHOD( put_MaxUserCount )( THIS_ BSTR ) PURE; }; /* IADsFileServiceOperations interface */ #undef INTERFACE #define INTERFACE IADsFileServiceOperations DECLARE_INTERFACE_( IADsFileServiceOperations, IADsServiceOperations ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADs methods */ STDMETHOD( get_Name )( THIS_ BSTR * ) PURE; STDMETHOD( get_Class )( THIS_ BSTR * ) PURE; STDMETHOD( get_GUID )( THIS_ BSTR * ) PURE; STDMETHOD( get_ADsPath )( THIS_ BSTR * ) PURE; STDMETHOD( get_Parent )( THIS_ BSTR * ) PURE; STDMETHOD( get_Schema )( THIS_ BSTR * ) PURE; STDMETHOD( GetInfo )( THIS ) PURE; STDMETHOD( SetInfo )( THIS ) PURE; STDMETHOD( Get )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( Put )( THIS_ BSTR, VARIANT ) PURE; STDMETHOD( GetEx )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( PutEx )( THIS_ long, BSTR, VARIANT ) PURE; STDMETHOD( GetInfoEx )( THIS_ VARIANT, long ) PURE; /* IADsServiceOperations methods */ STDMETHOD( get_Status )( THIS_ long * ) PURE; STDMETHOD( Start )( THIS ) PURE; STDMETHOD( Stop )( THIS ) PURE; STDMETHOD( Pause )( THIS ) PURE; STDMETHOD( Continue )( THIS ) PURE; STDMETHOD( SetPassword )( THIS_ BSTR ) PURE; /* IADsFileServiceOperations methods */ STDMETHOD( Sessions )( THIS_ IADsCollection ** ) PURE; STDMETHOD( Resources )( THIS_ IADsCollection ** ) PURE; }; /* IADsFileShare interface */ #undef INTERFACE #define INTERFACE IADsFileShare DECLARE_INTERFACE_( IADsFileShare, IADs ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADs methods */ STDMETHOD( get_Name )( THIS_ BSTR * ) PURE; STDMETHOD( get_Class )( THIS_ BSTR * ) PURE; STDMETHOD( get_GUID )( THIS_ BSTR * ) PURE; STDMETHOD( get_ADsPath )( THIS_ BSTR * ) PURE; STDMETHOD( get_Parent )( THIS_ BSTR * ) PURE; STDMETHOD( get_Schema )( THIS_ BSTR * ) PURE; STDMETHOD( GetInfo )( THIS ) PURE; STDMETHOD( SetInfo )( THIS ) PURE; STDMETHOD( Get )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( Put )( THIS_ BSTR, VARIANT ) PURE; STDMETHOD( GetEx )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( PutEx )( THIS_ long, BSTR, VARIANT ) PURE; STDMETHOD( GetInfoEx )( THIS_ VARIANT, long ) PURE; /* IADsFileShare methods */ STDMETHOD( get_CurrentUserCount )( THIS_ long * ) PURE; STDMETHOD( get_Description )( THIS_ BSTR * ) PURE; STDMETHOD( put_Description )( THIS_ BSTR ) PURE; STDMETHOD( get_HostComputer )( THIS_ BSTR * ) PURE; STDMETHOD( put_HostComputer )( THIS_ BSTR ) PURE; STDMETHOD( get_Path )( THIS_ BSTR * ) PURE; STDMETHOD( put_Path )( THIS_ BSTR ) PURE; STDMETHOD( get_MaxUserCount )( THIS_ long * ) PURE; STDMETHOD( put_MaxUserCount )( THIS_ long ) PURE; }; /* IADsSession interface */ #undef INTERFACE #define INTERFACE IADsSession DECLARE_INTERFACE_( IADsSession, IADs ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADs methods */ STDMETHOD( get_Name )( THIS_ BSTR * ) PURE; STDMETHOD( get_Class )( THIS_ BSTR * ) PURE; STDMETHOD( get_GUID )( THIS_ BSTR * ) PURE; STDMETHOD( get_ADsPath )( THIS_ BSTR * ) PURE; STDMETHOD( get_Parent )( THIS_ BSTR * ) PURE; STDMETHOD( get_Schema )( THIS_ BSTR * ) PURE; STDMETHOD( GetInfo )( THIS ) PURE; STDMETHOD( SetInfo )( THIS ) PURE; STDMETHOD( Get )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( Put )( THIS_ BSTR, VARIANT ) PURE; STDMETHOD( GetEx )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( PutEx )( THIS_ long, BSTR, VARIANT ) PURE; STDMETHOD( GetInfoEx )( THIS_ VARIANT, long ) PURE; /* IADsSession methods */ STDMETHOD( get_User )( THIS_ BSTR * ) PURE; STDMETHOD( get_UserPath )( THIS_ BSTR * ) PURE; STDMETHOD( get_Computer )( THIS_ BSTR * ) PURE; STDMETHOD( get_ComputerPath )( THIS_ BSTR * ) PURE; STDMETHOD( get_ConnectTime )( THIS_ long * ) PURE; STDMETHOD( get_IdleTime )( THIS_ long * ) PURE; }; /* IADsResource interface */ #undef INTERFACE #define INTERFACE IADsResource DECLARE_INTERFACE_( IADsResource, IADs ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADs methods */ STDMETHOD( get_Name )( THIS_ BSTR * ) PURE; STDMETHOD( get_Class )( THIS_ BSTR * ) PURE; STDMETHOD( get_GUID )( THIS_ BSTR * ) PURE; STDMETHOD( get_ADsPath )( THIS_ BSTR * ) PURE; STDMETHOD( get_Parent )( THIS_ BSTR * ) PURE; STDMETHOD( get_Schema )( THIS_ BSTR * ) PURE; STDMETHOD( GetInfo )( THIS ) PURE; STDMETHOD( SetInfo )( THIS ) PURE; STDMETHOD( Get )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( Put )( THIS_ BSTR, VARIANT ) PURE; STDMETHOD( GetEx )( THIS_ BSTR, VARIANT * ) PURE; STDMETHOD( PutEx )( THIS_ long, BSTR, VARIANT ) PURE; STDMETHOD( GetInfoEx )( THIS_ VARIANT, long ) PURE; /* IADsResource methods */ STDMETHOD( get_User )( THIS_ BSTR * ) PURE; STDMETHOD( get_UserPath )( THIS_ BSTR * ) PURE; STDMETHOD( get_Path )( THIS_ BSTR * ) PURE; STDMETHOD( get_LockCount )( THIS_ long * ) PURE; }; /* IADsOpenDSObject interface */ #undef INTERFACE #define INTERFACE IADsOpenDSObject DECLARE_INTERFACE_( IADsOpenDSObject, IDispatch ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADsOpenDSObject methods */ STDMETHOD( OpenDSObject )( THIS_ BSTR, BSTR, BSTR, long, IDispatch ** ) PURE; }; /* IDirectoryObject interface */ #undef INTERFACE #define INTERFACE IDirectoryObject DECLARE_INTERFACE_( IDirectoryObject, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDirectoryObject methods */ STDMETHOD( GetObjectInformation )( THIS_ PADS_OBJECT_INFO * ) PURE; STDMETHOD( GetObjectAttributes )( THIS_ LPWSTR *, DWORD, PADS_ATTR_INFO *, DWORD * ) PURE; STDMETHOD( SetObjectAttributes )( THIS_ PADS_ATTR_INFO, DWORD, DWORD * ) PURE; STDMETHOD( CreateDSObject )( THIS_ LPWSTR, PADS_ATTR_INFO, DWORD, IDispatch ** ) PURE; STDMETHOD( DeleteDSObject )( THIS_ LPWSTR ) PURE; }; /* IDirectorySearch interface */ #undef INTERFACE #define INTERFACE IDirectorySearch DECLARE_INTERFACE_( IDirectorySearch, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDirectorySearch methods */ STDMETHOD( SetSearchPreference )( THIS_ PADS_SEARCHPREF_INFO, DWORD ) PURE; STDMETHOD( ExecuteSearch )( THIS_ LPWSTR, LPWSTR *, DWORD, PADS_SEARCH_HANDLE ) PURE; STDMETHOD( AbandonSearch )( THIS_ ADS_SEARCH_HANDLE ) PURE; STDMETHOD( GetFirstRow )( THIS_ ADS_SEARCH_HANDLE ) PURE; STDMETHOD( GetNextRow )( THIS_ ADS_SEARCH_HANDLE ) PURE; STDMETHOD( GetPreviousRow )( THIS_ ADS_SEARCH_HANDLE ) PURE; STDMETHOD( GetNextColumnName )( THIS_ ADS_SEARCH_HANDLE, LPWSTR * ) PURE; STDMETHOD( GetColumn )( THIS_ ADS_SEARCH_HANDLE, LPWSTR, PADS_SEARCH_COLUMN ) PURE; STDMETHOD( FreeColumn )( THIS_ PADS_SEARCH_COLUMN ) PURE; STDMETHOD( CloseSearchHandle )( THIS_ ADS_SEARCH_HANDLE ) PURE; }; /* IDirectorySchemaMgmt interface */ #undef INTERFACE #define INTERFACE IDirectorySchemaMgmt DECLARE_INTERFACE_( IDirectorySchemaMgmt, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDirectorySchemaMgmt methods */ STDMETHOD( EnumAttributes )( THIS_ LPWSTR *, DWORD, PADS_ATTR_DEF *, DWORD * ) PURE; STDMETHOD( CreateAttributeDefinition )( THIS_ LPWSTR, PADS_ATTR_DEF ) PURE; STDMETHOD( WriteAttributeDefinition )( THIS_ LPWSTR, PADS_ATTR_DEF ) PURE; STDMETHOD( DeleteAttributeDefinition )( THIS_ LPWSTR ) PURE; STDMETHOD( EnumClasses )( THIS_ LPWSTR *, DWORD, PADS_CLASS_DEF *, DWORD * ) PURE; STDMETHOD( WriteClassDefinition )( THIS_ LPWSTR, PADS_CLASS_DEF ) PURE; STDMETHOD( CreateClassDefinition )( THIS_ LPWSTR, PADS_CLASS_DEF ) PURE; STDMETHOD( DeleteClassDefinition )( THIS_ LPWSTR ) PURE; }; /* IADsAggregatee interface */ #undef INTERFACE #define INTERFACE IADsAggregatee DECLARE_INTERFACE_( IADsAggregatee, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IADsAggregatee methods */ STDMETHOD( ConnectAsAggregatee )( THIS_ IUnknown * ) PURE; STDMETHOD( DisconnectAsAggregatee )( THIS ) PURE; STDMETHOD( RelinquishInterface )( THIS_ REFIID ) PURE; STDMETHOD( RestoreInterface )( THIS_ REFIID ) PURE; }; /* IADsAggregator interface */ #undef INTERFACE #define INTERFACE IADsAggregator DECLARE_INTERFACE_( IADsAggregator, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IADsAggregator methods */ STDMETHOD( ConnectAsAggregator )( THIS_ IUnknown * ) PURE; STDMETHOD( DisconnectAsAggregator )( THIS ) PURE; }; /* IADsAccessControlEntry interface */ #undef INTERFACE #define INTERFACE IADsAccessControlEntry DECLARE_INTERFACE_( IADsAccessControlEntry, IDispatch ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADsAccessControlEntry methods */ STDMETHOD( get_AccessMask )( THIS_ long * ) PURE; STDMETHOD( put_AccessMask )( THIS_ long ) PURE; STDMETHOD( get_AceType )( THIS_ long * ) PURE; STDMETHOD( put_AceType )( THIS_ long ) PURE; STDMETHOD( get_AceFlags )( THIS_ long * ) PURE; STDMETHOD( put_AceFlags )( THIS_ long ) PURE; STDMETHOD( get_Flags )( THIS_ long * ) PURE; STDMETHOD( put_Flags )( THIS_ long ) PURE; STDMETHOD( get_ObjectType )( THIS_ BSTR * ) PURE; STDMETHOD( put_ObjectType )( THIS_ BSTR ) PURE; STDMETHOD( get_InheritedObjectType )( THIS_ BSTR * ) PURE; STDMETHOD( put_InheritedObjectType )( THIS_ BSTR ) PURE; STDMETHOD( get_Trustee )( THIS_ BSTR * ) PURE; STDMETHOD( put_Trustee )( THIS_ BSTR ) PURE; }; /* IADsAccessControlList interface */ #undef INTERFACE #define INTERFACE IADsAccessControlList DECLARE_INTERFACE_( IADsAccessControlList, IDispatch ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADsAccessControlList methods */ STDMETHOD( get_AclRevision )( THIS_ long * ) PURE; STDMETHOD( put_AclRevision )( THIS_ long ) PURE; STDMETHOD( get_AceCount )( THIS_ long * ) PURE; STDMETHOD( put_AceCount )( THIS_ long ) PURE; STDMETHOD( AddAce )( THIS_ IDispatch * ) PURE; STDMETHOD( RemoveAce )( THIS_ IDispatch * ) PURE; STDMETHOD( CopyAccessList )( THIS_ IDispatch ** ) PURE; STDMETHOD( get__NewEnum )( THIS_ IUnknown ** ) PURE; }; /* IADsSecurityDescriptor interface */ #undef INTERFACE #define INTERFACE IADsSecurityDescriptor DECLARE_INTERFACE_( IADsSecurityDescriptor, IDispatch ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADsSecurityDescriptor methods */ STDMETHOD( get_Revision )( THIS_ long * ) PURE; STDMETHOD( put_Revision )( THIS_ long ) PURE; STDMETHOD( get_Control )( THIS_ long * ) PURE; STDMETHOD( put_Control )( THIS_ long ) PURE; STDMETHOD( get_Owner )( THIS_ long * ) PURE; STDMETHOD( put_Owner )( THIS_ long ) PURE; STDMETHOD( get_OwnerDefaulted )( THIS_ VARIANT_BOOL * ) PURE; STDMETHOD( put_OwnerDefaulted )( THIS_ VARIANT_BOOL ) PURE; STDMETHOD( get_Group )( THIS_ BSTR * ) PURE; STDMETHOD( put_Group )( THIS_ BSTR ) PURE; STDMETHOD( get_GroupDefaulted )( THIS_ VARIANT_BOOL * ) PURE; STDMETHOD( put_GroupDefaulted )( THIS_ VARIANT_BOOL ) PURE; STDMETHOD( get_DiscretionaryAcl )( THIS_ IDispatch ** ) PURE; STDMETHOD( put_DiscretionaryAcl )( THIS_ IDispatch * ) PURE; STDMETHOD( get_DaclDefaulted )( THIS_ VARIANT_BOOL * ) PURE; STDMETHOD( put_DaclDefaulted )( THIS_ VARIANT_BOOL ) PURE; STDMETHOD( get_SystemAcl )( THIS_ IDispatch ** ) PURE; STDMETHOD( put_SystemAcl )( THIS_ IDispatch * ) PURE; STDMETHOD( get_SaclDefaulted )( THIS_ VARIANT_BOOL * ) PURE; STDMETHOD( put_SaclDefaulted )( THIS_ VARIANT_BOOL ) PURE; STDMETHOD( CopySecurityDescriptor )( THIS_ IDispatch ** ) PURE; }; /* IADsLargeInteger interface */ #undef INTERFACE #define INTERFACE IADsLargeInteger DECLARE_INTERFACE_( IADsLargeInteger, IDispatch ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADsLargeInteger methods */ STDMETHOD( get_HighPart )( THIS_ long * ) PURE; STDMETHOD( put_HighPart )( THIS_ long ) PURE; STDMETHOD( get_LowPart )( THIS_ long * ) PURE; STDMETHOD( put_LowPart )( THIS_ long ) PURE; }; /* IADsNameTranslate interface */ #undef INTERFACE #define INTERFACE IADsNameTranslate DECLARE_INTERFACE_( IADsNameTranslate, IDispatch ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADsNameTranslate methods */ STDMETHOD( put_ChaseReferral )( THIS_ long ) PURE; STDMETHOD( Init )( THIS_ long, BSTR ) PURE; STDMETHOD( InitEx )( THIS_ long, BSTR, BSTR, BSTR, BSTR ) PURE; STDMETHOD( Set )( THIS_ long, BSTR ) PURE; STDMETHOD( Get )( THIS_ long, BSTR * ) PURE; STDMETHOD( SetEx )( THIS_ long, VARIANT ) PURE; STDMETHOD( GetEx )( THIS_ long, VARIANT * ) PURE; }; /* IADsCaseIgnoreList interface */ #undef INTERFACE #define INTERFACE IADsCaseIgnoreList DECLARE_INTERFACE_( IADsCaseIgnoreList, IDispatch ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADsCaseIgnoreList methods */ STDMETHOD( get_CaseIgnoreList )( THIS_ VARIANT * ) PURE; STDMETHOD( put_CaseIgnoreList )( THIS_ VARIANT ) PURE; }; /* IADsFaxNumber interface */ #undef INTERFACE #define INTERFACE IADsFaxNumber DECLARE_INTERFACE_( IADsFaxNumber, IDispatch ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADsFaxNumber methods */ STDMETHOD( get_TelephoneNumber )( THIS_ BSTR * ) PURE; STDMETHOD( put_TelephoneNumber )( THIS_ BSTR ) PURE; STDMETHOD( get_Parameters )( THIS_ VARIANT * ) PURE; STDMETHOD( put_Parameters )( THIS_ VARIANT ) PURE; }; /* IADsNetAddress interface */ #undef INTERFACE #define INTERFACE IADsNetAddress DECLARE_INTERFACE_( IADsNetAddress, IDispatch ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADsNetAddress methods */ STDMETHOD( get_AddressType )( THIS_ long * ) PURE; STDMETHOD( put_AddressType )( THIS_ long ) PURE; STDMETHOD( get_Address )( THIS_ VARIANT * ) PURE; STDMETHOD( put_Address )( THIS_ VARIANT ) PURE; }; /* IADsOctetList interface */ #undef INTERFACE #define INTERFACE IADsOctetList DECLARE_INTERFACE_( IADsOctetList, IDispatch ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADsOctetList methods */ STDMETHOD( get_OctetList )( THIS_ VARIANT * ) PURE; STDMETHOD( put_OctetList )( THIS_ VARIANT ) PURE; }; /* IADsEmail interface */ #undef INTERFACE #define INTERFACE IADsEmail DECLARE_INTERFACE_( IADsEmail, IDispatch ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADsEmail methods */ STDMETHOD( get_Type )( THIS_ long * ) PURE; STDMETHOD( put_Type )( THIS_ long ) PURE; STDMETHOD( get_Address )( THIS_ BSTR * ) PURE; STDMETHOD( put_Address )( THIS_ BSTR ) PURE; }; /* IADsPath interface */ #undef INTERFACE #define INTERFACE IADsPath DECLARE_INTERFACE_( IADsPath, IDispatch ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADsPath methods */ STDMETHOD( get_Type )( THIS_ long * ) PURE; STDMETHOD( put_Type )( THIS_ long ) PURE; STDMETHOD( get_VolumeName )( THIS_ BSTR * ) PURE; STDMETHOD( put_VolumeName )( THIS_ BSTR ) PURE; STDMETHOD( get_Path )( THIS_ BSTR * ) PURE; STDMETHOD( put_Path )( THIS_ BSTR ) PURE; }; /* IADsReplicaPointer interface */ #undef INTERFACE #define INTERFACE IADsReplicaPointer DECLARE_INTERFACE_( IADsReplicaPointer, IDispatch ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADsReplicaPointer methods */ STDMETHOD( get_ServerName )( THIS_ BSTR * ) PURE; STDMETHOD( put_ServerName )( THIS_ BSTR ) PURE; STDMETHOD( get_ReplicaType )( THIS_ long * ) PURE; STDMETHOD( put_ReplicaType )( THIS_ long ) PURE; STDMETHOD( get_ReplicaNumber )( THIS_ long * ) PURE; STDMETHOD( put_ReplicaNumber )( THIS_ long ) PURE; STDMETHOD( get_Count )( THIS_ long * ) PURE; STDMETHOD( put_Count )( THIS_ long ) PURE; STDMETHOD( get_ReplicaAddressHints )( THIS_ VARIANT * ) PURE; STDMETHOD( put_ReplicaAddressHints )( THIS_ VARIANT ) PURE; }; /* IADsAcl interface */ #undef INTERFACE #define INTERFACE IADsAcl DECLARE_INTERFACE_( IADsAcl, IDispatch ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADsAcl methods */ STDMETHOD( get_ProtectedAttrName )( THIS_ BSTR * ) PURE; STDMETHOD( put_ProtectedAttrName )( THIS_ BSTR ) PURE; STDMETHOD( get_SubjectName )( THIS_ BSTR * ) PURE; STDMETHOD( put_SubjectName )( THIS_ BSTR ) PURE; STDMETHOD( get_Privileges )( THIS_ long * ) PURE; STDMETHOD( put_Privileges )( THIS_ long ) PURE; STDMETHOD( CopyAcl )( THIS_ IDispatch ** ) PURE; }; /* IADsTimestamp interface */ #undef INTERFACE #define INTERFACE IADsTimestamp DECLARE_INTERFACE_( IADsTimestamp, IDispatch ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADsTimestamp methods */ STDMETHOD( get_WholeSeconds )( THIS_ long * ) PURE; STDMETHOD( put_WholeSeconds )( THIS_ long ) PURE; STDMETHOD( get_EventID )( THIS_ long * ) PURE; STDMETHOD( put_EventID )( THIS_ long ) PURE; }; /* IADsPostalAddress interface */ #undef INTERFACE #define INTERFACE IADsPostalAddress DECLARE_INTERFACE_( IADsPostalAddress, IDispatch ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADsPostalAddress methods */ STDMETHOD( get_PostalAddress )( THIS_ VARIANT * ) PURE; STDMETHOD( put_PostalAddress )( THIS_ VARIANT ) PURE; }; /* IADsBackLink interface */ #undef INTERFACE #define INTERFACE IADsBackLink DECLARE_INTERFACE_( IADsBackLink, IDispatch ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADsBackLink methods */ STDMETHOD( get_RemoteID )( THIS_ long * ) PURE; STDMETHOD( put_RemoteID )( THIS_ long ) PURE; STDMETHOD( get_ObjectName )( THIS_ BSTR * ) PURE; STDMETHOD( put_ObjectName )( THIS_ BSTR ) PURE; }; /* IADsTypedName interface */ #undef INTERFACE #define INTERFACE IADsTypedName DECLARE_INTERFACE_( IADsTypedName, IDispatch ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADsTypedName methods */ STDMETHOD( get_ObjectName )( THIS_ BSTR * ) PURE; STDMETHOD( put_ObjectName )( THIS_ BSTR ) PURE; STDMETHOD( get_Level )( THIS_ long * ) PURE; STDMETHOD( put_Level )( THIS_ long ) PURE; STDMETHOD( get_Interval )( THIS_ long * ) PURE; STDMETHOD( put_Interval )( THIS_ long ) PURE; }; /* IADsHold interface */ #undef INTERFACE #define INTERFACE IADsHold DECLARE_INTERFACE_( IADsHold, IDispatch ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADsHold methods */ STDMETHOD( get_ObjectName )( THIS_ BSTR * ) PURE; STDMETHOD( put_ObjectName )( THIS_ BSTR ) PURE; STDMETHOD( get_Amount )( THIS_ long * ) PURE; STDMETHOD( put_Amount )( THIS_ long ) PURE; }; /* IADsObjectOptions interface */ #undef INTERFACE #define INTERFACE IADsObjectOptions DECLARE_INTERFACE_( IADsObjectOptions, IDispatch ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADsObjectOptions methods */ STDMETHOD( GetOption )( THIS_ long, VARIANT * ) PURE; STDMETHOD( SetOption )( THIS_ long, VARIANT ) PURE; }; /* IADsPathname interface */ #undef INTERFACE #define INTERFACE IADsPathname DECLARE_INTERFACE_( IADsPathname, IDispatch ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADsPathname methods */ STDMETHOD( Set )( THIS_ BSTR, long ) PURE; STDMETHOD( SetDisplayType )( THIS_ long ) PURE; STDMETHOD( Retrieve )( THIS_ long, BSTR * ) PURE; STDMETHOD( GetNumElements )( THIS_ long * ) PURE; STDMETHOD( GetElement )( THIS_ long, BSTR * ) PURE; STDMETHOD( AddLeafElement )( THIS_ BSTR ) PURE; STDMETHOD( RemoveLeafElement )( THIS ) PURE; STDMETHOD( CopyPath )( THIS_ IDispatch ** ) PURE; STDMETHOD( GetEscapedElement )( THIS_ long, BSTR, BSTR * ) PURE; STDMETHOD( get_EscapedMode )( THIS_ long * ) PURE; STDMETHOD( put_EscapedMode )( THIS_ long ) PURE; }; /* IADsADSystemInfo interface */ #undef INTERFACE #define INTERFACE IADsADSystemInfo DECLARE_INTERFACE_( IADsADSystemInfo, IDispatch ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADsADSystemInfo methods */ STDMETHOD( get_UserName )( THIS_ BSTR * ) PURE; STDMETHOD( get_ComputerName )( THIS_ BSTR * ) PURE; STDMETHOD( get_SiteName )( THIS_ BSTR * ) PURE; STDMETHOD( get_DomainShortName )( THIS_ BSTR * ) PURE; STDMETHOD( get_DomainDNSName )( THIS_ BSTR * ) PURE; STDMETHOD( get_ForestDNSName )( THIS_ BSTR * ) PURE; STDMETHOD( get_PDCRoleOwner )( THIS_ BSTR * ) PURE; STDMETHOD( get_SchemaRoleOwner )( THIS_ BSTR * ) PURE; STDMETHOD( get_IsNativeMode )( THIS_ VARIANT_BOOL * ) PURE; STDMETHOD( GetAnyDCName )( THIS_ BSTR * ) PURE; STDMETHOD( GetDCSiteName )( THIS_ BSTR, BSTR * ) PURE; STDMETHOD( RefreshSchemaCache )( THIS ) PURE; STDMETHOD( GetTrees )( THIS_ VARIANT * ) PURE; }; /* IADsWinNTSystemInfo interface */ #undef INTERFACE #define INTERFACE IADsWinNTSystemInfo DECLARE_INTERFACE_( IADsWinNTSystemInfo, IDispatch ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADsWinNTSystemInfo methods */ STDMETHOD( get_UserName )( THIS_ BSTR * ) PURE; STDMETHOD( get_ComputerName )( THIS_ BSTR * ) PURE; STDMETHOD( get_DomainName )( THIS_ BSTR * ) PURE; STDMETHOD( get_PDC )( THIS_ BSTR * ) PURE; }; /* IADsDNWithBinary interface */ #undef INTERFACE #define INTERFACE IADsDNWithBinary DECLARE_INTERFACE_( IADsDNWithBinary, IDispatch ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADsDNWithBinary methods */ STDMETHOD( get_BinaryValue )( THIS_ VARIANT * ) PURE; STDMETHOD( put_BinaryValue )( THIS_ VARIANT ) PURE; STDMETHOD( get_DNString )( THIS_ BSTR * ) PURE; STDMETHOD( put_DNString )( THIS_ BSTR ) PURE; }; /* IADsDNWithString interface */ #undef INTERFACE #define INTERFACE IADsDNWithString DECLARE_INTERFACE_( IADsDNWithString, IDispatch ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADsDNWithString methods */ STDMETHOD( get_StringValue )( THIS_ BSTR * ) PURE; STDMETHOD( put_StringValue )( THIS_ BSTR ) PURE; STDMETHOD( get_DNString )( THIS_ BSTR * ) PURE; STDMETHOD( put_DNString )( THIS_ BSTR ) PURE; }; /* IADsSecurityUtility interface */ #undef INTERFACE #define INTERFACE IADsSecurityUtility DECLARE_INTERFACE_( IADsSecurityUtility, IDispatch ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDispatch methods */ STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE; STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE; STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE; STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE; /* IADsSecurityUtility methods */ STDMETHOD( GetSecurityDescriptor )( THIS_ VARIANT, long, long, VARIANT * ) PURE; STDMETHOD( SetSecurityDescriptor )( THIS_ VARIANT, long, VARIANT, long ) PURE; STDMETHOD( ConvertSecurityDescriptor )( THIS_ VARIANT, long, long, VARIANT * ) PURE; STDMETHOD( get_SecurityMask )( THIS_ long * ) PURE; STDMETHOD( put_SecurityMask )( THIS_ long ) PURE; }; /* C object macros */ #if (!defined( __cplusplus ) || defined( CINTERFACE )) && defined( COBJMACROS ) #define IADs_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADs_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADs_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADs_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADs_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADs_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADs_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADs_get_Name( x, p ) \ (x)->lpVtbl->get_Name( x, p ) #define IADs_get_Class( x, p ) \ (x)->lpVtbl->get_Class( x, p ) #define IADs_get_GUID( x, p ) \ (x)->lpVtbl->get_GUID( x, p ) #define IADs_get_ADsPath( x, p ) \ (x)->lpVtbl->get_ADsPath( x, p ) #define IADs_get_Parent( x, p ) \ (x)->lpVtbl->get_Parent( x, p ) #define IADs_get_Schema( x, p ) \ (x)->lpVtbl->get_Schema( x, p ) #define IADs_GetInfo( x ) \ (x)->lpVtbl->GetInfo( x ) #define IADs_SetInfo( x ) \ (x)->lpVtbl->SetInfo( x ) #define IADs_Get( x, p1, p2 ) \ (x)->lpVtbl->Get( x, p1, p2 ) #define IADs_Put( x, p1, p2 ) \ (x)->lpVtbl->Put( x, p1, p2 ) #define IADs_GetEx( x, p1, p2 ) \ (x)->lpVtbl->GetEx( x, p1, p2 ) #define IADs_PutEx( x, p1, p2, p3 ) \ (x)->lpVtbl->PutEx( x, p1, p2, p3 ) #define IADs_GetInfoEx( x, p1, p2 ) \ (x)->lpVtbl->GetInfoEx( x, p1, p2 ) #define IADsContainer_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsContainer_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsContainer_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsContainer_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsContainer_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsContainer_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsContainer_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsContainer_get_Count( x, p ) \ (x)->lpVtbl->get_Count( x, p ) #define IADsContainer_get__NewEnum( x, p ) \ (x)->lpVtbl->get__NewEnum( x, p ) #define IADsContainer_get_Filter( x, p ) \ (x)->lpVtbl->get_Filter( x, p ) #define IADsContainer_put_Filter( x, p ) \ (x)->lpVtbl->put_Filter( x, p ) #define IADsContainer_get_Hints( x, p ) \ (x)->lpVtbl->get_Hints( x, p ) #define IADsContainer_put_Hints( x, p ) \ (x)->lpVtbl->put_Hints( x, p ) #define IADsContainer_GetObject( x, p1, p2, p3 ) \ (x)->lpVtbl->GetObject( x, p1, p2, p3 ) #define IADsContainer_Create( x, p1, p2, p3 ) \ (x)->lpVtbl->Create( x, p1, p2, p3 ) #define IADsContainer_Delete( x, p1, p2 ) \ (x)->lpVtbl->Delete( x, p1, p2 ) #define IADsContainer_CopyHere( x, p1, p2, p3 ) \ (x)->lpVtbl->CopyHere( x, p1, p2, p3 ) #define IADsContainer_MoveHere( x, p1, p2, p3 ) \ (x)->lpVtbl->MoveHere( x, p1, p2, p3 ) #define IADsCollection_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsCollection_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsCollection_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsCollection_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsCollection_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsCollection_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsCollection_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsCollection_get__NewEnum( x, p ) \ (x)->lpVtbl->get__NewEnum( x, p ) #define IADsCollection_Add( x, p1, p2 ) \ (x)->lpVtbl->Add( x, p1, p2 ) #define IADsCollection_Remove( x, p ) \ (x)->lpVtbl->Remove( x, p ) #define IADsCollection_GetObject( x, p1, p2 ) \ (x)->lpVtbl->GetObject( x, p1, p2 ) #define IADsMembers_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsMembers_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsMembers_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsMembers_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsMembers_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsMembers_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsMembers_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsMembers_get_Count( x, p ) \ (x)->lpVtbl->get_Count( x, p ) #define IADsMembers_get__NewEnum( x, p ) \ (x)->lpVtbl->get__NewEnum( x, p ) #define IADsMembers_get_Filter( x, p ) \ (x)->lpVtbl->get_Filter( x, p ) #define IADsMembers_put_Filter( x, p ) \ (x)->lpVtbl->put_Filter( x, p ) #define IADsPropertyList_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsPropertyList_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsPropertyList_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsPropertyList_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsPropertyList_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsPropertyList_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsPropertyList_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsPropertyList_get_PropertyCount( x, p ) \ (x)->lpVtbl->get_PropertyCount( x, p ) #define IADsPropertyList_Next( x, p ) \ (x)->lpVtbl->Next( x, p ) #define IADsPropertyList_Skip( x, p ) \ (x)->lpVtbl->Skip( x, p ) #define IADsPropertyList_Reset( x ) \ (x)->lpVtbl->Reset( x ) #define IADsPropertyList_Item( x, p1, p2 ) \ (x)->lpVtbl->Item( x, p1, p2 ) #define IADsPropertyList_GetPropertyItem( x, p1, p2, p3 ) \ (x)->lpVtbl->GetPropertyItem( x, p1, p2, p3 ) #define IADsPropertyList_PutPropertyItem( x, p ) \ (x)->lpVtbl->PutPropertyItem( x, p ) #define IADsPropertyList_ResetPropertyItem( x, p ) \ (x)->lpVtbl->ResetPropertyItem( x, p ) #define IADsPropertyList_PurgePropertyList( x ) \ (x)->lpVtbl->PurgePropertyList( x ) #define IADsPropetryEntry_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsPropertyEntry_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsPropertyEntry_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsPropertyEntry_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsPropertyEntry_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsPropertyEntry_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsPropertyEntry_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsPropertyEntry_Clear( x ) \ (x)->lpVtbl->Clear( x ) #define IADsPropertyEntry_get_Name( x, p ) \ (x)->lpVtbl->get_Name( x, p ) #define IADsPropertyEntry_put_Name( x, p ) \ (x)->lpVtbl->put_Name( x, p ) #define IADsPropertyEntry_get_ADsType( x, p ) \ (x)->lpVtbl->get_ADsType( x, p ) #define IADsPropertyEntry_put_ADsType( x, p ) \ (x)->lpVtbl->put_ADsType( x, p ) #define IADsPropertyEntry_get_ControlCode( x, p ) \ (x)->lpVtbl->get_ControlCode( x, p ) #define IADsPropertyEntry_put_ControlCode( x, p ) \ (x)->lpVtbl->put_ControlCode( x, p ) #define IADsPropertyEntry_get_Values( x, p ) \ (x)->lpVtbl->get_Values( x, p ) #define IADsPropertyEntry_put_Values( x, p ) \ (x)->lpVtbl->put_Values( x, p ) #define IADsPropertyValue_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsPropertyValue_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsPropertyValue_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsPropertyValue_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsPropertyValue_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsPropertyValue_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsPropertyValue_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsPropertyValue_Clear( x ) \ (x)->lpVtbl->Clear( x ) #define IADsPropertyValue_get_ADsType( x, p ) \ (x)->lpVtbl->get_ADsType( x, p ) #define IADsPropertyValue_put_ADsType( x, p ) \ (x)->lpVtbl->put_ADsType( x, p ) #define IADsPropertyValue_get_DNString( x, p ) \ (x)->lpVtbl->get_DNString( x, p ) #define IADsPropertyValue_put_DNString( x, p ) \ (x)->lpVtbl->put_DNString( x, p ) #define IADsPropertyValue_get_CaseExactString( x, p ) \ (x)->lpVtbl->get_CaseExactString( x, p ) #define IADsPropertyValue_put_CaseExactString( x, p ) \ (x)->lpVtbl->put_CaseExactString( x, p ) #define IADsPropertyValue_get_PrintableString( x, p ) \ (x)->lpVtbl->get_PrintableString( x, p ) #define IADsPropertyValue_put_PrintableString( x, p ) \ (x)->lpVtbl->put_PrintableString( x, p ) #define IADsPropertyValue_get_NumericString( x, p ) \ (x)->lpVtbl->get_NumericString( x, p ) #define IADsPropertyValue_put_NumericString( x, p ) \ (x)->lpVtbl->put_NumericString( x, p ) #define IADsPropertyValue_get_Boolean( x, p ) \ (x)->lpVtbl->get_Boolean( x, p ) #define IADsPropertyValue_put_Boolean( x, p ) \ (x)->lpVtbl->put_Boolean( x, p ) #define IADsPropertyValue_get_Integer( x, p ) \ (x)->lpVtbl->get_Integer( x, p ) #define IADsPropertyValue_put_Integer( x, p ) \ (x)->lpVtbl->put_Integer( x, p ) #define IADsPropertyValue_get_OctetString( x, p ) \ (x)->lpVtbl->get_OctetString( x, p ) #define IADsPropertyValue_put_OctetString( x, p ) \ (x)->lpVtbl->put_OctetString( x, p ) #define IADsPropertyValue_get_SecurityDescriptor( x, p ) \ (x)->lpVtbl->get_SecurityDescriptor( x, p ) #define IADsPropertyValue_put_SecurityDescriptor( x, p ) \ (x)->lpVtbl->put_SecurityDescriptor( x, p ) #define IADsPropertyValue_get_LargeInteger( x, p ) \ (x)->lpVtbl->get_LargeInteger( x, p ) #define IADsPropertyValue_put_LargeInteger( x, p ) \ (x)->lpVtbl->put_LargeInteger( x, p ) #define IADsPropertyValue_get_UTCTime( x, p ) \ (x)->lpVtbl->get_UTCTime( x, p ) #define IADsPropertyValue_put_UTCTime( x, p ) \ (x)->lpVtbl->put_UTCTime( x, p ) #define IADsPropertyValue2_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsPropertyValue2_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsPropertyValue2_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsPropertyValue2_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsPropertyValue2_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsPropertyValue2_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsPropertyValue2_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsPropertyValue2_GetObjectProperty( x, p1, p2 ) \ (x)->lpVtbl->GetObjectProperty( x, p1, p2 ) #define IADsPropertyValue2_PutObjectProperty( x, p1, p2 ) \ (x)->lpVtbl->PutObjectProperty( x, p1, p2 ) #define IPrivateDispatch_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IPrivateDispatch_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IPrivateDispatch_Release( x ) \ (x)->lpVtbl->Release( x ) #define IPrivateDispatch_ADSIInitializeDispatchManager( x, p ) \ (x)->lpVtbl->ADSIInitializeDispatchManager( x, p ) #define IPrivateDispatch_ADSIGetTypeInfoCount( x, p ) \ (x)->lpVtbl->ADSIGetTypeInfoCount( x, p ) #define IPrivateDispatch_ADSIGetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->ADSIGetTypeInfo( x, p1, p2, p3 ) #define IPrivateDispatch_ADSIGetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->ADSIGetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IPrivateDispatch_ADSIInvoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->ADSIInvoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IPrivateUnknown_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IPrivateUnknown_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IPrivateUnknown_Release( x ) \ (x)->lpVtbl->Release( x ) #define IPrivateUnknown_ADSIInitializeObject( x, p1, p2, p3 ) \ (x)->lpVtbl->ADSIInitializeObject( x, p1, p2, p3 ) #define IPrivateUnknown_ADSIReleaseObject( x ) \ (x)->lpVtbl->ADSIReleaseObject( x ) #define IADsExtension_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsExtension_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsExtension_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsExtension_Operate( x, p1, p2, p3, p4 ) \ (x)->lpVtbl->Operate( x, p1, p2, p3, p4 ) #define IADsExtension_PrivateGetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->PrivateGetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsExtension_PrivateInvoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->PrivateInvoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsDeleteOps_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsDeleteOps_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsDeleteOps_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsDeleteOps_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsDeleteOps_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsDeleteOps_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsDeleteOps_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsDeleteOps_DeleteObject( x, p ) \ (x)->lpVtbl->DeleteObject( x, p ) #define IADsNamespaces_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsNamespaces_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsNamespaces_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsNamespaces_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsNamespaces_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsNamespaces_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsNamespaces_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsNamespaces_get_Name( x, p ) \ (x)->lpVtbl->get_Name( x, p ) #define IADsNamespaces_get_Class( x, p ) \ (x)->lpVtbl->get_Class( x, p ) #define IADsNamespaces_get_GUID( x, p ) \ (x)->lpVtbl->get_GUID( x, p ) #define IADsNamespaces_get_ADsPath( x, p ) \ (x)->lpVtbl->get_ADsPath( x, p ) #define IADsNamespaces_get_Parent( x, p ) \ (x)->lpVtbl->get_Parent( x, p ) #define IADsNamespaces_get_Schema( x, p ) \ (x)->lpVtbl->get_Schema( x, p ) #define IADsNamespaces_GetInfo( x ) \ (x)->lpVtbl->GetInfo( x ) #define IADsNamespaces_SetInfo( x ) \ (x)->lpVtbl->SetInfo( x ) #define IADsNamespaces_Get( x, p1, p2 ) \ (x)->lpVtbl->Get( x, p1, p2 ) #define IADsNamespaces_Put( x, p1, p2 ) \ (x)->lpVtbl->Put( x, p1, p2 ) #define IADsNamespaces_GetEx( x, p1, p2 ) \ (x)->lpVtbl->GetEx( x, p1, p2 ) #define IADsNamespaces_PutEx( x, p1, p2, p3 ) \ (x)->lpVtbl->PutEx( x, p1, p2, p3 ) #define IADsNamespaces_GetInfoEx( x, p1, p2 ) \ (x)->lpVtbl->GetInfoEx( x, p1, p2 ) #define IADsNamespaces_get_DefaultContainer( x, p ) \ (x)->lpVtbl->get_DefaultContainer( x, p ) #define IADsNamespaces_put_DefaultContainer( x, p ) \ (x)->lpVtbl->put_DefaultContainer( x, p ) #define IADsClass_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsClass_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsClass_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsClass_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsClass_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsClass_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsClass_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsClass_get_Name( x, p ) \ (x)->lpVtbl->get_Name( x, p ) #define IADsClass_get_Class( x, p ) \ (x)->lpVtbl->get_Class( x, p ) #define IADsClass_get_GUID( x, p ) \ (x)->lpVtbl->get_GUID( x, p ) #define IADsClass_get_ADsPath( x, p ) \ (x)->lpVtbl->get_ADsPath( x, p ) #define IADsClass_get_Parent( x, p ) \ (x)->lpVtbl->get_Parent( x, p ) #define IADsClass_get_Schema( x, p ) \ (x)->lpVtbl->get_Schema( x, p ) #define IADsClass_GetInfo( x ) \ (x)->lpVtbl->GetInfo( x ) #define IADsClass_SetInfo( x ) \ (x)->lpVtbl->SetInfo( x ) #define IADsClass_Get( x, p1, p2 ) \ (x)->lpVtbl->Get( x, p1, p2 ) #define IADsClass_Put( x, p1, p2 ) \ (x)->lpVtbl->Put( x, p1, p2 ) #define IADsClass_GetEx( x, p1, p2 ) \ (x)->lpVtbl->GetEx( x, p1, p2 ) #define IADsClass_PutEx( x, p1, p2, p3 ) \ (x)->lpVtbl->PutEx( x, p1, p2, p3 ) #define IADsClass_GetInfoEx( x, p1, p2 ) \ (x)->lpVtbl->GetInfoEx( x, p1, p2 ) #define IADsClass_get_PrimaryInterface( x, p ) \ (x)->lpVtbl->get_PrimaryInterface( x, p ) #define IADsClass_get_CLSID( x, p ) \ (x)->lpVtbl->get_CLSID( x, p ) #define IADsClass_put_CLSID( x, p ) \ (x)->lpVtbl->put_CLSID( x, p ) #define IADsClass_get_OID( x, p ) \ (x)->lpVtbl->get_OID( x, p ) #define IADsClass_put_OID( x, p ) \ (x)->lpVtbl->put_OID( x, p ) #define IADsClass_get_Abstract( x, p ) \ (x)->lpVtbl->get_Abstract( x, p ) #define IADsClass_put_Abstract( x, p ) \ (x)->lpVtbl->put_Abstract( x, p ) #define IADsClass_get_Auxiliary( x, p ) \ (x)->lpVtbl->get_Auxiliary( x, p ) #define IADsClass_put_Auxiliary( x, p ) \ (x)->lpVtbl->put_Auxiliary( x, p ) #define IADsClass_get_MandatoryProperties( x, p ) \ (x)->lpVtbl->get_MandatoryProperties( x, p ) #define IADsClass_put_MandatoryProperties( x, p ) \ (x)->lpVtbl->put_MandatoryProperties( x, p ) #define IADsClass_get_OptionalProperties( x, p ) \ (x)->lpVtbl->get_OptionalProperties( x, p ) #define IADsClass_put_OptionalProperties( x, p ) \ (x)->lpVtbl->put_OptionalProperties( x, p ) #define IADsClass_get_NamingProperties( x, p ) \ (x)->lpVtbl->get_NamingProperties( x, p ) #define IADsClass_put_NamingProperties( x, p ) \ (x)->lpVtbl->put_NamingProperties( x, p ) #define IADsClass_get_DerivedFrom( x, p ) \ (x)->lpVtbl->get_DerivedFrom( x, p ) #define IADsClass_put_DerivedFrom( x, p ) \ (x)->lpVtbl->put_DerivedFrom( x, p ) #define IADsClass_get_AuxDerivedFrom( x, p ) \ (x)->lpVtbl->get_AuxDerivedFrom( x, p ) #define IADsClass_put_AuxDerivedFrom( x, p ) \ (x)->lpVtbl->put_AuxDerivedFrom( x, p ) #define IADsClass_get_PossibleSuperiors( x, p ) \ (x)->lpVtbl->get_PossibleSuperiors( x, p ) #define IADsClass_put_PossibleSuperiors( x, p ) \ (x)->lpVtbl->put_PossibleSuperiors( x, p ) #define IADsClass_get_Containment( x, p ) \ (x)->lpVtbl->get_Containment( x, p ) #define IADsClass_put_Containment( x, p ) \ (x)->lpVtbl->put_Containment( x, p ) #define IADsClass_get_Container( x, p ) \ (x)->lpVtbl->get_Container( x, p ) #define IADsClass_put_Container( x, p ) \ (x)->lpVtbl->put_Container( x, p ) #define IADsClass_get_HelpFileName( x, p ) \ (x)->lpVtbl->get_HelpFileName( x, p ) #define IADsClass_put_HelpFileName( x, p ) \ (x)->lpVtbl->put_HelpFileName( x, p ) #define IADsClass_get_HelpFileContext( x, p ) \ (x)->lpVtbl->get_HelpFileContext( x, p ) #define IADsClass_put_HelpFileContext( x, p ) \ (x)->lpVtbl->put_HelpFileContext( x, p ) #define IADsClass_Qualifiers( x, p ) \ (x)->lpVtbl->Qualifiers( x, p ) #define IADsProperty_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsProperty_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsProperty_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsProperty_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsProperty_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsProperty_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsProperty_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsProperty_get_Name( x, p ) \ (x)->lpVtbl->get_Name( x, p ) #define IADsProperty_get_Class( x, p ) \ (x)->lpVtbl->get_Class( x, p ) #define IADsProperty_get_GUID( x, p ) \ (x)->lpVtbl->get_GUID( x, p ) #define IADsProperty_get_ADsPath( x, p ) \ (x)->lpVtbl->get_ADsPath( x, p ) #define IADsProperty_get_Parent( x, p ) \ (x)->lpVtbl->get_Parent( x, p ) #define IADsProperty_get_Schema( x, p ) \ (x)->lpVtbl->get_Schema( x, p ) #define IADsProperty_GetInfo( x ) \ (x)->lpVtbl->GetInfo( x ) #define IADsProperty_SetInfo( x ) \ (x)->lpVtbl->SetInfo( x ) #define IADsProperty_Get( x, p1, p2 ) \ (x)->lpVtbl->Get( x, p1, p2 ) #define IADsProperty_Put( x, p1, p2 ) \ (x)->lpVtbl->Put( x, p1, p2 ) #define IADsProperty_GetEx( x, p1, p2 ) \ (x)->lpVtbl->GetEx( x, p1, p2 ) #define IADsProperty_PutEx( x, p1, p2, p3 ) \ (x)->lpVtbl->PutEx( x, p1, p2, p3 ) #define IADsProperty_GetInfoEx( x, p1, p2 ) \ (x)->lpVtbl->GetInfoEx( x, p1, p2 ) #define IADsProperty_get_OID( x, p ) \ (x)->lpVtbl->get_OID( x, p ) #define IADsProperty_put_OID( x, p ) \ (x)->lpVtbl->put_OID( x, p ) #define IADsProperty_get_Syntax( x, p ) \ (x)->lpVtbl->get_Syntax( x, p ) #define IADsProperty_put_Syntax( x, p ) \ (x)->lpVtbl->put_Syntax( x, p ) #define IADsProperty_get_MaxRange( x, p ) \ (x)->lpVtbl->get_MaxRange( x, p ) #define IADsProperty_put_MaxRange( x, p ) \ (x)->lpVtbl->put_MaxRange( x, p ) #define IADsProperty_get_MinRange( x, p ) \ (x)->lpVtbl->get_MinRange( x, p ) #define IADsProperty_put_MinRange( x, p ) \ (x)->lpVtbl->put_MinRange( x, p ) #define IADsProperty_get_MultiValued( x, p ) \ (x)->lpVtbl->get_MultiValued( x, p ) #define IADsProperty_put_MultiValued( x, p ) \ (x)->lpVtbl->put_MultiValued( x, p ) #define IADsProperty_Qualifiers( x, p ) \ (x)->lpVtbl->Qualifiers( x, p ) #define IADsSyntax_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsSyntax_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsSyntax_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsSyntax_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsSyntax_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsSyntax_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsSyntax_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsSyntax_get_Name( x, p ) \ (x)->lpVtbl->get_Name( x, p ) #define IADsSyntax_get_Class( x, p ) \ (x)->lpVtbl->get_Class( x, p ) #define IADsSyntax_get_GUID( x, p ) \ (x)->lpVtbl->get_GUID( x, p ) #define IADsSyntax_get_ADsPath( x, p ) \ (x)->lpVtbl->get_ADsPath( x, p ) #define IADsSyntax_get_Parent( x, p ) \ (x)->lpVtbl->get_Parent( x, p ) #define IADsSyntax_get_Schema( x, p ) \ (x)->lpVtbl->get_Schema( x, p ) #define IADsSyntax_GetInfo( x ) \ (x)->lpVtbl->GetInfo( x ) #define IADsSyntax_SetInfo( x ) \ (x)->lpVtbl->SetInfo( x ) #define IADsSyntax_Get( x, p1, p2 ) \ (x)->lpVtbl->Get( x, p1, p2 ) #define IADsSyntax_Put( x, p1, p2 ) \ (x)->lpVtbl->Put( x, p1, p2 ) #define IADsSyntax_GetEx( x, p1, p2 ) \ (x)->lpVtbl->GetEx( x, p1, p2 ) #define IADsSyntax_PutEx( x, p1, p2, p3 ) \ (x)->lpVtbl->PutEx( x, p1, p2, p3 ) #define IADsSyntax_GetInfoEx( x, p1, p2 ) \ (x)->lpVtbl->GetInfoEx( x, p1, p2 ) #define IADsSyntax_get_OleAutoDataType( x, p ) \ (x)->lpVtbl->get_OleAutoDataType( x, p ) #define IADsSyntax_put_OleAutoDataType( x, p ) \ (x)->lpVtbl->put_OleAutoDataType( x, p ) #define IADsLocality_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsLocality_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsLocality_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsLocality_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsLocality_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsLocality_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsLocality_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsLocality_get_Name( x, p ) \ (x)->lpVtbl->get_Name( x, p ) #define IADsLocality_get_Class( x, p ) \ (x)->lpVtbl->get_Class( x, p ) #define IADsLocality_get_GUID( x, p ) \ (x)->lpVtbl->get_GUID( x, p ) #define IADsLocality_get_ADsPath( x, p ) \ (x)->lpVtbl->get_ADsPath( x, p ) #define IADsLocality_get_Parent( x, p ) \ (x)->lpVtbl->get_Parent( x, p ) #define IADsLocality_get_Schema( x, p ) \ (x)->lpVtbl->get_Schema( x, p ) #define IADsLocality_GetInfo( x ) \ (x)->lpVtbl->GetInfo( x ) #define IADsLocality_SetInfo( x ) \ (x)->lpVtbl->SetInfo( x ) #define IADsLocality_Get( x, p1, p2 ) \ (x)->lpVtbl->Get( x, p1, p2 ) #define IADsLocality_Put( x, p1, p2 ) \ (x)->lpVtbl->Put( x, p1, p2 ) #define IADsLocality_GetEx( x, p1, p2 ) \ (x)->lpVtbl->GetEx( x, p1, p2 ) #define IADsLocality_PutEx( x, p1, p2, p3 ) \ (x)->lpVtbl->PutEx( x, p1, p2, p3 ) #define IADsLocality_GetInfoEx( x, p1, p2 ) \ (x)->lpVtbl->GetInfoEx( x, p1, p2 ) #define IADsLocality_get_Description( x, p ) \ (x)->lpVtbl->get_Description( x, p ) #define IADsLocality_put_Description( x, p ) \ (x)->lpVtbl->put_Description( x, p ) #define IADsLocality_get_LocalityName( x, p ) \ (x)->lpVtbl->get_LocalityName( x, p ) #define IADsLocality_put_LocalityName( x, p ) \ (x)->lpVtbl->put_LocalityName( x, p ) #define IADsLocality_get_PostalAddress( x, p ) \ (x)->lpVtbl->get_PostalAddress( x, p ) #define IADsLocality_put_PostalAddress( x, p ) \ (x)->lpVtbl->put_PostalAddress( x, p ) #define IADsLocality_get_SeeAlso( x, p ) \ (x)->lpVtbl->get_SeeAlso( x, p ) #define IADsLocality_put_SeeAlso( x, p ) \ (x)->lpVtbl->put_SeeAlso( x, p ) #define IADsO_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsO_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsO_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsO_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsO_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsO_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsO_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsO_get_Name( x, p ) \ (x)->lpVtbl->get_Name( x, p ) #define IADsO_get_Class( x, p ) \ (x)->lpVtbl->get_Class( x, p ) #define IADsO_get_GUID( x, p ) \ (x)->lpVtbl->get_GUID( x, p ) #define IADsO_get_ADsPath( x, p ) \ (x)->lpVtbl->get_ADsPath( x, p ) #define IADsO_get_Parent( x, p ) \ (x)->lpVtbl->get_Parent( x, p ) #define IADsO_get_Schema( x, p ) \ (x)->lpVtbl->get_Schema( x, p ) #define IADsO_GetInfo( x ) \ (x)->lpVtbl->GetInfo( x ) #define IADsO_SetInfo( x ) \ (x)->lpVtbl->SetInfo( x ) #define IADsO_Get( x, p1, p2 ) \ (x)->lpVtbl->Get( x, p1, p2 ) #define IADsO_Put( x, p1, p2 ) \ (x)->lpVtbl->Put( x, p1, p2 ) #define IADsO_GetEx( x, p1, p2 ) \ (x)->lpVtbl->GetEx( x, p1, p2 ) #define IADsO_PutEx( x, p1, p2, p3 ) \ (x)->lpVtbl->PutEx( x, p1, p2, p3 ) #define IADsO_GetInfoEx( x, p1, p2 ) \ (x)->lpVtbl->GetInfoEx( x, p1, p2 ) #define IADsO_get_Description( x, p ) \ (x)->lpVtbl->get_Description( x, p ) #define IADsO_put_Description( x, p ) \ (x)->lpVtbl->put_Description( x, p ) #define IADsO_get_LocalityName( x, p ) \ (x)->lpVtbl->get_LocalityName( x, p ) #define IADsO_put_LocalityName( x, p ) \ (x)->lpVtbl->put_LocalityName( x, p ) #define IADsO_get_PostalAddress( x, p ) \ (x)->lpVtbl->get_PostalAddress( x, p ) #define IADsO_put_PostalAddress( x, p ) \ (x)->lpVtbl->put_PostalAddress( x, p ) #define IADsO_get_TelephoneNumber( x, p ) \ (x)->lpVtbl->get_TelephoneNumber( x, p ) #define IADsO_put_TelephoneNumber( x, p ) \ (x)->lpVtbl->put_TelephoneNumber( x, p ) #define IADsO_get_FaxNumber( x, p ) \ (x)->lpVtbl->get_FaxNumber( x, p ) #define IADsO_put_FaxNumber( x, p ) \ (x)->lpVtbl->put_FaxNumber( x, p ) #define IADsO_get_SeeAlso( x, p ) \ (x)->lpVtbl->get_SeeAlso( x, p ) #define IADsO_put_SeeAlso( x, p ) \ (x)->lpVtbl->put_SeeAlso( x, p ) #define IADsOU_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsOU_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsOU_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsOU_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsOU_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsOU_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsOU_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsOU_get_Name( x, p ) \ (x)->lpVtbl->get_Name( x, p ) #define IADsOU_get_Class( x, p ) \ (x)->lpVtbl->get_Class( x, p ) #define IADsOU_get_GUID( x, p ) \ (x)->lpVtbl->get_GUID( x, p ) #define IADsOU_get_ADsPath( x, p ) \ (x)->lpVtbl->get_ADsPath( x, p ) #define IADsOU_get_Parent( x, p ) \ (x)->lpVtbl->get_Parent( x, p ) #define IADsOU_get_Schema( x, p ) \ (x)->lpVtbl->get_Schema( x, p ) #define IADsOU_GetInfo( x ) \ (x)->lpVtbl->GetInfo( x ) #define IADsOU_SetInfo( x ) \ (x)->lpVtbl->SetInfo( x ) #define IADsOU_Get( x, p1, p2 ) \ (x)->lpVtbl->Get( x, p1, p2 ) #define IADsOU_Put( x, p1, p2 ) \ (x)->lpVtbl->Put( x, p1, p2 ) #define IADsOU_GetEx( x, p1, p2 ) \ (x)->lpVtbl->GetEx( x, p1, p2 ) #define IADsOU_PutEx( x, p1, p2, p3 ) \ (x)->lpVtbl->PutEx( x, p1, p2, p3 ) #define IADsOU_GetInfoEx( x, p1, p2 ) \ (x)->lpVtbl->GetInfoEx( x, p1, p2 ) #define IADsOU_get_Description( x, p ) \ (x)->lpVtbl->get_Description( x, p ) #define IADsOU_put_Description( x, p ) \ (x)->lpVtbl->put_Description( x, p ) #define IADsOU_get_LocalityName( x, p ) \ (x)->lpVtbl->get_LocalityName( x, p ) #define IADsOU_put_LocalityName( x, p ) \ (x)->lpVtbl->put_LocalityName( x, p ) #define IADsOU_get_PostalAddress( x, p ) \ (x)->lpVtbl->get_PostalAddress( x, p ) #define IADsOU_put_PostalAddress( x, p ) \ (x)->lpVtbl->put_PostalAddress( x, p ) #define IADsOU_get_TelephoneNumber( x, p ) \ (x)->lpVtbl->get_TelephoneNumber( x, p ) #define IADsOU_put_TelephoneNumber( x, p ) \ (x)->lpVtbl->put_TelephoneNumber( x, p ) #define IADsOU_get_FaxNumber( x, p ) \ (x)->lpVtbl->get_FaxNumber( x, p ) #define IADsOU_put_FaxNumber( x, p ) \ (x)->lpVtbl->put_FaxNumber( x, p ) #define IADsOU_get_SeeAlso( x, p ) \ (x)->lpVtbl->get_SeeAlso( x, p ) #define IADsOU_put_SeeAlso( x, p ) \ (x)->lpVtbl->put_SeeAlso( x, p ) #define IADsOU_get_BusinessCategory( x, p ) \ (x)->lpVtbl->get_BusinessCategory( x, p ) #define IADsOU_put_BusinessCategory( x, p ) \ (x)->lpVtbl->put_BusinessCategory( x, p ) #define IADsDomain_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsDomain_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsDomain_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsDomain_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsDomain_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsDomain_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsDomain_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsDomain_get_Name( x, p ) \ (x)->lpVtbl->get_Name( x, p ) #define IADsDomain_get_Class( x, p ) \ (x)->lpVtbl->get_Class( x, p ) #define IADsDomain_get_GUID( x, p ) \ (x)->lpVtbl->get_GUID( x, p ) #define IADsDomain_get_ADsPath( x, p ) \ (x)->lpVtbl->get_ADsPath( x, p ) #define IADsDomain_get_Parent( x, p ) \ (x)->lpVtbl->get_Parent( x, p ) #define IADsDomain_get_Schema( x, p ) \ (x)->lpVtbl->get_Schema( x, p ) #define IADsDomain_GetInfo( x ) \ (x)->lpVtbl->GetInfo( x ) #define IADsDomain_SetInfo( x ) \ (x)->lpVtbl->SetInfo( x ) #define IADsDomain_Get( x, p1, p2 ) \ (x)->lpVtbl->Get( x, p1, p2 ) #define IADsDomain_Put( x, p1, p2 ) \ (x)->lpVtbl->Put( x, p1, p2 ) #define IADsDomain_GetEx( x, p1, p2 ) \ (x)->lpVtbl->GetEx( x, p1, p2 ) #define IADsDomain_PutEx( x, p1, p2, p3 ) \ (x)->lpVtbl->PutEx( x, p1, p2, p3 ) #define IADsDomain_GetInfoEx( x, p1, p2 ) \ (x)->lpVtbl->GetInfoEx( x, p1, p2 ) #define IADsDomain_get_IsWorkgroup( x, p ) \ (x)->lpVtbl->get_IsWorkgroup( x, p ) #define IADsDomain_get_MinPasswordLength( x, p ) \ (x)->lpVtbl->get_MinPasswordLength( x, p ) #define IADsDomain_put_MinPasswordLength( x, p ) \ (x)->lpVtbl->put_MinPasswordLength( x, p ) #define IADsDomain_get_MinPasswordAge( x, p ) \ (x)->lpVtbl->get_MinPasswordAge( x, p ) #define IADsDomain_put_MinPasswordAge( x, p ) \ (x)->lpVtbl->put_MinPasswordAge( x, p ) #define IADsDomain_get_MaxPasswordAge( x, p ) \ (x)->lpVtbl->get_MaxPasswordAge( x, p ) #define IADsDomain_put_MaxPasswordAge( x, p ) \ (x)->lpVtbl->put_MaxPasswordAge( x, p ) #define IADsDomain_get_MaxBadPasswordsAllowed( x, p ) \ (x)->lpVtbl->get_MaxBadPasswordsAllowed( x, p ) #define IADsDomain_put_MaxBadPasswordsAllowed( x, p ) \ (x)->lpVtbl->put_MaxBadPasswordsAllowed( x, p ) #define IADsDomain_get_PasswordHistoryLength( x, p ) \ (x)->lpVtbl->get_PasswordHistoryLength( x, p ) #define IADsDomain_put_PasswordHistoryLength( x, p ) \ (x)->lpVtbl->put_PasswordHistoryLength( x, p ) #define IADsDomain_get_PasswordAttributes( x, p ) \ (x)->lpVtbl->get_PasswordAttributes( x, p ) #define IADsDomain_put_PasswordAttributes( x, p ) \ (x)->lpVtbl->put_PasswordAttributes( x, p ) #define IADsDomain_get_AutoUnlockInterval( x, p ) \ (x)->lpVtbl->get_AutoUnlockInterval( x, p ) #define IADsDomain_put_AutoUnlockInterval( x, p ) \ (x)->lpVtbl->put_AutoUnlockInterval( x, p ) #define IADsDomain_get_LockoutObservationInterval( x, p ) \ (x)->lpVtbl->get_LockoutObservationInterval( x, p ) #define IADsDomain_put_LockoutObservationInterval( x, p ) \ (x)->lpVtbl->put_LockoutObservationInterval( x, p ) #define IADsComputer_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsComputer_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsComputer_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsComputer_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsComputer_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsComputer_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsComputer_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsComputer_get_Name( x, p ) \ (x)->lpVtbl->get_Name( x, p ) #define IADsComputer_get_Class( x, p ) \ (x)->lpVtbl->get_Class( x, p ) #define IADsComputer_get_GUID( x, p ) \ (x)->lpVtbl->get_GUID( x, p ) #define IADsComputer_get_ADsPath( x, p ) \ (x)->lpVtbl->get_ADsPath( x, p ) #define IADsComputer_get_Parent( x, p ) \ (x)->lpVtbl->get_Parent( x, p ) #define IADsComputer_get_Schema( x, p ) \ (x)->lpVtbl->get_Schema( x, p ) #define IADsComputer_GetInfo( x ) \ (x)->lpVtbl->GetInfo( x ) #define IADsComputer_SetInfo( x ) \ (x)->lpVtbl->SetInfo( x ) #define IADsComputer_Get( x, p1, p2 ) \ (x)->lpVtbl->Get( x, p1, p2 ) #define IADsComputer_Put( x, p1, p2 ) \ (x)->lpVtbl->Put( x, p1, p2 ) #define IADsComputer_GetEx( x, p1, p2 ) \ (x)->lpVtbl->GetEx( x, p1, p2 ) #define IADsComputer_PutEx( x, p1, p2, p3 ) \ (x)->lpVtbl->PutEx( x, p1, p2, p3 ) #define IADsComputer_GetInfoEx( x, p1, p2 ) \ (x)->lpVtbl->GetInfoEx( x, p1, p2 ) #define IADsComputer_get_ComputerID( x, p ) \ (x)->lpVtbl->get_ComputerID( x, p ) #define IADsComputer_get_Site( x, p ) \ (x)->lpVtbl->get_Site( x, p ) #define IADsComputer_get_Description( x, p ) \ (x)->lpVtbl->get_Description( x, p ) #define IADsComputer_put_Description( x, p ) \ (x)->lpVtbl->put_Description( x, p ) #define IADsComputer_get_Location( x, p ) \ (x)->lpVtbl->get_Location( x, p ) #define IADsComputer_put_Location( x, p ) \ (x)->lpVtbl->put_Location( x, p ) #define IADsComputer_get_PrimaryUser( x, p ) \ (x)->lpVtbl->get_PrimaryUser( x, p ) #define IADsComputer_put_PrimaryUser( x, p ) \ (x)->lpVtbl->put_PrimaryUser( x, p ) #define IADsComputer_get_Owner( x, p ) \ (x)->lpVtbl->get_Owner( x, p ) #define IADsComputer_put_Owner( x, p ) \ (x)->lpVtbl->put_Owner( x, p ) #define IADsComputer_get_Division( x, p ) \ (x)->lpVtbl->get_Division( x, p ) #define IADsComputer_put_Division( x, p ) \ (x)->lpVtbl->put_Division( x, p ) #define IADsComputer_get_Department( x, p ) \ (x)->lpVtbl->get_Department( x, p ) #define IADsComputer_put_Department( x, p ) \ (x)->lpVtbl->put_Department( x, p ) #define IADsComputer_get_Role( x, p ) \ (x)->lpVtbl->get_Role( x, p ) #define IADsComputer_put_Role( x, p ) \ (x)->lpVtbl->put_Role( x, p ) #define IADsComputer_get_OperatingSystem( x, p ) \ (x)->lpVtbl->get_OperatingSystem( x, p ) #define IADsComputer_put_OperatingSystem( x, p ) \ (x)->lpVtbl->put_OperatingSystem( x, p ) #define IADsComputer_get_OperatingSystemVersion( x, p ) \ (x)->lpVtbl->get_OperatingSystemVersion( x, p ) #define IADsComputer_put_OperatingSystemVersion( x, p ) \ (x)->lpVtbl->put_OperatingSystemVersion( x, p ) #define IADsComputer_get_Model( x, p ) \ (x)->lpVtbl->get_Model( x, p ) #define IADsComputer_put_Model( x, p ) \ (x)->lpVtbl->put_Model( x, p ) #define IADsComputer_get_Processor( x, p ) \ (x)->lpVtbl->get_Processor( x, p ) #define IADsComputer_put_Processor( x, p ) \ (x)->lpVtbl->put_Processor( x, p ) #define IADsComputer_get_ProcessorCount( x, p ) \ (x)->lpVtbl->get_ProcessorCount( x, p ) #define IADsComputer_put_ProcessorCount( x, p ) \ (x)->lpVtbl->put_ProcessorCount( x, p ) #define IADsComputer_get_MemorySize( x, p ) \ (x)->lpVtbl->get_MemorySize( x, p ) #define IADsComputer_put_MemorySize( x, p ) \ (x)->lpVtbl->put_MemorySize( x, p ) #define IADsComputer_get_StorageCapacity( x, p ) \ (x)->lpVtbl->get_StorageCapacity( x, p ) #define IADsComputer_put_StorageCapacity( x, p ) \ (x)->lpVtbl->put_StorageCapacity( x, p ) #define IADsComputer_get_NetAddresses( x, p ) \ (x)->lpVtbl->get_NetAddresses( x, p ) #define IADsComputer_put_NetAddresses( x, p ) \ (x)->lpVtbl->put_NetAddresses( x, p ) #define IADsComputerOperations_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsComputerOperations_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsComputerOperations_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsComputerOperations_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsComputerOperations_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsComputerOperations_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsComputerOperations_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsComputerOperations_get_Name( x, p ) \ (x)->lpVtbl->get_Name( x, p ) #define IADsComputerOperations_get_Class( x, p ) \ (x)->lpVtbl->get_Class( x, p ) #define IADsComputerOperations_get_GUID( x, p ) \ (x)->lpVtbl->get_GUID( x, p ) #define IADsComputerOperations_get_ADsPath( x, p ) \ (x)->lpVtbl->get_ADsPath( x, p ) #define IADsComputerOperations_get_Parent( x, p ) \ (x)->lpVtbl->get_Parent( x, p ) #define IADsComputerOperations_get_Schema( x, p ) \ (x)->lpVtbl->get_Schema( x, p ) #define IADsComputerOperations_GetInfo( x ) \ (x)->lpVtbl->GetInfo( x ) #define IADsComputerOperations_SetInfo( x ) \ (x)->lpVtbl->SetInfo( x ) #define IADsComputerOperations_Get( x, p1, p2 ) \ (x)->lpVtbl->Get( x, p1, p2 ) #define IADsComputerOperations_Put( x, p1, p2 ) \ (x)->lpVtbl->Put( x, p1, p2 ) #define IADsComputerOperations_GetEx( x, p1, p2 ) \ (x)->lpVtbl->GetEx( x, p1, p2 ) #define IADsComputerOperations_PutEx( x, p1, p2, p3 ) \ (x)->lpVtbl->PutEx( x, p1, p2, p3 ) #define IADsComputerOperations_GetInfoEx( x, p1, p2 ) \ (x)->lpVtbl->GetInfoEx( x, p1, p2 ) #define IADsComputerOperations_Status( x, p ) \ (x)->lpVtbl->Status( x, p ) #define IADsComputerOperations_Shutdown( x, p ) \ (x)->lpVtbl->Shutdown( x, p ) #define IADsGroup_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsGroup_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsGroup_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsGroup_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsGroup_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsGroup_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsGroup_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsGroup_get_Name( x, p ) \ (x)->lpVtbl->get_Name( x, p ) #define IADsGroup_get_Class( x, p ) \ (x)->lpVtbl->get_Class( x, p ) #define IADsGroup_get_GUID( x, p ) \ (x)->lpVtbl->get_GUID( x, p ) #define IADsGroup_get_ADsPath( x, p ) \ (x)->lpVtbl->get_ADsPath( x, p ) #define IADsGroup_get_Parent( x, p ) \ (x)->lpVtbl->get_Parent( x, p ) #define IADsGroup_get_Schema( x, p ) \ (x)->lpVtbl->get_Schema( x, p ) #define IADsGroup_GetInfo( x ) \ (x)->lpVtbl->GetInfo( x ) #define IADsGroup_SetInfo( x ) \ (x)->lpVtbl->SetInfo( x ) #define IADsGroup_Get( x, p1, p2 ) \ (x)->lpVtbl->Get( x, p1, p2 ) #define IADsGroup_Put( x, p1, p2 ) \ (x)->lpVtbl->Put( x, p1, p2 ) #define IADsGroup_GetEx( x, p1, p2 ) \ (x)->lpVtbl->GetEx( x, p1, p2 ) #define IADsGroup_PutEx( x, p1, p2, p3 ) \ (x)->lpVtbl->PutEx( x, p1, p2, p3 ) #define IADsGroup_GetInfoEx( x, p1, p2 ) \ (x)->lpVtbl->GetInfoEx( x, p1, p2 ) #define IADsGroup_get_Description( x, p ) \ (x)->lpVtbl->get_Description( x, p ) #define IADsGroup_put_Description( x, p ) \ (x)->lpVtbl->put_Description( x, p ) #define IADsGroup_Members( x, p ) \ (x)->lpVtbl->Members( x, p ) #define IADsGroup_IsMember( x, p1, p2 ) \ (x)->lpVtbl->IsMember( x, p1, p2 ) #define IADsGroup_Add( x, p ) \ (x)->lpVtbl->Add( x, p ) #define IADsGroup_Remove( x, p ) \ (x)->lpVtbl->Remove( x, p ) #define IADsUser_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsUser_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsUser_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsUser_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsUser_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsUser_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsUser_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsUser_get_Name( x, p ) \ (x)->lpVtbl->get_Name( x, p ) #define IADsUser_get_Class( x, p ) \ (x)->lpVtbl->get_Class( x, p ) #define IADsUser_get_GUID( x, p ) \ (x)->lpVtbl->get_GUID( x, p ) #define IADsUser_get_ADsPath( x, p ) \ (x)->lpVtbl->get_ADsPath( x, p ) #define IADsUser_get_Parent( x, p ) \ (x)->lpVtbl->get_Parent( x, p ) #define IADsUser_get_Schema( x, p ) \ (x)->lpVtbl->get_Schema( x, p ) #define IADsUser_GetInfo( x ) \ (x)->lpVtbl->GetInfo( x ) #define IADsUser_SetInfo( x ) \ (x)->lpVtbl->SetInfo( x ) #define IADsUser_Get( x, p1, p2 ) \ (x)->lpVtbl->Get( x, p1, p2 ) #define IADsUser_Put( x, p1, p2 ) \ (x)->lpVtbl->Put( x, p1, p2 ) #define IADsUser_GetEx( x, p1, p2 ) \ (x)->lpVtbl->GetEx( x, p1, p2 ) #define IADsUser_PutEx( x, p1, p2, p3 ) \ (x)->lpVtbl->PutEx( x, p1, p2, p3 ) #define IADsUser_GetInfoEx( x, p1, p2 ) \ (x)->lpVtbl->GetInfoEx( x, p1, p2 ) #define IADsUser_get_BadLoginAddress( x, p ) \ (x)->lpVtbl->get_BadLoginAddress( x, p ) #define IADsUser_get_BadLoginCount( x, p ) \ (x)->lpVtbl->get_BadLoginCount( x, p ) #define IADsUser_get_LastLogin( x, p ) \ (x)->lpVtbl->get_LastLogin( x, p ) #define IADsUser_get_LastLogoff( x, p ) \ (x)->lpVtbl->get_LastLogoff( x, p ) #define IADsUser_get_LastFailedLogin( x, p ) \ (x)->lpVtbl->get_LastFailedLogin( x, p ) #define IADsUser_get_PasswordLastChanged( x, p ) \ (x)->lpVtbl->get_PasswordLastChanged( x, p ) #define IADsUser_get_Description( x, p ) \ (x)->lpVtbl->get_Description( x, p ) #define IADsUser_put_Description( x, p ) \ (x)->lpVtbl->put_Description( x, p ) #define IADsUser_get_Division( x, p ) \ (x)->lpVtbl->get_Division( x, p ) #define IADsUser_put_Division( x, p ) \ (x)->lpVtbl->put_Division( x, p ) #define IADsUser_get_Department( x, p ) \ (x)->lpVtbl->get_Department( x, p ) #define IADsUser_put_Department( x, p ) \ (x)->lpVtbl->put_Department( x, p ) #define IADsUSer_get_EmployeeID( x, p ) \ (x)->lpVtbl->get_EmployeeID( x, p ) #define IADsUser_put_EmployeeID( x, p ) \ (x)->lpVtbl->put_EmployeeID( x, p ) #define IADsUser_get_FullName( x, p ) \ (x)->lpVtbl->get_FullName( x, p ) #define IADsUser_put_FullName( x, p ) \ (x)->lpVtbl->put_FullName( x, p ) #define IADsUser_get_FirstName( x, p ) \ (x)->lpVtbl->get_FirstName( x, p ) #define IADsUser_put_FirstName( x, p ) \ (x)->lpVtbl->put_FirstName( x, p ) #define IADsUser_get_LastName( x, p ) \ (x)->lpVtbl->get_LastName( x, p ) #define IADsUser_put_LastName( x, p ) \ (x)->lpVtbl->put_LastName( x, p ) #define IADsUser_get_OtherName( x, p ) \ (x)->lpVtbl->get_OtherName( x, p ) #define IADsUser_put_OtherName( x, p ) \ (x)->lpVtbl->put_OtherName( x, p ) #define IADsUser_get_NamePrefix( x, p ) \ (x)->lpVtbl->get_NamePrefix( x, p ) #define IADsUser_put_NamePrefix( x, p ) \ (x)->lpVtbl->put_NamePrefix( x, p ) #define IADsUser_get_NameSuffix( x, p ) \ (x)->lpVtbl->get_NameSuffix( x, p ) #define IADsUser_put_NameSuffix( x, p ) \ (x)->lpVtbl->put_NameSuffix( x, p ) #define IADsUser_get_Title( x, p ) \ (x)->lpVtbl->get_Title( x, p ) #define IADsUser_put_Title( x, p ) \ (x)->lpVtbl->put_Title( x, p ) #define IADsUser_get_Manager( x, p ) \ (x)->lpVtbl->get_Manager( x, p ) #define IADsUser_put_Manager( x, p ) \ (x)->lpVtbl->put_Manager( x, p ) #define IADsUser_get_TelephoneHome( x, p ) \ (x)->lpVtbl->get_TelephoneHome( x, p ) #define IADsUser_put_TelephoneHome( x, p ) \ (x)->lpVtbl->put_TelephoneHome( x, p ) #define IADsUser_get_TelephoneMobile( x, p ) \ (x)->lpVtbl->get_TelephoneMobile( x, p ) #define IADsUser_put_TelephoneMobile( x, p ) \ (x)->lpVtbl->put_TelephoneMobile( x, p ) #define IADsUser_get_TelephoneNumber( x, p ) \ (x)->lpVtbl->get_TelephoneNumber( x, p ) #define IADsUser_put_TelephoneNumber( x, p ) \ (x)->lpVtbl->put_TelephoneNumber( x, p ) #define IADsUser_get_TelephonePager( x, p ) \ (x)->lpVtbl->get_TelephonePager( x, p ) #define IADsUser_put_TelephonePager( x, p ) \ (x)->lpVtbl->put_TelephonePager( x, p ) #define IADsUser_get_FaxNumber( x, p ) \ (x)->lpVtbl->get_FaxNumber( x, p ) #define IADsUser_put_FaxNumber( x, p ) \ (x)->lpVtbl->put_FaxNumber( x, p ) #define IADsUser_get_OfficeLocations( x, p ) \ (x)->lpVtbl->get_OfficeLocations( x, p ) #define IADsUser_put_OfficeLocations( x, p ) \ (x)->lpVtbl->put_OfficeLocations( x, p ) #define IADsUser_get_PostalAddresses( x, p ) \ (x)->lpVtbl->get_PostalAddresses( x, p ) #define IADsUser_put_PostalAddresses( x, p ) \ (x)->lpVtbl->put_PostalAddresses( x, p ) #define IADsUser_get_PostalCodes( x, p ) \ (x)->lpVtbl->get_PostalCodes( x, p ) #define IADsUser_put_PostalCodes( x, p ) \ (x)->lpVtbl->put_PostalCodes( x, p ) #define IADsUser_get_SeeAlso( x, p ) \ (x)->lpVtbl->get_SeeAlso( x, p ) #define IADsUser_put_SeeAlso( x, p ) \ (x)->lpVtbl->put_SeeAlso( x, p ) #define IADsUser_get_AccountDisabled( x, p ) \ (x)->lpVtbl->get_AccountDisabled( x, p ) #define IADsUser_put_AccountDisabled( x, p ) \ (x)->lpVtbl->put_AccountDisabled( x, p ) #define IADsUser_get_AccountExpirationDate( x, p ) \ (x)->lpVtbl->get_AccountExpirationDate( x, p ) #define IADsUser_put_AccountExpirationDate( x, p ) \ (x)->lpVtbl->put_AccountExpirationDate( x, p ) #define IADsUser_get_GraceLoginsAllowed( x, p ) \ (x)->lpVtbl->get_GraceLoginsAllowed( x, p ) #define IADsUser_put_GraceLoginsAllowed( x, p ) \ (x)->lpVtbl->put_GraceLoginsAllowed( x, p ) #define IADsUser_get_GraceLoginsRemaining( x, p ) \ (x)->lpVtbl->get_GraceLoginsRemaining( x, p ) #define IADsUser_put_GraceLoginsRemaining( x, p ) \ (x)->lpVtbl->put_GraceLoginsRemaining( x, p ) #define IADsUser_get_IsAccountLocked( x, p ) \ (x)->lpVtbl->get_IsAccountLocked( x, p ) #define IADsUser_put_IsAccountLocked( x, p ) \ (x)->lpVtbl->put_IsAccountLocked( x, p ) #define IADsUser_get_LoginHours( x, p ) \ (x)->lpVtbl->get_LoginHours( x, p ) #define IADsUser_put_LoginHours( x, p ) \ (x)->lpVtbl->put_LoginHours( x, p ) #define IADsUser_get_LoginWorkstations( x, p ) \ (x)->lpVtbl->get_LoginWorkstations( x, p ) #define IADsUser_put_LoginWorkstations( x, p ) \ (x)->lpVtbl->put_LoginWorkstations( x, p ) #define IADsUser_get_MaxLogins( x, p ) \ (x)->lpVtbl->get_MaxLogins( x, p ) #define IADsUser_put_MaxLogins( x, p ) \ (x)->lpVtbl->put_MaxLogins( x, p ) #define IADsUser_get_MaxStorage( x, p ) \ (x)->lpVtbl->get_MaxStorage( x, p ) #define IADsUser_put_MaxStorage( x, p ) \ (x)->lpVtbl->put_MaxStorage( x, p ) #define IADsUser_get_PasswordExpirationDate( x, p ) \ (x)->lpVtbl->get_PasswordExpirationDate( x, p ) #define IADsUser_put_PasswordExpirationDate( x, p ) \ (x)->lpVtbl->put_PasswordExpirationDate( x, p ) #define IADsUser_get_PasswordMinimumLength( x, p ) \ (x)->lpVtbl->get_PasswordMinimumLength( x, p ) #define IADsUser_put_PasswordMinimumLength( x, p ) \ (x)->lpVtbl->put_PasswordMinimumLength( x, p ) #define IADsUser_get_PasswordRequired( x, p ) \ (x)->lpVtbl->get_PasswordRequired( x, p ) #define IADsUser_put_PasswordRequired( x, p ) \ (x)->lpVtbl->put_PasswordRequired( x, p ) #define IADsUser_get_RequireUniquePassword( x, p ) \ (x)->lpVtbl->get_RequireUniquePassword( x, p ) #define IADsUser_put_RequireUniquePassword( x, p ) \ (x)->lpVtbl->put_RequireUniquePassword( x, p ) #define IADsUser_get_EmailAddress( x, p ) \ (x)->lpVtbl->get_EmailAddress( x, p ) #define IADsUser_put_EmailAddress( x, p ) \ (x)->lpVtbl->put_EmailAddress( x, p ) #define IADsUser_get_HomeDirectory( x, p ) \ (x)->lpVtbl->get_HomeDirectory( x, p ) #define IADsUser_put_HomeDirectory( x, p ) \ (x)->lpVtbl->put_HomeDirectory( x, p ) #define IADsUser_get_Languages( x, p ) \ (x)->lpVtbl->get_Languages( x, p ) #define IADsUser_put_Languages( x, p ) \ (x)->lpVtbl->put_Languages( x, p ) #define IADsUser_get_Profile( x, p ) \ (x)->lpVtbl->get_Profile( x, p ) #define IADsUser_put_Profile( x, p ) \ (x)->lpVtbl->put_Profile( x, p ) #define IADsUser_get_LoginScript( x, p ) \ (x)->lpVtbl->get_LoginScript( x, p ) #define IADsUser_put_LoginScript( x, p ) \ (x)->lpVtbl->put_LoginScript( x, p ) #define IADsUser_get_Picture( x, p ) \ (x)->lpVtbl->get_Picture( x, p ) #define IADsUser_put_Picture( x, p ) \ (x)->lpVtbl->put_Picture( x, p ) #define IADsUser_get_HomePage( x, p ) \ (x)->lpVtbl->get_HomePage( x, p ) #define IADsUser_put_HomePage( x, p ) \ (x)->lpVtbl->put_HomePage( x, p ) #define IADsUser_Groups( x, p ) \ (x)->lpVtbl->Groups( x, p ) #define IADsUser_SetPassword( x, p ) \ (x)->lpVtbl->SetPassword( x, p ) #define IADsUser_ChangePassword( x, p1, p2 ) \ (x)->lpVtbl->ChangePassword( x, p1, p2 ) #define IADsPrintQueue_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsPrintQueue_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsPrintQueue_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsPrintQueue_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsPrintQueue_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsPrintQueue_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsPrintQueue_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsPrintQueue_get_Name( x, p ) \ (x)->lpVtbl->get_Name( x, p ) #define IADsPrintQueue_get_Class( x, p ) \ (x)->lpVtbl->get_Class( x, p ) #define IADsPrintQueue_get_GUID( x, p ) \ (x)->lpVtbl->get_GUID( x, p ) #define IADsPrintQueue_get_ADsPath( x, p ) \ (x)->lpVtbl->get_ADsPath( x, p ) #define IADsPrintQueue_get_Parent( x, p ) \ (x)->lpVtbl->get_Parent( x, p ) #define IADsPrintQueue_get_Schema( x, p ) \ (x)->lpVtbl->get_Schema( x, p ) #define IADsPrintQueue_GetInfo( x ) \ (x)->lpVtbl->GetInfo( x ) #define IADsPrintQueue_SetInfo( x ) \ (x)->lpVtbl->SetInfo( x ) #define IADsPrintQueue_Get( x, p1, p2 ) \ (x)->lpVtbl->Get( x, p1, p2 ) #define IADsPrintQueue_Put( x, p1, p2 ) \ (x)->lpVtbl->Put( x, p1, p2 ) #define IADsPrintQueue_GetEx( x, p1, p2 ) \ (x)->lpVtbl->GetEx( x, p1, p2 ) #define IADsPrintQueue_PutEx( x, p1, p2, p3 ) \ (x)->lpVtbl->PutEx( x, p1, p2, p3 ) #define IADsPrintQueue_GetInfoEx( x, p1, p2 ) \ (x)->lpVtbl->GetInfoEx( x, p1, p2 ) #define IADsPrintQueue_get_PrinterPath( x, p ) \ (x)->lpVtbl->get_PrinterPath( x, p ) #define IADsPrintQueue_put_PrinterPath( x, p ) \ (x)->lpVtbl->put_PrinterPath( x, p ) #define IADsPrintQueue_get_Model( x, p ) \ (x)->lpVtbl->get_Model( x, p ) #define IADsPrintQueue_put_Model( x, p ) \ (x)->lpVtbl->put_Model( x, p ) #define IADsPrintQueue_get_Datatype( x, p ) \ (x)->lpVtbl->get_Datatype( x, p ) #define IADsPrintQueue_put_Datatype( x, p ) \ (x)->lpVtbl->put_Datatype( x, p ) #define IADsPrintQueue_get_PrintProcessor( x, p ) \ (x)->lpVtbl->get_PrintProcessor( x, p ) #define IADsPrintQueue_put_PrintProcessor( x, p ) \ (x)->lpVtbl->put_PrintProcessor( x, p ) #define IADsPrintQueue_get_Description( x, p ) \ (x)->lpVtbl->get_Description( x, p ) #define IADsPrintQueue_put_Description( x, p ) \ (x)->lpVtbl->put_Description( x, p ) #define IADsPrintQueue_get_Location( x, p ) \ (x)->lpVtbl->get_Location( x, p ) #define IADsPrintQueue_put_Location( x, p ) \ (x)->lpVtbl->put_Location( x, p ) #define IADsPrintQueue_get_StartTime( x, p ) \ (x)->lpVtbl->get_StartTime( x, p ) #define IADsPrintQueue_put_StartTime( x, p ) \ (x)->lpVtbl->put_StartTime( x, p ) #define IADsPrintQueue_get_UntilTime( x, p ) \ (x)->lpVtbl->get_UntilTime( x, p ) #define IADsPrintQueue_put_UntilTime( x, p ) \ (x)->lpVtbl->put_UntilTime( x, p ) #define IADsPrintQueue_get_DefaultJobPriority( x, p ) \ (x)->lpVtbl->get_DefaultJobPriority( x, p ) #define IADsPrintQueue_put_DefaultJobPriority( x, p ) \ (x)->lpVtbl->put_DefaultJobPriority( x, p ) #define IADsPrintQueue_get_Priority( x, p ) \ (x)->lpVtbl->get_Priority( x, p ) #define IADsPrintQueue_put_Priority( x, p ) \ (x)->lpVtbl->put_Priority( x, p ) #define IADsPrintQueue_get_BannerPage( x, p ) \ (x)->lpVtbl->get_BannerPage( x, p ) #define IADsPrintQueue_put_BannerPage( x, p ) \ (x)->lpVtbl->put_BannerPage( x, p ) #define IADsPrintQueue_get_PrintDevices( x, p ) \ (x)->lpVtbl->get_PrintDevices( x, p ) #define IADsPrintQueue_put_PrintDevices( x, p ) \ (x)->lpVtbl->put_PrintDevices( x, p ) #define IADsPrintQueue_get_NetAddresses( x, p ) \ (x)->lpVtbl->get_NetAddresses( x, p ) #define IADsPrintQueue_put_NetAddresses( x, p ) \ (x)->lpVtbl->put_NetAddresses( x, p ) #define IADsPrintQueueOperations_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsPrintQueueOperations_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsPrintQueueOperations_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsPrintQueueOperations_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsPrintQueueOperations_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsPrintQueueOperations_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsPrintQueueOperations_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsPrintQueueOperations_get_Name( x, p ) \ (x)->lpVtbl->get_Name( x, p ) #define IADsPrintQueueOperations_get_Class( x, p ) \ (x)->lpVtbl->get_Class( x, p ) #define IADsPrintQueueOperations_get_GUID( x, p ) \ (x)->lpVtbl->get_GUID( x, p ) #define IADsPrintQueueOperations_get_ADsPath( x, p ) \ (x)->lpVtbl->get_ADsPath( x, p ) #define IADsPrintQueueOperations_get_Parent( x, p ) \ (x)->lpVtbl->get_Parent( x, p ) #define IADsPrintQueueOperations_get_Schema( x, p ) \ (x)->lpVtbl->get_Schema( x, p ) #define IADsPrintQueueOperations_GetInfo( x ) \ (x)->lpVtbl->GetInfo( x ) #define IADsPrintQueueOperations_SetInfo( x ) \ (x)->lpVtbl->SetInfo( x ) #define IADsPrintQueueOperations_Get( x, p1, p2 ) \ (x)->lpVtbl->Get( x, p1, p2 ) #define IADsPrintQueueOperations_Put( x, p1, p2 ) \ (x)->lpVtbl->Put( x, p1, p2 ) #define IADsPrintQueueOperations_GetEx( x, p1, p2 ) \ (x)->lpVtbl->GetEx( x, p1, p2 ) #define IADsPrintQueueOperations_PutEx( x, p1, p2, p3 ) \ (x)->lpVtbl->PutEx( x, p1, p2, p3 ) #define IADsPrintQueueOperations_GetInfoEx( x, p1, p2 ) \ (x)->lpVtbl->GetInfoEx( x, p1, p2 ) #define IADsPrintQueueOperations_get_Status( x, p ) \ (x)->lpVtbl->get_Status( x, p ) #define IADsPrintQueueOperations_PrintJobs( x, p ) \ (x)->lpVtbl->PrintJobs( x, p ) #define IADsPrintQueueOperations_Pause( x ) \ (x)->lpVtbl->Pause( x ) #define IADsPrintQueueOperations_Resume( x ) \ (x)->lpVtbl->Resume( x ) #define IADsPrintQueueOperations_Purge( x ) \ (x)->lpVtbl->Purge( x ) #define IADsPrintJob_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsPrintJob_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsPrintJob_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsPrintJob_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsPrintJob_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsPrintJob_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsPrintJob_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsPrintJob_get_Name( x, p ) \ (x)->lpVtbl->get_Name( x, p ) #define IADsPrintJob_get_Class( x, p ) \ (x)->lpVtbl->get_Class( x, p ) #define IADsPrintJob_get_GUID( x, p ) \ (x)->lpVtbl->get_GUID( x, p ) #define IADsPrintJob_get_ADsPath( x, p ) \ (x)->lpVtbl->get_ADsPath( x, p ) #define IADsPrintJob_get_Parent( x, p ) \ (x)->lpVtbl->get_Parent( x, p ) #define IADsPrintJob_get_Schema( x, p ) \ (x)->lpVtbl->get_Schema( x, p ) #define IADsPrintJob_GetInfo( x ) \ (x)->lpVtbl->GetInfo( x ) #define IADsPrintJob_SetInfo( x ) \ (x)->lpVtbl->SetInfo( x ) #define IADsPrintJob_Get( x, p1, p2 ) \ (x)->lpVtbl->Get( x, p1, p2 ) #define IADsPrintJob_Put( x, p1, p2 ) \ (x)->lpVtbl->Put( x, p1, p2 ) #define IADsPrintJob_GetEx( x, p1, p2 ) \ (x)->lpVtbl->GetEx( x, p1, p2 ) #define IADsPrintJob_PutEx( x, p1, p2, p3 ) \ (x)->lpVtbl->PutEx( x, p1, p2, p3 ) #define IADsPrintJob_GetInfoEx( x, p1, p2 ) \ (x)->lpVtbl->GetInfoEx( x, p1, p2 ) #define IADsPrintJob_get_HostPrintQueue( x, p ) \ (x)->lpVtbl->get_HostPrintQueue( x, p ) #define IADsPrintJob_get_User( x, p ) \ (x)->lpVtbl->get_User( x, p ) #define IADsPrintJob_get_UserPath( x, p ) \ (x)->lpVtbl->get_UserPath( x, p ) #define IADsPrintJob_get_TimeSubmitted( x, p ) \ (x)->lpVtbl->get_TimeSubmitted( x, p ) #define IADsPrintJob_get_TotalPages( x, p ) \ (x)->lpVtbl->get_TotalPages( x, p ) #define IADsPrintJob_get_Size( x, p ) \ (x)->lpVtbl->get_Size( x, p ) #define IADsPrintJob_get_Description( x, p ) \ (x)->lpVtbl->get_Description( x, p ) #define IADsPrintJob_put_Description( x, p ) \ (x)->lpVtbl->put_Description( x, p ) #define IADsPrintJob_get_Priority( x, p ) \ (x)->lpVtbl->get_Priority( x, p ) #define IADsPrintJob_put_Priority( x, p ) \ (x)->lpVtbl->put_Priority( x, p ) #define IADsPrintJob_get_StartTime( x, p ) \ (x)->lpVtbl->get_StartTime( x, p ) #define IADsPrintJob_put_StartTime( x, p ) \ (x)->lpVtbl->put_StartTime( x, p ) #define IADsPrintJob_get_UntilTime( x, p ) \ (x)->lpVtbl->get_UntilTime( x, p ) #define IADsPrintJob_put_UntilTime( x, p ) \ (x)->lpVtbl->put_UntilTime( x, p ) #define IADsPrintJob_get_Notify( x, p ) \ (x)->lpVtbl->get_Notify( x, p ) #define IADsPrintJob_put_Notify( x, p ) \ (x)->lpVtbl->put_Notify( x, p ) #define IADsPrintJob_get_NotifyPath( x, p ) \ (x)->lpVtbl->get_NotifyPath( x, p ) #define IADsPrintJob_put_NotifyPath( x, p ) \ (x)->lpVtbl->put_NotifyPath( x, p ) #define IADsPrintJobOperations_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsPrintJobOperations_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsPrintJobOperations_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsPrintJobOperations_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsPrintJobOperations_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsPrintJobOperations_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsPrintJobOperations_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsPrintJobOperations_get_Name( x, p ) \ (x)->lpVtbl->get_Name( x, p ) #define IADsPrintJobOperations_get_Class( x, p ) \ (x)->lpVtbl->get_Class( x, p ) #define IADsPrintJobOperations_get_GUID( x, p ) \ (x)->lpVtbl->get_GUID( x, p ) #define IADsPrintJobOperations_get_ADsPath( x, p ) \ (x)->lpVtbl->get_ADsPath( x, p ) #define IADsPrintJobOperations_get_Parent( x, p ) \ (x)->lpVtbl->get_Parent( x, p ) #define IADsPrintJobOperations_get_Schema( x, p ) \ (x)->lpVtbl->get_Schema( x, p ) #define IADsPrintJobOperations_GetInfo( x ) \ (x)->lpVtbl->GetInfo( x ) #define IADsPrintJobOperations_SetInfo( x ) \ (x)->lpVtbl->SetInfo( x ) #define IADsPrintJobOperations_Get( x, p1, p2 ) \ (x)->lpVtbl->Get( x, p1, p2 ) #define IADsPrintJobOperations_Put( x, p1, p2 ) \ (x)->lpVtbl->Put( x, p1, p2 ) #define IADsPrintJobOperations_GetEx( x, p1, p2 ) \ (x)->lpVtbl->GetEx( x, p1, p2 ) #define IADsPrintJobOperations_PutEx( x, p1, p2, p3 ) \ (x)->lpVtbl->PutEx( x, p1, p2, p3 ) #define IADsPrintJobOperations_GetInfoEx( x, p1, p2 ) \ (x)->lpVtbl->GetInfoEx( x, p1, p2 ) #define IADsPrintJobOperations_get_Status( x, p ) \ (x)->lpVtbl->get_Status( x, p ) #define IADsPrintJobOperations_get_TimeElapsed( x, p ) \ (x)->lpVtbl->get_TimeElapsed( x, p ) #define IADsPrintJobOperations_get_PagesPrinted( x, p ) \ (x)->lpVtbl->get_PagesPrinted( x, p ) #define IADsPrintJobOperations_get_Position( x, p ) \ (x)->lpVtbl->get_Position( x, p ) #define IADsPrintJobOperations_put_Position( x, p ) \ (x)->lpVtbl->put_Position( x, p ) #define IADsPrintJobOperations_Pause( x ) \ (x)->lpVtbl->Pause( x ) #define IADsPrintJobOperations_Resume( x ) \ (x)->lpVtbl->Resume( x ) #define IADsService_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsService_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsService_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsService_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsService_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsService_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsService_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsService_get_Name( x, p ) \ (x)->lpVtbl->get_Name( x, p ) #define IADsService_get_Class( x, p ) \ (x)->lpVtbl->get_Class( x, p ) #define IADsService_get_GUID( x, p ) \ (x)->lpVtbl->get_GUID( x, p ) #define IADsService_get_ADsPath( x, p ) \ (x)->lpVtbl->get_ADsPath( x, p ) #define IADsService_get_Parent( x, p ) \ (x)->lpVtbl->get_Parent( x, p ) #define IADsService_get_Schema( x, p ) \ (x)->lpVtbl->get_Schema( x, p ) #define IADsService_GetInfo( x ) \ (x)->lpVtbl->GetInfo( x ) #define IADsService_SetInfo( x ) \ (x)->lpVtbl->SetInfo( x ) #define IADsService_Get( x, p1, p2 ) \ (x)->lpVtbl->Get( x, p1, p2 ) #define IADsService_Put( x, p1, p2 ) \ (x)->lpVtbl->Put( x, p1, p2 ) #define IADsService_GetEx( x, p1, p2 ) \ (x)->lpVtbl->GetEx( x, p1, p2 ) #define IADsService_PutEx( x, p1, p2, p3 ) \ (x)->lpVtbl->PutEx( x, p1, p2, p3 ) #define IADsService_GetInfoEx( x, p1, p2 ) \ (x)->lpVtbl->GetInfoEx( x, p1, p2 ) #define IADsService_get_HostComputer( x, p ) \ (x)->lpVtbl->get_HostComputer( x, p ) #define IADsService_put_HostComputer( x, p ) \ (x)->lpVtbl->put_HostComputer( x, p ) #define IADsService_get_DisplayName( x, p ) \ (x)->lpVtbl->get_DisplayName( x, p ) #define IADsService_put_DisplayName( x, p ) \ (x)->lpVtbl->put_DisplayName( x, p ) #define IADsService_get_Version( x, p ) \ (x)->lpVtbl->get_Version( x, p ) #define IADsService_put_Version( x, p ) \ (x)->lpVtbl->put_Version( x, p ) #define IADsService_get_ServiceType( x, p ) \ (x)->lpVtbl->get_ServiceType( x, p ) #define IADsService_put_ServiceType( x, p ) \ (x)->lpVtbl->put_ServiceType( x, p ) #define IADsService_get_StartType( x, p ) \ (x)->lpVtbl->get_StartType( x, p ) #define IADsService_put_StartType( x, p ) \ (x)->lpVtbl->put_StartType( x, p ) #define IADsService_get_Path( x, p ) \ (x)->lpVtbl->get_Path( x, p ) #define IADsService_put_Path( x, p ) \ (x)->lpVtbl->put_Path( x, p ) #define IADsService_get_StartupParameters( x, p ) \ (x)->lpVtbl->get_StartupParameters( x, p ) #define IADsService_put_StartupParameters( x, p ) \ (x)->lpVtbl->put_StartupParameters( x, p ) #define IADsService_get_ErrorControl( x, p ) \ (x)->lpVtbl->get_ErrorControl( x, p ) #define IADsService_put_ErrorControl( x, p ) \ (x)->lpVtbl->put_ErrorControl( x, p ) #define IADsService_get_LoadOrderGroup( x, p ) \ (x)->lpVtbl->get_LoadOrderGroup( x, p ) #define IADsService_put_LoadOrderGroup( x, p ) \ (x)->lpVtbl->put_LoadOrderGroup( x, p ) #define IADsService_get_ServiceAccountName( x, p ) \ (x)->lpVtbl->get_ServiceAccountName( x, p ) #define IADsService_put_ServiceAccountName( x, p ) \ (x)->lpVtbl->put_ServiceAccountName( x, p ) #define IADsService_get_ServiceAccountPath( x, p ) \ (x)->lpVtbl->get_ServiceAccountPath( x, p ) #define IADsService_put_ServiceAccountPath( x, p ) \ (x)->lpVtbl->put_ServiceAccountPath( x, p ) #define IADsService_get_Dependencies( x, p ) \ (x)->lpVtbl->get_Dependencies( x, p ) #define IADsService_put_Dependencies( x, p ) \ (x)->lpVtbl->put_Dependencies( x, p ) #define IADsServiceOperations_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsServiceOperations_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsServiceOperations_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsServiceOperations_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsServiceOperations_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsServiceOperations_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsServiceOperations_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsServiceOperations_get_Name( x, p ) \ (x)->lpVtbl->get_Name( x, p ) #define IADsServiceOperations_get_Class( x, p ) \ (x)->lpVtbl->get_Class( x, p ) #define IADsServiceOperations_get_GUID( x, p ) \ (x)->lpVtbl->get_GUID( x, p ) #define IADsServiceOperations_get_ADsPath( x, p ) \ (x)->lpVtbl->get_ADsPath( x, p ) #define IADsServiceOperations_get_Parent( x, p ) \ (x)->lpVtbl->get_Parent( x, p ) #define IADsServiceOperations_get_Schema( x, p ) \ (x)->lpVtbl->get_Schema( x, p ) #define IADsServiceOperations_GetInfo( x ) \ (x)->lpVtbl->GetInfo( x ) #define IADsServiceOperations_SetInfo( x ) \ (x)->lpVtbl->SetInfo( x ) #define IADsServiceOperations_Get( x, p1, p2 ) \ (x)->lpVtbl->Get( x, p1, p2 ) #define IADsServiceOperations_Put( x, p1, p2 ) \ (x)->lpVtbl->Put( x, p1, p2 ) #define IADsServiceOperations_GetEx( x, p1, p2 ) \ (x)->lpVtbl->GetEx( x, p1, p2 ) #define IADsServiceOperations_PutEx( x, p1, p2, p3 ) \ (x)->lpVtbl->PutEx( x, p1, p2, p3 ) #define IADsServiceOperations_GetInfoEx( x, p1, p2 ) \ (x)->lpVtbl->GetInfoEx( x, p1, p2 ) #define IADsServiceOperations_get_Status( x, p ) \ (x)->lpVtbl->get_Status( x, p ) #define IADsServiceOperations_Start( x ) \ (x)->lpVtbl->Start( x ) #define IADsServiceOperations_Stop( x ) \ (x)->lpVtbl->Stop( x ) #define IADsServiceOperations_Pause( x ) \ (x)->lpVtbl->Pause( x ) #define IADsServiceOperations_Continue( x ) \ (x)->lpVtbl->Continue( x ) #define IADsServiceOperations_SetPassword( x, p ) \ (x)->lpVtbl->SetPassword( x, p ) #define IADsFileService_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsFileService_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsFileService_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsFileService_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsFileService_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsFileService_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsFileService_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsFileService_get_Name( x, p ) \ (x)->lpVtbl->get_Name( x, p ) #define IADsFileService_get_Class( x, p ) \ (x)->lpVtbl->get_Class( x, p ) #define IADsFileService_get_GUID( x, p ) \ (x)->lpVtbl->get_GUID( x, p ) #define IADsFileService_get_ADsPath( x, p ) \ (x)->lpVtbl->get_ADsPath( x, p ) #define IADsFileService_get_Parent( x, p ) \ (x)->lpVtbl->get_Parent( x, p ) #define IADsFileService_get_Schema( x, p ) \ (x)->lpVtbl->get_Schema( x, p ) #define IADsFileService_GetInfo( x ) \ (x)->lpVtbl->GetInfo( x ) #define IADsFileService_SetInfo( x ) \ (x)->lpVtbl->SetInfo( x ) #define IADsFileService_Get( x, p1, p2 ) \ (x)->lpVtbl->Get( x, p1, p2 ) #define IADsFileService_Put( x, p1, p2 ) \ (x)->lpVtbl->Put( x, p1, p2 ) #define IADsFileService_GetEx( x, p1, p2 ) \ (x)->lpVtbl->GetEx( x, p1, p2 ) #define IADsFileService_PutEx( x, p1, p2, p3 ) \ (x)->lpVtbl->PutEx( x, p1, p2, p3 ) #define IADsFileService_GetInfoEx( x, p1, p2 ) \ (x)->lpVtbl->GetInfoEx( x, p1, p2 ) #define IADsFileService_get_HostComputer( x, p ) \ (x)->lpVtbl->get_HostComputer( x, p ) #define IADsFileService_put_HostComputer( x, p ) \ (x)->lpVtbl->put_HostComputer( x, p ) #define IADsFileService_get_DisplayName( x, p ) \ (x)->lpVtbl->get_DisplayName( x, p ) #define IADsFileService_put_DisplayName( x, p ) \ (x)->lpVtbl->put_DisplayName( x, p ) #define IADsFileService_get_Version( x, p ) \ (x)->lpVtbl->get_Version( x, p ) #define IADsFileService_put_Version( x, p ) \ (x)->lpVtbl->put_Version( x, p ) #define IADsFileService_get_ServiceType( x, p ) \ (x)->lpVtbl->get_ServiceType( x, p ) #define IADsFileService_put_ServiceType( x, p ) \ (x)->lpVtbl->put_ServiceType( x, p ) #define IADsFileService_get_StartType( x, p ) \ (x)->lpVtbl->get_StartType( x, p ) #define IADsFileService_put_StartType( x, p ) \ (x)->lpVtbl->put_StartType( x, p ) #define IADsFileService_get_Path( x, p ) \ (x)->lpVtbl->get_Path( x, p ) #define IADsFileService_put_Path( x, p ) \ (x)->lpVtbl->put_Path( x, p ) #define IADsFileService_get_StartupParameters( x, p ) \ (x)->lpVtbl->get_StartupParameters( x, p ) #define IADsFileService_put_StartupParameters( x, p ) \ (x)->lpVtbl->put_StartupParameters( x, p ) #define IADsFileService_get_ErrorControl( x, p ) \ (x)->lpVtbl->get_ErrorControl( x, p ) #define IADsFileService_put_ErrorControl( x, p ) \ (x)->lpVtbl->put_ErrorControl( x, p ) #define IADsFileService_get_LoadOrderGroup( x, p ) \ (x)->lpVtbl->get_LoadOrderGroup( x, p ) #define IADsFileService_put_LoadOrderGroup( x, p ) \ (x)->lpVtbl->put_LoadOrderGroup( x, p ) #define IADsFileService_get_ServiceAccountName( x, p ) \ (x)->lpVtbl->get_ServiceAccountName( x, p ) #define IADsFileService_put_ServiceAccountName( x, p ) \ (x)->lpVtbl->put_ServiceAccountName( x, p ) #define IADsFileService_get_ServiceAccountPath( x, p ) \ (x)->lpVtbl->get_ServiceAccountPath( x, p ) #define IADsFileService_put_ServiceAccountPath( x, p ) \ (x)->lpVtbl->put_ServiceAccountPath( x, p ) #define IADsFileService_get_Dependencies( x, p ) \ (x)->lpVtbl->get_Dependencies( x, p ) #define IADsFileService_put_Dependencies( x, p ) \ (x)->lpVtbl->put_Dependencies( x, p ) #define IADsFileService_get_Description( x, p ) \ (x)->lpVtbl->get_Description( x, p ) #define IADsFileService_put_Description( x, p ) \ (x)->lpVtbl->put_Description( x, p ) #define IADsFileService_get_MaxUserCount( x, p ) \ (x)->lpVtbl->get_MaxUserCount( x, p ) #define IADsFileService_put_MaxUserCount( x, p ) \ (x)->lpVtbl->put_MaxUserCount( x, p ) #define IADsFileServiceOperations_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsFileServiceOperations_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsFileServiceOperations_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsFileServiceOperations_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsFileServiceOperations_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsFileServiceOperations_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsFileServiceOperations_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsFileServiceOperations_get_Name( x, p ) \ (x)->lpVtbl->get_Name( x, p ) #define IADsFileServiceOperations_get_Class( x, p ) \ (x)->lpVtbl->get_Class( x, p ) #define IADsFileServiceOperations_get_GUID( x, p ) \ (x)->lpVtbl->get_GUID( x, p ) #define IADsFileServiceOperations_get_ADsPath( x, p ) \ (x)->lpVtbl->get_ADsPath( x, p ) #define IADsFileServiceOperations_get_Parent( x, p ) \ (x)->lpVtbl->get_Parent( x, p ) #define IADsFileServiceOperations_get_Schema( x, p ) \ (x)->lpVtbl->get_Schema( x, p ) #define IADsFileServiceOperations_GetInfo( x ) \ (x)->lpVtbl->GetInfo( x ) #define IADsFileServiceOperations_SetInfo( x ) \ (x)->lpVtbl->SetInfo( x ) #define IADsFileServiceOperations_Get( x, p1, p2 ) \ (x)->lpVtbl->Get( x, p1, p2 ) #define IADsFileServiceOperations_Put( x, p1, p2 ) \ (x)->lpVtbl->Put( x, p1, p2 ) #define IADsFileServiceOperations_GetEx( x, p1, p2 ) \ (x)->lpVtbl->GetEx( x, p1, p2 ) #define IADsFileServiceOperations_PutEx( x, p1, p2, p3 ) \ (x)->lpVtbl->PutEx( x, p1, p2, p3 ) #define IADsFileServiceOperations_GetInfoEx( x, p1, p2 ) \ (x)->lpVtbl->GetInfoEx( x, p1, p2 ) #define IADsFileServiceOperations_get_Status( x, p ) \ (x)->lpVtbl->get_Status( x, p ) #define IADsFileServiceOperations_Start( x ) \ (x)->lpVtbl->Start( x ) #define IADsFileServiceOperations_Stop( x ) \ (x)->lpVtbl->Stop( x ) #define IADsFileServiceOperations_Pause( x ) \ (x)->lpVtbl->Pause( x ) #define IADsFileServiceOperations_Continue( x ) \ (x)->lpVtbl->Continue( x ) #define IADsFileServiceOperations_SetPassword( x, p ) \ (x)->lpVtbl->SetPassword( x, p ) #define IADsFileServiceOperations_Sessions( x, p ) \ (x)->lpVtbl->Sessions( x, p ) #define IADsFileServiceOperations_Resources( x, p ) \ (x)->lpVtbl->Resources( x, p ) #define IADsFileShare_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsFileShare_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsFileShare_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsFileShare_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsFileShare_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsFileShare_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsFileShare_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsFileShare_get_Name( x, p ) \ (x)->lpVtbl->get_Name( x, p ) #define IADsFileShare_get_Class( x, p ) \ (x)->lpVtbl->get_Class( x, p ) #define IADsFileShare_get_GUID( x, p ) \ (x)->lpVtbl->get_GUID( x, p ) #define IADsFileShare_get_ADsPath( x, p ) \ (x)->lpVtbl->get_ADsPath( x, p ) #define IADsFileShare_get_Parent( x, p ) \ (x)->lpVtbl->get_Parent( x, p ) #define IADsFileShare_get_Schema( x, p ) \ (x)->lpVtbl->get_Schema( x, p ) #define IADsFileShare_GetInfo( x ) \ (x)->lpVtbl->GetInfo( x ) #define IADsFileShare_SetInfo( x ) \ (x)->lpVtbl->SetInfo( x ) #define IADsFileShare_Get( x, p1, p2 ) \ (x)->lpVtbl->Get( x, p1, p2 ) #define IADsFileShare_Put( x, p1, p2 ) \ (x)->lpVtbl->Put( x, p1, p2 ) #define IADsFileShare_GetEx( x, p1, p2 ) \ (x)->lpVtbl->GetEx( x, p1, p2 ) #define IADsFileShare_PutEx( x, p1, p2, p3 ) \ (x)->lpVtbl->PutEx( x, p1, p2, p3 ) #define IADsFileShare_GetInfoEx( x, p1, p2 ) \ (x)->lpVtbl->GetInfoEx( x, p1, p2 ) #define IADsFileShare_get_CurrentUserCount( x, p ) \ (x)->lpVtbl->get_CurrentUserCount( x, p ) #define IADsFileShare_get_Description( x, p ) \ (x)->lpVtbl->get_Description( x, p ) #define IADsFileShare_put_Description( x, p ) \ (x)->lpVtbl->put_Description( x, p ) #define IADsFileShare_get_HostComputer( x, p ) \ (x)->lpVtbl->get_HostComputer( x, p ) #define IADsFileShare_put_HostComputer( x, p ) \ (x)->lpVtbl->put_HostComputer( x, p ) #define IADsFileShare_get_Path( x, p ) \ (x)->lpVtbl->get_Path( x, p ) #define IADsFileShare_put_Path( x, p ) \ (x)->lpVtbl->put_Path( x, p ) #define IADsFileShare_get_MaxUserCount( x, p ) \ (x)->lpVtbl->get_MaxUserCount( x, p ) #define IADsFileShare_put_MaxUserCount( x, p ) \ (x)->lpVtbl->put_MaxUserCount( x, p ) #define IADsSession_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsSession_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsSession_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsSession_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsSession_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsSession_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsSession_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsSession_get_Name( x, p ) \ (x)->lpVtbl->get_Name( x, p ) #define IADsSession_get_Class( x, p ) \ (x)->lpVtbl->get_Class( x, p ) #define IADsSession_get_GUID( x, p ) \ (x)->lpVtbl->get_GUID( x, p ) #define IADsSession_get_ADsPath( x, p ) \ (x)->lpVtbl->get_ADsPath( x, p ) #define IADsSession_get_Parent( x, p ) \ (x)->lpVtbl->get_Parent( x, p ) #define IADsSession_get_Schema( x, p ) \ (x)->lpVtbl->get_Schema( x, p ) #define IADsSession_GetInfo( x ) \ (x)->lpVtbl->GetInfo( x ) #define IADsSession_SetInfo( x ) \ (x)->lpVtbl->SetInfo( x ) #define IADsSession_Get( x, p1, p2 ) \ (x)->lpVtbl->Get( x, p1, p2 ) #define IADsSession_Put( x, p1, p2 ) \ (x)->lpVtbl->Put( x, p1, p2 ) #define IADsSession_GetEx( x, p1, p2 ) \ (x)->lpVtbl->GetEx( x, p1, p2 ) #define IADsSession_PutEx( x, p1, p2, p3 ) \ (x)->lpVtbl->PutEx( x, p1, p2, p3 ) #define IADsSession_GetInfoEx( x, p1, p2 ) \ (x)->lpVtbl->GetInfoEx( x, p1, p2 ) #define IADsSession_get_User( x, p ) \ (x)->lpVtbl->get_User( x, p ) #define IADsSession_get_UserPath( x, p ) \ (x)->lpVtbl->get_UserPath( x, p ) #define IADsSession_get_Computer( x, p ) \ (x)->lpVtbl->get_Computer( x, p ) #define IADsSession_get_ComputerPath( x, p ) \ (x)->lpVtbl->get_ComputerPath( x, p ) #define IADsSession_get_ConnectTime( x, p ) \ (x)->lpVtbl->get_ConnectTime( x, p ) #define IADsSession_get_IdleTime( x, p ) \ (x)->lpVtbl->get_IdleTime( x, p ) #define IADsResource_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsResource_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsResource_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsResource_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsResource_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsResource_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsResource_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsResource_get_Name( x, p ) \ (x)->lpVtbl->get_Name( x, p ) #define IADsResource_get_Class( x, p ) \ (x)->lpVtbl->get_Class( x, p ) #define IADsResource_get_GUID( x, p ) \ (x)->lpVtbl->get_GUID( x, p ) #define IADsResource_get_ADsPath( x, p ) \ (x)->lpVtbl->get_ADsPath( x, p ) #define IADsResource_get_Parent( x, p ) \ (x)->lpVtbl->get_Parent( x, p ) #define IADsResource_get_Schema( x, p ) \ (x)->lpVtbl->get_Schema( x, p ) #define IADsResource_GetInfo( x ) \ (x)->lpVtbl->GetInfo( x ) #define IADsResource_SetInfo( x ) \ (x)->lpVtbl->SetInfo( x ) #define IADsResource_Get( x, p1, p2 ) \ (x)->lpVtbl->Get( x, p1, p2 ) #define IADsResource_Put( x, p1, p2 ) \ (x)->lpVtbl->Put( x, p1, p2 ) #define IADsResource_GetEx( x, p1, p2 ) \ (x)->lpVtbl->GetEx( x, p1, p2 ) #define IADsResource_PutEx( x, p1, p2, p3 ) \ (x)->lpVtbl->PutEx( x, p1, p2, p3 ) #define IADsResource_GetInfoEx( x, p1, p2 ) \ (x)->lpVtbl->GetInfoEx( x, p1, p2 ) #define IADsResource_get_User( x, p ) \ (x)->lpVtbl->get_User( x, p ) #define IADsResource_get_UserPath( x, p ) \ (x)->lpVtbl->get_UserPath( x, p ) #define IADsResource_get_Path( x, p ) \ (x)->lpVtbl->get_Path( x, p ) #define IADsResource_get_LockCount( x, p ) \ (x)->lpVtbl->get_LockCount( x, p ) #define IADsOpenDSObject_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsOpenDSObject_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsOpenDSObject_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsOpenDSObject_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsOpenDSObject_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsOpenDSObject_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsOpenDSObject_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsOpenDSObject_OpenDSObject( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->OpenDSObject( x, p1, p2, p3, p4, p5 ) #define IDirectoryObject_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IDirectoryObject_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IDirectoryObject_Release( x ) \ (x)->lpVtbl->Release( x ) #define IDirectoryObject_GetObjectInformation( x, p ) \ (x)->lpVtbl->GetObjectInformation( x, p ) #define IDirectoryObject_GetObjectAttributes( x, p1, p2, p3, p4 ) \ (x)->lpVtbl->GetObjectAttributes( x, p1, p2, p3, p4 ) #define IDirectoryObject_SetObjectAttributes( x, p1, p2, p3 ) \ (x)->lpVtbl->SetObjectAttributes( x, p1, p2, p3 ) #define IDirectoryObject_CreateDSObject( x, p1, p2, p3, p4 ) \ (x)->lpVtbl->CreateDSObject( x, p1, p2, p3, p4 ) #define IDirectoryObject_DeleteDSObject( x, p ) \ (x)->lpVtbl->DeleteDSObject( x, p ) #define IDirectorySearch_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IDirectorySearch_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IDirectorySearch_Release( x ) \ (x)->lpVtbl->Release( x ) #define IDirectorySearch_SetSearchPreference( x, p1, p2 ) \ (x)->lpVtbl->SetSearchPreference( x, p1, p2 ) #define IDirectorySearch_ExecuteSearch( x, p1, p2, p3, p4 ) \ (x)->lpVtbl->ExecuteSearch( x, p1, p2, p3, p4 ) #define IDirectorySearch_AbandonSearch( x, p ) \ (x)->lpVtbl->AbandonSearch( x, p ) #define IDirectorySearch_GetFirstRow( x, p ) \ (x)->lpVtbl->GetFirstRow( x, p ) #define IDirectorySearch_GetNextRow( x, p ) \ (x)->lpVtbl->GetNextRow( x, p ) #define IDirectorySearch_GetPreviousRow( x, p ) \ (x)->lpVtbl->GetPreviousRow( x, p ) #define IDirectorySearch_GetNextColumnName( x, p1, p2 ) \ (x)->lpVtbl->GetNextColumnName( x, p1, p2 ) #define IDirectorySearch_GetColumn( x, p1, p2, p3 ) \ (x)->lpVtbl->GetColumn( x, p1, p2, p3 ) #define IDirectorySearch_FreeColumn( x, p ) \ (x)->lpVtbl->FreeColumn( x, p ) #define IDirectorySearch_CloseSearchHandle( x, p ) \ (x)->lpVtbl->CloseSearchHandle( x, p ) #define IDirectorySchemaMgmt_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IDirectorySchemaMgmt_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IDirectorySchemaMgmt_Release( x ) \ (x)->lpVtbl->Release( x ) #define IDirectorySchemaMgmt_EnumAttributes( x, p1, p2, p3, p4 ) \ (x)->lpVtbl->EnumAttributes( x, p1, p2, p3, p4 ) #define IDirectorySchemaMgmt_CreateAttributeDefinition( x, p1, p2 ) \ (x)->lpVtbl->CreateAttributeDefinition( x, p1, p2 ) #define IDirectorySchemaMgmt_WriteAttributeDefinition( x, p1, p2 ) \ (x)->lpVtbl->WriteAttributeDefinition( x, p1, p2 ) #define IDirectorySchemaMgmt_DeleteAttributeDefinition( x, p ) \ (x)->lpVtbl->DeleteAttributeDefinition( x, p ) #define IDirectorySchemaMgmt_EnumClasses( x, p1, p2, p3, p4 ) \ (x)->lpVtbl->EnumClasses( x, p1, p2, p3, p4 ) #define IDirectorySchemaMgmt_WriteClassDefinition( x, p1, p2 ) \ (x)->lpVtbl->WriteClassDefinition( x, p1, p2 ) #define IDirectorySchemaMgmt_CreateClassDefinition( x, p1, p2 ) \ (x)->lpVtbl->CreateClassDefinition( x, p1, p2 ) #define IDirectorySchemaMgmt_DeleteClassDefinition( x, p ) \ (x)->lpVtbl->DeleteClassDefinition( x, p ) #define IADsAggregatee_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsAggregatee_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsAggregatee_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsAggregatee_ConnectAsAggregatee( x, p ) \ (x)->lpVtbl->ConnectAsAggregatee( x, p ) #define IADsAggregatee_DisconnectAsAggregatee( x ) \ (x)->lpVtbl->DisconnectAsAggregatee( x ) #define IADsAggregatee_RelinquishInterface( x, p ) \ (x)->lpVtbl->RelinquishInterface( x, p ) #define IADsAggregatee_RestoreInterface( x, p ) \ (x)->lpVtbl->RestoreInterface( x, p ) #define IADsAggregator_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsAggregator_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsAggregator_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsAggregator_ConnectAsAggregator( x, p ) \ (x)->lpVtbl->ConnectAsAggregator( x, p ) #define IADsAggregator_DisconnectAsAggregator( x ) \ (x)->lpVtbl->DisconnectAsAggregator( x ) #define IADsAccessControlEntry_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsAccessControlEntry_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsAccessControlEntry_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsAccessControlEntry_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsAccessControlEntry_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsAccessControlEntry_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsAccessControlEntry_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsAccessControlEntry_get_AccessMask( x, p ) \ (x)->lpVtbl->get_AccessMask( x, p ) #define IADsAccessControlEntry_put_AccessMask( x, p ) \ (x)->lpVtbl->put_AccessMask( x, p ) #define IADsAccessControlEntry_get_AceType( x, p ) \ (x)->lpVtbl->get_AceType( x, p ) #define IADsAccessControlEntry_put_AceType( x, p ) \ (x)->lpVtbl->put_AceType( x, p ) #define IADsAccessControlEntry_get_AceFlags( x, p ) \ (x)->lpVtbl->get_AceFlags( x, p ) #define IADsAccessControlEntry_put_AceFlags( x, p ) \ (x)->lpVtbl->put_AceFlags( x, p ) #define IADsAccessControlEntry_get_Flags( x, p ) \ (x)->lpVtbl->get_Flags( x, p ) #define IADsAccessControlEntry_put_Flags( x, p ) \ (x)->lpVtbl->put_Flags( x, p ) #define IADsAccessControlEntry_get_ObjectType( x, p ) \ (x)->lpVtbl->get_ObjectType( x, p ) #define IADsAccessControlEntry_put_ObjectType( x, p ) \ (x)->lpVtbl->put_ObjectType( x, p ) #define IADsAccessControlEntry_get_InheritedObjectType( x, p ) \ (x)->lpVtbl->get_InheritedObjectType( x, p ) #define IADsAccessControlEntry_put_InheritedObjectType( x, p ) \ (x)->lpVtbl->put_InheritedObjectType( x, p ) #define IADsAccessControlEntry_get_Trustee( x, p ) \ (x)->lpVtbl->get_Trustee( x, p ) #define IADsAccessControlEntry_put_Trustee( x, p ) \ (x)->lpVtbl->put_Trustee( x, p ) #define IADsAccessControlList_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsAccessControlList_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsAccessControlList_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsAccessControlList_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsAccessControlList_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsAccessControlList_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsAccessControlList_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsAccessControlList_get_AclRevision( x, p ) \ (x)->lpVtbl->get_AclRevision( x, p ) #define IADsAccessControlList_put_AclRevision( x, p ) \ (x)->lpVtbl->put_AclRevision( x, p ) #define IADsAccessControlList_get_AceCount( x, p ) \ (x)->lpVtbl->get_AceCount( x, p ) #define IADsAccessControlList_put_AceCount( x, p ) \ (x)->lpVtbl->put_AceCount( x, p ) #define IADsAccessControlList_AddAce( x, p ) \ (x)->lpVtbl->AddAce( x, p ) #define IADsAccessControlList_RemoveAce( x, p ) \ (x)->lpVtbl->RemoveAce( x, p ) #define IADsAccessControlList_CopyAccessList( x, p ) \ (x)->lpVtbl->CopyAccessList( x, p ) #define IADsAccessControlList_get__NewEnum( x, p ) \ (x)->lpVtbl->get__NewEnum( x, p ) #define IADsSecurityDescriptor_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsSecurityDescriptor_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsSecurityDescriptor_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsSecurityDescriptor_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsSecurityDescriptor_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsSecurityDescriptor_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsSecurityDescriptor_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsSecurityDescriptor_get_Revision( x, p ) \ (x)->lpVtbl->get_Revision( x, p ) #define IADsSecurityDescriptor_put_Revision( x, p ) \ (x)->lpVtbl->put_Revision( x, p ) #define IADsSecurityDescriptor_get_Control( x, p ) \ (x)->lpVtbl->get_Control( x, p ) #define IADsSecurityDescriptor_put_Control( x, p ) \ (x)->lpVtbl->put_Control( x, p ) #define IADsSecurityDescriptor_get_Owner( x, p ) \ (x)->lpVtbl->get_Owner( x, p ) #define IADsSecurityDescriptor_put_Owner( x, p ) \ (x)->lpVtbl->put_Owner( x, p ) #define IADsSecurityDescriptor_get_OwnerDefaulted( x, p ) \ (x)->lpVtbl->get_OwnerDefaulted( x, p ) #define IADsSecurityDescriptor_put_OwnerDefaulted( x, p ) \ (x)->lpVtbl->put_OwnerDefaulted( x, p ) #define IADsSecurityDescriptor_get_Group( x, p ) \ (x)->lpVtbl->get_Group( x, p ) #define IADsSecurityDescriptor_put_Group( x, p ) \ (x)->lpVtbl->put_Group( x, p ) #define IADsSecurityDescriptor_get_GroupDefaulted( x, p ) \ (x)->lpVtbl->get_GroupDefaulted( x, p ) #define IADsSecurityDescriptor_put_GroupDefaulted( x, p ) \ (x)->lpVtbl->put_GroupDefaulted( x, p ) #define IADsSecurityDescriptor_get_DiscretionaryAcl( x, p ) \ (x)->lpVtbl->get_DiscretionaryAcl( x, p ) #define IADsSecurityDescriptor_put_DiscretionaryAcl( x, p ) \ (x)->lpVtbl->put_DiscretionaryAcl( x, p ) #define IADsSecurityDescriptor_get_DaclDefaulted( x, p ) \ (x)->lpVtbl->get_DaclDefaulted( x, p ) #define IADsSecurityDescriptor_put_DaclDefaulted( x, p ) \ (x)->lpVtbl->put_DaclDefaulted( x, p ) #define IADsSecurityDescriptor_get_SystemAcl( x, p ) \ (x)->lpVtbl->get_SystemAcl( x, p ) #define IADsSecurityDescriptor_put_SystemAcl( x, p ) \ (x)->lpVtbl->put_SystemAcl( x, p ) #define IADsSecurityDescriptor_get_SaclDefaulted( x, p ) \ (x)->lpVtbl->get_SaclDefaulted( x, p ) #define IADsSecurityDescriptor_put_SaclDefaulted( x, p ) \ (x)->lpVtbl->put_SaclDefaulted( x, p ) #define IADsSecurityDescriptor_CopySecurityDescriptor( x, p ) \ (x)->lpVtbl->CopySecurityDescriptor( x, p ) #define IADsLargeInteger_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsLargeInteger_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsLargeInteger_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsLargeInteger_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsLargeInteger_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsLargeInteger_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsLargeInteger_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsLargeInteger_get_HighPart( x, p ) \ (x)->lpVtbl->get_HighPart( x, p ) #define IADsLargeInteger_put_HighPart( x, p ) \ (x)->lpVtbl->put_HighPart( x, p ) #define IADsLargeInteger_get_LowPart( x, p ) \ (x)->lpVtbl->get_LowPart( x, p ) #define IADsLargeInteger_put_LowPart( x, p ) \ (x)->lpVtbl->put_LowPart( x, p ) #define IADsNameTranslate_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsNameTranslate_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsNameTranslate_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsNameTranslate_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsNameTranslate_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsNameTranslate_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsNameTranslate_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsNameTranslate_put_ChaseReferral( x, p ) \ (x)->lpVtbl->put_ChaseReferral( x, p ) #define IADsNameTranslate_Init( x, p1, p2 ) \ (x)->lpVtbl->Init( x, p1, p2 ) #define IADsNameTranslate_InitEx( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->InitEx( x, p1, p2, p3, p4, p5 ) #define IADsNameTranslate_Set( x, p1, p2 ) \ (x)->lpVtbl->Set( x, p1, p2 ) #define IADsNameTranslate_Get( x, p1, p2 ) \ (x)->lpVtbl->Get( x, p1, p2 ) #define IADsNameTranslate_SetEx( x, p1, p2 ) \ (x)->lpVtbl->SetEx( x, p1, p2 ) #define IADsNameTranslate_GetEx( x, p1, p2 ) \ (x)->lpVtbl->GetEx( x, p1, p2 ) #define IADsCaseIgnoreList_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsCaseIgnoreList_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsCaseIgnoreList_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsCaseIgnoreList_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsCaseIgnoreList_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsCaseIgnoreList_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsCaseIgnoreList_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsFaxNumber_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsFaxNumber_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsFaxNumber_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsFaxNumber_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsFaxNumber_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsFaxNumber_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsFaxNumber_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsFaxNumber_get_TelephoneNumber( x, p ) \ (x)->lpVtbl->get_TelephoneNumber( x, p ) #define IADsFaxNumber_put_TelephoneNumber( x, p ) \ (x)->lpVtbl->put_TelephoneNumber( x, p ) #define IADsFaxNumber_get_Parameters( x, p ) \ (x)->lpVtbl->get_Parameters( x, p ) #define IADsFaxNumber_put_Parameters( x, p ) \ (x)->lpVtbl->put_Parameters( x, p ) #define IADsNetAddress_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsNetAddress_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsNetAddress_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsNetAddress_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsNetAddress_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsNetAddress_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsNetAddress_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsNetAddress_get_AddressType( x, p ) \ (x)->lpVtbl->get_AddressType( x, p ) #define IADsNetAddress_put_AddressType( x, p ) \ (x)->lpVtbl->put_AddressType( x, p ) #define IADsNetAddress_get_Address( x, p ) \ (x)->lpVtbl->get_Address( x, p ) #define IADsNetAddress_put_Address( x, p ) \ (x)->lpVtbl->put_Address( x, p ) #define IADsOctetList_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsOctetList_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsOctetList_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsOctetList_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsOctetList_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsOctetList_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsOctetList_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsOctetList_get_OctetList( x, p ) \ (x)->lpVtbl->get_OctetList( x, p ) #define IADsOctetList_put_OctetList( x, p ) \ (x)->lpVtbl->put_OctetList( x, p ) #define IADsEmail_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsEmail_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsEmail_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsEmail_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsEmail_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsEmail_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsEmail_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsEmail_get_Type( x, p ) \ (x)->lpVtbl->get_Type( x, p ) #define IADsEmail_put_Type( x, p ) \ (x)->lpVtbl->put_Type( x, p ) #define IADsEmail_get_Address( x, p ) \ (x)->lpVtbl->get_Address( x, p ) #define IADsEmail_put_Address( x, p ) \ (x)->lpVtbl->put_Address( x, p ) #define IADsPath_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsPath_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsPath_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsPath_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsPath_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsPath_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsPath_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsPath_get_Type( x, p ) \ (x)->lpVtbl->get_Type( x, p ) #define IADsPath_put_Type( x, p ) \ (x)->lpVtbl->put_Type( x, p ) #define IADsPath_get_VolumeName( x, p ) \ (x)->lpVtbl->get_VolumeName( x, p ) #define IADsPath_put_VolumeName( x, p ) \ (x)->lpVtbl->put_VolumeName( x, p ) #define IADsPath_get_Path( x, p ) \ (x)->lpVtbl->get_Path( x, p ) #define IADsPath_put_Path( x, p ) \ (x)->lpVtbl->put_Path( x, p ) #define IADsReplicaPointer_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsReplicaPointer_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsReplicaPointer_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsReplicaPointer_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsReplicaPointer_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsReplicaPointer_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsReplicaPointer_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsReplicaPointer_get_ServerName( x, p ) \ (x)->lpVtbl->get_ServerName( x, p ) #define IADsReplicaPointer_put_ServerName( x, p ) \ (x)->lpVtbl->put_ServerName( x, p ) #define IADsReplicaPointer_get_ReplicaType( x, p ) \ (x)->lpVtbl->get_ReplicaType( x, p ) #define IADsReplicaPointer_put_ReplicaType( x, p ) \ (x)->lpVtbl->put_ReplicaType( x, p ) #define IADsReplicaPointer_get_ReplicaNumber( x, p ) \ (x)->lpVtbl->get_ReplicaNumber( x, p ) #define IADsReplicaPointer_put_ReplicaNumber( x, p ) \ (x)->lpVtbl->put_ReplicaNumber( x, p ) #define IADsReplicaPointer_get_Count( x, p ) \ (x)->lpVtbl->get_Count( x, p ) #define IADsReplicaPointer_put_Count( x, p ) \ (x)->lpVtbl->put_Count( x, p ) #define IADsReplicaPointer_get_ReplicaAddressHints( x, p ) \ (x)->lpVtbl->get_ReplicaAddressHints( x, p ) #define IADsReplicaPointer_put_ReplicaAddressHints( x, p ) \ (x)->lpVtbl->put_ReplicaAddressHints( x, p ) #define IADsAcl_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsAcl_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsAcl_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsAcl_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsAcl_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsAcl_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsAcl_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsAcl_get_ProtectedAttrName( x, p ) \ (x)->lpVtbl->get_ProtectedAttrName( x, p ) #define IADsAcl_put_ProtectedAttrName( x, p ) \ (x)->lpVtbl->put_ProtectedAttrName( x, p ) #define IADsAcl_get_SubjectName( x, p ) \ (x)->lpVtbl->get_SubjectName( x, p ) #define IADsAcl_put_SubjectName( x, p ) \ (x)->lpVtbl->put_SubjectName( x, p ) #define IADsAcl_get_Privileges( x, p ) \ (x)->lpVtbl->get_Privileges( x, p ) #define IADsAcl_put_Privileges( x, p ) \ (x)->lpVtbl->put_Privileges( x, p ) #define IADsAcl_CopyAcl( x, p ) \ (x)->lpVtbl->CopyAcl( x, p ) #define IADsTimestamp_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsTimestamp_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsTimestamp_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsTimestamp_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsTimestamp_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsTimestamp_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsTimestamp_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsTimestamp_get_WholeSeconds( x, p ) \ (x)->lpVtbl->get_WholeSeconds( x, p ) #define IADsTimestamp_put_WholeSeconds( x, p ) \ (x)->lpVtbl->put_WholeSeconds( x, p ) #define IADsTimestamp_get_EventID( x, p ) \ (x)->lpVtbl->get_EventID( x, p ) #define IADsTimestamp_put_EventID( x, p ) \ (x)->lpVtbl->put_EventID( x, p ) #define IADsPostalAddress_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsPostalAddress_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsPostalAddress_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsPostalAddress_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsPostalAddress_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsPostalAddress_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsPostalAddress_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsPostalAddress_get_PostalAddress( x, p ) \ (x)->lpVtbl->get_PostalAddress( x, p ) #define IADsPostalAddress_put_PostalAddress( x, p ) \ (x)->lpVtbl->put_PostalAddress( x, p ) #define IADsBackLink_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsBackLink_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsBackLink_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsBackLink_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsBackLink_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsBackLink_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsBackLink_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsBackLink_get_RemoteID( x, p ) \ (x)->lpVtbl->get_RemoteID( x, p ) #define IADsBackLink_put_RemoteID( x, p ) \ (x)->lpVtbl->put_RemoteID( x, p ) #define IADsBackLink_get_ObjectName( x, p ) \ (x)->lpVtbl->get_ObjectName( x, p ) #define IADsBackLink_put_ObjectName( x, p ) \ (x)->lpVtbl->put_ObjectName( x, p ) #define IADsTypedName_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsTypedName_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsTypedName_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsTypedName_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsTypedName_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsTypedName_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsTypedName_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsTypedName_get_ObjectName( x, p ) \ (x)->lpVtbl->get_ObjectName( x, p ) #define IADsTypedName_put_ObjectName( x, p ) \ (x)->lpVtbl->put_ObjectName( x, p ) #define IADsTypedName_get_Level( x, p ) \ (x)->lpVtbl->get_Level( x, p ) #define IADsTypedName_put_Level( x, p ) \ (x)->lpVtbl->put_Level( x, p ) #define IADsTypedName_get_Interval( x, p ) \ (x)->lpVtbl->get_Interval( x, p ) #define IADsTypedName_put_Interval( x, p ) \ (x)->lpVtbl->put_Interval( x, p ) #define IADsHold_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsHold_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsHold_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsHold_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsHold_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsHold_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsHold_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsHold_get_ObjectName( x, p ) \ (x)->lpVtbl->get_ObjectName( x, p ) #define IADsHold_put_ObjectName( x, p ) \ (x)->lpVtbl->put_ObjectName( x, p ) #define IADsHold_get_Amount( x, p ) \ (x)->lpVtbl->get_Amount( x, p ) #define IADsHold_put_Amount( x, p ) \ (x)->lpVtbl->put_Amount( x, p ) #define IADsObjectOptions_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsObjectOptions_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsObjectOptions_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsObjectOptions_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsObjectOptions_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsObjectOptions_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsObjectOptions_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsObjectOptions_GetOption( x, p1, p2 ) \ (x)->lpVtbl->GetOption( x, p1, p2 ) #define IADsObjectOptions_SetOption( x, p1, p2 ) \ (x)->lpVtbl->SetOption( x, p1, p2 ) #define IADsPathname_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsPathname_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsPathname_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsPathname_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsPathname_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsPathname_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsPathname_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsPathname_Set( x, p1, p2 ) \ (x)->lpVtbl->Set( x, p1, p2 ) #define IADsPathname_SetDisplayType( x, p ) \ (x)->lpVtbl->SetDisplayType( x, p ) #define IADsPathname_Retrieve( x, p1, p2 ) \ (x)->lpVtbl->Retrieve( x, p1, p2 ) #define IADsPathname_GetNumElements( x, p ) \ (x)->lpVtbl->GetNumElements( x, p ) #define IADsPathname_GetElement( x, p1, p2 ) \ (x)->lpVtbl->GetElement( x, p1, p2 ) #define IADsPathname_AddLeafElement( x, p ) \ (x)->lpVtbl->AddLeafElement( x, p ) #define IADsPathname_RemoveLeafElement( x ) \ (x)->lpVtbl->RemoveLeafElement( x ) #define IADsPathname_CopyPath( x, p ) \ (x)->lpVtbl->CopyPath( x, p ) #define IADsPathname_GetEscapedElement( x, p1, p2, p3 ) \ (x)->lpVtbl->GetEscapedElement( x, p1, p2, p3 ) #define IADsPathname_get_EscapedMode( x, p ) \ (x)->lpVtbl->get_EscapedMode( x, p ) #define IADsPathname_put_EscapedMode( x, p ) \ (x)->lpVtbl->put_EscapedMode( x, p ) #define IADsADSystemInfo_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsADSystemInfo_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsADSystemInfo_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsADSystemInfo_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsADSystemInfo_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsADSystemInfo_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsADSystemInfo_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsADSystemInfo_get_UserName( x, p ) \ (x)->lpVtbl->get_UserName( x, p ) #define IADsADSystemInfo_get_ComputerName( x, p ) \ (x)->lpVtbl->get_ComputerName( x, p ) #define IADsADSystemInfo_get_SiteName( x, p ) \ (x)->lpVtbl->get_SiteName( x, p ) #define IADsADSystemInfo_get_DomainShortName( x, p ) \ (x)->lpVtbl->get_DomainShortName( x, p ) #define IADsADSystemInfo_get_DomainDNSName( x, p ) \ (x)->lpVtbl->get_DomainDNSName( x, p ) #define IADsADSystemInfo_get_ForestDNSName( x, p ) \ (x)->lpVtbl->get_ForestDNSName( x, p ) #define IADsADSystemInfo_get_PDCRoleOwner( x, p ) \ (x)->lpVtbl->get_PDCRoleOwner( x, p ) #define IADsADSystemInfo_get_SchemaRoleOwner( x, p ) \ (x)->lpVtbl->get_SchemaRoleOwner( x, p ) #define IADsADSystemInfo_get_IsNativeMode( x, p ) \ (x)->lpVtbl->get_IsNativeMode( x, p ) #define IADsADSystemInfo_GetAnyDCName( x, p ) \ (x)->lpVtbl->GetAnyDCName( x, p ) #define IADsADSystemInfo_GetDCSiteName( x, p1, p2 ) \ (x)->lpVtbl->GetDCSiteName( x, p1, p2 ) #define IADsADSystemInfo_RefreshSchemaCache( x ) \ (x)->lpVtbl->RefreshSchemaCache( x ) #define IADsADSystemInfo_GetTrees( x, p ) \ (x)->lpVtbl->GetTrees( x, p ) #define IADsWinNTSystemInfo_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsWinNTSystemInfo_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsWinNTSystemInfo_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsWinNTSystemInfo_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsWinNTSystemInfo_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsWinNTSystemInfo_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsWinNTSystemInfo_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsWinNTSystemInfo_get_UserName( x, p ) \ (x)->lpVtbl->get_UserName( x, p ) #define IADsWinNTSystemInfo_get_ComputerName( x, p ) \ (x)->lpVtbl->get_ComputerName( x, p ) #define IADsWinNTSystemInfo_get_DomainName( x, p ) \ (x)->lpVtbl->get_DomainName( x, p ) #define IADsWinNTSystemInfo_get_PDC( x, p ) \ (x)->lpVtbl->get_PDC( x, p ) #define IADsDNWithBinary_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsDNWithBinary_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsDNWithBinary_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsDNWithBinary_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsDNWithBinary_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsDNWithBinary_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsDNWithBinary_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsDNWithBinary_get_BinaryValue( x, p ) \ (x)->lpVtbl->get_BinaryValue( x, p ) #define IADsDNWithBinary_put_BinaryValue( x, p ) \ (x)->lpVtbl->put_BinaryValue( x, p ) #define IADsDNWithBinary_get_DNString( x, p ) \ (x)->lpVtbl->get_DNString( x, p ) #define IADsDNWithBinary_put_DNString( x, p ) \ (x)->lpVtbl->put_DNString( x, p ) #define IADsDNWithString_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsDNWithString_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsDNWithString_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsDNWithString_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsDNWithString_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsDNWithString_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsDNWithString_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsDNWithString_get_StringValue( x, p ) \ (x)->lpVtbl->get_StringValue( x, p ) #define IADsDNWithString_put_StringValue( x, p ) \ (x)->lpVtbl->put_StringValue( x, p ) #define IADsDNWithString_get_DNString( x, p ) \ (x)->lpVtbl->get_DNString( x, p ) #define IADsDNWithString_put_DNString( x, p ) \ (x)->lpVtbl->put_DNString( x, p ) #define IADsSecurityUtility_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IADsSecurityUtility_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IADsSecurityUtility_Release( x ) \ (x)->lpVtbl->Release( x ) #define IADsSecurityUtility_GetTypeInfoCount( x, p ) \ (x)->lpVtbl->GetTypeInfoCount( x, p ) #define IADsSecurityUtility_GetTypeInfo( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 ) #define IADsSecurityUtility_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 ) #define IADsSecurityUtility_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IADsSecurityUtility_GetSecurityDescriptor( x, p1, p2, p3, p4 ) \ (x)->lpVtbl->GetSecurityDescriptor( x, p1, p2, p3, p4 ) #define IADsSecurityUtility_SetSecurityDescriptor( x, p1, p2, p3, p4 ) \ (x)->lpVtbl->SetSecurityDescriptor( x, p1, p2, p3, p4 ) #define IADsSecurityUtility_ConvertSecurityDescriptor( x, p1, p2, p3, p4 ) \ (x)->lpVtbl->ConvertSecurityDescriptor( x, p1, p2, p3, p4 ) #define IADsSecurityUtility_get_SecurityMask( x, p ) \ (x)->lpVtbl->get_SecurityMask( x, p ) #define IADsSecurityUtility_put_SecurityMask( x, p ) \ (x)->lpVtbl->put_SecurityMask( x, p ) #endif #ifdef __cplusplus } /* extern "C" */ #endif #endif /* __iads_h__ */