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 の数を保持します。