次の方法で共有


KsStreamPointerClone 関数 (ks.h)

KsStreamPointerClone 関数は、指定されたストリーム ポインターの複製を作成します。

構文

KSDDKAPI NTSTATUS KsStreamPointerClone(
  [in]           PKSSTREAM_POINTER  StreamPointer,
  [in, optional] PFNKSSTREAMPOINTER CancelCallback,
  [in]           ULONG              ContextSize,
  [out]          PKSSTREAM_POINTER  *CloneStreamPointer
);

パラメーター

[in] StreamPointer

複製されるストリーム ポインターを表す KSSTREAM_POINTER 構造体へのポインター。

[in, optional] CancelCallback

省略可能。 ミニドライバーが提供する AVStrMiniCancelCallback ルーチンへのポインター。 CloneStreamPointer に関連付けられている IRP が取り消された場合、AVStream はこのルーチンを呼び出します。

[in] ContextSize

このパラメーターは、結果の複製ストリーム ポインターに必要なミニドライバー コンテキスト情報のバイト数を示します。 0 以外の場合、要求されたバイト数は返されたストリーム ポインターの直後に割り当てられ、CloneStreamPointerContext フィールドは割り当てられたメモリを指します。

[out] CloneStreamPointer

KSSTREAM_POINTER構造体へのポインターへのポインター。 複製操作が正常に完了すると、 CloneStreamPointer には、複製されたストリーム ポインターのアドレスへのポインターが含まれます。

戻り値

KsStreamPointerClone は、複製操作が正常に完了したことを示すSTATUS_SUCCESS、または適切なエラー コードを返します。

注釈

結果の複製は、最初は元のストリーム ポインターと同じデータ フレームを参照し、同じ状態 (ロックまたはロック解除) になります。 データ フレームを参照する複製ストリーム ポインターを追加すると、その特定のフレームの参照カウントがインクリメントされます。 対象のフレーム、つまりフレームが属する IRP は、参照カウントが 0 になるまで完了しないことに注意してください。

割り当て呼び出しを最小限に抑えるには、この呼び出しの ContextSize パラメーターを使用できます。

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

要件

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

こちらもご覧ください

KsStreamPointerAdvance

KsStreamPointerAdvanceOffsets

KsStreamPointerAdvanceOffsetsAndUnlock

KsStreamPointerDelete

KsStreamPointerLock

KsStreamPointerUnlock