다음을 통해 공유


ADsPropCreateNotifyObj 함수(adsprop.h)

ADsPropCreateNotifyObj 함수는 Active Directory Domain Services 속성 시트 확장에서 사용할 알림 개체를 만들거나 가져오는 데 사용됩니다.

구문

HRESULT ADsPropCreateNotifyObj(
  [in]  LPDATAOBJECT pAppThdDataObj,
  [in]  PWSTR        pwzADsObjName,
  [out] HWND         *phNotifyObj
);

매개 변수

[in] pAppThdDataObj

속성 페이지가 적용되는 디렉터리 개체를 나타내는 IDataObject 개체에 대한 포인터입니다. 속성 페이지 IShellExtInit::Initialize 메서드에 전달된 IDataObject입니다.

[in] pwzADsObjName

pAppThdDataObj로 표시되는 IDataObject에서 CFSTR_DSOBJECTNAMES 클립보드 형식에 대해 IDataObject::GetData 메서드를 호출하여 얻은 Active Directory Domain Services 개체 이름입니다.

[out] phNotifyObj

알림 개체의 핸들을 수신하는 HWND 값에 대한 포인터입니다.

반환 값

성공하면 S_OK 반환하고, 그렇지 않으면 OLE 정의 오류 값을 반환합니다.

설명

ADsPropCreateNotifyObj 함수는 Active Directory Domain Services 속성 시트 확장의 구현에 사용됩니다. 확장은 먼저 IDataObject::GetData를 호출하여 IShellExtInit::Initialize에 전달된 IDataObject 인터페이스에서 CFSTR_DSOBJECTNAMES 데이터를 요청해야 합니다. 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
헤더 adsprop.h
라이브러리 Dsprop.lib
DLL Dsprop.dll

추가 정보

CFSTR_DSOBJECTNAMES

Idataobject

IDataObject::GetData

IShellPropSheetExt::AddPages

WM_ADSPROP_NOTIFY_EXIT