次の方法で共有


ISampleGrabber::SetCallback メソッド

[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayerIMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayerIMFMediaEngineAudio/Video Capture を使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]

注意

[非推奨。 この API は、Windows の今後のリリースから削除される可能性があります。

 

SetCallback メソッドは、着信サンプルで呼び出すコールバック メソッドを指定します。

構文

HRESULT SetCallback(
   ISampleGrabberCB *pCallback,
   long             WhichMethodToCallback
);

パラメーター

pCallback

コールバック メソッドを含む ISampleGrabberCB インターフェイスへのポインター。コールバックをキャンセルする 場合は NULL

WhichMethodToCallback

コールバック メソッドを指定するインデックス。 次のいずれかの値を指定する必要があります。

説明
0 サンプル グラバー フィルターは 、ISampleGrabberCB::SampleCB メソッドを 呼び出します。 このメソッドは 、IMediaSample ポインターを受け取ります。
1 サンプル グラバー フィルターは 、ISampleGrabberCB::BufferCB メソッドを 呼び出します。 このメソッドは、メディア サンプルに含まれているバッファーへのポインターを受け取ります。

 

戻り値

このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。

解説

データ処理スレッドは、コールバック メソッドが戻るまでブロックします。 コールバックがすぐに戻らないと、再生が妨げられる可能性があります。

フィルターは、プリロール サンプル、またはAM_SAMPLE2_PROPERTIES構造体の dwStreamId メンバーが AM_STREAM_MEDIA 以外のサンプルの場合、コールバック関数を呼び出しません。

注意

ヘッダー ファイル Qedit.h は、バージョン 7 より後の Direct3D ヘッダーと互換性がありません。

 

注意

Qedit.h を入手するには、Windows Vista および .NET Framework 3.0 のMicrosoft Windows SDK Update をダウンロードします。 Qedit.h は、Windows 7 および .NET Framework 3.5 Service Pack 1 のMicrosoft Windows SDKでは使用できません。

 

要件

要件
ヘッダー
Qedit.h
ライブラリ
Strmiids.lib

関連項目

サンプル グラバーの使用

ISampleGrabber インターフェイス