Função ADsPropCreateNotifyObj (adsprop.h)
A função ADsPropCreateNotifyObj é usada para criar ou obter um objeto de notificação para uso por uma extensão de folha de propriedades Active Directory Domain Services.
Sintaxe
HRESULT ADsPropCreateNotifyObj(
[in] LPDATAOBJECT pAppThdDataObj,
[in] PWSTR pwzADsObjName,
[out] HWND *phNotifyObj
);
Parâmetros
[in] pAppThdDataObj
Um ponteiro para o objeto IDataObject que representa o objeto de diretório ao qual a página de propriedades se aplica. Este é o IDataObject passado para o método IShellExtInit::Initialize da página de propriedades.
[in] pwzADsObjName
O Active Directory Domain Services nome do objeto obtido chamando o método IDataObject::GetData para o formato da área de transferência CFSTR_DSOBJECTNAMES no IDataObject representado por pAppThdDataObj.
[out] phNotifyObj
Ponteiro para um valor HWND que recebe o identificador do objeto de notificação.
Retornar valor
Retorna S_OK se tiver êxito ou um valor de erro definido por OLE caso contrário.
Comentários
A função ADsPropCreateNotifyObj é usada na implementação de uma extensão de folha de propriedades Active Directory Domain Services. A extensão deve primeiro solicitar os dados CFSTR_DSOBJECTNAMES da interface IDataObject passada para IShellExtInit::Initialize chamando IDataObject::GetData. Isso fornece o objeto de dados e o nome do objeto necessários para chamar ADsPropCreateNotifyObj.
Quando o objeto de notificação não é mais necessário, uma mensagem WM_ADSPROP_NOTIFY_EXIT é enviada ao objeto de notificação. Isso faz com que o objeto de notificação se destrua. Quando a mensagem WM_ADSPROP_NOTIFY_EXIT é enviada, o identificador do objeto de notificação deve ser considerado inválido.
Exemplos
O exemplo C++ a seguir mostra como usar a função 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 | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista |
Servidor mínimo com suporte | Windows Server 2008 |
Plataforma de Destino | Windows |
Cabeçalho | adsprop.h |
Biblioteca | Dsprop.lib |
DLL | Dsprop.dll |