次の方法で共有


PFNKSPIN コールバック関数 (ks.h)

AVStream ミニドライバーのコールバック ルーチンは、次の場合に呼び出されます。

構文

PFNKSPIN Pfnkspin;

NTSTATUS Pfnkspin(
  [in] PKSPIN Pin
)
{...}

パラメーター

[in] Pin

フレーム データを処理できる KSPIN へのポインター。

戻り値

処理を続行するには、STATUS_SUCCESSを返します。 次のトリガー イベントまで処理を停止するSTATUS_PENDINGを返します。

備考

AVStrMiniPinProcess について

ミニドライバーは、その KSPIN_DISPATCH 構造体のメンバー プロセスで、このルーチンのアドレスを指定します。

フィルターで、このディスパッチ関数を指定して Pin-Centric 処理 を使用することを示します。 ミニドライバーは、AVStream が AVStrMiniPinProcess 呼び出すタイミングを決定する関連する KSPIN_DESCRIPTOR_EX 構造体にピン フラグを設定します。 ミニドライバーが記述子にフラグを設定しない場合、既定の動作は、新しいデータが以前に空のキューに到着したときに AVStream が AVStrMiniPinProcess 呼び出します。 トリガーの処理の詳細については、「Pin-Centric 処理」を参照してください。

処理後、ミニドライバーは、先頭のエッジ ストリーム ポインターを複製することで、フレームが完了するのを防ぐことができます。 これを行うには、KsStreamPointerClone 呼び出します。 「先頭および末尾のエッジ ストリーム ポインターを参照してください。

または、KSPIN_DESCRIPTOR_EXにKSPIN_FLAG_DISTINCT_TRAILING_EDGEを設定して、個別の末尾のエッジを指定します。 3 番目のオプションは、先行エッジ ストリーム ポインターを進めないようにすることです。

プロセスディスパッチは、既定の IRQL = PASSIVE_LEVELで行われるか、ミニドライバーが関連する KSPIN_DESCRIPTOR_EXでKSPIN_FLAG_DISPATCH_LEVEL_PROCESSINGを指定した場合は、場合によってはDISPATCH_LEVELで行われます。

このルーチンは省略可能です。

AVStrMiniPinConnect について

ミニドライバーは、その KSPIN_DISPATCH 構造体の Connect メンバーで、このルーチンのアドレスを指定します。

STATUS_SUCCESSを返すか、接続内の確立の試行から返されたエラーを返します。 STATUS_PENDINGを返さないでください。

このルーチンは省略可能です。

KS ピン も参照してください。

必要条件

要件 価値
サポートされる最小クライアント Microsoft Windows XP 以降のオペレーティング システムと DirectX 8.0 以降の DirectX バージョンで使用できます。
ターゲット プラットフォーム デスクトップ
ヘッダー ks.h (Ks.h を含む)
IRQL (「解説」セクションを参照)

関連項目

Filter-Centric 処理

KSPIN_DESCRIPTOR_EX

KSPIN_DISPATCH

KsStreamPointerClone

Pin-Centric 処理