次の方法で共有


ImplementsHelper 構造体

WRL インフラストラクチャをサポートします。コードから直接使用するためのものではありません。

構文

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

パラメーター

RuntimeClassFlagsT
1 つ以上の RuntimeClassType 列挙子を指定するフラグのフィールドです。

ILst
インターフェイス ID の一覧。

IsDelegateToClass
Implements の現在のインスタンスが ILst に含まれる 1 つ目のインターフェイス 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::Details

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 に対する参照。

戻り値

成功した場合は S_OK、そうでない場合はエラーを示す HRESULT。

解説

指定したインターフェイス ID へのポインターを取得します。

ImplementsHelper::CastToUnknown

WRL インフラストラクチャをサポートします。コードから直接使用するためのものではありません。

IUnknown* CastToUnknown();

戻り値

基になる IUnknown インターフェイスへのポインター。

解説

現在の Implements 構造体の基になる IUnknown インターフェイスへのポインターを取得します。

ImplementsHelper::FillArrayWithIid

WRL インフラストラクチャをサポートします。コードから直接使用するためのものではありません。

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

パラメーター

インデックス
この操作の開始配列要素を示す 0 から始まるインデックス。 この操作が完了すると、index は 1 ずつインクリメントされます。

iids
IID 型の配列。

解説

現在の 0 番目のテンプレート パラメーターで指定されたインターフェイス ID を、指定した配列要素に挿入します。

ImplementsHelper::IidCount

WRL インフラストラクチャをサポートします。コードから直接使用するためのものではありません。

static const unsigned long IidCount;

解説

現在の Implements オブジェクトに実装されているインターフェイス ID の数を保持します。