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 13 #ifndef _DSADMIN_H 14 #define _DSADMIN_H 15 16 #undef INTERFACE 17 #define INTERFACE IDsAdminCreateObj 18 DECLARE_INTERFACE_(IDsAdminCreateObj,IUnknown) { 19 STDMETHOD(QueryInterface)(THIS_ REFIID riid,LPVOID *ppvObj) PURE; 20 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 21 STDMETHOD_(ULONG,Release)(THIS) PURE; 22 STDMETHOD(Initialize)(THIS_ IADsContainer *pADsContainerObj,IADs *pADsCopySource,LPCWSTR lpszClassName) PURE; 23 STDMETHOD(CreateModal)(THIS_ HWND hwndParent,IADs **ppADsObj) PURE; 24 }; 25 26 #undef INTERFACE 27 #define INTERFACE IDsAdminNewObj 28 DECLARE_INTERFACE_(IDsAdminNewObj,IUnknown) { 29 STDMETHOD(QueryInterface)(THIS_ REFIID riid,LPVOID *ppvObj) PURE; 30 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 31 STDMETHOD_(ULONG,Release)(THIS) PURE; 32 STDMETHOD(SetButtons)(THIS_ ULONG nCurrIndex,WINBOOL bValid) PURE; 33 STDMETHOD(GetPageCounts)(THIS_ LONG *pnTotal,LONG *pnStartIndex) PURE; 34 }; 35 36 #undef INTERFACE 37 #define INTERFACE IDsAdminNewObjPrimarySite 38 DECLARE_INTERFACE_(IDsAdminNewObjPrimarySite,IUnknown) { 39 STDMETHOD(QueryInterface)(THIS_ REFIID riid,LPVOID *ppvObj) PURE; 40 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 41 STDMETHOD_(ULONG,Release)(THIS) PURE; 42 STDMETHOD(CreateNew)(THIS_ LPCWSTR pszName) PURE; 43 STDMETHOD(Commit)(THIS_) PURE; 44 }; 45 46 typedef struct { 47 DWORD dwSize; 48 HICON hObjClassIcon; 49 LPWSTR lpszWizTitle; 50 LPWSTR lpszContDisplayName; 51 } DSA_NEWOBJ_DISPINFO,*LPDSA_NEWOBJ_DISPINFO; 52 53 #define DSA_NEWOBJ_CTX_PRECOMMIT 0x00000001 54 #define DSA_NEWOBJ_CTX_COMMIT 0x00000002 55 #define DSA_NEWOBJ_CTX_POSTCOMMIT 0x00000003 56 #define DSA_NEWOBJ_CTX_CLEANUP 0x00000004 57 58 #undef INTERFACE 59 #define INTERFACE IDsAdminNewObjExt 60 DECLARE_INTERFACE_(IDsAdminNewObjExt,IUnknown) { 61 STDMETHOD(QueryInterface)(THIS_ REFIID riid,LPVOID *ppvObj) PURE; 62 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 63 STDMETHOD_(ULONG,Release)(THIS) PURE; 64 STDMETHOD(Initialize)(THIS_ IADsContainer *pADsContainerObj,IADs *pADsCopySource,LPCWSTR lpszClassName,IDsAdminNewObj *pDsAdminNewObj,LPDSA_NEWOBJ_DISPINFO pDispInfo) PURE; 65 STDMETHOD(AddPages)(THIS_ LPFNADDPROPSHEETPAGE lpfnAddPage,LPARAM lParam) PURE; 66 STDMETHOD(SetObject)(THIS_ IADs *pADsObj) PURE; 67 STDMETHOD(WriteData)(THIS_ HWND hWnd,ULONG uContext) PURE; 68 STDMETHOD(OnError)(THIS_ HWND hWnd,HRESULT hr,ULONG uContext) PURE; 69 STDMETHOD(GetSummaryInfo)(THIS_ BSTR *pBstrText) PURE; 70 }; 71 72 #define DSA_NOTIFY_DEL 0x00000001 73 #define DSA_NOTIFY_REN 0x00000002 74 #define DSA_NOTIFY_MOV 0x00000004 75 #define DSA_NOTIFY_PROP 0x00000008 76 77 #define DSA_NOTIFY_ALL (DSA_NOTIFY_DEL|DSA_NOTIFY_REN|DSA_NOTIFY_MOV|DSA_NOTIFY_PROP) 78 79 #define DSA_NOTIFY_FLAG_ADDITIONAL_DATA 0x00000002 80 #define DSA_NOTIFY_FLAG_FORCE_ADDITIONAL_DATA 0x00000001 81 82 #undef INTERFACE 83 #define INTERFACE IDsAdminNotifyHandler 84 DECLARE_INTERFACE_(IDsAdminNotifyHandler,IUnknown) { 85 STDMETHOD(QueryInterface)(THIS_ REFIID riid,LPVOID *ppvObj) PURE; 86 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 87 STDMETHOD_(ULONG,Release)(THIS) PURE; 88 STDMETHOD(Initialize)(THIS_ IDataObject *pExtraInfo,ULONG *puEventFlags) PURE; 89 STDMETHOD(Begin)(THIS_ ULONG uEvent,IDataObject *pArg1,IDataObject *pArg2,ULONG *puFlags,BSTR *pBstr) PURE; 90 STDMETHOD(Notify)(THIS_ ULONG nItem,ULONG uFlags) PURE; 91 STDMETHOD(End)(THIS_) PURE; 92 }; 93 #endif 94