Microsoft DirectX 8.0

CCrossbar クラス

CCrossbar は、アプリケーションで使用して、アナログ TV チューナー カードなどのデバイスで アナログ ビデオ クロスバー フィルタを制御できるヘルパー クラスである。通常、このようなカードは複数の入力 (コンポジット ビデオ、S ビデオ、TV オーディオ用など) を持つ。クロスバー フィルタは、特定の入力に送られた信号がハードウェアでルーティングされるための、可能なすべての方法を表す。デバイスには、連続して接続された複数のクロスバーを実装するものもあれば、クロスバーを持たないものもある。

CCrossbar は、任意の複雑なクロスバー フィルタのグラフをサポートしている。このようなフィルタをレイヤー化することができ、無効な入力および出力を含めることができる。CCrossbar は可能なすべての入力を列挙し、記録および表示するための単一の入力を選択できる。

開始入力ピンを指定すると (通常、キャプチャ フィルタへのアナログ ビデオ入力)、このクラスはすべての可変入力を検索して再帰的にアップストリームをトレースする。入力がビデオ ピンであり、接続されていないか、IAMCrossbar インターフェイスをサポートしていないフィルタに接続されている場合、可変であると見なされる。 このクラスの使用については、DirectX® 8 SDK の AMCap サンプルアプリケーションでデモが示されている。

メンバ関数

CCrossbar CCrossbar オブジェクトを作成する。
GetInputCount 選択できる一意のビデオ入力の数を取得する。
GetInputIndex 現在選択されている入力を取得する。
GetInputName 人が読んで理解できる各入力のタイプを示す文字列を取得する。
GetInputType コンピュータで認識される各入力の物理的なタイプを取得する。
SetInputIndex 特定の入力を選択する。

CCrossbar::CCrossbar

CCrossbar クラス

CCrossbar オブジェクトを作成する。

構文

CCrossbar(
IPin *pPin);

パラメータ

pPin
開始入力ピンへのポインタ。

戻り値

戻り値なし。

CCrossbar::GetInputCount

CCrossbar クラス

選択できる一意のビデオ入力の数を取得する。

構文

HRESULT GetInputCount(
LONG *pCount);

パラメータ

pCount
ビデオ入力の数へのポインタ。

戻り値

S_OK を返す。

CCrossbar::GetInputIndex

CCrossbar クラス

現在選択されている入力を取得する。

構文

HRESULT GetInputIndex(
LONG *Index);

パラメータ

Index
現在のルーティング インデックスへのポインタ。

戻り値

S_OK を返す。

CCrossbar::GetInputName

CCrossbar クラス

人が読んで理解できる各入力のタイプを示す文字列を取得する。

構文

HRESULT GetInputName(
LONG Index,
TCHAR *pName,
LONG NameSize);

パラメータ

Index
現在のルーティング インデックス。
pName
テキスト バージョンの現在のルーティング入力を受信するバッファへのポインタ。メソッドを呼び出す前は、NULL にすることはできない。NULL にすると、処理は失敗する。たとえば、現在のルーティング入力のタイプが PhysConn_Video_Tuner である場合、この関数はこのパラメータに "Video Tuner" という文字列を返す。詳細については、「注意」を参照すること。
NameSize
テキスト バージョンの現在のルーティング入力を受信するバッファのサイズ。pName で示されるバッファは、最後の NULL 文字を含めることができるサイズでなければならない。

戻り値

バッファが十分な大きさで、文字列名をコピーできる場合、このメソッドは S_OK を返す。それ以外の場合は、E_FAIL を返す。

注意

次の表に、現在のルーティング タイプに応じて、pName パラメータが返す値を示す。

物理的なタイプ pName
PhysConn_Video_Tuner Video Tuner
PhysConn_Video_Composite Video Composite
PhysConn_Video_SVideo Video SVideo
PhysConn_Video_RGB Video RGB
PhysConn_Video_YRYBY Video YRYBY
PhysConn_Video_SerialDigital Video SerialDigital
PhysConn_Video_ParallelDigital Video ParallelDigital
PhysConn_Video_SCSI Video SCSI
PhysConn_Video_AUX Video AUX
PhysConn_Video_1394 Video 1394
PhysConn_Video_USB Video USB
PhysConn_Video_VideoDecoder Video Decoder
PhysConn_Video_VideoEncoder Video Encoder
PhysConn_Audio_Tuner Audio Tuner
PhysConn_Audio_Line Audio Line
PhysConn_Audio_Mic Audio Mic
PhysConn_Audio_AESDigital Audio AESDigital
PhysConn_Audio_SPDIFDigital Audio SPDIFDigital
PhysConn_Audio_SCSI Audio SCSI
PhysConn_Audio_AUX Audio AUX
PhysConn_Audio_1394 Audio 1394
PhysConn_Audio_USB Audio USB
PhysConn_Audio_AudioDecoder Audio Decoder

CCrossbar::GetInputType

CCrossbar クラス

コンピュータで認識される各入力の物理的なタイプを取得する。

構文

HRESULT GetInputType(
LONG Index,
LONG *PhysicalType);

パラメータ

Index
現在のルーティング インデックス。
PhysicalType
ピン (ビデオ) の物理的な名前へのポインタ。 PhysicalConnectorType 列挙データ型のメンバを返す。

戻り値

Index パラメータが範囲外の場合は E_FAIL を返す。それ以外の場合は S_OK を返す。

CCrossbar::SetInputIndex

CCrossbar クラス

特定の入力を選択する。

構文

HRESULT SetInputIndex(
LONG Index);

パラメータ

Index
設定されるルーティング インデックス。

戻り値

成功した場合は、S_OK を返す。それ以外の場合は、E_FAIL を返す。