Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

905 lines
51 KiB

  1. #define DECLARE_IUnknown_METHODS \
  2. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) ;
  3. #define DECLARE_IDispatch_METHODS \
  4. STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) ; \
  5. \
  6. STDMETHOD(GetTypeInfo)(\
  7. THIS_ \
  8. UINT itinfo,\
  9. LCID lcid,\
  10. ITypeInfo FAR* FAR* pptinfo) ;\
  11. \
  12. STDMETHOD(GetIDsOfNames)( \
  13. THIS_ \
  14. REFIID riid,\
  15. OLECHAR FAR* FAR* rgszNames,\
  16. UINT cNames,\
  17. LCID lcid, \
  18. DISPID FAR* rgdispid) ;\
  19. \
  20. STDMETHOD(Invoke)(\
  21. THIS_\
  22. DISPID dispidMember,\
  23. REFIID riid,\
  24. LCID lcid,\
  25. WORD wFlags,\
  26. DISPPARAMS FAR* pdispparams,\
  27. VARIANT FAR* pvarResult,\
  28. EXCEPINFO FAR* pexcepinfo,\
  29. UINT FAR* puArgErr) ;
  30. #define DECLARE_ISupportErrorInfo_METHODS \
  31. STDMETHOD(InterfaceSupportsErrorInfo)(THIS_ REFIID riid);
  32. #define DECLARE_IADs_METHODS \
  33. STDMETHOD(get_Name)(THIS_ BSTR FAR* retval) ; \
  34. STDMETHOD(get_ADsPath)(THIS_ BSTR FAR* retval); \
  35. STDMETHOD(get_GUID)(THIS_ BSTR FAR* retval) ;\
  36. STDMETHOD(get_Class)(THIS_ BSTR FAR* retval);\
  37. STDMETHOD(get_Parent)(THIS_ BSTR FAR* retval);\
  38. STDMETHOD(get_Schema)(THIS_ BSTR FAR* retval);\
  39. STDMETHOD(SetInfo)(THIS) ; \
  40. STDMETHOD(GetInfo)(THIS) ; \
  41. STDMETHOD(Get)(THIS_ BSTR bstrName, VARIANT FAR* pvProp) ; \
  42. STDMETHOD(Put)(THIS_ BSTR bstrName, VARIANT vProp) ; \
  43. STDMETHOD(GetEx)(THIS_ BSTR bstrName, VARIANT FAR* pvProp) ; \
  44. STDMETHOD(PutEx)(THIS_ long lnControlCode, BSTR bstrName, VARIANT vProp) ; \
  45. STDMETHOD(GetInfoEx)(THIS_ VARIANT vProperties, long lnReserved);
  46. #define DECLARE_IADsStatus_METHODS\
  47. STDMETHOD(get_Code)(THIS_ long FAR* plStatusCode);\
  48. STDMETHOD(get_String)(THIS_ BSTR FAR* pbstrStatusString);
  49. #define DECLARE_IADsContainer_METHODS \
  50. STDMETHOD(get_Count)(THIS_ long FAR* retval) ; \
  51. STDMETHOD(get_Filter)(THIS_ VARIANT FAR* pVar) ; \
  52. STDMETHOD(put_Filter)(THIS_ VARIANT Var) ; \
  53. STDMETHOD(get_Hints)(THIS_ VARIANT FAR* pvFilter); \
  54. STDMETHOD(put_Hints)(THIS_ VARIANT vHints) ; \
  55. STDMETHOD(GetObject)(THIS_ BSTR ClassName, BSTR RelativeName, IDispatch * FAR* ppObject) ;\
  56. STDMETHOD(get__NewEnum)(THIS_ IUnknown * FAR* retval) ; \
  57. STDMETHOD(Create)(THIS_ BSTR ClassName, BSTR RelativeName, IDispatch * FAR* ppObject) ;\
  58. STDMETHOD(Delete)(THIS_ BSTR bstrClassName, BSTR bstrRelativeName) ;\
  59. STDMETHOD(CopyHere)(THIS_ BSTR SourceName, BSTR NewName, IDispatch * FAR* ppObject) ;\
  60. STDMETHOD(MoveHere)(THIS_ BSTR SourceName, BSTR NewName, IDispatch * FAR* ppObject) ;
  61. #define DECLARE_IADsNamespaces_METHODS \
  62. STDMETHOD(get_DefaultContainer)(THIS_ BSTR FAR* retval);\
  63. STDMETHOD(put_DefaultContainer)(THIS_ BSTR bstrDefaultContainer);
  64. /* IADsUser methods */
  65. #define DECLARE_IADsUser_METHODS \
  66. STDMETHOD(get_BadLoginAddress)(THIS_ BSTR FAR* retval) ;\
  67. STDMETHOD(get_BadLoginCount)(THIS_ long FAR* retval) ;\
  68. STDMETHOD(get_LastLogin)(THIS_ DATE FAR* retval) ;\
  69. STDMETHOD(get_LastLogoff)(THIS_ DATE FAR* retval) ;\
  70. STDMETHOD(get_LastFailedLogin)(THIS_ DATE FAR* retval) ;\
  71. STDMETHOD(get_PasswordLastChanged)(THIS_ DATE FAR* retval) ;\
  72. STDMETHOD(get_Description)(THIS_ BSTR FAR* retval) ;\
  73. STDMETHOD(put_Description)(THIS_ BSTR bstrDescription) ;\
  74. STDMETHOD(get_Division)(THIS_ BSTR FAR* retval) ;\
  75. STDMETHOD(put_Division)(THIS_ BSTR bstrDivision) ;\
  76. STDMETHOD(get_Department)(THIS_ BSTR FAR* retval) ;\
  77. STDMETHOD(put_Department)(THIS_ BSTR bstrDepartment) ;\
  78. STDMETHOD(get_EmployeeID)(THIS_ BSTR FAR* retval) ;\
  79. STDMETHOD(put_EmployeeID)(THIS_ BSTR bstrEmployeeID) ;\
  80. STDMETHOD(get_FullName)(THIS_ BSTR FAR* retval) ;\
  81. STDMETHOD(put_FullName)(THIS_ BSTR bstrFullName) ;\
  82. STDMETHOD(get_FirstName)(THIS_ BSTR FAR* retval) ;\
  83. STDMETHOD(put_FirstName)(THIS_ BSTR bstrFirstName) ;\
  84. STDMETHOD(get_LastName)(THIS_ BSTR FAR* retval) ;\
  85. STDMETHOD(put_LastName)(THIS_ BSTR bstrLastName) ;\
  86. STDMETHOD(get_OtherName)(THIS_ BSTR FAR* retval) ;\
  87. STDMETHOD(put_OtherName)(THIS_ BSTR bstrOtherName) ;\
  88. STDMETHOD(get_NamePrefix)(THIS_ BSTR FAR* retval) ;\
  89. STDMETHOD(put_NamePrefix)(THIS_ BSTR bstrNamePrefix) ;\
  90. STDMETHOD(get_NameSuffix)(THIS_ BSTR FAR* retval) ;\
  91. STDMETHOD(put_NameSuffix)(THIS_ BSTR bstrNameSuffix) ;\
  92. STDMETHOD(get_Title)(THIS_ BSTR FAR* retval) ;\
  93. STDMETHOD(put_Title)(THIS_ BSTR bstrTitle) ;\
  94. STDMETHOD(get_Manager)(THIS_ BSTR FAR* retval) ;\
  95. STDMETHOD(put_Manager)(THIS_ BSTR bstrManager) ;\
  96. STDMETHOD(get_TelephoneNumber)(THIS_ VARIANT FAR* retval) ;\
  97. STDMETHOD(put_TelephoneNumber)(THIS_ VARIANT vTelephoneNumber) ;\
  98. STDMETHOD(get_TelephoneHome)(THIS_ VARIANT FAR* retval) ;\
  99. STDMETHOD(put_TelephoneHome)(THIS_ VARIANT vTelephoneHome );\
  100. STDMETHOD(get_TelephoneMobile)(THIS_ VARIANT FAR* retval) ;\
  101. STDMETHOD(put_TelephoneMobile)(THIS_ VARIANT vTelephoneMobile) ;\
  102. STDMETHOD(get_TelephonePager)(THIS_ VARIANT FAR* retval) ;\
  103. STDMETHOD(put_TelephonePager)(THIS_ VARIANT vTelephonePager) ;\
  104. STDMETHOD(get_FaxNumber)(THIS_ VARIANT FAR* retval) ;\
  105. STDMETHOD(put_FaxNumber)(THIS_ VARIANT vFaxNumber) ;\
  106. STDMETHOD(get_OfficeLocations)(THIS_ VARIANT FAR* retval) ;\
  107. STDMETHOD(put_OfficeLocations)(THIS_ VARIANT vOfficeLocation) ;\
  108. STDMETHOD(get_PostalAddresses)(THIS_ VARIANT FAR* retval) ;\
  109. STDMETHOD(put_PostalAddresses)(THIS_ VARIANT vPostalAddresses) ;\
  110. STDMETHOD(get_PostalCodes)(THIS_ VARIANT FAR* retval) ;\
  111. STDMETHOD(put_PostalCodes)(THIS_ VARIANT vPostalCodes) ;\
  112. STDMETHOD(get_SeeAlso)(THIS_ VARIANT FAR* retval) ;\
  113. STDMETHOD(put_SeeAlso)(THIS_ VARIANT vSeeAlso) ;\
  114. STDMETHOD(get_AccountDisabled)(THIS_ VARIANT_BOOL FAR* retval) ;\
  115. STDMETHOD(put_AccountDisabled)(THIS_ VARIANT_BOOL fAccountDisabled) ;\
  116. STDMETHOD(get_AccountExpirationDate)(THIS_ DATE FAR* retval) ;\
  117. STDMETHOD(put_AccountExpirationDate)(THIS_ DATE daAccountExpirationDate) ;\
  118. STDMETHOD(get_GraceLoginsAllowed)(THIS_ long FAR* retval) ;\
  119. STDMETHOD(put_GraceLoginsAllowed)(THIS_ long lnGraceLoginsAllowed) ;\
  120. STDMETHOD(get_GraceLoginsRemaining)(THIS_ long FAR* retval) ;\
  121. STDMETHOD(put_GraceLoginsRemaining)(THIS_ long lnGraceLoginsRemaining) ;\
  122. STDMETHOD(get_IsAccountLocked)(THIS_ VARIANT_BOOL FAR* retval) ;\
  123. STDMETHOD(put_IsAccountLocked)(THIS_ VARIANT_BOOL fIsAccountLocked) ;\
  124. STDMETHOD(get_LoginHours)(THIS_ VARIANT FAR* retval) ;\
  125. STDMETHOD(put_LoginHours)(THIS_ VARIANT vLoginHours) ;\
  126. STDMETHOD(get_LoginWorkstations)(THIS_ VARIANT FAR* retval) ;\
  127. STDMETHOD(put_LoginWorkstations)(THIS_ VARIANT vLoginWorkstations) ;\
  128. STDMETHOD(get_MaxLogins)(THIS_ long FAR* retval) ;\
  129. STDMETHOD(put_MaxLogins)(THIS_ long lnMaxLogins) ;\
  130. STDMETHOD(get_MaxStorage)(THIS_ long FAR* retval) ;\
  131. STDMETHOD(put_MaxStorage)(THIS_ long lnMaxStorage) ;\
  132. STDMETHOD(get_PasswordExpirationDate)(THIS_ DATE FAR* retval) ;\
  133. STDMETHOD(put_PasswordExpirationDate)(THIS_ DATE daPasswordExpirationDate) ;\
  134. STDMETHOD(get_PasswordMinimumLength)(THIS_ long FAR* retval) ;\
  135. STDMETHOD(put_PasswordMinimumLength)(THIS_ long lnPasswordMinimumLength) ;\
  136. STDMETHOD(get_PasswordRequired)(THIS_ VARIANT_BOOL FAR* retval) ;\
  137. STDMETHOD(put_PasswordRequired)(THIS_ VARIANT_BOOL fPasswordRequired) ;\
  138. STDMETHOD(get_RequireUniquePassword)(THIS_ VARIANT_BOOL FAR* retval) ;\
  139. STDMETHOD(put_RequireUniquePassword)(THIS_ VARIANT_BOOL fRequireUniquePassword) ;\
  140. STDMETHOD(get_EmailAddress)(THIS_ BSTR FAR* retval) ;\
  141. STDMETHOD(put_EmailAddress)(THIS_ BSTR bstrEmailAddress) ;\
  142. STDMETHOD(get_HomeDirectory)(THIS_ BSTR FAR* retval) ;\
  143. STDMETHOD(put_HomeDirectory)(THIS_ BSTR bstrHomeDirectory) ;\
  144. STDMETHOD(get_Languages)(THIS_ VARIANT FAR* retval) ;\
  145. STDMETHOD(put_Languages)(THIS_ VARIANT vLanguages) ;\
  146. STDMETHOD(get_Profile)(THIS_ BSTR FAR* retval) ;\
  147. STDMETHOD(put_Profile)(THIS_ BSTR bstrProfile) ;\
  148. STDMETHOD(get_LoginScript)(THIS_ BSTR FAR* retval) ;\
  149. STDMETHOD(put_LoginScript)(THIS_ BSTR bstrLoginScript) ;\
  150. STDMETHOD(get_Picture)(THIS_ VARIANT FAR* retval) ;\
  151. STDMETHOD(put_Picture)(THIS_ VARIANT vPicture) ;\
  152. STDMETHOD(get_HomePage)(THIS_ BSTR FAR* retval) ;\
  153. STDMETHOD(put_HomePage)(THIS_ BSTR bstrHomePage) ;\
  154. STDMETHOD(Groups)(THIS_ IADsMembers FAR* FAR* ppGroups) ;\
  155. STDMETHOD(SetPassword)(THIS_ BSTR NewPassword) ;\
  156. STDMETHOD(ChangePassword)(THIS_ BSTR bstrOldPassword, BSTR bstrNewPassword) ;\
  157. /* IADsDomain methods */
  158. #define DECLARE_IADsDomain_METHODS \
  159. STDMETHOD(get_MinPasswordLength)(THIS_ long FAR* retval) ;\
  160. STDMETHOD(put_MinPasswordLength)(THIS_ long lnMinPasswordLength) ;\
  161. STDMETHOD(get_MinPasswordAge)(THIS_ long FAR* retval) ;\
  162. STDMETHOD(put_MinPasswordAge)(THIS_ long lnMinPasswordAge) ;\
  163. STDMETHOD(get_MaxPasswordAge)(THIS_ long FAR* retval) ;\
  164. STDMETHOD(put_MaxPasswordAge)(THIS_ long lnMaxPasswordAge) ;\
  165. STDMETHOD(get_MaxBadPasswordsAllowed)(THIS_ long FAR* retval) ;\
  166. STDMETHOD(put_MaxBadPasswordsAllowed)(THIS_ long lnMaxBadPasswordsAllowed) ;\
  167. STDMETHOD(get_PasswordHistoryLength)(THIS_ long FAR* retval) ;\
  168. STDMETHOD(put_PasswordHistoryLength)(THIS_ long lnPasswordHistoryLength) ;\
  169. STDMETHOD(get_PasswordAttributes)(THIS_ long FAR* retval) ;\
  170. STDMETHOD(put_PasswordAttributes)(THIS_ long lnPasswordAttributes) ;\
  171. STDMETHOD(get_AutoUnlockInterval)(THIS_ long FAR* retval) ;\
  172. STDMETHOD(put_AutoUnlockInterval)(THIS_ long lnAutoUnlockInterval) ;\
  173. STDMETHOD(get_LockoutObservationInterval)(THIS_ long FAR* retval) ;\
  174. STDMETHOD(put_LockoutObservationInterval)(THIS_ long lnLockoutObservationInterval) ;\
  175. STDMETHOD(get_IsWorkgroup)(THIS_ VARIANT_BOOL FAR* retval);
  176. /* IADsComputer methods */
  177. #define DECLARE_IADsComputer_METHODS \
  178. STDMETHOD(get_ComputerID)(THIS_ BSTR FAR* retval) ; \
  179. STDMETHOD(get_Site)(THIS_ BSTR FAR* retval) ; \
  180. STDMETHOD(get_Description)(THIS_ BSTR FAR* retval) ; \
  181. STDMETHOD(put_Description)(THIS_ BSTR bstrDescription) ; \
  182. STDMETHOD(get_Location)(THIS_ BSTR FAR* retval) ; \
  183. STDMETHOD(put_Location)(THIS_ BSTR bstrLocation) ; \
  184. STDMETHOD(get_PrimaryUser)(THIS_ BSTR FAR* retval) ;\
  185. STDMETHOD(put_PrimaryUser)(THIS_ BSTR bstrPrimaryUser) ;\
  186. STDMETHOD(get_Owner)(THIS_ BSTR FAR* retval) ;\
  187. STDMETHOD(put_Owner)(THIS_ BSTR bstrOwner) ;\
  188. STDMETHOD(get_Division)(THIS_ BSTR FAR* retval) ; \
  189. STDMETHOD(put_Division)(THIS_ BSTR bstrDivision) ; \
  190. STDMETHOD(get_Department)(THIS_ BSTR FAR* retval) ; \
  191. STDMETHOD(put_Department)(THIS_ BSTR bstrDepartment) ; \
  192. STDMETHOD(get_Role)(THIS_ BSTR FAR* retval) ; \
  193. STDMETHOD(put_Role)(THIS_ BSTR bstrRole) ; \
  194. STDMETHOD(get_OperatingSystem)(THIS_ BSTR FAR* retval); \
  195. STDMETHOD(put_OperatingSystem)(THIS_ BSTR bstrOperatingSystem); \
  196. STDMETHOD(get_OperatingSystemVersion)(THIS_ BSTR FAR* retval); \
  197. STDMETHOD(put_OperatingSystemVersion)(THIS_ BSTR bstrOperatingSystemVersion); \
  198. STDMETHOD(get_Model)(THIS_ BSTR FAR* retval) ; \
  199. STDMETHOD(put_Model)(THIS_ BSTR bstrModel) ; \
  200. STDMETHOD(get_Processor)(THIS_ BSTR FAR* retval) ; \
  201. STDMETHOD(put_Processor)(THIS_ BSTR bstrProcessor) ; \
  202. STDMETHOD(get_ProcessorCount)(THIS_ BSTR FAR* retval) ; \
  203. STDMETHOD(put_ProcessorCount)(THIS_ BSTR bstrProcessorCount) ; \
  204. STDMETHOD(get_MemorySize)(THIS_ BSTR FAR* retval) ; \
  205. STDMETHOD(put_MemorySize)(THIS_ BSTR bstrMemorySize) ; \
  206. STDMETHOD(get_StorageCapacity)(THIS_ BSTR FAR* retval) ; \
  207. STDMETHOD(put_StorageCapacity)(THIS_ BSTR bstrStorageCapacity); \
  208. STDMETHOD(get_NetAddresses)(THIS_ VARIANT FAR* retval); \
  209. STDMETHOD(put_NetAddresses)(THIS_ VARIANT vNetAddresses);
  210. #define DECLARE_IADsComputerOperations_METHODS \
  211. STDMETHOD(Status)(THIS_ IDispatch * FAR* ppObject) ; \
  212. STDMETHOD(Shutdown)(THIS_ VARIANT_BOOL bReboot) ;
  213. #define DECLARE_IADsGroup_METHODS \
  214. STDMETHOD(get_Description)(THIS_ BSTR FAR* retval) ; \
  215. STDMETHOD(put_Description)(THIS_ BSTR bstrDescription) ; \
  216. STDMETHOD(Members)(THIS_ IADsMembers FAR* FAR* ppMembers) ; \
  217. STDMETHOD(IsMember)(THIS_ BSTR bstrMember, VARIANT_BOOL FAR* bMember) ;\
  218. STDMETHOD(Add)(THIS_ BSTR bstrNewItem) ;\
  219. STDMETHOD(Remove)(THIS_ BSTR bstrItemToBeRemoved) ;
  220. #define DECLARE_IADsMembers_METHODS \
  221. STDMETHOD(get_Count)(THIS_ long FAR* plCount) ;\
  222. STDMETHOD(get__NewEnum)(THIS_ IUnknown * FAR* ppEnumerator) ;\
  223. STDMETHOD(get_Filter)(THIS_ VARIANT FAR* pvFilter) ;\
  224. STDMETHOD(put_Filter)(THIS_ VARIANT pvFilter) ;\
  225. #define DECLARE_IADsPrintQueue_METHODS \
  226. STDMETHOD(get_Model)(THIS_ BSTR FAR* retval) ;\
  227. STDMETHOD(put_Model)(THIS_ BSTR bstrModel) ;\
  228. STDMETHOD(get_Datatype)(THIS_ BSTR FAR* retval) ;\
  229. STDMETHOD(put_Datatype)(THIS_ BSTR bstrDatatype) ;\
  230. STDMETHOD(get_Description)(THIS_ BSTR FAR* retval) ;\
  231. STDMETHOD(put_Description)(THIS_ BSTR bstrDescription) ;\
  232. STDMETHOD(get_Location)(THIS_ BSTR FAR* retval) ;\
  233. STDMETHOD(put_Location)(THIS_ BSTR bstrLocation) ;\
  234. STDMETHOD(get_Priority)(THIS_ long FAR* retval) ;\
  235. STDMETHOD(put_Priority)(THIS_ long lnPriority) ;\
  236. STDMETHOD(get_StartTime)(THIS_ DATE FAR* retval) ;\
  237. STDMETHOD(put_StartTime)(THIS_ DATE daStartTime) ;\
  238. STDMETHOD(get_UntilTime)(THIS_ DATE FAR* retval) ;\
  239. STDMETHOD(put_UntilTime)(THIS_ DATE daUntilTime) ;\
  240. STDMETHOD(get_DefaultJobPriority)(THIS_ long FAR* retval) ;\
  241. STDMETHOD(put_DefaultJobPriority)(THIS_ long lnDefaultJobPriority) ;\
  242. STDMETHOD(get_BannerPage)(THIS_ BSTR FAR* retval) ;\
  243. STDMETHOD(put_BannerPage)(THIS_ BSTR bstrBannerPage) ;\
  244. STDMETHOD(get_PrinterPath)(THIS_ BSTR FAR* retval) ;\
  245. STDMETHOD(put_PrinterPath)(THIS_ BSTR bstrHostComputer) ;\
  246. STDMETHOD(get_PrintProcessor)(THIS_ BSTR FAR* retval);\
  247. STDMETHOD(put_PrintProcessor)(THIS_ BSTR bstrPrintProcessor);\
  248. STDMETHOD(get_PrintDevices)(THIS_ VARIANT FAR* retval);\
  249. STDMETHOD(put_PrintDevices)(THIS_ VARIANT vPorts);\
  250. STDMETHOD(get_NetAddresses)(THIS_ VARIANT FAR* retval);\
  251. STDMETHOD(put_NetAddresses)(THIS_ VARIANT vNetAddresses);\
  252. #define DECLARE_IADsPrintQueueOperations_METHODS \
  253. STDMETHOD(get_Status)(THIS_ long FAR* retval) ;\
  254. STDMETHOD(PrintJobs)(THIS_ IADsCollection * FAR* ppObject) ;\
  255. STDMETHOD(Pause)(THIS) ;\
  256. STDMETHOD(Resume)(THIS) ;\
  257. STDMETHOD(Purge)(THIS) ;
  258. #define DECLARE_IADsPrintJob_METHODS \
  259. STDMETHOD(get_HostPrintQueue)(THIS_ BSTR FAR* retval) ;\
  260. STDMETHOD(get_User)(THIS_ BSTR FAR* retval) ;\
  261. STDMETHOD(get_UserPath)(THIS_ BSTR FAR* retval);\
  262. STDMETHOD(get_Size)(THIS_ long FAR* retval) ;\
  263. STDMETHOD(get_TimeSubmitted)(THIS_ DATE FAR* retval) ;\
  264. STDMETHOD(get_TotalPages)(THIS_ long FAR* retval) ;\
  265. STDMETHOD(get_Description)(THIS_ BSTR FAR* retval) ;\
  266. STDMETHOD(put_Description)(THIS_ BSTR bstrDescription) ;\
  267. STDMETHOD(get_Priority)(THIS_ long FAR* retval) ;\
  268. STDMETHOD(put_Priority)(THIS_ long lnPriority) ;\
  269. STDMETHOD(get_StartTime)(THIS_ DATE FAR* retval) ;\
  270. STDMETHOD(put_StartTime)(THIS_ DATE daStartTime) ;\
  271. STDMETHOD(get_UntilTime)(THIS_ DATE FAR* retval) ;\
  272. STDMETHOD(put_UntilTime)(THIS_ DATE daUntilTime) ;\
  273. STDMETHOD(get_Notify)(THIS_ BSTR FAR* retval) ;\
  274. STDMETHOD(put_Notify)(THIS_ BSTR bstrNotify) ;\
  275. STDMETHOD(get_NotifyPath)(THIS_ BSTR FAR* retval);\
  276. STDMETHOD(put_NotifyPath)(THIS_ BSTR bstrNotifyPath);\
  277. #define DECLARE_IADsPrintJobOperations_METHODS \
  278. STDMETHOD(get_Position)(THIS_ long FAR* retval) ;\
  279. STDMETHOD(put_Position)(THIS_ long lnPosition) ;\
  280. STDMETHOD(get_TimeElapsed)(THIS_ long FAR* retval) ;\
  281. STDMETHOD(get_PagesPrinted)(THIS_ long FAR* retval) ;\
  282. STDMETHOD(get_Status)(THIS_ long FAR* retval) ;\
  283. STDMETHOD(Pause)(THIS) ;\
  284. STDMETHOD(Resume)(THIS) ;\
  285. STDMETHOD(Remove)(THIS) ;
  286. #define DECLARE_IADsCollection_METHODS \
  287. STDMETHOD(get__NewEnum)(THIS_ IUnknown * FAR* ppEnumerator) ;\
  288. STDMETHOD(GetObject)(THIS_ BSTR bstrName, VARIANT FAR* pvItem);\
  289. STDMETHOD(Add)(THIS_ BSTR bstrName, VARIANT vItem);\
  290. STDMETHOD(Remove)(THIS_ BSTR bstrItemToBeRemoved);
  291. #define DECLARE_IEnumVARIANT_METHODS \
  292. STDMETHOD(Next)(ULONG cElements, \
  293. VARIANT FAR* pvar,\
  294. ULONG FAR* pcElementFetched);\
  295. STDMETHOD(Skip)(ULONG cElements);\
  296. STDMETHOD(Reset)();\
  297. STDMETHOD(Clone)(IEnumVARIANT FAR* FAR* ppenum);
  298. #define DECLARE_IADsService_METHODS \
  299. STDMETHOD(get_HostComputer)(THIS_ BSTR FAR* pbstrHostComputer) ;\
  300. STDMETHOD(put_HostComputer)(THIS_ BSTR bstrHostComputer) ;\
  301. STDMETHOD(get_DisplayName)(THIS_ BSTR FAR* pbstrDisplayName) ;\
  302. STDMETHOD(put_DisplayName)(THIS_ BSTR bstrDisplayName) ;\
  303. STDMETHOD(get_Version)(THIS_ BSTR FAR* pbstrVersion) ;\
  304. STDMETHOD(put_Version)(THIS_ BSTR bstrVersion) ;\
  305. STDMETHOD(get_ServiceType)(THIS_ long FAR* plServiceType) ;\
  306. STDMETHOD(put_ServiceType)(THIS_ long lServiceType) ;\
  307. STDMETHOD(get_StartType)(THIS_ long FAR* plStartType) ;\
  308. STDMETHOD(put_StartType)(THIS_ long lStartType) ;\
  309. STDMETHOD(get_Path)(THIS_ BSTR FAR* pbstrPath) ;\
  310. STDMETHOD(put_Path)(THIS_ BSTR bstrPath) ;\
  311. STDMETHOD(get_StartupParameters)(THIS_ BSTR FAR* pbstrStartupParameters) ;\
  312. STDMETHOD(put_StartupParameters)(THIS_ BSTR bstrStartupParameters) ;\
  313. STDMETHOD(get_ErrorControl)(THIS_ long FAR* plErrorControl) ;\
  314. STDMETHOD(put_ErrorControl)(THIS_ long lErrorControl) ;\
  315. STDMETHOD(get_LoadOrderGroup)(THIS_ BSTR FAR* pbstrLoadOrderGroup) ;\
  316. STDMETHOD(put_LoadOrderGroup)(THIS_ BSTR bstrLoadOrderGroup) ;\
  317. STDMETHOD(get_ServiceAccountName)(THIS_ BSTR FAR* pbstrServiceAccountName) ;\
  318. STDMETHOD(put_ServiceAccountName)(THIS_ BSTR bstrServiceAccountName) ;\
  319. STDMETHOD(get_ServiceAccountPath)(THIS_ BSTR FAR* retval);\
  320. STDMETHOD(put_ServiceAccountPath)(THIS_ BSTR bstrServiceAccountPath);\
  321. STDMETHOD(get_Dependencies)(THIS_ VARIANT FAR* pv);\
  322. STDMETHOD(put_Dependencies)(THIS_ VARIANT v); \
  323. #define DECLARE_IADsServiceOperations_METHODS \
  324. STDMETHOD(get_Status)(THIS_ long FAR* retval) ;\
  325. STDMETHOD(SetPassword)(THIS_ BSTR bstrNewPassword) ;\
  326. STDMETHOD(Start)(THIS) ;\
  327. STDMETHOD(Stop)(THIS) ;\
  328. STDMETHOD(Pause)(THIS) ;\
  329. STDMETHOD(Continue)(THIS) ;
  330. #define DECLARE_IADsFileService_METHODS \
  331. STDMETHOD(get_Description)(THIS_ BSTR FAR* pbstrDescription) ;\
  332. STDMETHOD(put_Description)(THIS_ BSTR bstrDescription) ;\
  333. STDMETHOD(get_MaxUserCount)(THIS_ long FAR* plMaxUserCount) ;\
  334. STDMETHOD(put_MaxUserCount)(THIS_ long lMaxUserCount) ;
  335. #define DECLARE_IADsFileServiceOperations_METHODS \
  336. STDMETHOD(Sessions)(THIS_ IADsCollection FAR* FAR* ppSessions) ;\
  337. STDMETHOD(Resources)(THIS_ IADsCollection FAR* FAR* ppResources) ;
  338. #define DECLARE_IADsSession_METHODS \
  339. STDMETHOD(get_User)(THIS_ BSTR FAR* retval) ;\
  340. STDMETHOD(get_UserPath)(THIS_ BSTR FAR* retval);\
  341. STDMETHOD(get_Computer)(THIS_ BSTR FAR* retval) ;\
  342. STDMETHOD(get_ComputerPath)(THIS_ BSTR FAR* retval);\
  343. STDMETHOD(get_ConnectTime)(THIS_ LONG FAR* retval) ;\
  344. STDMETHOD(get_IdleTime)(THIS_ LONG FAR* retval) ;
  345. #define DECLARE_IADsFileShare_METHODS \
  346. STDMETHOD(get_CurrentUserCount)(THIS_ LONG FAR* retval) ;\
  347. STDMETHOD(get_Description)(THIS_ BSTR FAR* retval) ;\
  348. STDMETHOD(put_Description)(THIS_ BSTR bstrDescription) ;\
  349. STDMETHOD(get_HostComputer)(THIS_ BSTR FAR* retval) ;\
  350. STDMETHOD(put_HostComputer)(THIS_ BSTR bstrHostComputer) ;\
  351. STDMETHOD(get_Path)(THIS_ BSTR FAR* retval) ;\
  352. STDMETHOD(put_Path)(THIS_ BSTR bstrPath) ;\
  353. STDMETHOD(get_MaxUserCount)(THIS_ LONG FAR* retval) ;\
  354. STDMETHOD(put_MaxUserCount)(THIS_ LONG lMaxUserCount) ;
  355. #define DECLARE_IADsResource_METHODS \
  356. STDMETHOD(get_User)(THIS_ BSTR FAR* retval) ;\
  357. STDMETHOD(get_UserPath)(THIS_ BSTR FAR* retval);\
  358. STDMETHOD(get_Path)(THIS_ BSTR FAR* retval) ;\
  359. STDMETHOD(get_LockCount)(THIS_ long FAR* retval) ;
  360. #define DECLARE_IADsClass_METHODS \
  361. STDMETHOD(get_PrimaryInterface)(THIS_ BSTR FAR* pbstrGUID) ;\
  362. STDMETHOD(get_CLSID)(THIS_ BSTR FAR* pbstrCLSID) ;\
  363. STDMETHOD(put_CLSID)(THIS_ BSTR bstrCLSID) ;\
  364. STDMETHOD(get_OID)(THIS_ BSTR FAR* pbstrOID) ;\
  365. STDMETHOD(put_OID)(THIS_ BSTR bstrOID) ;\
  366. STDMETHOD(get_Abstract)(THIS_ VARIANT_BOOL FAR* pfAbstract) ;\
  367. STDMETHOD(put_Abstract)(THIS_ VARIANT_BOOL fAbstract) ;\
  368. STDMETHOD(get_Auxiliary)(THIS_ VARIANT_BOOL FAR* pfAuxiliary) ;\
  369. STDMETHOD(put_Auxiliary)(THIS_ VARIANT_BOOL fAuxiliary) ;\
  370. STDMETHOD(get_MandatoryProperties)(THIS_ VARIANT FAR* pvMandatoryProperties) ;\
  371. STDMETHOD(put_MandatoryProperties)(THIS_ VARIANT vMandatoryProperties) ;\
  372. STDMETHOD(get_OptionalProperties)(THIS_ VARIANT FAR* pvOptionalProperties) ;\
  373. STDMETHOD(put_OptionalProperties)(THIS_ VARIANT vOptionalProperties) ;\
  374. STDMETHOD(get_NamingProperties)(THIS_ VARIANT FAR* pvNamingProperties);\
  375. STDMETHOD(put_NamingProperties)(THIS_ VARIANT vNamingProperties) ;\
  376. STDMETHOD(get_DerivedFrom)(THIS_ VARIANT FAR* pvDerivedFrom) ;\
  377. STDMETHOD(put_DerivedFrom)(THIS_ VARIANT vDerivedFrom) ;\
  378. STDMETHOD(get_AuxDerivedFrom)(THIS_ VARIANT FAR* pvAuxDerivedFrom) ;\
  379. STDMETHOD(put_AuxDerivedFrom)(THIS_ VARIANT vAuxDerivedFrom) ;\
  380. STDMETHOD(get_PossibleSuperiors)(THIS_ VARIANT FAR* pvPossSuperiors);\
  381. STDMETHOD(put_PossibleSuperiors)(THIS_ VARIANT vPossSuperiors) ;\
  382. STDMETHOD(get_Containment)(THIS_ VARIANT FAR* pvContainment);\
  383. STDMETHOD(put_Containment)(THIS_ VARIANT vContainment) ;\
  384. STDMETHOD(get_Container)(THIS_ VARIANT_BOOL FAR* pfContainer);\
  385. STDMETHOD(put_Container)(THIS_ VARIANT_BOOL fContainer) ;\
  386. STDMETHOD(get_HelpFileName)(THIS_ BSTR FAR* pbstrHelpfile) ;\
  387. STDMETHOD(put_HelpFileName)(THIS_ BSTR bstrHelpfile) ;\
  388. STDMETHOD(get_HelpFileContext)(THIS_ long FAR* plHelpContext) ;\
  389. STDMETHOD(put_HelpFileContext)(THIS_ long lHelpContext) ; \
  390. STDMETHOD(Qualifiers)(THIS_ IADsCollection FAR* FAR* ppQualifiers) ;
  391. #define DECLARE_IADsProperty_METHODS \
  392. STDMETHOD(get_OID)(THIS_ BSTR FAR* pbstrOID) ;\
  393. STDMETHOD(put_OID)(THIS_ BSTR bstrOID) ;\
  394. STDMETHOD(get_Syntax)(THIS_ BSTR FAR* pbstrSyntax) ;\
  395. STDMETHOD(put_Syntax)(THIS_ BSTR bstrSyntax) ;\
  396. STDMETHOD(get_MaxRange)(THIS_ long FAR* plMaxRange) ;\
  397. STDMETHOD(put_MaxRange)(THIS_ long lMaxRange) ;\
  398. STDMETHOD(get_MinRange)(THIS_ long FAR* plMinRange) ;\
  399. STDMETHOD(put_MinRange)(THIS_ long lMinRange) ;\
  400. STDMETHOD(get_MultiValued)(THIS_ VARIANT_BOOL FAR* pfMultiValued) ;\
  401. STDMETHOD(put_MultiValued)(THIS_ VARIANT_BOOL fMultiValued) ;\
  402. STDMETHOD(Qualifiers)(THIS_ IADsCollection FAR* FAR* ppQualifiers) ;
  403. #define DECLARE_IADsSyntax_METHODS \
  404. STDMETHOD(get_OleAutoDataType)(THIS_ long FAR* plOleAutoDataType) ;\
  405. STDMETHOD(put_OleAutoDataType)(THIS_ long lOleAutoDataType) ;
  406. #define DECLARE_IADsLocality_METHODS \
  407. STDMETHOD(get_Description)(THIS_ BSTR FAR* retval) ;\
  408. STDMETHOD(put_Description)(THIS_ BSTR bstrDescription) ;\
  409. STDMETHOD(get_LocalityName)(THIS_ BSTR FAR* retval) ;\
  410. STDMETHOD(put_LocalityName)(THIS_ BSTR bstrLocalityName) ;\
  411. STDMETHOD(get_PostalAddress)(THIS_ BSTR FAR* retval) ;\
  412. STDMETHOD(put_PostalAddress)(THIS_ BSTR bstrPostalAddress) ;\
  413. STDMETHOD(get_SeeAlso)(THIS_ VARIANT FAR* retval) ;\
  414. STDMETHOD(put_SeeAlso)(THIS_ VARIANT vSeeAlso) ;
  415. #define DECLARE_IADsO_METHODS \
  416. STDMETHOD(get_Description)(THIS_ BSTR FAR* retval) ;\
  417. STDMETHOD(put_Description)(THIS_ BSTR bstrDescription) ;\
  418. STDMETHOD(get_LocalityName)(THIS_ BSTR FAR* retval) ;\
  419. STDMETHOD(put_LocalityName)(THIS_ BSTR bstrLocalityName) ;\
  420. STDMETHOD(get_PostalAddress)(THIS_ BSTR FAR* retval) ;\
  421. STDMETHOD(put_PostalAddress)(THIS_ BSTR bstrPostalAddress) ;\
  422. STDMETHOD(get_TelephoneNumber)(THIS_ BSTR FAR* retval) ;\
  423. STDMETHOD(put_TelephoneNumber)(THIS_ BSTR bstrTelephoneNumber) ;\
  424. STDMETHOD(get_FaxNumber)(THIS_ BSTR FAR* retval) ;\
  425. STDMETHOD(put_FaxNumber)(THIS_ BSTR bstrFaxNumber) ;\
  426. STDMETHOD(get_SeeAlso)(THIS_ VARIANT FAR* retval) ;\
  427. STDMETHOD(put_SeeAlso)(THIS_ VARIANT vSeeAlso) ;
  428. #define DECLARE_IADsOU_METHODS \
  429. STDMETHOD(get_Description)(THIS_ BSTR FAR* retval) ;\
  430. STDMETHOD(put_Description)(THIS_ BSTR bstrDescription) ;\
  431. STDMETHOD(get_LocalityName)(THIS_ BSTR FAR* retval) ;\
  432. STDMETHOD(put_LocalityName)(THIS_ BSTR bstrLocalityName) ;\
  433. STDMETHOD(get_PostalAddress)(THIS_ BSTR FAR* retval) ;\
  434. STDMETHOD(put_PostalAddress)(THIS_ BSTR bstrPostalAddress) ;\
  435. STDMETHOD(get_TelephoneNumber)(THIS_ BSTR FAR* retval) ;\
  436. STDMETHOD(put_TelephoneNumber)(THIS_ BSTR bstrTelephoneNumber) ;\
  437. STDMETHOD(get_FaxNumber)(THIS_ BSTR FAR* retval) ;\
  438. STDMETHOD(put_FaxNumber)(THIS_ BSTR bstrFaxNumber) ;\
  439. STDMETHOD(get_SeeAlso)(THIS_ VARIANT FAR* retval) ;\
  440. STDMETHOD(put_SeeAlso)(THIS_ VARIANT vSeeAlso) ;\
  441. STDMETHOD(get_BusinessCategory)(THIS_ BSTR FAR* retval) ;\
  442. STDMETHOD(put_BusinessCategory)(THIS_ BSTR bstrBusinessCategory) ;
  443. #define DECLARE_IADsOpenDSObject_METHODS \
  444. STDMETHOD(OpenDSObject)( \
  445. THIS_ BSTR lpszDNName, \
  446. BSTR lpszUserName, \
  447. BSTR lpszPassword, \
  448. long lnReserved, \
  449. IDispatch * * ppADsObj \
  450. );
  451. #define DECLARE_IDirectoryObject_METHODS \
  452. STDMETHOD(GetObjectInformation)( \
  453. THIS_ PADS_OBJECT_INFO * ppObjInfo \
  454. ); \
  455. \
  456. STDMETHOD(GetObjectAttributes)( \
  457. THIS_ LPWSTR * pAttributeNames, \
  458. DWORD dwNumberAttributes, \
  459. PADS_ATTR_INFO *ppAttributeEntries, \
  460. DWORD * pdwNumAttributesReturned \
  461. ); \
  462. \
  463. STDMETHOD(SetObjectAttributes)( \
  464. THIS_ PADS_ATTR_INFO pAttributeEntries, \
  465. DWORD dwNumAttributes, \
  466. DWORD * pdwNumAttributesModified \
  467. ); \
  468. \
  469. \
  470. STDMETHOD(CreateDSObject)( \
  471. THIS_ LPWSTR pszRDNName, \
  472. PADS_ATTR_INFO pAttributeEntries, \
  473. DWORD dwNumAttributes, \
  474. IDispatch ** ppObject \
  475. ); \
  476. \
  477. STDMETHOD(DeleteDSObject)( \
  478. THIS_ LPWSTR pszRDNName \
  479. );
  480. #define DECLARE_IDirectorySearch_METHODS \
  481. STDMETHOD(SetSearchPreference)( \
  482. THIS_ PADS_SEARCHPREF_INFO pSearchPrefs, \
  483. DWORD dwNumPrefs \
  484. ); \
  485. \
  486. STDMETHOD(ExecuteSearch)( \
  487. THIS_ LPWSTR pszSearchFilter, \
  488. LPWSTR * pAttributeNames, \
  489. DWORD dwNumberAttributes, \
  490. PADS_SEARCH_HANDLE phSearchResult \
  491. ); \
  492. \
  493. STDMETHOD(AbandonSearch)( \
  494. ADS_SEARCH_HANDLE hSearchResult \
  495. ); \
  496. \
  497. STDMETHOD(GetFirstRow)( \
  498. THIS_ ADS_SEARCH_HANDLE hSearchResult \
  499. ); \
  500. \
  501. STDMETHOD(GetNextRow)( \
  502. THIS_ ADS_SEARCH_HANDLE hSearchResult \
  503. ); \
  504. \
  505. \
  506. STDMETHOD(GetPreviousRow)( \
  507. THIS_ ADS_SEARCH_HANDLE hSearchResult \
  508. ); \
  509. \
  510. STDMETHOD(GetNextColumnName)( \
  511. THIS_ ADS_SEARCH_HANDLE hSearchResult, \
  512. LPWSTR * ppszColumnName \
  513. ); \
  514. \
  515. STDMETHOD(GetColumn)( \
  516. THIS_ ADS_SEARCH_HANDLE hSearchResult, \
  517. LPWSTR szColumnName, \
  518. PADS_SEARCH_COLUMN pSearchColumn \
  519. ); \
  520. \
  521. STDMETHOD(FreeColumn)( \
  522. THIS_ PADS_SEARCH_COLUMN pSearchColumn \
  523. ); \
  524. \
  525. STDMETHOD(CloseSearchHandle)( \
  526. THIS_ ADS_SEARCH_HANDLE hSearchHandle \
  527. );
  528. #define DECLARE_IDirectorySchemaMgmt_METHODS \
  529. STDMETHOD(EnumAttributes)( \
  530. THIS_ LPWSTR * ppszAttrNames, \
  531. DWORD dwNumAttributes, \
  532. PADS_ATTR_DEF * ppAttrDefinition, \
  533. DWORD * pdwNumAttributes \
  534. ); \
  535. \
  536. STDMETHOD(CreateAttributeDefinition)( \
  537. THIS_ LPWSTR pszAttributeName, \
  538. PADS_ATTR_DEF pAttributeDefinition \
  539. ); \
  540. \
  541. STDMETHOD(WriteAttributeDefinition)( \
  542. THIS_ LPWSTR pszAttributeName, \
  543. PADS_ATTR_DEF pAttributeDefinition \
  544. ); \
  545. \
  546. STDMETHOD(DeleteAttributeDefinition)( \
  547. THIS_ LPWSTR pszAttributeName \
  548. ); \
  549. \
  550. STDMETHOD(EnumClasses)( \
  551. THIS_ LPWSTR * ppszClassNames, \
  552. DWORD dwNumClasses, \
  553. PADS_CLASS_DEF * ppClassDefinition, \
  554. DWORD * pdwNumClasses \
  555. ); \
  556. \
  557. STDMETHOD(CreateClassDefinition)( \
  558. THIS_ LPWSTR pszClassName, \
  559. PADS_CLASS_DEF pClassDefinition \
  560. ); \
  561. \
  562. STDMETHOD(WriteClassDefinition)( \
  563. THIS_ LPWSTR pszClassName, \
  564. PADS_CLASS_DEF pClassDefinition \
  565. ); \
  566. \
  567. STDMETHOD(DeleteClassDefinition)( \
  568. THIS_ LPWSTR pszClassName \
  569. );
  570. #define DECLARE_IADsPropertyList_METHODS \
  571. STDMETHOD(get_PropertyCount)(THIS_ long FAR *plCount); \
  572. STDMETHOD(Next)(THIS_ VARIANT FAR *pVariant); \
  573. STDMETHOD(Skip)(THIS_ long cElements); \
  574. STDMETHOD(Reset)(void); \
  575. STDMETHOD(ResetPropertyItem)(THIS_ VARIANT varEntry); \
  576. STDMETHOD(GetPropertyItem)(THIS_ BSTR bstrName, LONG lnADsType, VARIANT * pVariant); \
  577. STDMETHOD(PutPropertyItem)(THIS_ VARIANT varData); \
  578. STDMETHOD(PurgePropertyList)(); \
  579. STDMETHOD(Item)(THIS_ VARIANT varIndex, VARIANT * pVariant);
  580. #define DECLARE_IADsPropertyEntry_METHODS \
  581. STDMETHOD(Clear)(); \
  582. STDMETHOD(get_Name)(THIS_ BSTR *retval); \
  583. STDMETHOD(put_Name)(THIS_ BSTR bstrName); \
  584. STDMETHOD(get_ADsType)(THIS_ long *retval); \
  585. STDMETHOD(put_ADsType)(THIS_ long lnValueCount); \
  586. STDMETHOD(get_ControlCode)(THIS_ long *retval); \
  587. STDMETHOD(put_ControlCode)(THIS_ long lnControlCode); \
  588. STDMETHOD(get_ValueCount)(THIS_ long *retval); \
  589. STDMETHOD(put_ValueCount)(THIS_ long lnValueCount); \
  590. STDMETHOD(get_Values)(THIS_ VARIANT *retval); \
  591. STDMETHOD(put_Values)(THIS_ VARIANT vValues);
  592. #define DECLARE_IADsAggregate_METHODS \
  593. STDMETHOD(ConnectAsAggregatee)(THIS_ IUnknown * pOuterUnknown); \
  594. STDMETHOD(DisconnectAsAggregatee)(void); \
  595. STDMETHOD(RelinquishInterface)(THIS_ REFIID riid); \
  596. STDMETHOD(RestoreInterface)(THIS_ REFIID riid);
  597. #define DECLARE_IADsAccessControlEntry_METHODS \
  598. STDMETHOD(get_AccessMask)(THIS_ long FAR* retval) ; \
  599. STDMETHOD(put_AccessMask)(THIS_ long lnAceMask) ; \
  600. STDMETHOD(get_AceType)(THIS_ long FAR* retval) ; \
  601. STDMETHOD(put_AceType)(THIS_ long lnAceType) ; \
  602. STDMETHOD(get_AceFlags)(THIS_ long FAR* retval) ; \
  603. STDMETHOD(put_AceFlags)(THIS_ long lnAceFlags) ; \
  604. STDMETHOD(get_Flags)(THIS_ long FAR* retval) ; \
  605. STDMETHOD(put_Flags)(THIS_ long lnFlags) ; \
  606. STDMETHOD(get_ObjectType)(THIS_ BSTR FAR* retval); \
  607. STDMETHOD(put_ObjectType)(THIS_ BSTR bstrObjectType); \
  608. STDMETHOD(get_InheritedObjectType)(THIS_ BSTR FAR* retval); \
  609. STDMETHOD(put_InheritedObjectType)(THIS_ BSTR bstrInheritedObjectType); \
  610. STDMETHOD(get_Trustee)(THIS_ BSTR FAR* retval); \
  611. STDMETHOD(put_Trustee)(THIS_ BSTR bstrTrustee);
  612. #define DECLARE_IADsAccessControlList_METHODS \
  613. STDMETHOD(get_AceCount)(THIS_ long FAR* retval) ; \
  614. STDMETHOD(put_AceCount)(THIS_ long lnAceCount) ; \
  615. STDMETHOD(get_AclRevision)(THIS_ long FAR* retval) ; \
  616. STDMETHOD(put_AclRevision)(THIS_ long lnAclRevision) ; \
  617. STDMETHOD(AddAce)(THIS_ IDispatch * pAccessControlEntry); \
  618. STDMETHOD(RemoveAce)(THIS_ IDispatch * pAccessControlEntry); \
  619. STDMETHOD(CopyAccessList)(THIS_ IDispatch FAR * FAR * ppAccessControlList); \
  620. STDMETHOD(get__NewEnum)(THIS_ IUnknown * FAR* retval) ;
  621. #define DECLARE_IADsSecurityDescriptor_METHODS \
  622. STDMETHOD(get_Revision)(THIS_ long FAR* retval) ; \
  623. STDMETHOD(put_Revision)(THIS_ long lnRevision) ; \
  624. STDMETHOD(get_Control)(THIS_ long FAR* retval) ; \
  625. STDMETHOD(put_Control)(THIS_ long lnControl) ; \
  626. STDMETHOD(get_Owner)(THIS_ BSTR FAR* retval); \
  627. STDMETHOD(put_Owner)(THIS_ BSTR bstrOwner); \
  628. STDMETHOD(get_OwnerDefaulted)(THIS_ VARIANT_BOOL FAR* retval) ; \
  629. STDMETHOD(put_OwnerDefaulted)(THIS_ VARIANT_BOOL fOwnerDefaulted) ; \
  630. STDMETHOD(get_Group)(THIS_ BSTR FAR* retval); \
  631. STDMETHOD(put_Group)(THIS_ BSTR bstrGroup); \
  632. STDMETHOD(get_GroupDefaulted)(THIS_ VARIANT_BOOL FAR* retval) ; \
  633. STDMETHOD(put_GroupDefaulted)(THIS_ VARIANT_BOOL fGroupDefaulted) ; \
  634. STDMETHOD(get_DiscretionaryAcl)(THIS_ IDispatch ** retval); \
  635. STDMETHOD(put_DiscretionaryAcl)(THIS_ IDispatch * pDiscretionaryAcl); \
  636. STDMETHOD(get_DaclDefaulted)(THIS_ VARIANT_BOOL FAR* retval) ; \
  637. STDMETHOD(put_DaclDefaulted)(THIS_ VARIANT_BOOL fDaclDefaulted) ; \
  638. STDMETHOD(get_SystemAcl)(THIS_ IDispatch ** retval); \
  639. STDMETHOD(put_SystemAcl)(THIS_ IDispatch * pSystemAcl); \
  640. STDMETHOD(get_SaclDefaulted)(THIS_ VARIANT_BOOL FAR* retval) ; \
  641. STDMETHOD(put_SaclDefaulted)(THIS_ VARIANT_BOOL fSaclDefaulted) ; \
  642. STDMETHOD(CopySecurityDescriptor)(THIS_ IDispatch ** ppSecurityDescriptor);
  643. #define DECLARE_IADsPropertyValue_METHODS \
  644. STDMETHOD(Clear)(); \
  645. STDMETHOD(get_ADsType)(THIS_ long *retval); \
  646. STDMETHOD(put_ADsType)(THIS_ long lnValueCount); \
  647. STDMETHOD(get_DNString)(THIS_ BSTR *retval); \
  648. STDMETHOD(put_DNString)(THIS_ BSTR bstrDNString); \
  649. STDMETHOD(get_CaseExactString)(THIS_ BSTR *retval); \
  650. STDMETHOD(put_CaseExactString)(THIS_ BSTR bstrCaseExactString); \
  651. STDMETHOD(get_CaseIgnoreString)(THIS_ BSTR *retval); \
  652. STDMETHOD(put_CaseIgnoreString)(THIS_ BSTR bstrCaseIgnoreString); \
  653. STDMETHOD(get_PrintableString)(THIS_ BSTR *retval); \
  654. STDMETHOD(put_PrintableString)(THIS_ BSTR bstrPrintableString); \
  655. STDMETHOD(get_NumericString)(THIS_ BSTR *retval); \
  656. STDMETHOD(put_NumericString)(THIS_ BSTR bstrNumericString); \
  657. STDMETHOD(get_OctetString)(THIS_ VARIANT *retval); \
  658. STDMETHOD(put_OctetString)(THIS_ VARIANT bstrOctetString); \
  659. STDMETHOD(get_Integer)(THIS_ LONG *retval); \
  660. STDMETHOD(put_Integer)(THIS_ LONG lnInteger); \
  661. STDMETHOD(get_Boolean)(THIS_ LONG *retval); \
  662. STDMETHOD(put_Boolean)(THIS_ LONG lnBoolean); \
  663. STDMETHOD(get_SecurityDescriptor)(THIS_ IDispatch FAR * FAR *retval); \
  664. STDMETHOD(put_SecurityDescriptor)(THIS_ IDispatch FAR * lnSecurityDescriptor);\
  665. STDMETHOD(get_LargeInteger)(THIS_ IDispatch FAR * FAR *retval); \
  666. STDMETHOD(put_LargeInteger)(THIS_ IDispatch FAR* lnLargeInteger); \
  667. STDMETHOD(get_CaseIgnoreList)(THIS_ IDispatch FAR * FAR *retval); \
  668. STDMETHOD(put_CaseIgnoreList)(THIS_ IDispatch FAR* lnLargeInteger); \
  669. STDMETHOD(get_FaxNumber)(THIS_ IDispatch FAR * FAR *retval); \
  670. STDMETHOD(put_FaxNumber)(THIS_ IDispatch FAR* lnLargeInteger); \
  671. STDMETHOD(get_NetAddress)(THIS_ IDispatch FAR * FAR *retval); \
  672. STDMETHOD(put_NetAddress)(THIS_ IDispatch FAR* lnLargeInteger); \
  673. STDMETHOD(get_OctetList)(THIS_ IDispatch FAR * FAR *retval); \
  674. STDMETHOD(put_OctetList)(THIS_ IDispatch FAR* lnLargeInteger); \
  675. STDMETHOD(get_Email)(THIS_ IDispatch FAR * FAR *retval); \
  676. STDMETHOD(put_Email)(THIS_ IDispatch FAR* lnLargeInteger); \
  677. STDMETHOD(get_Path)(THIS_ IDispatch FAR * FAR *retval); \
  678. STDMETHOD(put_Path)(THIS_ IDispatch FAR* lnLargeInteger); \
  679. STDMETHOD(get_ReplicaPointer)(THIS_ IDispatch FAR * FAR *retval); \
  680. STDMETHOD(put_ReplicaPointer)(THIS_ IDispatch FAR* lnLargeInteger); \
  681. STDMETHOD(get_Timestamp)(THIS_ IDispatch FAR * FAR *retval); \
  682. STDMETHOD(put_Timestamp)(THIS_ IDispatch FAR* lnLargeInteger); \
  683. STDMETHOD(get_PostalAddress)(THIS_ IDispatch FAR * FAR *retval); \
  684. STDMETHOD(put_PostalAddress)(THIS_ IDispatch FAR* lnLargeInteger); \
  685. STDMETHOD(get_BackLink)(THIS_ IDispatch FAR * FAR *retval); \
  686. STDMETHOD(put_BackLink)(THIS_ IDispatch FAR* lnLargeInteger); \
  687. STDMETHOD(get_TypedName)(THIS_ IDispatch FAR * FAR *retval); \
  688. STDMETHOD(put_TypedName)(THIS_ IDispatch FAR* lnLargeInteger); \
  689. STDMETHOD(get_Hold)(THIS_ IDispatch FAR * FAR *retval); \
  690. STDMETHOD(put_Hold)(THIS_ IDispatch FAR* lnLargeInteger); \
  691. STDMETHOD(get_UTCTime)(THIS_ DATE *retval); \
  692. STDMETHOD(put_UTCTime)(THIS_ DATE DateInDate); \
  693. STDMETHOD(GetObjectProperty)(THIS_ long *lnControlCode, VARIANT FAR* pvProp); \
  694. STDMETHOD(PutObjectProperty)(THIS_ long lnControlCode, VARIANT vProp);
  695. #define DECLARE_IADsValue_METHODS \
  696. STDMETHOD(ConvertADsValueToPropertyValue)(THIS_ PADSVALUE pADsValue); \
  697. STDMETHOD(ConvertPropertyValueToADsValue)(THIS_ PADSVALUE pADsValue);
  698. #define DECLARE_IADsPathname_METHODS \
  699. STDMETHOD(Set)(THIS_ BSTR bstrADsPath, long dwSetType); \
  700. STDMETHOD(SetDisplayType)(THIS_ long lnDisplayType); \
  701. STDMETHOD(Retrieve)(THIS_ long dwFormatType, BSTR FAR *pbstrADsPath); \
  702. STDMETHOD(GetNumElements)(THIS_ long FAR *pdwNumPathElements); \
  703. STDMETHOD(GetElement)(THIS_ long dwElementIndex, BSTR FAR *pbstrElement); \
  704. STDMETHOD(AddLeafElement)(THIS_ BSTR bstrLeafElement); \
  705. STDMETHOD(RemoveLeafElement)(void); \
  706. STDMETHOD(CopyPath)(THIS_ IDispatch **ppAdsPath); \
  707. STDMETHOD(GetEscapedElement)(THIS_ long lnReserved, BSTR bstrInStr, BSTR FAR* pbstrOutStr); \
  708. STDMETHOD(get_EscapedMode)(THIS_ long * pdwFlags); \
  709. STDMETHOD(put_EscapedMode)(THIS_ long dwFlags);
  710. #define DECLARE_IADsADSystemInfo_METHODS \
  711. STDMETHOD(get_UserName)(THIS_ BSTR FAR* retval); \
  712. STDMETHOD(get_ComputerName)(THIS_ BSTR FAR* retval); \
  713. STDMETHOD(get_SiteName)(THIS_ BSTR FAR* retval); \
  714. STDMETHOD(get_DomainShortName)(THIS_ BSTR FAR* retval); \
  715. STDMETHOD(get_DomainDNSName)(THIS_ BSTR FAR* retval); \
  716. STDMETHOD(get_ForestDNSName)(THIS_ BSTR FAR* retval); \
  717. STDMETHOD(get_PDCRoleOwner)(THIS_ BSTR FAR* retval); \
  718. STDMETHOD(get_SchemaRoleOwner)(THIS_ BSTR FAR* retval); \
  719. STDMETHOD(get_IsNativeMode)(THIS_ VARIANT_BOOL FAR* retval); \
  720. STDMETHOD(GetAnyDCName)(THIS_ BSTR FAR* retval); \
  721. STDMETHOD(GetDCSiteName)(THIS_ BSTR pszServer, BSTR FAR* retval); \
  722. STDMETHOD(RefreshSchemaCache)(THIS); \
  723. STDMETHOD(GetTrees)(THIS_ VARIANT FAR* pvTrees);
  724. #define DECLARE_IADsWinNTSystemInfo_METHODS \
  725. STDMETHOD(get_UserName)(THIS_ BSTR FAR* retval); \
  726. STDMETHOD(get_ComputerName)(THIS_ BSTR FAR* retval); \
  727. STDMETHOD(get_DomainName)(THIS_ BSTR FAR* retval); \
  728. STDMETHOD(get_PDC)(THIS_ BSTR FAR* retval);
  729. #define DECLARE_IADsLargeInteger_METHODS \
  730. STDMETHOD(get_HighPart)(THIS_ LONG *retval); \
  731. STDMETHOD(put_HighPart)(THIS_ LONG lnHighPart); \
  732. STDMETHOD(get_LowPart)(THIS_ LONG *retval); \
  733. STDMETHOD(put_LowPart)(THIS_ LONG lnLowPart);
  734. #define DECLARE_IADsDNWithBinary_METHODS \
  735. STDMETHOD(get_BinaryValue)(THIS_ VARIANT FAR* pvBinaryValue); \
  736. STDMETHOD(put_BinaryValue)(THIS_ VARIANT vBinaryValue); \
  737. STDMETHOD(get_DNString)(THIS_ BSTR FAR* bstrDNString); \
  738. STDMETHOD(put_DNString)(THIS_ BSTR bstrDNString);
  739. #define DECLARE_IADsDNWithString_METHODS \
  740. STDMETHOD(get_StringValue)(THIS_ BSTR FAR* pbstrValue); \
  741. STDMETHOD(put_StringValue)(THIS_ BSTR bstrValue); \
  742. STDMETHOD(get_DNString)(THIS_ BSTR FAR* pbstrDNString); \
  743. STDMETHOD(put_DNString)(THIS_ BSTR bstrDNString);
  744. #define DECLARE_IADsAcl_METHODS \
  745. STDMETHOD(get_Privileges)(THIS_ long FAR* retval) ; \
  746. STDMETHOD(put_Privileges)(THIS_ long lnPrivileges) ; \
  747. STDMETHOD(get_SubjectName)(THIS_ BSTR FAR* retval); \
  748. STDMETHOD(put_SubjectName)(THIS_ BSTR bstrSubjectName); \
  749. STDMETHOD(get_ProtectedAttrName)(THIS_ BSTR FAR* retval); \
  750. STDMETHOD(put_ProtectedAttrName)(THIS_ BSTR bstrProtectedAttrName); \
  751. STDMETHOD(CopyAcl)(THIS_ IDispatch ** ppAcl);
  752. #define DECLARE_IADsObjectOptions_METHODS \
  753. STDMETHOD(GetOption)(THIS_ long lnControlCode, VARIANT FAR* pvProp); \
  754. STDMETHOD(SetOption)(THIS_ long lnControlCode, VARIANT vProp);
  755. #define DECLARE_IADsObjOptPrivate_METHODS \
  756. STDMETHOD(GetOption)(THIS_ DWORD dwOptions, void *pValue); \
  757. STDMETHOD(SetOption)(THIS_ DWORD dwOptions, void *pValue);
  758. #define DECLARE_IPrivateUnknown_METHODS \
  759. STDMETHOD(ADSIInitializeObject)( \
  760. THIS_ BSTR lpszUserName, \
  761. BSTR lpszPassword, \
  762. long lnReserved \
  763. ); \
  764. STDMETHOD(ADSIReleaseObject)();
  765. #define DECLARE_IPrivateDispatch_METHODS \
  766. STDMETHOD(ADSIInitializeDispatchManager)(THIS_ long dwExtensionId) ;\
  767. STDMETHOD(ADSIGetTypeInfoCount)(THIS_ UINT FAR* pctinfo) ; \
  768. \
  769. STDMETHOD(ADSIGetTypeInfo)(\
  770. THIS_ \
  771. UINT itinfo,\
  772. LCID lcid,\
  773. ITypeInfo FAR* FAR* pptinfo) ;\
  774. \
  775. STDMETHOD(ADSIGetIDsOfNames)( \
  776. THIS_ \
  777. REFIID riid,\
  778. OLECHAR FAR* FAR* rgszNames,\
  779. UINT cNames,\
  780. LCID lcid, \
  781. DISPID FAR* rgdispid) ;\
  782. \
  783. STDMETHOD(ADSIInvoke)(\
  784. THIS_\
  785. DISPID dispidMember,\
  786. REFIID riid,\
  787. LCID lcid,\
  788. WORD wFlags,\
  789. DISPPARAMS FAR* pdispparams,\
  790. VARIANT FAR* pvarResult,\
  791. EXCEPINFO FAR* pexcepinfo,\
  792. UINT FAR* puArgErr) ;
  793. #define DECLARE_IADsDeleteOps_METHODS \
  794. STDMETHOD(DeleteObject)(THIS_ long lnFlags);
  795. #define DECLARE_IADsExtension_METHODS \
  796. STDMETHOD(Operate)( \
  797. THIS_ \
  798. DWORD dwCode, \
  799. VARIANT varUserName, \
  800. VARIANT varPassword, \
  801. VARIANT varReserved \
  802. ); \
  803. \
  804. STDMETHOD(PrivateGetIDsOfNames)( \
  805. THIS_ \
  806. REFIID riid, \
  807. OLECHAR FAR* FAR* rgszNames, \
  808. unsigned int cNames, \
  809. LCID lcid, \
  810. DISPID FAR* rgdispid) ; \
  811. \
  812. STDMETHOD(PrivateInvoke)( \
  813. THIS_ \
  814. DISPID dispidMember, \
  815. REFIID riid, \
  816. LCID lcid, \
  817. WORD wFlags, \
  818. DISPPARAMS FAR* pdispparams, \
  819. VARIANT FAR* pvarResult, \
  820. EXCEPINFO FAR* pexcepinfo, \
  821. unsigned int FAR* puArgErr \
  822. ) ;