Implements 구조체
지정된 인터페이스를 QueryInterface
GetIid
구현합니다.
구문
template <
typename I0,
typename I1 = Details::Nil,
typename I2 = Details::Nil,
typename I3 = Details::Nil,
typename I4 = Details::Nil,
typename I5 = Details::Nil,
typename I6 = Details::Nil,
typename I7 = Details::Nil,
typename I8 = Details::Nil,
typename I9 = Details::Nil
>
struct __declspec(novtable) Implements :
Details::ImplementsHelper<
RuntimeClassFlags<WinRt>,
typename Details::InterfaceListHelper<
I0, I1, I2, I3, I4, I5, I6, I7, I8, I9
>::TypeT
>,
Details::ImplementsBase;
template <
int flags,
typename I0,
typename I1,
typename I2,
typename I3,
typename I4,
typename I5,
typename I6,
typename I7,
typename I8
>
struct __declspec(novtable) Implements<
RuntimeClassFlags<flags>,
I0, I1, I2, I3, I4, I5, I6, I7, I8> :
Details::ImplementsHelper<
RuntimeClassFlags<flags>,
typename Details::InterfaceListHelper<
I0, I1, I2, I3, I4, I5, I6, I7, I8
>::TypeT
>,
Details::ImplementsBase;
매개 변수
I0
0번째 인터페이스 ID입니다. (필수)
I1
첫 번째 인터페이스 ID입니다. (선택 사항)
I2
두 번째 인터페이스 ID입니다. (선택 사항)
I3
세 번째 인터페이스 ID입니다. (선택 사항)
I4
네 번째 인터페이스 ID입니다. (선택 사항)
I5
다섯 번째 인터페이스 ID입니다. (선택 사항)
I6
여섯 번째 인터페이스 ID입니다. (선택 사항)
I7
일곱 번째 인터페이스 ID입니다. (선택 사항)
I8
여덟 번째 인터페이스 ID입니다. (선택 사항)
I9
아홉 번째 인터페이스 ID입니다. (선택 사항)
flags
클래스에 대한 구성 플래그입니다. RuntimeClassFlags 구조체에 지정된 하나 이상의 RuntimeClassType 열거형입니다.
설명
지정된 인터페이스 목록에서 파생되고 도우미 템플릿을 구현 QueryInterface
합니다 GetIid
.
각 I0~I9 인터페이스 매개 변수는 IUnknown
IInspectable
ChainInterfaces 템플릿에서 파생되어야 합니다. flags 매개 변수는 지원 생성 IUnknown
IInspectable
여부를 결정합니다.
멤버
공용 Typedefs
속성 | 설명 |
---|---|
ClassFlags |
RuntimeClassFlags<WinRt> 의 동의어입니다. |
보호된 메서드
속성 | 설명 |
---|---|
구현::CanCastTo | 지정된 인터페이스에 대한 포인터를 가져옵니다. |
구현::CastToUnknown | 기본 인터페이스에 대한 포인터를 IUnknown 가져옵니다. |
구현::FillArrayWithIid | 현재 0번째 템플릿 매개 변수로 지정된 인터페이스 ID를 지정된 배열 요소에 삽입합니다. |
보호된 상수
속성 | 설명 |
---|---|
구현::IidCount | 구현된 인터페이스 ID의 수를 보유합니다. |
상속 계층 구조
I0
ChainInterfaces
I0
ImplementsBase
ImplementsHelper
Implements
요구 사항
헤더: implements.h
네임스페이스: Microsoft::WRL
구현::CanCastTo
지정된 인터페이스에 대한 포인터를 가져옵니다.
__forceinline HRESULT CanCastTo(
REFIID riid,
_Deref_out_ void **ppv
);
매개 변수
riid
인터페이스 ID에 대한 참조입니다.
ppv
성공하면 riid로 지정된 인터페이스에 대한 포인터입니다.
Return Value
S_OK 성공하면
설명
QueryInterface 작업을 수행하는 내부 도우미 함수입니다.
구현::CastToUnknown
기본 인터페이스에 대한 포인터를 IUnknown
가져옵니다.
__forceinline IUnknown* CastToUnknown();
Return Value
이 작업은 항상 성공하고 포인터를 반환합니다 IUnknown
.
설명
내부 도우미 함수입니다.
구현::FillArrayWithIid
현재 0번째 템플릿 매개 변수로 지정된 인터페이스 ID를 지정된 배열 요소에 삽입합니다.
__forceinline static void FillArrayWithIid(
unsigned long &index,
_In_ IID* iids
);
매개 변수
색인
이 작업의 시작 배열 요소를 나타내는 인덱스(0부터 시작)입니다. 이 작업이 완료되면 인덱스가 1씩 증가합니다.
iids
IID 형식의 배열입니다.
설명
내부 도우미 함수입니다.
구현::IidCount
구현된 인터페이스 ID의 수를 보유합니다.
static const unsigned long IidCount;