Función ADsPropCreateNotifyObj (adsprop.h)
La función ADsPropCreateNotifyObj se usa para crear, u obtener, un objeto de notificación para que lo use una extensión de hoja de propiedades de Servicios de dominio de Active Directory.
Sintaxis
HRESULT ADsPropCreateNotifyObj(
[in] LPDATAOBJECT pAppThdDataObj,
[in] PWSTR pwzADsObjName,
[out] HWND *phNotifyObj
);
Parámetros
[in] pAppThdDataObj
Puntero al objeto IDataObject que representa el objeto de directorio al que se aplica la página de propiedades. Este es el IDataObject pasado al método IShellExtInit::Initialize de la página de propiedades.
[in] pwzADsObjName
El nombre del objeto Servicios de dominio de Active Directory obtenido llamando al método IDataObject::GetData para el formato del Portapapeles CFSTR_DSOBJECTNAMES en el IDataObject representado por pAppThdDataObj.
[out] phNotifyObj
Puntero a un valor HWND que recibe el identificador del objeto de notificación.
Valor devuelto
Devuelve S_OK si se ejecuta correctamente o un valor de error definido por OLE de lo contrario.
Comentarios
La función ADsPropCreateNotifyObj se usa en la implementación de una extensión de hoja de propiedades de Servicios de dominio de Active Directory. La extensión debe solicitar primero los datos CFSTR_DSOBJECTNAMES de la interfaz IDataObject que se pasa a IShellExtInit::Initialize llamando a IDataObject::GetData. Esto proporciona el objeto de datos y el nombre de objeto necesarios para llamar a ADsPropCreateNotifyObj.
Cuando el objeto de notificación ya no es necesario, se envía un mensaje WM_ADSPROP_NOTIFY_EXIT al objeto de notificación. Esto hace que el objeto de notificación se destruya. Cuando se envía el mensaje WM_ADSPROP_NOTIFY_EXIT , el identificador del objeto de notificación debe considerarse no válido.
Ejemplos
En el siguiente ejemplo de C++ se muestra cómo usar la función 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;
}
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista |
Servidor mínimo compatible | Windows Server 2008 |
Plataforma de destino | Windows |
Encabezado | adsprop.h |
Library | Dsprop.lib |
Archivo DLL | Dsprop.dll |