| 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 |