Home | History | Annotate | Download | only in include
      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