Funzione ADsPropCreateNotifyObj (adsprop.h)
La funzione ADsPropCreateNotifyObj viene usata per creare o ottenere un oggetto di notifica da usare da un'estensione del foglio di proprietà Active Directory Domain Services.
Sintassi
HRESULT ADsPropCreateNotifyObj(
[in] LPDATAOBJECT pAppThdDataObj,
[in] PWSTR pwzADsObjName,
[out] HWND *phNotifyObj
);
Parametri
[in] pAppThdDataObj
Puntatore all'oggetto IDataObject che rappresenta l'oggetto directory a cui si applica la pagina delle proprietà. Si tratta del metodo IDataObject passato alla pagina delle proprietà IShellExtInit::Initialize .
[in] pwzADsObjName
Il nome dell'oggetto Active Directory Domain Services ottenuto chiamando il metodoIDataObject::GetData per il formato degli Appunti CFSTR_DSOBJECTNAMES nel formato IDataObject rappresentato da pAppThdDataObj.
[out] phNotifyObj
Puntatore a un valore HWND che riceve l'handle dell'oggetto di notifica.
Valore restituito
Restituisce S_OK se ha esito positivo o un valore di errore definito da OLE in caso contrario.
Commenti
La funzione ADsPropCreateNotifyObj viene usata nell'implementazione di un'estensione del foglio delle proprietà Active Directory Domain Services. L'estensione deve prima richiedere i dati CFSTR_DSOBJECTNAMES dall'interfaccia IDataObject passata a IShellExtInit::Initialize chiamando IDataObject::GetData. Fornisce l'oggetto dati e il nome dell'oggetto necessari per chiamare ADsPropCreateNotifyObj.
Quando l'oggetto di notifica non è più necessario, viene inviato un messaggio di WM_ADSPROP_NOTIFY_EXIT all'oggetto di notifica. In questo modo l'oggetto di notifica viene eliminato. Quando viene inviato il messaggio WM_ADSPROP_NOTIFY_EXIT , l'handle dell'oggetto di notifica deve essere considerato non valido.
Esempio
Nell'esempio C++ seguente viene illustrato come usare la funzione 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;
}
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista |
Server minimo supportato | Windows Server 2008 |
Piattaforma di destinazione | Windows |
Intestazione | adsprop.h |
Libreria | Dsprop.lib |
DLL | Dsprop.dll |