Функция ADsPropCreateNotifyObj (adsprop.h)
Функция ADsPropCreateNotifyObj используется для создания или получения объекта уведомления для использования расширением страницы свойств доменные службы Active Directory.
Синтаксис
HRESULT ADsPropCreateNotifyObj(
[in] LPDATAOBJECT pAppThdDataObj,
[in] PWSTR pwzADsObjName,
[out] HWND *phNotifyObj
);
Параметры
[in] pAppThdDataObj
Указатель на объект IDataObject , представляющий объект каталога, к которому применяется страница свойств. Это объект IDataObject , переданный на страницу свойств методУ IShellExtInit::Initialize .
[in] pwzADsObjName
Имя объекта доменные службы Active Directory, полученное путем вызова метода IDataObject::GetData для формата буфера обмена CFSTR_DSOBJECTNAMES в IDataObject, представленном pAppThdDataObj.
[out] phNotifyObj
Указатель на значение HWND , которое получает дескриптор объекта уведомления.
Возвращаемое значение
Возвращает S_OK в случае успешного выполнения, или значение ошибки, определенное OLE, в противном случае.
Комментарии
Функция ADsPropCreateNotifyObj используется в реализации расширения страницы свойств доменные службы Active Directory. Сначала расширение должно запросить данные CFSTR_DSOBJECTNAMES из интерфейса IDataObject , передаваемого в IShellExtInit::Initialize путем вызова IDataObject::GetData. Он предоставляет объект данных и имя объекта, необходимые для вызова 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 |
Header | adsprop.h |
Библиотека | Dsprop.lib |
DLL | Dsprop.dll |