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 #ifndef _ADSPROP_H_
7 #define _ADSPROP_H_
8 
9 #include <iads.h>
10 
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14 
15 #define WM_ADSPROP_NOTIFY_PAGEINIT (WM_USER + 1101)
16 #define WM_ADSPROP_NOTIFY_PAGEHWND (WM_USER + 1102)
17 #define WM_ADSPROP_NOTIFY_CHANGE (WM_USER + 1103)
18 #define WM_ADSPROP_NOTIFY_APPLY (WM_USER + 1104)
19 #define WM_ADSPROP_NOTIFY_SETFOCUS (WM_USER + 1105)
20 #define WM_ADSPROP_NOTIFY_FOREGROUND (WM_USER + 1106)
21 #define WM_ADSPROP_NOTIFY_EXIT (WM_USER + 1107)
22 #define WM_ADSPROP_NOTIFY_ERROR (WM_USER + 1110)
23 
24   typedef struct _ADSPROPINITPARAMS {
25     DWORD dwSize;
26     DWORD dwFlags;
27     HRESULT hr;
28     IDirectoryObject *pDsObj;
29     LPWSTR pwzCN;
30     PADS_ATTR_INFO pWritableAttrs;
31   } ADSPROPINITPARAMS,*PADSPROPINITPARAMS;
32 
33   typedef struct _ADSPROPERROR {
34     HWND hwndPage;
35     PWSTR pszPageTitle;
36     PWSTR pszObjPath;
37     PWSTR pszObjClass;
38     HRESULT hr;
39     PWSTR pszError;
40   } ADSPROPERROR,*PADSPROPERROR;
41 
42   STDAPI ADsPropCreateNotifyObj(LPDATAOBJECT pAppThdDataObj,PWSTR pwzADsObjName,HWND *phNotifyObj);
43   STDAPI_(WINBOOL) ADsPropGetInitInfo(HWND hNotifyObj,PADSPROPINITPARAMS pInitParams);
44   STDAPI_(WINBOOL) ADsPropSetHwndWithTitle(HWND hNotifyObj,HWND hPage,PTSTR ptzTitle);
45   STDAPI_(WINBOOL) ADsPropSetHwnd(HWND hNotifyObj,HWND hPage);
46   STDAPI_(WINBOOL) ADsPropCheckIfWritable(const PWSTR pwzAttr,const PADS_ATTR_INFO pWritableAttrs);
47   STDAPI_(WINBOOL) ADsPropSendErrorMessage(HWND hNotifyObj,PADSPROPERROR pError);
48   STDAPI_(WINBOOL) ADsPropShowErrorDialog(HWND hNotifyObj,HWND hPage);
49 
50 #ifdef __cplusplus
51 }
52 #endif
53 #endif
54