IAMStreamConfig::GetStreamCaps メソッド (strmif.h)
[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayer、IMFMediaEngine、Audio/Video Capture を使用することを強くお勧めします。 Microsoft は、レガシ API を使用する既存のコードを、可能であれば新しい API を使用するように書き換えるよう提案しています。]
GetStreamCaps メソッドは、一連の書式機能を取得します。
構文
HRESULT GetStreamCaps(
[in] int iIndex,
[out] AM_MEDIA_TYPE **ppmt,
[out] BYTE *pSCC
);
パラメーター
[in] iIndex
0 からインデックスを付けて取得する書式機能を指定します。 ピンでサポートされる機能の数を確認するには、 IAMStreamConfig::GetNumberOfCapabilities メソッドを呼び出します。
[out] ppmt
AM_MEDIA_TYPE構造体へのポインターのアドレス。 メソッドは構造体を割り当て、メディアの種類で埋めます。
[out] pSCC
呼び出し元によって割り当てられたバイト配列へのポインター。 ビデオの場合は、 VIDEO_STREAM_CONFIG_CAPS 構造を使用します (「解説」を参照)。 オーディオの場合は、 AUDIO_STREAM_CONFIG_CAPS 構造を使用します。 配列の必要なサイズを確認するには、 GetNumberOfCapabilities メソッドを呼び出します。 サイズは piSize パラメーターで返されます。
戻り値
HRESULT 値を返します。 使用可能な値は次のとおりです。
リターン コード | 説明 |
---|---|
|
指定されたインデックスが高すぎます。 |
|
正常終了しました。 |
|
インデックスが無効です。 |
|
メモリ不足です。 |
|
NULL ポインター値。 |
|
入力ピンが接続されていません。 |
注釈
このメソッドは、次の 2 つの情報を返します。
- pmt パラメーターは、サポートされている 1 つの出力形式を表す、入力されたAM_MEDIA_TYPE構造体を受け取ります。
- pSCC パラメーターは、追加の書式情報を含む構造体を受け取ります。 ビデオの場合、 pSCC は VIDEO_STREAM_CONFIG_CAPS 構造を受け取ります。 オーディオの場合は、 AUDIO_STREAM_CONFIG_CAPS 構造を受け取ります。
SetFormat を呼び出す前に、pSCC の情報を使用して pmt のAM_MEDIA_TYPE構造体を変更できます。 たとえば、オーディオ ピンは、 pmt パラメーターで 44 kHz、16 ビット ステレオの既定のメディアの種類を返す場合があります。 AUDIO_STREAM_CONFIG_CAPS構造体で返される値に基づいて、SetFormat を呼び出す前に、この形式を 8 ビット mono に変更できます。
メソッドは、pmt パラメーターで返されるAM_MEDIA_TYPE構造体にメモリを割り当てます。 呼び出し元は、フォーマット ブロックを含むメモリを解放する必要があります。 基本クラス ライブラリで DeleteMediaType ヘルパー関数を使用できます。 呼び出し元は 、pSCC パラメーターのメモリを割り当てる必要があります。
一部の圧縮フィルターでは、フィルターの入力ピンが接続されていない場合、このメソッドは失敗します。
フィルター開発者: このメソッドの実装の詳細については、「 キャプチャ形式と圧縮形式の公開」を参照してください。
例
次の例では、ビデオ出力ピンでサポートされている最初の形式 (インデックス 0) を取得し、ピンにこの形式を設定します。
C++ |
---|
int iCount,iSize;BYTE *pSCC = NULL;*pmt をAM_MEDIA_TYPEします。 |
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | strmif.h (Dshow.h を含む) |
Library | Strmiids.lib |