AdsProp.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:7k
- //+----------------------------------------------------------------------------
- //
- // Windows NT Active Directory Service Property Pages
- //
- // Microsoft Windows
- // Copyright (C) Microsoft Corporation, 1992-1999.
- //
- // File: adsprop.h
- //
- // Contents: Functions and definitions used in the creation of AD property
- // sheets.
- //
- // History: 28-Sept-98 Eric Brown created.
- //
- //-----------------------------------------------------------------------------
- #ifndef _ADSPROP_H_
- #define _ADSPROP_H_
- #if _MSC_VER > 1000
- #pragma once
- #endif
- #ifdef __cplusplus
- extern "C" {
- #endif
- #define WM_ADSPROP_NOTIFY_PAGEINIT (WM_USER + 1101) // where LPARAM is the PADSPROPINITPARAMS pointer.
- #define WM_ADSPROP_NOTIFY_PAGEHWND (WM_USER + 1102) // where WPARAM => page's HWND and LPARAM => page's Title
- #define WM_ADSPROP_NOTIFY_CHANGE (WM_USER + 1103) // used to send a change notification to a parent sheet
- #define WM_ADSPROP_NOTIFY_APPLY (WM_USER + 1104) // pages send this to the notification object.
- #define WM_ADSPROP_NOTIFY_SETFOCUS (WM_USER + 1105) // used internally by the notification object.
- #define WM_ADSPROP_NOTIFY_FOREGROUND (WM_USER + 1106) // used internally by the notification object.
- #define WM_ADSPROP_NOTIFY_EXIT (WM_USER + 1107) // sent on page release
- #define WM_ADSPROP_NOTIFY_ERROR (WM_USER + 1110) // used to send the notification object an error message
- //+----------------------------------------------------------------------------
- //
- // Structure: ADSPROPINITPARAMS
- //
- // Usage: Used to pass page initialization information to new pages from
- // the notify object.
- //
- //-----------------------------------------------------------------------------
- typedef struct _ADSPROPINITPARAMS {
- DWORD dwSize; // Set this to the size of the struct.
- DWORD dwFlags; // Reserved for future use.
- HRESULT hr; // If this is non-zero, then the others
- IDirectoryObject * pDsObj; // should be ignored.
- LPWSTR pwzCN;
- PADS_ATTR_INFO pWritableAttrs;
- } ADSPROPINITPARAMS, * PADSPROPINITPARAMS;
- //+----------------------------------------------------------------------------
- //
- // Structure: ADSPROPERROR
- //
- // Usage: Used to pass page error information to the notify object
- //
- //-----------------------------------------------------------------------------
- typedef struct _ADSPROPERROR {
- HWND hwndPage; // The HWND of the page that had the error
- PWSTR pszPageTitle; // The title of the page that had the error
- PWSTR pszObjPath; // Path to the object that the error occurred on
- HRESULT hr; // If this is non-zero, then the others
- // pszError will be ignored
- PWSTR pszError; // An error message. Used only if hr is zero
- } ADSPROPERROR, * PADSPROPERROR;
- //+----------------------------------------------------------------------------
- //
- // Function: ADsPropCreateNotifyObj
- //
- // Synopsis: Checks to see if the notification window/object exists for this
- // sheet instance and if not creates it.
- //
- // Arguments: [pAppThdDataObj] - the unmarshalled data object pointer.
- // [pwzADsObjName] - object path name.
- // [phNotifyObj] - to return the notificion window handle.
- //
- // Returns: HRESULTs.
- //
- //-----------------------------------------------------------------------------
- STDAPI
- ADsPropCreateNotifyObj(LPDATAOBJECT pAppThdDataObj, PWSTR pwzADsObjName,
- HWND * phNotifyObj);
- //+----------------------------------------------------------------------------
- //
- // Function: ADsPropGetInitInfo
- //
- // Synopsis: Pages call this at their init time to retreive DS object info.
- //
- // Arguments: [hNotifyObj] - the notificion window handle.
- // [pInitParams] - struct filled in with DS object info. This
- // struct must be allocated by the caller before
- // the call.
- //
- // Returns: FALSE if the notify window has gone away for some reason or
- // if the parameters are invalid.
- //
- // Notes: This call results in the sending of the
- // WM_ADSPROP_NOTIFY_PAGEINIT message to the notify window.
- // pInitParams->pWritableAttrs can be NULL if there are no
- // writable attributes.
- //
- //-----------------------------------------------------------------------------
- STDAPI_(BOOL)
- ADsPropGetInitInfo(HWND hNotifyObj, PADSPROPINITPARAMS pInitParams);
- //+----------------------------------------------------------------------------
- //
- // Function: ADsPropSetHwnd
- //
- // Synopsis: Pages call this at their dialog init time to send their hwnd.
- //
- // Arguments: [hNotifyObj] - the notificion window handle.
- // [hPage] - the page's window handle.
- // [ptzTitle] - the page's title
- //
- // Returns: FALSE if the notify window has gone away for some reason.
- //
- // Notes: Sends the WM_ADSPROP_NOTIFY_PAGEHWND message to the notify
- // window.
- //
- //-----------------------------------------------------------------------------
- STDAPI_(BOOL)
- ADsPropSetHwnd(HWND hNotifyObj, HWND hPage, PTSTR ptzTitle);
- //+----------------------------------------------------------------------------
- //
- // function: ADsPropCheckIfWritable
- //
- // Synopsis: See if the attribute is writable by checking if it is in
- // the allowedAttributesEffective array.
- //
- // Arguments: [pwzAttr] - the attribute name.
- // [pWritableAttrs] - the array of writable attributes.
- //
- // Returns: FALSE if the attribute name is not found in the writable-attrs
- // array or if the array pointer is NULL.
- //
- //-----------------------------------------------------------------------------
- STDAPI_(BOOL)
- ADsPropCheckIfWritable(const PWSTR pwzAttr, const PADS_ATTR_INFO pWritableAttrs);
- //+----------------------------------------------------------------------------
- //
- // function: ADsPropSendErrorMessage
- //
- // Synopsis: Adds an error message to a list which is presented when
- // ADsPropShowErrorDialog is called
- //
- // Arguments: [hNotifyObj] - the notificion window handle.
- // [pError] - the error structure
- //
- // Returns: FALSE if the notify window has gone away for some reason.
- //
- //-----------------------------------------------------------------------------
- STDAPI_(BOOL)
- ADsPropSendErrorMessage(HWND hNotifyObj, PADSPROPERROR pError);
- //+----------------------------------------------------------------------------
- //
- // function: ADsPropShowErrorDialog
- //
- // Synopsis: Presents an error dialog with the error messages accumulated
- // through calls to ADsPropSendErrorMessage
- //
- // Arguments: [hNotifyObj] - the notificion window handle.
- // [hPage] - the property page window handle.
- //
- // Returns: FALSE if the notify window has gone away for some reason.
- //
- //-----------------------------------------------------------------------------
- STDAPI_(BOOL)
- ADsPropShowErrorDialog(HWND hNotifyObj, HWND hPage);
- #ifdef __cplusplus
- }
- #endif // __cplusplus
- #endif // _ADSPROP_H_