次の方法で共有


IPortWavePciStream::TerminatePacket メソッド (portcls.h)

TerminatePacket メソッドは、現在マップされているパケットを終了します。

構文

NTSTATUS TerminatePacket();

戻り値

TerminatePacket は、呼び出しが成功した場合にSTATUS_SUCCESSを返します。 それ以外の場合、メソッドは適切なエラー コードを返します。

備考

この方法は主に、ストリーム内の特定のポイントで I/O パケットを終了する必要がある場合 (ビデオ フレームと同期する場合など) をキャプチャするために使用されます。 オーディオ デバイス上のキャプチャ ピンのデータ バッファーは、1 つ以上の I/O パケットで構成されます。 各 I/O パケットは、特定のマッピング IRP に接続されているデータ バッファーの部分です。 既定では、キャプチャ ストリームはKSSTATE_RUN状態ですが、I/O パケットの内容は、パケットの最後のマッピングが入力されている場合にのみ、クライアントで使用できるようになります。 TerminatePacket メソッドは、追加のキャプチャ データを待たずに、部分的に塗りつぶされたパケットをすぐにクライアントで使用できるようにします。

キャプチャ ストリームの状態を KSSTATE_RUN から KSSTATE_STOP に変更すると、現在の I/O パケットが自動的に終了します。

必要条件

要件 価値
ターゲット プラットフォーム 万国
ヘッダー portcls.h (Portcls.h を含む)
IRQL <=DISPATCH_LEVEL