IAsyncReader::RequestAllocator メソッド (strmif.h)
[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayer、IMFMediaEngine、Audio/Video Capture を使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]
メソッドは RequestAllocator
、ピン接続中にアロケーターを要求します。
構文
HRESULT RequestAllocator(
[in] IMemAllocator *pPreferred,
[in] ALLOCATOR_PROPERTIES *pProps,
[out] IMemAllocator **ppActual
);
パラメーター
[in] pPreferred
入力ピンの優先アロケーター (NULL) 上の IMemAllocator インターフェイスへのポインター。
[in] pProps
呼び出し元によって割り当てられた ALLOCATOR_PROPERTIES 構造体のアドレスを指定します。 呼び出し元は、入力ピンに必要なアロケーター プロパティを入力し、残りのメンバーを 0 に設定する必要があります。
[out] ppActual
IMemAllocator インターフェイス ポインターを受け取る変数のアドレス。
戻り値
HRESULT 値を返します。 使用可能な値は次のとおりです。
リターン コード | 説明 |
---|---|
|
アロケーターの初期化に失敗しました。 |
|
無効な配置が指定されました。 |
|
アロケーターが返されました。 |
注釈
ダウンストリーム入力ピンは、接続プロセス中にこのメソッドを呼び出す必要があります。 ピンに優先アロケーターがある場合は、 pPreferred パラメーターで指定します。 バッファー サイズや配置などのバッファー要件を pProps パラメーターに指定します。 出力ピンはアロケーターを選択し、 ppActual パラメーターでアロケーターへのポインターを返します。
出力ピンは、入力ピンの要求を考慮する必要はありません。 入力ピンに絶対要件がある場合は、返されたアロケーターで IMemAllocator::GetProperties メソッドを呼び出す必要があります。 アロケーターのプロパティが適切でない場合、接続が失敗する可能性があります。 接続が確立されたら、入力ピンで出力ピンによって選択されたアロケーターを使用する必要があります。
入力ピンは、アロケーターのコミットとコミット解除を行います。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | strmif.h (Dshow.h を含む) |
Library | Strmiids.lib |