IAsyncReader インターフェイス (strmif.h)
[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayer、IMFMediaEngine、Audio/Video Capture を使用することを強くお勧めします。 Microsoft は、レガシ API を使用する既存のコードを、可能であれば新しい API を使用するように書き換えるよう提案しています。]
インターフェイスは IAsyncReader
、フィルターに対して非同期データ要求を実行します。
このインターフェイスは、非同期読み取り操作を実行する出力ピンによって公開されます。 インターフェイスは、ダウンストリーム フィルターの入力ピンによって使用されます。 アプリケーションでは、このインターフェイスは使用されません。 非同期ファイル ソース フィルターは、出力ピンでこのインターフェイスを公開します。
フィルター開発者: 出力ピンがバイト ストリーム (MEDIATYPE_Stream) の形式でデータを配信し、プル モデルをサポートする場合は、このインターフェイスを実装します。 接続プロセス中に、ダウンストリームピンがインターフェイスに対IAsyncReader
してクエリを実行するかどうかをチェックします。 そうでない場合は、ピンが接続に失敗するか、他のトランスポートを確立する必要があります。 (ピンが CBasePin から派生している場合は、CBasePin::CheckConnect メソッドでこのチェックを実行します)。
このインターフェイスの使用方法の詳細については、次のトピックを参照してください。
継承
IAsyncReader インターフェイスは、IUnknown インターフェイスから継承されます。 IAsyncReader には、次の種類のメンバーもあります。
メソッド
IAsyncReader インターフェイスには、これらのメソッドがあります。
IAsyncReader::BeginFlush BeginFlush メソッドはフラッシュ操作を開始します。 (IAsyncReader.BeginFlush) |
IAsyncReader::EndFlush EndFlush メソッドはフラッシュ操作を終了します。 (IAsyncReader.EndFlush) |
IAsyncReader::Length Length メソッドは、ストリームの合計長を取得します。 |
IAsyncReader::Request Request メソッドは、データの非同期要求をキューに入れます。 |
IAsyncReader::RequestAllocator RequestAllocator メソッドは、ピン接続中にアロケーターを要求します。 |
IAsyncReader::SyncRead SyncRead メソッドは同期読み取りを実行します。 メソッドは、要求が完了するまでブロックします。 ファイルの位置とバッファー アドレスを揃える必要はありません。 要求がアラインされていない場合、メソッドはバッファー内の読み取り操作を実行します。 |
IAsyncReader::SyncReadAligned SyncReadAligned メソッドは同期読み取りを実行します。 メソッドは、要求が完了するまでブロックします。 ファイルの位置とバッファー アドレスを配置する必要があります。必要なアラインメントのアロケーター プロパティをチェックします。 |
IAsyncReader::WaitForNext WaitForNext メソッドは、次の保留中の読み取り要求が完了するまで待機します。 |
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | strmif.h (Dshow.h を含む) |