다음을 통해 공유


ImplementsHelper 구조체

WRL 인프라를 지원하며 사용자 코드에서 직접 사용할 수 없습니다.

구문

template <typename RuntimeClassFlagsT, typename ILst, bool IsDelegateToClass>
friend struct Details::ImplementsHelper;

매개 변수

RuntimeClassFlagsT
하나 이상의 RuntimeClassType 열거자를 지정하는 플래그 필드입니다.

ILst
인터페이스 ID 목록입니다.

IsDelegateToClass
현재 인스턴스가 ILst에서 첫 번째 인터페이스 ID의 기본 클래스인지 지정 true 합니다. 그렇지 않으면 false.Implements

설명

구현 구조를 구현 하는 데 도움이 됩니다 .

이 템플릿은 인터페이스 목록을 트래버스하고 기본 클래스로 추가하고 사용하도록 설정하는 QueryInterface데 필요한 정보로 추가합니다.

멤버

보호된 메서드

속성 설명
ImplementsHelper::CanCastTo 지정된 인터페이스 ID에 대한 포인터를 가져옵니다.
ImplementsHelper::CastToUnknown 현재 Implements 구조체의 기본 IUnknown 인터페이스에 대한 포인터를 가져옵니다.
ImplementsHelper::FillArrayWithIid 현재 0번째 템플릿 매개 변수로 지정된 인터페이스 ID를 지정된 배열 요소에 삽입합니다.
ImplementsHelper::IidCount 현재 Implements 개체의 구현된 인터페이스 ID 수를 보유합니다.

상속 계층 구조

ImplementsHelper

요구 사항

헤더: implements.h

네임스페이스: Microsoft::WRL::D etails

ImplementsHelper::CanCastTo

WRL 인프라를 지원하며 사용자 코드에서 직접 사용할 수 없습니다.

HRESULT CanCastTo(
   REFIID riid,
   _Deref_out_ void **ppv
);

HRESULT CanCastTo(
   _In_ const IID &iid,
   _Deref_out_ void **ppv
);

매개 변수

riid
인터페이스 ID에 대한 참조입니다.

ppv
이 작업이 성공하면 riid 또는 iid로 지정된 인터페이스에 대한 포인터입니다.

iid
인터페이스 ID에 대한 참조입니다.

Return Value

성공하면 S_OK이고, 그렇지 않으면 오류를 나타내는 HRESULT입니다.

설명

지정된 인터페이스 ID에 대한 포인터를 가져옵니다.

ImplementsHelper::CastToUnknown

WRL 인프라를 지원하며 사용자 코드에서 직접 사용할 수 없습니다.

IUnknown* CastToUnknown();

Return Value

기본 인터페이스에 대한 포인터입니다 IUnknown .

설명

현재 Implements 구조체의 기본 IUnknown 인터페이스에 대한 포인터를 가져옵니다.

ImplementsHelper::FillArrayWithIid

WRL 인프라를 지원하며 사용자 코드에서 직접 사용할 수 없습니다.

void FillArrayWithIid(
   _Inout_ unsigned long *index,
   _Inout_ IID* iids) throw();

매개 변수

색인
이 작업의 시작 배열 요소를 나타내는 인덱스(0부터 시작)입니다. 이 작업이 완료되면 인덱스가 1씩 증가합니다.

iids
IID 형식의 배열입니다.

설명

현재 0번째 템플릿 매개 변수로 지정된 인터페이스 ID를 지정된 배열 요소에 삽입합니다.

ImplementsHelper::IidCount

WRL 인프라를 지원하며 사용자 코드에서 직접 사용할 수 없습니다.

static const unsigned long IidCount;

설명

현재 Implements 개체의 구현된 인터페이스 ID 수를 보유합니다.