dsadmin.h 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. /**
  2. * This file has no copyright assigned and is placed in the Public Domain.
  3. * This file is part of the mingw-w64 runtime package.
  4. * No warranty is given; refer to the file DISCLAIMER.PD within this package.
  5. */
  6. DEFINE_GUID(CLSID_DsAdminCreateObj,0xe301a009,0xf901,0x11d2,0x82,0xb9,0x0,0xc0,0x4f,0x68,0x92,0x8b);
  7. DEFINE_GUID(IID_IDsAdminCreateObj,0x53554a38,0xf902,0x11d2,0x82,0xb9,0x0,0xc0,0x4f,0x68,0x92,0x8b);
  8. DEFINE_GUID(IID_IDsAdminNewObj,0xf2573587,0xe6fc,0x11d2,0x82,0xaf,0x0,0xc0,0x4f,0x68,0x92,0x8b);
  9. DEFINE_GUID(IID_IDsAdminNewObjPrimarySite,0xbe2b487e,0xf904,0x11d2,0x82,0xb9,0x0,0xc0,0x4f,0x68,0x92,0x8b);
  10. DEFINE_GUID(IID_IDsAdminNewObjExt,0x6088eae2,0xe7bf,0x11d2,0x82,0xaf,0x0,0xc0,0x4f,0x68,0x92,0x8b);
  11. DEFINE_GUID(IID_IDsAdminNotifyHandler,0xe4a2b8b3,0x5a18,0x11d2,0x97,0xc1,0x0,0xa0,0xc9,0xa0,0x6d,0x2d);
  12. #ifndef _DSADMIN_H
  13. #define _DSADMIN_H
  14. #undef INTERFACE
  15. #define INTERFACE IDsAdminCreateObj
  16. DECLARE_INTERFACE_(IDsAdminCreateObj,IUnknown) {
  17. STDMETHOD(QueryInterface)(THIS_ REFIID riid,LPVOID *ppvObj) PURE;
  18. STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  19. STDMETHOD_(ULONG,Release)(THIS) PURE;
  20. STDMETHOD(Initialize)(THIS_ IADsContainer *pADsContainerObj,IADs *pADsCopySource,LPCWSTR lpszClassName) PURE;
  21. STDMETHOD(CreateModal)(THIS_ HWND hwndParent,IADs **ppADsObj) PURE;
  22. };
  23. #undef INTERFACE
  24. #define INTERFACE IDsAdminNewObj
  25. DECLARE_INTERFACE_(IDsAdminNewObj,IUnknown) {
  26. STDMETHOD(QueryInterface)(THIS_ REFIID riid,LPVOID *ppvObj) PURE;
  27. STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  28. STDMETHOD_(ULONG,Release)(THIS) PURE;
  29. STDMETHOD(SetButtons)(THIS_ ULONG nCurrIndex,WINBOOL bValid) PURE;
  30. STDMETHOD(GetPageCounts)(THIS_ LONG *pnTotal,LONG *pnStartIndex) PURE;
  31. };
  32. #undef INTERFACE
  33. #define INTERFACE IDsAdminNewObjPrimarySite
  34. DECLARE_INTERFACE_(IDsAdminNewObjPrimarySite,IUnknown) {
  35. STDMETHOD(QueryInterface)(THIS_ REFIID riid,LPVOID *ppvObj) PURE;
  36. STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  37. STDMETHOD_(ULONG,Release)(THIS) PURE;
  38. STDMETHOD(CreateNew)(THIS_ LPCWSTR pszName) PURE;
  39. STDMETHOD(Commit)(THIS_) PURE;
  40. };
  41. typedef struct {
  42. DWORD dwSize;
  43. HICON hObjClassIcon;
  44. LPWSTR lpszWizTitle;
  45. LPWSTR lpszContDisplayName;
  46. } DSA_NEWOBJ_DISPINFO,*LPDSA_NEWOBJ_DISPINFO;
  47. #define DSA_NEWOBJ_CTX_PRECOMMIT 0x00000001
  48. #define DSA_NEWOBJ_CTX_COMMIT 0x00000002
  49. #define DSA_NEWOBJ_CTX_POSTCOMMIT 0x00000003
  50. #define DSA_NEWOBJ_CTX_CLEANUP 0x00000004
  51. #undef INTERFACE
  52. #define INTERFACE IDsAdminNewObjExt
  53. DECLARE_INTERFACE_(IDsAdminNewObjExt,IUnknown) {
  54. STDMETHOD(QueryInterface)(THIS_ REFIID riid,LPVOID *ppvObj) PURE;
  55. STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  56. STDMETHOD_(ULONG,Release)(THIS) PURE;
  57. STDMETHOD(Initialize)(THIS_ IADsContainer *pADsContainerObj,IADs *pADsCopySource,LPCWSTR lpszClassName,IDsAdminNewObj *pDsAdminNewObj,LPDSA_NEWOBJ_DISPINFO pDispInfo) PURE;
  58. STDMETHOD(AddPages)(THIS_ LPFNADDPROPSHEETPAGE lpfnAddPage,LPARAM lParam) PURE;
  59. STDMETHOD(SetObject)(THIS_ IADs *pADsObj) PURE;
  60. STDMETHOD(WriteData)(THIS_ HWND hWnd,ULONG uContext) PURE;
  61. STDMETHOD(OnError)(THIS_ HWND hWnd,HRESULT hr,ULONG uContext) PURE;
  62. STDMETHOD(GetSummaryInfo)(THIS_ BSTR *pBstrText) PURE;
  63. };
  64. #define DSA_NOTIFY_DEL 0x00000001
  65. #define DSA_NOTIFY_REN 0x00000002
  66. #define DSA_NOTIFY_MOV 0x00000004
  67. #define DSA_NOTIFY_PROP 0x00000008
  68. #define DSA_NOTIFY_ALL (DSA_NOTIFY_DEL|DSA_NOTIFY_REN|DSA_NOTIFY_MOV|DSA_NOTIFY_PROP)
  69. #define DSA_NOTIFY_FLAG_ADDITIONAL_DATA 0x00000002
  70. #define DSA_NOTIFY_FLAG_FORCE_ADDITIONAL_DATA 0x00000001
  71. #undef INTERFACE
  72. #define INTERFACE IDsAdminNotifyHandler
  73. DECLARE_INTERFACE_(IDsAdminNotifyHandler,IUnknown) {
  74. STDMETHOD(QueryInterface)(THIS_ REFIID riid,LPVOID *ppvObj) PURE;
  75. STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  76. STDMETHOD_(ULONG,Release)(THIS) PURE;
  77. STDMETHOD(Initialize)(THIS_ IDataObject *pExtraInfo,ULONG *puEventFlags) PURE;
  78. STDMETHOD(Begin)(THIS_ ULONG uEvent,IDataObject *pArg1,IDataObject *pArg2,ULONG *puFlags,BSTR *pBstr) PURE;
  79. STDMETHOD(Notify)(THIS_ ULONG nItem,ULONG uFlags) PURE;
  80. STDMETHOD(End)(THIS_) PURE;
  81. };
  82. #endif