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