Fungsi ADsPropCreateNotifyObj (adsprop.h)
Fungsi ADsPropCreateNotifyObj digunakan untuk membuat, atau mendapatkan, objek pemberitahuan untuk digunakan oleh ekstensi lembar properti Active Directory Domain Services.
Sintaks
HRESULT ADsPropCreateNotifyObj(
[in] LPDATAOBJECT pAppThdDataObj,
[in] PWSTR pwzADsObjName,
[out] HWND *phNotifyObj
);
Parameter
[in] pAppThdDataObj
Penunjuk ke objek IDataObject yang mewakili objek direktori tempat halaman properti diterapkan. Ini adalah metode IDataObject yang diteruskan ke halaman properti IShellExtInit::Initialize .
[in] pwzADsObjName
Nama objek Active Directory Domain Services diperoleh dengan memanggil metode IDataObject::GetData untuk format clipboard CFSTR_DSOBJECTNAMES pada IDataObject yang diwakili oleh pAppThdDataObj.
[out] phNotifyObj
Penunjuk ke nilai HWND yang menerima handel objek pemberitahuan.
Nilai kembali
Mengembalikan S_OK jika berhasil, atau nilai kesalahan yang ditentukan OLE sebaliknya.
Keterangan
Fungsi ADsPropCreateNotifyObj digunakan dalam implementasi ekstensi lembar properti Active Directory Domain Services. Ekstensi harus terlebih dahulu meminta data CFSTR_DSOBJECTNAMES dari antarmuka IDataObject yang diteruskan ke IShellExtInit::Initialize dengan memanggil IDataObject::GetData. Ini menyediakan objek data dan nama objek yang diperlukan untuk memanggil ADsPropCreateNotifyObj.
Ketika objek pemberitahuan tidak lagi diperlukan, pesan WM_ADSPROP_NOTIFY_EXIT dikirim ke objek pemberitahuan. Hal ini menyebabkan objek pemberitahuan hancur dengan sendirinya. Ketika pesan WM_ADSPROP_NOTIFY_EXIT dikirim, handel objek pemberitahuan harus dianggap tidak valid.
Contoh
Contoh C++ berikut menunjukkan cara menggunakan fungsi 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;
}
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows Vista |
Server minimum yang didukung | Windows Server 2008 |
Target Platform | Windows |
Header | adsprop.h |
Pustaka | Dsprop.lib |
DLL | Dsprop.dll |