InterfaceTraits 구조체
WRL 인프라를 지원하며 사용자 코드에서 직접 사용할 수 없습니다.
구문
template<typename I0>
struct __declspec(novtable) InterfaceTraits;
template<typename CloakedType>
struct __declspec(novtable) InterfaceTraits<
CloakedIid<CloakedType>
>;
template<>
struct __declspec(novtable) InterfaceTraits<Nil>;
매개 변수
I0
인터페이스의 이름입니다.
CloakedType
및 Implements
ChainInterfaces
지원되는 인터페이스 ID 목록에 없는 인터페이스의 경우 RuntimeClass
설명
인터페이스의 일반적인 특성을 구현합니다.
두 번째 템플릿은 은폐된 인터페이스에 대한 특수화입니다. 세 번째 템플릿은 Nil 매개 변수에 대한 특수화입니다.
멤버
공용 Typedefs
속성 | 설명 |
---|---|
Base |
I0 템플릿 매개 변수의 동의어입니다. |
공용 메서드
이름 | 설명 |
---|---|
InterfaceTraits::CanCastTo | 지정한 포인터를 포인터로 캐스팅할 Base 수 있는지 여부를 나타냅니다. |
InterfaceTraits::CastToBase | 지정한 포인터를 포인터로 캐스팅합니다 Base . |
InterfaceTraits::CastToUnknown | 지정한 포인터를 포인터로 캐스팅합니다 IUnknown . |
InterfaceTraits::FillArrayWithIid | 인덱스 인수로 지정된 배열 요소에 인터페이스 ID Base 를 할당합니다. |
InterfaceTraits::Verify | 제대로 파생된 것을 Base 확인합니다. |
공용 상수
속성 | 설명 |
---|---|
InterfaceTraits::IidCount | 현재 InterfaceTraits 개체와 연결된 인터페이스 ID의 수를 보유합니다. |
상속 계층 구조
InterfaceTraits
요구 사항
헤더: implements.h
네임스페이스: Microsoft::WRL::D etails
InterfaceTraits::CanCastTo
WRL 인프라를 지원하며 사용자 코드에서 직접 사용할 수 없습니다.
template<typename T>
static __forceinline bool CanCastTo(
_In_ T* ptr,
REFIID riid,
_Deref_out_ void **ppv
);
매개 변수
ptr
형식에 대한 포인터의 이름입니다.
riid
의 인터페이스 ID입니다 Base
.
ppv
이 작업이 성공 하면 ppv 는 에 지정된 Base
인터페이스를 가리킵니다. 그렇지 않으면 ppv 가 .로 nullptr
설정됩니다.
Return Value
true
이 작업이 성공하고 ptr이 포인터Base
로 캐스팅되면 이고, false
그렇지 않으면 .
설명
지정한 포인터를 포인터로 캐스팅할 Base
수 있는지 여부를 나타냅니다.
자세한 Base
내용은 공용 Typedefs 섹션을 참조 하세요 .
InterfaceTraits::CastToBase
WRL 인프라를 지원하며 사용자 코드에서 직접 사용할 수 없습니다.
template<typename T>
static __forceinline Base* CastToBase(
_In_ T* ptr
);
매개 변수
T
매개 변수 ptr의 형식입니다.
ptr
T 형식에 대한 포인터입니다.
Return Value
Base
에 대한 포인터입니다.
설명
지정한 포인터를 포인터로 캐스팅합니다 Base
.
자세한 Base
내용은 공용 Typedefs 섹션을 참조 하세요 .
InterfaceTraits::CastToUnknown
WRL 인프라를 지원하며 사용자 코드에서 직접 사용할 수 없습니다.
template<typename T>
static __forceinline IUnknown* CastToUnknown(
_In_ T* ptr
);
매개 변수
T
매개 변수 ptr의 형식입니다.
ptr
T 형식에 대한 포인터입니다.
Return Value
파생된 IUnknown에 Base
대한 포인터입니다.
설명
지정한 포인터를 포인터로 캐스팅합니다 IUnknown
.
자세한 Base
내용은 공용 Typedefs 섹션을 참조 하세요 .
InterfaceTraits::FillArrayWithIid
WRL 인프라를 지원하며 사용자 코드에서 직접 사용할 수 없습니다.
__forceinline static void FillArrayWithIid(
_Inout_ unsigned long &index,
_In_ IID* iids
);
매개 변수
색인
인덱스 값이 0부터 시작하는 필드에 대한 포인터입니다.
iids
인터페이스 ID의 배열입니다.
설명
인덱스 인수로 지정된 배열 요소에 인터페이스 ID Base
를 할당합니다.
이 API의 이름과 달리 하나의 배열 요소만 수정됩니다. 전체 배열이 아닙니다.
자세한 Base
내용은 공용 Typedefs 섹션을 참조 하세요 .
InterfaceTraits::IidCount
WRL 인프라를 지원하며 사용자 코드에서 직접 사용할 수 없습니다.
static const unsigned long IidCount = 1;
설명
현재 InterfaceTraits
개체와 연결된 인터페이스 ID의 수를 보유합니다.
InterfaceTraits::Verify
WRL 인프라를 지원하며 사용자 코드에서 직접 사용할 수 없습니다.
__forceinline static void Verify();
설명
제대로 파생된 것을 Base
확인합니다.
자세한 Base
내용은 공용 Typedefs 섹션을 참조 하세요 .