共用方式為


ADsPropCreateNotifyObj 函式 (adsprop.h)

ADsPropCreateNotifyObj 函式可用來建立或取得通知物件,以供 Active Directory 網域服務 屬性表延伸模組使用。

語法

HRESULT ADsPropCreateNotifyObj(
  [in]  LPDATAOBJECT pAppThdDataObj,
  [in]  PWSTR        pwzADsObjName,
  [out] HWND         *phNotifyObj
);

參數

[in] pAppThdDataObj

IDataObject 物件的指標,代表屬性頁所套用的目錄物件。 這是傳遞至屬性頁 IShellExtInit::Initialize 方法的 IDataObject

[in] pwzADsObjName

pAppThdDataObject 所代表的 IDataObject 上,針對CFSTR_DSOBJECTNAMES剪貼簿格式呼叫 IDataObject::GetData 方法取得的 Active Directory 網域服務 物件名稱。

[out] phNotifyObj

接收通知物件的句柄之 HWND 值的指標。

傳回值

如果成功,則傳回 S_OK ,否則傳回 OLE 定義的錯誤值。

備註

ADsPropCreateNotifyObj 函式用於 Active Directory 網域服務 屬性表延伸的實作中。 延伸模組必須先呼叫 IDataObject::GetData,從傳遞至 IShellExtInit::InitializeIDataObject 介面要求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
程式庫 Dsprop.lib
Dll Dsprop.dll

另請參閱

CFSTR_DSOBJECTNAMES

IDataObject

IDataObject::GetData

IShellPropSheetExt::AddPages

WM_ADSPROP_NOTIFY_EXIT