BindMoniker 함수(objbase.h)

모니커를 사용하여 개체를 찾고, 비활성 상태인 경우 개체를 활성화하고, 해당 개체의 지정된 인터페이스에 대한 포인터를 검색합니다.

구문

HRESULT BindMoniker(
  [in]  LPMONIKER pmk,
  [in]  DWORD     grfOpt,
  [in]  REFIID    iidResult,
  [out] LPVOID    *ppvResult
);

매개 변수

[in] pmk

개체의 모니커에 대한 포인터입니다. IMoniker를 참조하세요.

[in] grfOpt

이 매개 변수는 나중에 사용하도록 예약되어 있으며 0이어야 합니다.

[in] iidResult

개체와 통신하는 데 사용할 인터페이스 식별자입니다.

[out] ppvResult

iidResult에서 요청된 인터페이스 포인터를 수신하는 포인터 변수의 주소입니다. 반환이 성공하면 *ppvResult 에 요청된 인터페이스 포인터가 포함됩니다. 오류가 발생하면 *ppvResultNULL입니다. 호출이 성공하면 호출자는 개체의 IUnknown::Release 메서드를 호출하여 포인터를 해제해야 합니다.

반환 값

이 함수는 다음 오류 코드 또는 IMoniker::BindToObject 메서드에서 반환된 오류 값을 반환할 수 있습니다.

반환 코드 Description
S_OK
필요한 경우 개체를 찾아 활성화했으며 요청된 인터페이스에 대한 포인터가 반환되었습니다.
MK_E_NOOBJECT
식별된 모니커 개체를 찾을 수 없습니다.

설명

BindMoniker 는 개체의 모니커가 있는 클라이언트가 해당 개체의 인터페이스 중 하나에 대한 포인터를 가져오는 편리한 방법으로 제공되는 도우미 함수입니다. BindMoniker는 다음 호출을 패키지합니다.

CreateBindCtx(0, &pbc); 
pmk->BindToObject(pbc, NULL, riid, ppvObj);

CreateBindCtx 는 IBindContext의 시스템 구현을 지원하는 바인딩 컨텍스트 개체를 만듭니다. pmk 매개 변수는 실제로 모니커 개체의 IMoniker 구현에 대한 포인터입니다. 이 구현의 BindToObject 메서드는 요청된 인터페이스 포인터에 대한 포인터를 제공합니다.

빠른 연속으로 바인딩할 모니커가 여러 개 있고 해당 모니커가 동일한 개체를 활성화한다는 것을 알고 있는 경우 IMoniker::BindToObject 메서드를 직접 호출하는 것이 더 효율적일 수 있으며, 이를 통해 모든 모니커에 동일한 바인딩 컨텍스트 개체를 사용할 수 있습니다. 자세한 내용은 IBindCtx 인터페이스를 참조하세요.

문서에 연결된 개체를 포함하도록 허용하는 컨테이너 애플리케이션은 일반적으로 IMoniker 메서드를 직접 호출하지 않는 특수 클라이언트입니다. 대신 클라이언트는 IOleLink 인터페이스를 통해 연결된 개체를 조작합니다. 기본 처리기는 이 인터페이스를 구현하고 필요에 따라 적절한 IMoniker 메서드를 호출합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows 2000 Server [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 objbase.h
라이브러리 Ole32.lib
DLL Ole32.dll
API 세트 ext-ms-win-com-ole32-l1-1-5(Windows 10 버전 10.0.15063에 도입됨)

추가 정보

CreateBindCtx

IMoniker::BindToObject