source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/dsadmin.h@ 1175

Last change on this file since 1175 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 3.9 KB
Line 
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 */
6DEFINE_GUID(CLSID_DsAdminCreateObj,0xe301a009,0xf901,0x11d2,0x82,0xb9,0x0,0xc0,0x4f,0x68,0x92,0x8b);
7DEFINE_GUID(IID_IDsAdminCreateObj,0x53554a38,0xf902,0x11d2,0x82,0xb9,0x0,0xc0,0x4f,0x68,0x92,0x8b);
8DEFINE_GUID(IID_IDsAdminNewObj,0xf2573587,0xe6fc,0x11d2,0x82,0xaf,0x0,0xc0,0x4f,0x68,0x92,0x8b);
9DEFINE_GUID(IID_IDsAdminNewObjPrimarySite,0xbe2b487e,0xf904,0x11d2,0x82,0xb9,0x0,0xc0,0x4f,0x68,0x92,0x8b);
10DEFINE_GUID(IID_IDsAdminNewObjExt,0x6088eae2,0xe7bf,0x11d2,0x82,0xaf,0x0,0xc0,0x4f,0x68,0x92,0x8b);
11DEFINE_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
18DECLARE_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
28DECLARE_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
38DECLARE_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
46typedef 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
60DECLARE_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
84DECLARE_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
Note: See TracBrowser for help on using the repository browser.