INTF.H
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:26k
源码类别:

Windows编程

开发平台:

Visual C++

  1. /*++s 
  2. Copyright (c) 1996 Microsoft Corporation
  3. Module Name:
  4.     IntF.cpp
  5. Abstract:
  6.     Interface for ADS
  7. Author:
  8. Environment:
  9.     User mode
  10. Revision History :
  11. --*/
  12. #ifndef _INTF_H_
  13. #define _INTF_H_
  14. #define DECLARE_IUnknown_METHODS 
  15.         STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) ;
  16. #define DECLARE_IDispatch_METHODS 
  17.         STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) ; 
  18.         
  19.         STDMETHOD(GetTypeInfo)(
  20.         THIS_ 
  21.         UINT itinfo,
  22.         LCID lcid,
  23.         ITypeInfo FAR* FAR* pptinfo) ;
  24.         
  25.         STDMETHOD(GetIDsOfNames)( 
  26.         THIS_ 
  27.         REFIID riid,
  28.         OLECHAR FAR* FAR* rgszNames,
  29.         UINT cNames,
  30.         LCID lcid, 
  31.         DISPID FAR* rgdispid) ;
  32.         
  33.         STDMETHOD(Invoke)(
  34.         THIS_
  35.         DISPID dispidMember,
  36.         REFIID riid,
  37.         LCID lcid,
  38.         WORD wFlags,
  39.         DISPPARAMS FAR* pdispparams,
  40.         VARIANT FAR* pvarResult,
  41.         EXCEPINFO FAR* pexcepinfo,
  42.         UINT FAR* puArgErr) ;
  43. #define DECLARE_IADs_METHODS  
  44.         STDMETHOD(get_Name)(THIS_ BSTR FAR* retval) ;        
  45.         STDMETHOD(get_ADsPath)(THIS_ BSTR FAR* retval); 
  46.         STDMETHOD(get_GUID)(THIS_ BSTR FAR* retval) ;
  47.         STDMETHOD(get_Class)(THIS_ BSTR FAR* retval);
  48.         STDMETHOD(get_Parent)(THIS_ BSTR FAR* retval);
  49.         STDMETHOD(get_Schema)(THIS_ BSTR FAR* retval);
  50.         STDMETHOD(SetInfo)(THIS) ;                           
  51.         STDMETHOD(GetInfo)(THIS) ; 
  52.         STDMETHOD(Get)(THIS_ BSTR bstrName, VARIANT FAR* pvProp) ; 
  53.         STDMETHOD(Put)(THIS_ BSTR bstrName, VARIANT vProp) ;        
  54.         STDMETHOD(GetEx)(THIS_ BSTR bstrName, VARIANT FAR* pvProp) ; 
  55.         STDMETHOD(PutEx)(THIS_ long lnControlCode, BSTR bstrName, VARIANT vProp) ; 
  56.         STDMETHOD(GetInfoEx)(THIS_ VARIANT vProperties, long lnReserved);
  57. #define DECLARE_IADsStatus_METHODS
  58.     STDMETHOD(get_Code)(THIS_ long FAR* plStatusCode);
  59.     STDMETHOD(get_String)(THIS_ BSTR FAR* pbstrStatusString);
  60. #define DECLARE_IADsContainer_METHODS 
  61.         STDMETHOD(get_Count)(THIS_ long FAR* retval) ;      
  62.         STDMETHOD(get_Filter)(THIS_ VARIANT FAR* pVar) ;    
  63.         STDMETHOD(put_Filter)(THIS_ VARIANT Var) ;          
  64.         STDMETHOD(get_Hints)(THIS_ VARIANT FAR* pvFilter);  
  65.         STDMETHOD(put_Hints)(THIS_ VARIANT vHints)       ;  
  66.         STDMETHOD(GetObject)(THIS_ BSTR ClassName, BSTR RelativeName, IDispatch * FAR* ppObject) ;
  67.         STDMETHOD(get__NewEnum)(THIS_ IUnknown * FAR* retval) ; 
  68.         STDMETHOD(Create)(THIS_ BSTR ClassName, BSTR RelativeName, IDispatch * FAR* ppObject) ;
  69.         STDMETHOD(Delete)(THIS_ BSTR bstrClassName, BSTR bstrRelativeName) ;
  70.         STDMETHOD(CopyHere)(THIS_ BSTR SourceName, BSTR NewName, IDispatch * FAR* ppObject) ;
  71.         STDMETHOD(MoveHere)(THIS_ BSTR SourceName, BSTR NewName, IDispatch * FAR* ppObject) ;
  72. #define DECLARE_IADsNamespaces_METHODS 
  73.     STDMETHOD(get_DefaultContainer)(THIS_ BSTR FAR* retval);
  74.     STDMETHOD(put_DefaultContainer)(THIS_ BSTR bstrDefaultContainer);
  75. /* IADsUser methods */
  76. #define DECLARE_IADsUser_METHODS      
  77.    STDMETHOD(get_BadLoginAddress)(THIS_ BSTR FAR* retval) ;
  78.     STDMETHOD(get_BadLoginCount)(THIS_ long FAR* retval) ;
  79.     STDMETHOD(get_LastLogin)(THIS_ DATE FAR* retval) ;
  80.     STDMETHOD(get_LastLogoff)(THIS_ DATE FAR* retval) ;
  81.     STDMETHOD(get_LastFailedLogin)(THIS_ DATE FAR* retval) ;
  82.     STDMETHOD(get_PasswordLastChanged)(THIS_ DATE FAR* retval) ;
  83.     STDMETHOD(get_Description)(THIS_ BSTR FAR* retval) ;
  84.     STDMETHOD(put_Description)(THIS_ BSTR bstrDescription) ;
  85.     STDMETHOD(get_Division)(THIS_ BSTR FAR* retval) ;
  86.     STDMETHOD(put_Division)(THIS_ BSTR bstrDivision) ;
  87.     STDMETHOD(get_Department)(THIS_ BSTR FAR* retval) ;
  88.     STDMETHOD(put_Department)(THIS_ BSTR bstrDepartment) ;
  89.     STDMETHOD(get_EmployeeID)(THIS_ BSTR FAR* retval) ;
  90.     STDMETHOD(put_EmployeeID)(THIS_ BSTR bstrEmployeeID) ;
  91.     STDMETHOD(get_FullName)(THIS_ BSTR FAR* retval) ;
  92.     STDMETHOD(put_FullName)(THIS_ BSTR bstrFullName) ;
  93.     STDMETHOD(get_FirstName)(THIS_ BSTR FAR* retval) ;
  94.     STDMETHOD(put_FirstName)(THIS_ BSTR bstrFirstName) ;
  95.     STDMETHOD(get_LastName)(THIS_ BSTR FAR* retval) ;
  96.     STDMETHOD(put_LastName)(THIS_ BSTR bstrLastName) ;
  97.     STDMETHOD(get_OtherName)(THIS_ BSTR FAR* retval) ;
  98.     STDMETHOD(put_OtherName)(THIS_ BSTR bstrOtherName) ;
  99.     STDMETHOD(get_NamePrefix)(THIS_ BSTR FAR* retval) ;
  100.     STDMETHOD(put_NamePrefix)(THIS_ BSTR bstrNamePrefix) ;
  101.     STDMETHOD(get_NameSuffix)(THIS_ BSTR FAR* retval) ;
  102.     STDMETHOD(put_NameSuffix)(THIS_ BSTR bstrNameSuffix) ;
  103.     STDMETHOD(get_Title)(THIS_ BSTR FAR* retval) ;
  104.     STDMETHOD(put_Title)(THIS_ BSTR bstrTitle) ;
  105.     STDMETHOD(get_Manager)(THIS_ BSTR FAR* retval) ;
  106.     STDMETHOD(put_Manager)(THIS_ BSTR bstrManager) ;
  107.     STDMETHOD(get_TelephoneNumber)(THIS_ VARIANT FAR* retval) ;
  108.     STDMETHOD(put_TelephoneNumber)(THIS_ VARIANT vTelephoneNumber) ;
  109.     STDMETHOD(get_TelephoneHome)(THIS_ VARIANT FAR* retval) ;
  110.     STDMETHOD(put_TelephoneHome)(THIS_ VARIANT vTelephoneHome );
  111.     STDMETHOD(get_TelephoneMobile)(THIS_ VARIANT FAR* retval) ;
  112.     STDMETHOD(put_TelephoneMobile)(THIS_ VARIANT vTelephoneMobile) ;
  113.     STDMETHOD(get_TelephonePager)(THIS_ VARIANT FAR* retval) ;
  114.     STDMETHOD(put_TelephonePager)(THIS_ VARIANT vTelephonePager) ;
  115.     STDMETHOD(get_FaxNumber)(THIS_ VARIANT FAR* retval) ;
  116.     STDMETHOD(put_FaxNumber)(THIS_ VARIANT vFaxNumber) ;
  117.     STDMETHOD(get_OfficeLocations)(THIS_ VARIANT FAR* retval) ;
  118.     STDMETHOD(put_OfficeLocations)(THIS_ VARIANT vOfficeLocation) ;
  119.     STDMETHOD(get_PostalAddresses)(THIS_ VARIANT FAR* retval) ;
  120.     STDMETHOD(put_PostalAddresses)(THIS_ VARIANT vPostalAddresses) ;
  121.     STDMETHOD(get_PostalCodes)(THIS_ VARIANT FAR* retval) ;
  122.     STDMETHOD(put_PostalCodes)(THIS_ VARIANT vPostalCodes) ;
  123.     STDMETHOD(get_SeeAlso)(THIS_ VARIANT FAR* retval) ;
  124.     STDMETHOD(put_SeeAlso)(THIS_ VARIANT vSeeAlso) ;
  125.     STDMETHOD(get_AccountDisabled)(THIS_ VARIANT_BOOL FAR* retval) ;
  126.     STDMETHOD(put_AccountDisabled)(THIS_ VARIANT_BOOL fAccountDisabled) ;
  127.     STDMETHOD(get_AccountExpirationDate)(THIS_ DATE FAR* retval) ;
  128.     STDMETHOD(put_AccountExpirationDate)(THIS_ DATE daAccountExpirationDate) ;
  129.     STDMETHOD(get_GraceLoginsAllowed)(THIS_ long FAR* retval) ;
  130.     STDMETHOD(put_GraceLoginsAllowed)(THIS_ long lnGraceLoginsAllowed) ;
  131.     STDMETHOD(get_GraceLoginsRemaining)(THIS_ long FAR* retval) ;
  132.     STDMETHOD(put_GraceLoginsRemaining)(THIS_ long lnGraceLoginsRemaining) ;
  133.     STDMETHOD(get_IsAccountLocked)(THIS_ VARIANT_BOOL FAR* retval) ;
  134.     STDMETHOD(put_IsAccountLocked)(THIS_ VARIANT_BOOL fIsAccountLocked) ;
  135.     STDMETHOD(get_LoginHours)(THIS_ VARIANT FAR* retval) ;
  136.     STDMETHOD(put_LoginHours)(THIS_ VARIANT vLoginHours) ;
  137.     STDMETHOD(get_LoginWorkstations)(THIS_ VARIANT FAR* retval) ;
  138.     STDMETHOD(put_LoginWorkstations)(THIS_ VARIANT vLoginWorkstations) ;
  139.     STDMETHOD(get_MaxLogins)(THIS_ long FAR* retval) ;
  140.     STDMETHOD(put_MaxLogins)(THIS_ long lnMaxLogins) ;
  141.     STDMETHOD(get_MaxStorage)(THIS_ long FAR* retval) ;
  142.     STDMETHOD(put_MaxStorage)(THIS_ long lnMaxStorage) ;
  143.     STDMETHOD(get_PasswordExpirationDate)(THIS_ DATE FAR* retval) ;
  144.     STDMETHOD(put_PasswordExpirationDate)(THIS_ DATE daPasswordExpirationDate) ;
  145.     STDMETHOD(get_PasswordMinimumLength)(THIS_ long FAR* retval) ;
  146.     STDMETHOD(put_PasswordMinimumLength)(THIS_ long lnPasswordMinimumLength) ;
  147.     STDMETHOD(get_PasswordRequired)(THIS_ VARIANT_BOOL FAR* retval) ;
  148.     STDMETHOD(put_PasswordRequired)(THIS_ VARIANT_BOOL fPasswordRequired) ;
  149.     STDMETHOD(get_RequireUniquePassword)(THIS_ VARIANT_BOOL FAR* retval) ;
  150.     STDMETHOD(put_RequireUniquePassword)(THIS_ VARIANT_BOOL fRequireUniquePassword) ;
  151.     STDMETHOD(get_EmailAddress)(THIS_ BSTR FAR* retval) ;
  152.     STDMETHOD(put_EmailAddress)(THIS_ BSTR bstrEmailAddress) ;
  153.     STDMETHOD(get_HomeDirectory)(THIS_ BSTR FAR* retval) ;
  154.     STDMETHOD(put_HomeDirectory)(THIS_ BSTR bstrHomeDirectory) ;
  155.     STDMETHOD(get_Languages)(THIS_ VARIANT FAR* retval) ;
  156.     STDMETHOD(put_Languages)(THIS_ VARIANT vLanguages) ;
  157.     STDMETHOD(get_Profile)(THIS_ BSTR FAR* retval) ;
  158.     STDMETHOD(put_Profile)(THIS_ BSTR bstrProfile) ;
  159.     STDMETHOD(get_LoginScript)(THIS_ BSTR FAR* retval) ;
  160.     STDMETHOD(put_LoginScript)(THIS_ BSTR bstrLoginScript) ;
  161.     STDMETHOD(get_Picture)(THIS_ VARIANT FAR* retval) ;
  162.     STDMETHOD(put_Picture)(THIS_ VARIANT vPicture) ;
  163.     STDMETHOD(get_HomePage)(THIS_ BSTR FAR* retval) ;
  164.     STDMETHOD(put_HomePage)(THIS_ BSTR bstrHomePage) ;
  165.     STDMETHOD(Groups)(THIS_ IADsMembers FAR* FAR* ppGroups) ;
  166.     STDMETHOD(SetPassword)(THIS_ BSTR NewPassword) ;
  167.     STDMETHOD(ChangePassword)(THIS_ BSTR bstrOldPassword, BSTR bstrNewPassword) ;
  168. /* IADsDomain methods */
  169. #define DECLARE_IADsDomain_METHODS 
  170.         STDMETHOD(get_MinPasswordLength)(THIS_ long FAR* retval) ;
  171.         STDMETHOD(put_MinPasswordLength)(THIS_ long lnMinPasswordLength) ;
  172.         STDMETHOD(get_MinPasswordAge)(THIS_ long FAR* retval) ;
  173.         STDMETHOD(put_MinPasswordAge)(THIS_ long lnMinPasswordAge) ;
  174.         STDMETHOD(get_MaxPasswordAge)(THIS_ long FAR* retval) ;
  175.         STDMETHOD(put_MaxPasswordAge)(THIS_ long lnMaxPasswordAge) ;
  176.         STDMETHOD(get_MaxBadPasswordsAllowed)(THIS_ long FAR* retval) ;
  177.         STDMETHOD(put_MaxBadPasswordsAllowed)(THIS_ long lnMaxBadPasswordsAllowed) ;
  178.         STDMETHOD(get_PasswordHistoryLength)(THIS_ long FAR* retval) ;
  179.         STDMETHOD(put_PasswordHistoryLength)(THIS_ long lnPasswordHistoryLength) ;
  180.         STDMETHOD(get_PasswordAttributes)(THIS_ long FAR* retval) ;
  181.         STDMETHOD(put_PasswordAttributes)(THIS_ long lnPasswordAttributes) ;
  182.         STDMETHOD(get_AutoUnlockInterval)(THIS_ long FAR* retval) ;
  183.         STDMETHOD(put_AutoUnlockInterval)(THIS_ long lnAutoUnlockInterval) ;
  184.         STDMETHOD(get_LockoutObservationInterval)(THIS_ long FAR* retval) ;
  185.         STDMETHOD(put_LockoutObservationInterval)(THIS_ long lnLockoutObservationInterval) ;
  186.         STDMETHOD(get_IsWorkgroup)(THIS_ VARIANT_BOOL FAR* retval);
  187. /* IADsComputer methods */
  188. #define DECLARE_IADsComputer_METHODS 
  189.         STDMETHOD(get_ComputerID)(THIS_ BSTR FAR* retval) ; 
  190.         STDMETHOD(get_Site)(THIS_ BSTR FAR* retval) ; 
  191.         STDMETHOD(get_Description)(THIS_ BSTR FAR* retval) ; 
  192.         STDMETHOD(put_Description)(THIS_ BSTR bstrDescription) ; 
  193.         STDMETHOD(get_Location)(THIS_ BSTR FAR* retval) ; 
  194.         STDMETHOD(put_Location)(THIS_ BSTR bstrLocation) ; 
  195.         STDMETHOD(get_PrimaryUser)(THIS_ BSTR FAR* retval) ;
  196.         STDMETHOD(put_PrimaryUser)(THIS_ BSTR bstrPrimaryUser) ;
  197.         STDMETHOD(get_Owner)(THIS_ BSTR FAR* retval) ;
  198.         STDMETHOD(put_Owner)(THIS_ BSTR bstrOwner) ;
  199.         STDMETHOD(get_Division)(THIS_ BSTR FAR* retval) ; 
  200.         STDMETHOD(put_Division)(THIS_ BSTR bstrDivision) ; 
  201.         STDMETHOD(get_Department)(THIS_ BSTR FAR* retval) ; 
  202.         STDMETHOD(put_Department)(THIS_ BSTR bstrDepartment) ; 
  203.         STDMETHOD(get_Role)(THIS_ BSTR FAR* retval) ; 
  204.         STDMETHOD(put_Role)(THIS_ BSTR bstrRole) ; 
  205.         STDMETHOD(get_OperatingSystem)(THIS_ BSTR FAR* retval); 
  206.         STDMETHOD(put_OperatingSystem)(THIS_ BSTR bstrOperatingSystem); 
  207.         STDMETHOD(get_OperatingSystemVersion)(THIS_ BSTR FAR* retval); 
  208.         STDMETHOD(put_OperatingSystemVersion)(THIS_ BSTR bstrOperatingSystemVersion); 
  209.         STDMETHOD(get_Model)(THIS_ BSTR FAR* retval) ; 
  210.         STDMETHOD(put_Model)(THIS_ BSTR bstrModel) ; 
  211.         STDMETHOD(get_Processor)(THIS_ BSTR FAR* retval) ; 
  212.         STDMETHOD(put_Processor)(THIS_ BSTR bstrProcessor) ; 
  213.         STDMETHOD(get_ProcessorCount)(THIS_ BSTR FAR* retval) ; 
  214.         STDMETHOD(put_ProcessorCount)(THIS_ BSTR bstrProcessorCount) ; 
  215.         STDMETHOD(get_MemorySize)(THIS_ BSTR FAR* retval) ; 
  216.         STDMETHOD(put_MemorySize)(THIS_ BSTR bstrMemorySize) ; 
  217.         STDMETHOD(get_StorageCapacity)(THIS_ BSTR FAR* retval) ; 
  218.         STDMETHOD(put_StorageCapacity)(THIS_ BSTR bstrStorageCapacity); 
  219.         STDMETHOD(get_NetAddresses)(THIS_ VARIANT FAR* retval); 
  220.         STDMETHOD(put_NetAddresses)(THIS_ VARIANT vNetAddresses);
  221. #define DECLARE_IADsComputerOperations_METHODS 
  222.         STDMETHOD(Status)(THIS_ IDispatch * FAR* ppObject) ; 
  223.         STDMETHOD(Shutdown)(THIS_ VARIANT_BOOL bReboot) ;
  224. #define DECLARE_IADsGroup_METHODS 
  225.         STDMETHOD(get_Description)(THIS_ BSTR FAR* retval) ; 
  226.         STDMETHOD(put_Description)(THIS_ BSTR bstrDescription) ; 
  227.         STDMETHOD(Members)(THIS_ IADsMembers FAR* FAR* ppMembers) ; 
  228.         STDMETHOD(IsMember)(THIS_ BSTR bstrMember, VARIANT_BOOL FAR* bMember) ;
  229.         STDMETHOD(Add)(THIS_ BSTR bstrNewItem) ;
  230.         STDMETHOD(Remove)(THIS_ BSTR bstrItemToBeRemoved) ;
  231. #define DECLARE_IADsMembers_METHODS 
  232.         STDMETHOD(get_Count)(THIS_ long FAR* plCount) ;
  233.         STDMETHOD(get__NewEnum)(THIS_ IUnknown * FAR* ppEnumerator) ;
  234.         STDMETHOD(get_Filter)(THIS_ VARIANT FAR* pvFilter) ;
  235.         STDMETHOD(put_Filter)(THIS_ VARIANT pvFilter) ;
  236. #define DECLARE_IADsPrintQueue_METHODS 
  237.     STDMETHOD(get_Model)(THIS_ BSTR FAR* retval) ;
  238.     STDMETHOD(put_Model)(THIS_ BSTR bstrModel) ;
  239.     STDMETHOD(get_Datatype)(THIS_ BSTR FAR* retval) ;
  240.     STDMETHOD(put_Datatype)(THIS_ BSTR bstrDatatype) ;
  241.     STDMETHOD(get_Description)(THIS_ BSTR FAR* retval) ;
  242.     STDMETHOD(put_Description)(THIS_ BSTR bstrDescription) ;
  243.     STDMETHOD(get_Location)(THIS_ BSTR FAR* retval) ;
  244.     STDMETHOD(put_Location)(THIS_ BSTR bstrLocation) ;
  245.     STDMETHOD(get_Priority)(THIS_ long FAR* retval) ;
  246.     STDMETHOD(put_Priority)(THIS_ long lnPriority) ;
  247.     STDMETHOD(get_StartTime)(THIS_ DATE FAR* retval) ;
  248.     STDMETHOD(put_StartTime)(THIS_ DATE daStartTime) ;
  249.     STDMETHOD(get_UntilTime)(THIS_ DATE FAR* retval) ;
  250.     STDMETHOD(put_UntilTime)(THIS_ DATE daUntilTime) ;
  251.     STDMETHOD(get_DefaultJobPriority)(THIS_ long FAR* retval) ;
  252.     STDMETHOD(put_DefaultJobPriority)(THIS_ long lnDefaultJobPriority) ;
  253.     STDMETHOD(get_BannerPage)(THIS_ BSTR FAR* retval) ;
  254.     STDMETHOD(put_BannerPage)(THIS_ BSTR bstrBannerPage) ;
  255.     STDMETHOD(get_PrinterPath)(THIS_ BSTR FAR* retval) ;
  256.     STDMETHOD(put_PrinterPath)(THIS_ BSTR bstrHostComputer) ;
  257.     STDMETHOD(get_PrintProcessor)(THIS_ BSTR FAR* retval);
  258.     STDMETHOD(put_PrintProcessor)(THIS_ BSTR bstrPrintProcessor);
  259.     STDMETHOD(get_PrintDevices)(THIS_ VARIANT FAR* retval);
  260.     STDMETHOD(put_PrintDevices)(THIS_ VARIANT vPorts);
  261.     STDMETHOD(get_NetAddresses)(THIS_ VARIANT FAR* retval);
  262.     STDMETHOD(put_NetAddresses)(THIS_ VARIANT vNetAddresses);
  263. #define DECLARE_IADsPrintQueueOperations_METHODS 
  264.     STDMETHOD(get_Status)(THIS_ long FAR* retval) ;
  265.     STDMETHOD(PrintJobs)(THIS_ IADsCollection * FAR* ppObject) ;
  266.     STDMETHOD(Pause)(THIS) ;
  267.     STDMETHOD(Resume)(THIS) ;
  268.     STDMETHOD(Purge)(THIS) ;
  269. #define DECLARE_IADsPrintJob_METHODS 
  270.     STDMETHOD(get_HostPrintQueue)(THIS_ BSTR FAR* retval) ;
  271.     STDMETHOD(get_User)(THIS_ BSTR FAR* retval) ;
  272.     STDMETHOD(get_UserPath)(THIS_ BSTR FAR* retval);
  273.     STDMETHOD(get_Size)(THIS_ long FAR* retval) ;
  274.     STDMETHOD(get_TimeSubmitted)(THIS_ DATE FAR* retval) ;
  275.     STDMETHOD(get_TotalPages)(THIS_ long FAR* retval) ;
  276.     STDMETHOD(get_Description)(THIS_ BSTR FAR* retval) ;
  277.     STDMETHOD(put_Description)(THIS_ BSTR bstrDescription) ;
  278.     STDMETHOD(get_Priority)(THIS_ long FAR* retval) ;
  279.     STDMETHOD(put_Priority)(THIS_ long lnPriority) ;
  280.     STDMETHOD(get_StartTime)(THIS_ DATE FAR* retval) ;
  281.     STDMETHOD(put_StartTime)(THIS_ DATE daStartTime) ;
  282.     STDMETHOD(get_UntilTime)(THIS_ DATE FAR* retval) ;
  283.     STDMETHOD(put_UntilTime)(THIS_ DATE daUntilTime) ;
  284.     STDMETHOD(get_Notify)(THIS_ BSTR FAR* retval) ;
  285.     STDMETHOD(put_Notify)(THIS_ BSTR bstrNotify) ;
  286.     STDMETHOD(get_NotifyPath)(THIS_ BSTR FAR* retval);
  287.     STDMETHOD(put_NotifyPath)(THIS_ BSTR bstrNotifyPath);
  288. #define DECLARE_IADsPrintJobOperations_METHODS 
  289.     STDMETHOD(get_Position)(THIS_ long FAR* retval) ;
  290.     STDMETHOD(put_Position)(THIS_ long lnPosition) ;
  291.     STDMETHOD(get_TimeElapsed)(THIS_ long FAR* retval) ;
  292.     STDMETHOD(get_PagesPrinted)(THIS_ long FAR* retval) ;
  293.     STDMETHOD(get_Status)(THIS_ long FAR* retval) ;
  294.     STDMETHOD(Pause)(THIS) ;
  295.     STDMETHOD(Resume)(THIS) ;
  296.     STDMETHOD(Remove)(THIS) ;
  297. #define DECLARE_IADsCollection_METHODS 
  298.     STDMETHOD(get__NewEnum)(THIS_ IUnknown * FAR* ppEnumerator) ;
  299.     STDMETHOD(GetObject)(THIS_ BSTR bstrName, VARIANT FAR* pvItem);
  300.     STDMETHOD(Add)(THIS_ BSTR bstrName, VARIANT vItem);
  301.     STDMETHOD(Remove)(THIS_ BSTR bstrItemToBeRemoved);
  302. #define DECLARE_IEnumVARIANT_METHODS 
  303.     STDMETHOD(Next)(ULONG cElements, 
  304.                     VARIANT FAR* pvar,
  305.                     ULONG FAR* pcElementFetched);
  306.     STDMETHOD(Skip)(ULONG cElements);
  307.     STDMETHOD(Reset)();
  308.     STDMETHOD(Clone)(IEnumVARIANT FAR* FAR* ppenum);
  309. #define DECLARE_IADsService_METHODS 
  310.     STDMETHOD(get_HostComputer)(THIS_ BSTR FAR* pbstrHostComputer) ;
  311.     STDMETHOD(put_HostComputer)(THIS_ BSTR bstrHostComputer) ;
  312.     STDMETHOD(get_DisplayName)(THIS_ BSTR FAR* pbstrDisplayName) ;
  313.     STDMETHOD(put_DisplayName)(THIS_ BSTR bstrDisplayName) ;
  314.     STDMETHOD(get_Version)(THIS_ BSTR FAR* pbstrVersion) ;
  315.     STDMETHOD(put_Version)(THIS_ BSTR bstrVersion) ;
  316.     STDMETHOD(get_ServiceType)(THIS_ long FAR* plServiceType) ;
  317.     STDMETHOD(put_ServiceType)(THIS_ long lServiceType) ;
  318.     STDMETHOD(get_StartType)(THIS_ long FAR* plStartType) ;
  319.     STDMETHOD(put_StartType)(THIS_ long lStartType) ;
  320.     STDMETHOD(get_Path)(THIS_ BSTR FAR* pbstrPath) ;
  321.     STDMETHOD(put_Path)(THIS_ BSTR bstrPath) ;
  322.     STDMETHOD(get_StartupParameters)(THIS_ BSTR FAR* pbstrStartupParameters) ;
  323.     STDMETHOD(put_StartupParameters)(THIS_ BSTR bstrStartupParameters) ;
  324.     STDMETHOD(get_ErrorControl)(THIS_ long FAR* plErrorControl) ;
  325.     STDMETHOD(put_ErrorControl)(THIS_ long lErrorControl) ;
  326.     STDMETHOD(get_LoadOrderGroup)(THIS_ BSTR FAR* pbstrLoadOrderGroup) ;
  327.     STDMETHOD(put_LoadOrderGroup)(THIS_ BSTR bstrLoadOrderGroup) ;
  328.     STDMETHOD(get_ServiceAccountName)(THIS_ BSTR FAR* pbstrServiceAccountName) ;
  329.     STDMETHOD(put_ServiceAccountName)(THIS_ BSTR bstrServiceAccountName) ;
  330.     STDMETHOD(get_ServiceAccountPath)(THIS_ BSTR FAR* retval);
  331.     STDMETHOD(put_ServiceAccountPath)(THIS_ BSTR bstrServiceAccountPath);
  332.     STDMETHOD(get_Dependencies)(THIS_ VARIANT FAR* pv);
  333.     STDMETHOD(put_Dependencies)(THIS_ VARIANT v); 
  334. #define  DECLARE_IADsServiceOperations_METHODS 
  335.     STDMETHOD(get_Status)(THIS_ long FAR* retval) ;
  336.     STDMETHOD(SetPassword)(THIS_ BSTR bstrNewPassword) ;
  337.     STDMETHOD(Start)(THIS) ;
  338.     STDMETHOD(Stop)(THIS) ;
  339.     STDMETHOD(Pause)(THIS) ;
  340.     STDMETHOD(Continue)(THIS) ;
  341. #define  DECLARE_IADsFileService_METHODS 
  342.     STDMETHOD(get_Description)(THIS_ BSTR FAR* pbstrDescription) ;
  343.     STDMETHOD(put_Description)(THIS_ BSTR bstrDescription) ;
  344.     STDMETHOD(get_MaxUserCount)(THIS_ long FAR* plMaxUserCount) ;
  345.     STDMETHOD(put_MaxUserCount)(THIS_ long lMaxUserCount) ;
  346. #define  DECLARE_IADsFileServiceOperations_METHODS 
  347.     STDMETHOD(Sessions)(THIS_ IADsCollection FAR* FAR* ppSessions) ;
  348.     STDMETHOD(Resources)(THIS_ IADsCollection FAR* FAR* ppResources) ;
  349. #define  DECLARE_IADsSession_METHODS 
  350.     STDMETHOD(get_User)(THIS_ BSTR FAR* retval) ;
  351.     STDMETHOD(get_UserPath)(THIS_ BSTR FAR* retval);
  352.     STDMETHOD(get_Computer)(THIS_ BSTR FAR* retval) ;
  353.     STDMETHOD(get_ComputerPath)(THIS_ BSTR FAR* retval);
  354.     STDMETHOD(get_ConnectTime)(THIS_ LONG FAR* retval) ;
  355.     STDMETHOD(get_IdleTime)(THIS_ LONG FAR* retval) ;
  356. #define  DECLARE_IADsFileShare_METHODS 
  357.     STDMETHOD(get_CurrentUserCount)(THIS_ LONG FAR* retval) ;
  358.     STDMETHOD(get_Description)(THIS_ BSTR FAR* retval) ;
  359.     STDMETHOD(put_Description)(THIS_ BSTR bstrDescription) ;
  360.     STDMETHOD(get_HostComputer)(THIS_ BSTR FAR* retval) ;
  361.     STDMETHOD(put_HostComputer)(THIS_ BSTR bstrHostComputer) ;
  362.     STDMETHOD(get_Path)(THIS_ BSTR FAR* retval) ;
  363.     STDMETHOD(put_Path)(THIS_ BSTR bstrPath) ;
  364.     STDMETHOD(get_MaxUserCount)(THIS_ LONG FAR* retval) ;
  365.     STDMETHOD(put_MaxUserCount)(THIS_ LONG  lMaxUserCount) ;
  366. #define DECLARE_IADsResource_METHODS 
  367.     STDMETHOD(get_User)(THIS_ BSTR FAR* retval) ;
  368.     STDMETHOD(get_UserPath)(THIS_ BSTR FAR* retval);
  369.     STDMETHOD(get_Path)(THIS_ BSTR FAR* retval) ;
  370.     STDMETHOD(get_LockCount)(THIS_ long FAR* retval) ;
  371. #define DECLARE_IADsClass_METHODS 
  372.         STDMETHOD(get_PrimaryInterface)(THIS_ BSTR FAR* pbstrGUID) ;
  373.         STDMETHOD(get_CLSID)(THIS_ BSTR FAR* pbstrCLSID) ;
  374.         STDMETHOD(put_CLSID)(THIS_ BSTR bstrCLSID) ;
  375.         STDMETHOD(get_OID)(THIS_ BSTR FAR* pbstrOID) ;
  376.         STDMETHOD(put_OID)(THIS_ BSTR bstrOID) ;
  377.         STDMETHOD(get_Abstract)(THIS_ VARIANT_BOOL FAR* pfAbstract) ;
  378.         STDMETHOD(put_Abstract)(THIS_ VARIANT_BOOL fAbstract) ;
  379.         STDMETHOD(get_Auxiliary)(THIS_ VARIANT_BOOL FAR* pfAuxiliary) ;
  380.         STDMETHOD(put_Auxiliary)(THIS_ VARIANT_BOOL fAuxiliary) ;
  381.         STDMETHOD(get_MandatoryProperties)(THIS_ VARIANT FAR* pvMandatoryProperties) ;
  382.         STDMETHOD(put_MandatoryProperties)(THIS_ VARIANT vMandatoryProperties) ;
  383.         STDMETHOD(get_OptionalProperties)(THIS_ VARIANT FAR* pvOptionalProperties) ;
  384.         STDMETHOD(put_OptionalProperties)(THIS_ VARIANT vOptionalProperties) ;
  385.         STDMETHOD(get_NamingProperties)(THIS_ VARIANT FAR* pvNamingProperties);
  386.         STDMETHOD(put_NamingProperties)(THIS_ VARIANT vNamingProperties) ;
  387.         STDMETHOD(get_DerivedFrom)(THIS_ VARIANT FAR* pvDerivedFrom) ;
  388.         STDMETHOD(put_DerivedFrom)(THIS_ VARIANT vDerivedFrom) ;
  389.         STDMETHOD(get_AuxDerivedFrom)(THIS_ VARIANT FAR* pvAuxDerivedFrom) ;
  390.         STDMETHOD(put_AuxDerivedFrom)(THIS_ VARIANT vAuxDerivedFrom) ;
  391.         STDMETHOD(get_PossibleSuperiors)(THIS_ VARIANT FAR* pvPossSuperiors);
  392.         STDMETHOD(put_PossibleSuperiors)(THIS_ VARIANT vPossSuperiors) ;
  393.         STDMETHOD(get_Containment)(THIS_ VARIANT FAR* pvContainment);
  394.         STDMETHOD(put_Containment)(THIS_ VARIANT vContainment) ;
  395.         STDMETHOD(get_Container)(THIS_ VARIANT_BOOL FAR* pfContainer);
  396.         STDMETHOD(put_Container)(THIS_ VARIANT_BOOL fContainer) ;
  397.         STDMETHOD(get_HelpFileName)(THIS_ BSTR FAR* pbstrHelpfile) ;
  398.         STDMETHOD(put_HelpFileName)(THIS_ BSTR bstrHelpfile) ;
  399.         STDMETHOD(get_HelpFileContext)(THIS_ long FAR* plHelpContext) ;
  400.         STDMETHOD(put_HelpFileContext)(THIS_ long lHelpContext) ; 
  401.         STDMETHOD(Qualifiers)(THIS_ IADsCollection FAR* FAR* ppQualifiers) ;
  402. #define DECLARE_IADsProperty_METHODS 
  403.         STDMETHOD(get_OID)(THIS_ BSTR FAR* pbstrOID) ;
  404.         STDMETHOD(put_OID)(THIS_ BSTR bstrOID) ;
  405.         STDMETHOD(get_Syntax)(THIS_ BSTR FAR* pbstrSyntax) ;
  406.         STDMETHOD(put_Syntax)(THIS_ BSTR bstrSyntax) ;
  407.         STDMETHOD(get_MaxRange)(THIS_ long FAR* plMaxRange) ;
  408.         STDMETHOD(put_MaxRange)(THIS_ long lMaxRange) ;
  409.         STDMETHOD(get_MinRange)(THIS_ long FAR* plMinRange) ;
  410.         STDMETHOD(put_MinRange)(THIS_ long lMinRange) ;
  411.         STDMETHOD(get_MultiValued)(THIS_ VARIANT_BOOL FAR* pfMultiValued) ;
  412.         STDMETHOD(put_MultiValued)(THIS_ VARIANT_BOOL fMultiValued) ;
  413.         STDMETHOD(Qualifiers)(THIS_ IADsCollection FAR* FAR* ppQualifiers) ;
  414. #define DECLARE_IADsSyntax_METHODS 
  415.         STDMETHOD(get_OleAutoDataType)(THIS_ long FAR* plOleAutoDataType) ;
  416.         STDMETHOD(put_OleAutoDataType)(THIS_ long lOleAutoDataType) ;
  417. #define DECLARE_IADsLocality_METHODS 
  418.         STDMETHOD(get_Description)(THIS_ BSTR FAR* retval) ;
  419.         STDMETHOD(put_Description)(THIS_ BSTR bstrDescription) ;
  420.         STDMETHOD(get_LocalityName)(THIS_ BSTR FAR* retval) ;
  421.         STDMETHOD(put_LocalityName)(THIS_ BSTR bstrLocalityName) ;
  422.         STDMETHOD(get_PostalAddress)(THIS_ BSTR FAR* retval) ;
  423.         STDMETHOD(put_PostalAddress)(THIS_ BSTR bstrPostalAddress) ;
  424.         STDMETHOD(get_SeeAlso)(THIS_ VARIANT FAR* retval) ;
  425.         STDMETHOD(put_SeeAlso)(THIS_ VARIANT vSeeAlso) ;
  426. #define DECLARE_IADsO_METHODS 
  427.         STDMETHOD(get_Description)(THIS_ BSTR FAR* retval) ;
  428.         STDMETHOD(put_Description)(THIS_ BSTR bstrDescription) ;
  429.         STDMETHOD(get_LocalityName)(THIS_ BSTR FAR* retval) ;
  430.         STDMETHOD(put_LocalityName)(THIS_ BSTR bstrLocalityName) ;
  431.         STDMETHOD(get_PostalAddress)(THIS_ BSTR FAR* retval) ;
  432.         STDMETHOD(put_PostalAddress)(THIS_ BSTR bstrPostalAddress) ;
  433.         STDMETHOD(get_TelephoneNumber)(THIS_ BSTR FAR* retval) ;
  434.         STDMETHOD(put_TelephoneNumber)(THIS_ BSTR bstrTelephoneNumber) ;
  435.         STDMETHOD(get_FaxNumber)(THIS_ BSTR FAR* retval) ;
  436.         STDMETHOD(put_FaxNumber)(THIS_ BSTR bstrFaxNumber) ;
  437.         STDMETHOD(get_SeeAlso)(THIS_ VARIANT FAR* retval) ;
  438.         STDMETHOD(put_SeeAlso)(THIS_ VARIANT vSeeAlso) ;
  439. #define DECLARE_IADsOU_METHODS 
  440.         STDMETHOD(get_Description)(THIS_ BSTR FAR* retval) ;
  441.         STDMETHOD(put_Description)(THIS_ BSTR bstrDescription) ;
  442.         STDMETHOD(get_LocalityName)(THIS_ BSTR FAR* retval) ;
  443.         STDMETHOD(put_LocalityName)(THIS_ BSTR bstrLocalityName) ;
  444.         STDMETHOD(get_PostalAddress)(THIS_ BSTR FAR* retval) ;
  445.         STDMETHOD(put_PostalAddress)(THIS_ BSTR bstrPostalAddress) ;
  446.         STDMETHOD(get_TelephoneNumber)(THIS_ BSTR FAR* retval) ;
  447.         STDMETHOD(put_TelephoneNumber)(THIS_ BSTR bstrTelephoneNumber) ;
  448.         STDMETHOD(get_FaxNumber)(THIS_ BSTR FAR* retval) ;
  449.         STDMETHOD(put_FaxNumber)(THIS_ BSTR bstrFaxNumber) ;
  450.         STDMETHOD(get_SeeAlso)(THIS_ VARIANT FAR* retval) ;
  451.         STDMETHOD(put_SeeAlso)(THIS_ VARIANT vSeeAlso) ;
  452.         STDMETHOD(get_BusinessCategory)(THIS_ BSTR FAR* retval) ;
  453.         STDMETHOD(put_BusinessCategory)(THIS_ BSTR bstrBusinessCategory) ;
  454. #define DECLARE_IDSNamespace_METHODS 
  455.         STDMETHOD(OpenDSObject)(     
  456.             THIS_ LPWSTR lpszDNName, 
  457.             LPWSTR lpszUserName,     
  458.             LPWSTR lpszPassword,     
  459.             REFIID riid,             
  460.             void * * ppADsObj      
  461.             );
  462. #endif