次の方法で共有


KsStreamPointerAdvanceOffsets 関数 (ks.h)

KsStreamPointerAdvanceOffsets 関数は StreamPointer のオフセットを進めます。

構文

KSDDKAPI NTSTATUS KsStreamPointerAdvanceOffsets(
  [in] PKSSTREAM_POINTER StreamPointer,
  [in] ULONG             InUsed,
  [in] ULONG             OutUsed,
  [in] BOOLEAN           Eject
);

パラメーター

[in] StreamPointer

オフセットを進めるストリーム ポインターを表す KSSTREAM_POINTER 構造体へのポインター。 この関数が呼び出されると、StreamPointer はロックされた状態である必要があります。

[in] InUsed

このストリーム ポインターの入力ポインターを進めるバイト数。

(StreamPointer -> OffsetIn)

[in] OutUsed

このストリーム ポインターの出力ポインターを進めるバイト数

(StreamPointer -> OffsetOut)

[in] Eject

このパラメーターは、ストリーム ポインターを次のデータ フレームに進める必要があるかどうかを示します。このパラメーターが TRUE に設定されている場合、AVStream は、オフセットを進めることによってストリーム ポインターがフレームの末尾を指すかどうかに関係なく、ストリーム ポインターを進めます。

戻り値

KsStreamPointerAdvanceOffsets は 成功時にSTATUS_SUCCESSを返します。 StreamPointer が呼び出し時にロックされていない場合、またはストリーム ポインターを前進後にロックできなかった場合は、STATUS_DEVICE_NOT_READYを返します。

注釈

AVStream は、入力および出力データ ポインターおよびその他の関連フィールドを要求された値によって更新します。 オフセットを進めて現在のフレームに残っているバイト数が 0 の場合、AVStream はストリーム ポインターを次のデータ フレームに進め、再ロックします。

KsStreamPointerAdvanceOffsets を呼び出す前に StreamPointer がロックされていることを確認するのはミニドライバーの責任です。 また、単一の進歩では、ストリーム ポインターをキュー内の次のフレームの先頭より先に進めることはできません。 したがって、ミニドライバーは StreamPointer -> Offset* より大きい値でオフセットを進めないようにしてください。残り

Stream ポインター」も参照してください。

要件

要件
サポートされている最小のクライアント Microsoft Windows XP 以降のオペレーティング システムおよび DirectX 8.0 以降の DirectX バージョンで使用できます。
対象プラットフォーム ユニバーサル
Header ks.h (Ks.h を含む)
Library Ks.lib
IRQL <=DISPATCH_LEVEL

こちらもご覧ください

KsStreamPointerAdvance

KsStreamPointerAdvanceOffsetsAndUnlock

KsStreamPointerLock

KsStreamPointerUnlock