다음을 통해 공유


IGlobalInterfaceTable::GetInterfaceFromGlobal 메서드(objidl.h)

호출하는 아파트에서 사용할 수 있는 개체의 인터페이스에 대한 포인터를 검색합니다. 이 인터페이스는 현재 전역 인터페이스 테이블에 등록되어 있어야 합니다.

구문

HRESULT GetInterfaceFromGlobal(
  [in]  DWORD  dwCookie,
  [in]  REFIID riid,
  [out] void   **ppv
);

매개 변수

[in] dwCookie

인터페이스(및 해당 개체)를 식별하고 IGlobalInterfaceTable::RegisterInterfaceInGlobal 호출을 통해 검색됩니다.

[in] riid

인터페이스의 IID입니다.

[out] ppv

요청된 인터페이스의 포인터에 대한 포인터입니다.

반환 값

이 메서드는 다음 값을 반환할 수 있습니다.

반환 코드 Description
S_OK
메서드가 완료되었습니다.
E_INVALIDARG
하나 이상의 매개 변수가 잘못되었습니다.

설명

인터페이스가 전역 인터페이스 테이블에 등록되면 아파트는 제공된 쿠키를 사용하여 GetInterfaceFromGlobal 메서드를 호출하여 이 인터페이스에 대한 포인터를 가져올 수 있습니다. 인터페이스에 대한 이 포인터는 호출 아파트에서 사용할 수 있지만 프로세스의 다른 아파트에서는 사용할 수 없습니다.

애플리케이션은 IGlobalInterfaceTable::RevokeInterfaceFromGlobal을 호출하는 동안 전역 변수에 대한 액세스를 조정해야 합니다. 즉, 애플리케이션은 한 스레드가 RevokeInterfaceFromGlobal 을 호출하지 않고 다른 스레드가 동일한 쿠키를 사용하여 GetInterfaceFromGlobal 을 호출하는지 확인해야 합니다. 동일한 쿠키에 대한 GetInterfaceFromGlobal 에 대한 여러 호출이 허용됩니다.

GetInterfaceFromGlobal 메서드는 ppv 매개 변수에서 가져온 포인터에서 AddRef를 호출합니다. 이 포인터에서 Release 를 호출하는 것은 호출자의 책임입니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows 2000 Server [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 objidl.h(ObjIdl.h 포함)

추가 정보

IGlobalInterfaceTable