Microsoft DirectX 8.0

CBaseDispatch クラス

CBaseDispatch クラスの階層

IDispatch インターフェイスを実装する基底クラス。

宣言 : Ctlutil.h

このクラスは DirectShow タイプ ライブラリが公開するオートメーション互換インターフェイス QuartzTypeLib のサポートに限定されている。たとえば、CMediaControlCMediaPosition クラスは CBaseDispatch を使用してそれぞれ IMediaControlIMediaPosition を実装する。この制限により、CBaseDispatch を自身のフィルタを直接使用する理由はない。

このクラスを使うには、次のようにする :

詳細については、Ctlutil.h に宣言されているサンプル クラスのソースコードを参照すること。

IDispatch メソッドの詳細については、Microsoft® Platform SDK に含まれる COM ドキュメントを参照すること。

Public メソッド
CBaseDispatchコンストラクタ メソッド。
~CBaseDispatchデストラクタ メソッド。
GetIDsOfNamesDISPID に対応する一連の名前のマップ。
GetTypeInfoオブジェクトのタイプ情報を取得、これはインターフェイスのタイプ情報を次に取得する際に用いられる。
GetTypeInfoCountオブジェクトが提供するタイプ情報インターフェイスの数を取得。

CBaseDispatch::CBaseDispatch

CBaseDispatch クラス

コンストラクタ メソッド。

構文

CBaseDispatch(void);

CBaseDispatch::~CBaseDispatch

CBaseDispatch クラス

デストラクタ メソッド。

構文

~CBaseDispatch(void);

CBaseDispatch::GetIDsOfNames

CBaseDispatch クラス

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_UNKNOWNNAME1 つあるいはそれ以上の名前が不明だった。O

注意

このメソッドは IDispatch::GetIDsOfNames メソッドと同じように動作するが、riid パラメータに DISPID を取得するインターフェイスを指定する。(IDispatch 版では、riid は未使用。)

このメソッドが DISP_E_UNKNOWNNAME を返すとき、返った DISPID は道の名前に対応するエントリーとして DISPID_UNKNOWN を含む。

CBaseDispatch::GetTypeInfo

CBaseDispatch クラス

オブジェクトのタイプ情報を取得、これはインターフェイスのタイプ情報を次に取得する際に用いられる。

構文

HRESULT GetTypeInfo(
    REFIID riid,
    UINT itinfo,
    LCID lcid,
    ITypeInfo **pptinfo
);

パラメータ

riid
インターフェイスを指定するインターフェイス ID (IID) への参照。
itinfo
返すインターフェイス情報。必ずゼロ。
lcid
ロケール ID。
pptinfo
ITypeInfo ポインタを取得する変数のアドレス。

戻り値

HRESULT 値を返す。次のいずれかを含む。

S_OK成功。
E_POINTERNull ポインタ引数。
TYPE_E_ELEMENTNOTFOUNDitinfo パラメータがゼロではない。

注意

このメソッドは IDispatch::GetTypeInfo メソッドと同じように動作する。しかし riid パラメータが追加されている、これには取得するタイプ情報のインターフェイスを指定する。

CBaseDispatch::GetTypeInfoCount

CBaseDispatch クラス

オブジェクトが提供するタイプ情報インターフェイスの数を取得。

構文

HRESULT GetTypeInfoCount(
    UINT *pctinfo
);

パラメータ

pctinfo
オブジェクトが提供するタイプ情報インターフェイスの数を取得する変数へのポインタ。このメソッドが返ったとき、この値は 1 。

戻り値

次の 1 つが返る。

S_OK成功。
E_POINTERNULL ポインタ引数。