IMFDeviceTransform::GetStreamIDs メソッド (mftransform.h)
GetStreamIDs メソッドは、この Media Foundation 変換 (MFT) の入力ストリームと出力ストリームのストリーム識別子を取得します。
構文
HRESULT GetStreamIDs(
[in] DWORD dwInputIDArraySize,
[out] DWORD *pdwInputStreamIds,
[out] DWORD dwOutputIDArraySize,
DWORD *pdwOutputStreamIds
);
パラメーター
[in] dwInputIDArraySize
pdwInputStreamIDs 内の要素の数
[out] pdwInputStreamIds
呼び出し元によって割り当てられた配列へのポインター。 メソッドは、配列に入力ストリーム識別子を入力します。 配列のサイズは、少なくとも入力ストリームの数と等しい必要があります。 入力ストリームの数を取得するには、 IMFDeviceTransform::GetStreamCount を呼び出します。
呼び出し元が入力ストリームの数より大きい配列を渡す場合、MFT は余分な配列エントリに値を書き込む必要があります。
[out] dwOutputIDArraySize
pdwOutputStreamIDs 内の要素の数。
pdwOutputStreamIds
呼び出し元によって割り当てられた配列へのポインター。 メソッドは、配列に出力ストリーム識別子を入力します。 配列のサイズは、少なくとも出力ストリームの数と等しい必要があります。 出力ストリームの数を取得するには、 IMFDeviceTransform::GetStreamCount を呼び出します。
戻り値
このメソッドは HRESULT を返します。 使用可能な値には、次の表に示す値が含まれますが、これらに限定されません。
リターン コード | 説明 |
---|---|
|
ストリームの状態の切り替えに成功しました。 |
|
無効なポインターが渡されました。 |
|
入ってくるバッファーには、ストリーム ID を埋めるのに十分な領域がありません。 |
解説
ストリーム識別子は、一部の MFT でストリームを追加または削除できるため、ストリームのインデックスが一意ではない可能性があるため、必要です。 そのため、ストリームを操作する IMFDeviceTransform メソッドはストリーム識別子を受け取ります。
すべての入力ストリーム識別子は MFT 内で一意である必要があり、すべての出力ストリーム識別子は一意である必要があります。 ただし、入力ストリームと出力ストリームは同じ識別子を共有できます。 I
クライアントが入力ストリームを追加する場合、クライアントは識別子を割り当てるので、一意である限り、MFT は任意の識別子を許可する必要があります。 MFT によって出力ストリームが作成される場合、MFT によって識別子が割り当てられます。
規則により、MFT に固定入力ストリームが 1 つだけあり、1 つの固定出力ストリームがある場合は、識別子 0 を両方のストリームに割り当てる必要があります。
要件
サポートされている最小のクライアント | Windows 10 Version 1703 |
対象プラットフォーム | Windows |
ヘッダー | mftransform.h |