Microsoft DirectX 8.0 |
IDispatch インターフェイスを実装する基底クラス。
宣言 : Ctlutil.h
このクラスは DirectShow タイプ ライブラリが公開するオートメーション互換インターフェイス QuartzTypeLib のサポートに限定されている。たとえば、CMediaControl と CMediaPosition クラスは CBaseDispatch を使用してそれぞれ IMediaControl と IMediaPosition を実装する。この制限により、CBaseDispatch を自身のフィルタを直接使用する理由はない。
このクラスを使うには、次のようにする :
詳細については、Ctlutil.h に宣言されているサンプル クラスのソースコードを参照すること。
IDispatch メソッドの詳細については、Microsoft® Platform SDK に含まれる COM ドキュメントを参照すること。
Public メソッド | |
---|---|
CBaseDispatch | コンストラクタ メソッド。 |
~CBaseDispatch | デストラクタ メソッド。 |
GetIDsOfNames | DISPID に対応する一連の名前のマップ。 |
GetTypeInfo | オブジェクトのタイプ情報を取得、これはインターフェイスのタイプ情報を次に取得する際に用いられる。 |
GetTypeInfoCount | オブジェクトが提供するタイプ情報インターフェイスの数を取得。 |
コンストラクタ メソッド。
構文
CBaseDispatch(void);
デストラクタ メソッド。
構文
~CBaseDispatch(void);
DISPID に対応する一連の名前のマップ。
構文
HRESULT GetIDsOfNames( REFIID riid, OLECHAR **rgszNames, UINT cNames, LCID lcid, DISPID *rgdispid );
パラメータ
- riid
- インターフェイスを指定するインターフェイスID (IID) への参照。
- rgszNames
- マップされる名前を含むワイド文字列のアドレス。
- cNames
- rgszNames パラメータによって与えられる配列のサイズ。
- lcid
- 名前を解釈するロケール コンテキスト。NULL が有効。
- rgdispid
- DISPID を取得する配列のポインタ。取得した各要素は rgszNames パラメータに渡された各名前に対応する ID。
戻り値
HRESULT 値を返す。次のいずれかを含む。
S_OK 成功。 E_OUTOFMEMORY メモリ不足。 DISP_E_UNKNOWNNAME 1 つあるいはそれ以上の名前が不明だった。O
注意
このメソッドは IDispatch::GetIDsOfNames メソッドと同じように動作するが、riid パラメータに DISPID を取得するインターフェイスを指定する。(IDispatch 版では、riid は未使用。)
このメソッドが DISP_E_UNKNOWNNAME を返すとき、返った DISPID は道の名前に対応するエントリーとして DISPID_UNKNOWN を含む。
オブジェクトのタイプ情報を取得、これはインターフェイスのタイプ情報を次に取得する際に用いられる。
構文
HRESULT GetTypeInfo( REFIID riid, UINT itinfo, LCID lcid, ITypeInfo **pptinfo );
パラメータ
- riid
- インターフェイスを指定するインターフェイス ID (IID) への参照。
- itinfo
- 返すインターフェイス情報。必ずゼロ。
- lcid
- ロケール ID。
- pptinfo
- ITypeInfo ポインタを取得する変数のアドレス。
戻り値
HRESULT 値を返す。次のいずれかを含む。
S_OK 成功。 E_POINTER Null ポインタ引数。 TYPE_E_ELEMENTNOTFOUND itinfo パラメータがゼロではない。
注意
このメソッドは IDispatch::GetTypeInfo メソッドと同じように動作する。しかし riid パラメータが追加されている、これには取得するタイプ情報のインターフェイスを指定する。
オブジェクトが提供するタイプ情報インターフェイスの数を取得。
構文
HRESULT GetTypeInfoCount( UINT *pctinfo );
パラメータ
- pctinfo
- オブジェクトが提供するタイプ情報インターフェイスの数を取得する変数へのポインタ。このメソッドが返ったとき、この値は 1 。
戻り値
次の 1 つが返る。
S_OK 成功。 E_POINTER NULL ポインタ引数。