ADsPropCreateNotifyObj 関数 (adsprop.h)
ADsPropCreateNotifyObj 関数は、Active Directory Domain Servicesプロパティ シート拡張機能で使用する通知オブジェクトを作成または取得するために使用されます。
構文
HRESULT ADsPropCreateNotifyObj(
[in] LPDATAOBJECT pAppThdDataObj,
[in] PWSTR pwzADsObjName,
[out] HWND *phNotifyObj
);
パラメーター
[in] pAppThdDataObj
プロパティ ページが適用されるディレクトリ オブジェクトを表す IDataObject オブジェクトへのポインター。 これは、プロパティ ページ IShellExtInit::Initialize メソッドに渡される IDataObject です。
[in] pwzADsObjName
pAppThdDataObj で表される IDataObject のCFSTR_DSOBJECTNAMESクリップボード形式に対して IDataObject::GetData メソッドを呼び出して取得したActive Directory Domain Servicesオブジェクト名。
[out] phNotifyObj
通知オブジェクトのハンドルを受け取る HWND 値へのポインター。
戻り値
成功 した場合はS_OK 、それ以外の場合は OLE 定義のエラー値を返します。
注釈
ADsPropCreateNotifyObj 関数は、Active Directory Domain Servicesプロパティ シート拡張機能の実装で使用されます。 拡張機能は、IDataObject::GetDataを呼び出して IShellExtInit::Initialize に渡される IDataObject インターフェイスから、最初に CFSTR_DSOBJECTNAMES データを要求する必要があります。 これにより、 ADsPropCreateNotifyObj を呼び出すために必要なデータ オブジェクトとオブジェクト名が提供されます。
通知オブジェクトが不要になると、 WM_ADSPROP_NOTIFY_EXIT メッセージが通知オブジェクトに送信されます。 これにより、通知オブジェクト自体が破棄されます。 WM_ADSPROP_NOTIFY_EXIT メッセージが送信されると、通知オブジェクト ハンドルは無効と見なされます。
例
次の C++ の例は、 ADsPropCreateNotifyObj 関数の使用方法を示しています。
HWND CreateADsNotificationObject(IDataObject *pDataObject)
{
STGMEDIUM stm;
FORMATETC fe;
HRESULT hr;
HWND hwndNotifyObject = NULL;
if(NULL == pDataObject)
{
return NULL;
}
fe.cfFormat = RegisterClipboardFormat(CFSTR_DSOBJECTNAMES);
if(0 == fe.cfFormat)
{
return NULL;
}
fe.ptd = NULL;
fe.dwAspect = DVASPECT_CONTENT;
fe.lindex = -1;
fe.tymed = TYMED_HGLOBAL;
hr = pDataObject->GetData(&fe, &stm);
if(SUCCEEDED(hr))
{
LPDSOBJECTNAMES pdson =
(LPDSOBJECTNAMES)GlobalLock(stm.hGlobal);
if(pdson)
{
LPWSTR pwszName = (LPWSTR)((LPBYTE)pdson +
pdson->aObjects[0].offsetName);
hr = ADsPropCreateNotifyObj(pDataObject,
pwszName,
&hwndNotifyObject);
GlobalUnlock(stm.hGlobal);
}
ReleaseStgMedium(&stm);
}
return hwndNotifyObject;
}
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista |
サポートされている最小のサーバー | Windows Server 2008 |
対象プラットフォーム | Windows |
ヘッダー | adsprop.h |
Library | Dsprop.lib |
[DLL] | Dsprop.dll |