次の方法で共有


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

こちらもご覧ください

CFSTR_DSOBJECTNAMES

Idataobject

IDataObject::GetData

IShellPropSheetExt::AddPages

WM_ADSPROP_NOTIFY_EXIT