次の方法で共有


KsPinGetAvailableByteCount 関数 (ks.h)

KsPinGetAvailableByteCount ルーチンは、呼び出し元が指定したピンのキューに対して、先頭エッジより前の入力データのバイト数と、先頭エッジの前の出力バッファーのバイト数を出力します。

構文

KSDDKAPI NTSTATUS KsPinGetAvailableByteCount(
  [in]            PKSPIN Pin,
  [out, optional] PLONG  InputDataBytes,
  [out, optional] PLONG  OutputBufferBytes
);

パラメーター

[in] Pin

これらのキュー パラメーターを計算する KSPIN 構造体へのポインター。

[out, optional] InputDataBytes

ルーチンが先頭エッジより前の入力データ バイト数を返す LONG 値へのポインター。 この値が要求されない場合、呼び出し元は NULL に設定されます。

[out, optional] OutputBufferBytes

ルーチンが先頭エッジの前の出力バッファー バイト数を返す LONG 値へのポインター。 この値が要求されない場合、呼び出し元は NULL に設定されます。

戻り値

要求された数が取得された場合は、STATUS_SUCCESSを返します。 失敗した戻り状態は、 Pin に関連付けられたキューがないことを示します。

注釈

非インプレース ピンでは 、入力ピンには InputDataBytes 、出力ピンには OutputBufferBytes を使用する 必要があります。

この呼び出しの結果は、処理ミューテックスが呼び出し時に保持されているか、呼び出し元がルーチンを呼び出す前にプライベートに同期されていない限り、安全であるとは限りません。 プライベート 同期を行う場合は、ルーチンの実行中にピンが Acquire から Stop に切り替わらないことを確認します。 AVStream でのミューテックスの処理に関するページを参照してください。

インプレース変換では、入力と出力の数を指定できることにも注意してください。

Windows XP および DirectX 8.0 では、フィルターが受け取るフレームがいっぱいでない限り 、InputDataBytes 数は無効です。

詳細については、「先頭と末尾のエッジ Stream ポインター」を参照してください。

要件

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

こちらもご覧ください

AVStrMiniPinProcess

KSPIN_DESCRIPTOR_EX

KSPIN_DISPATCH

KSSTREAM_POINTER

KsFilterAcquireProcessingMutex

KsFilterReleaseProcessingMutex

KsPinAcquireProcessingMutex

KsPinGetLeadingEdgeStreamPointer

KsPinGetTrailingEdgeStreamPointer

KsPinReleaseProcessingMutex