KsAcquireCachedMdl 関数 (ks.h)

この関数は、KS ポート ドライバーによってキャッシュされた MDL を取得するために使用されます。 この関数は、Avstream ドライバーによって生成されたパイプライン提供のサンプルの MDL を取得するためにカーネル モード ドライバーによって使用されます。

構文

KSDDKAPI NTSTATUS KsAcquireCachedMdl(
  PIRP                 Irp,
  REFGUID              Guid,
  PFNKSCANCELPINNEDMDL CancelRoutine,
  PVOID                CancelContext,
  PMDL                 *MdlAddr,
  PVOID                *ReleaseContext
);

パラメーター

Irp

ユーザー モードのサンプル バッファーを含むユーザー モードから渡された IRP。

Guid

IMFSample の MFSampleExtension_MDLCacheCookie 属性項目から抽出された GUID パイプラインによって渡されます。

CancelRoutine

キャンセル ルーチン、Avstream ミニポート ドライバーによって提供されるコールバック関数。 この関数は、サンプルを生成するピンの状態が STOP 状態になると呼び出されます。 キャンセル ルーチンのシグネチャは次のとおりです。

_IRQL_requires_max_(DISPATCH_LEVEL)
typedef
VOID
(*PFNKSCANCELPINNEDMDL)(
    _In_ GUID,
    _In_ PVOID,
    _In_ PVOID
);

GUID
Avstream ミニポート ドライバーによって KsAcquireCachedMdl 関数で渡される GUID。

PVOID
KsAcquireCachedMdl 関数呼び出しで Avstream ミニポート ドライバーによって提供されるコンテキストを取り消します。

PVOID
リリース コンテキスト。 これは、KsAcquireCachedMdl 関数の出力です。

CancelContext

キャンセル ルーチンで Avstream ドライバーに渡されるコンテキスト。 このコンテキストは、Avstream ドライバーがドライバー コンテキストに入るために使用されます。

MdlAddr

戻り値: KS がサンプル バッファーに格納されている MDL を検出した場合の結果の MDL。

ReleaseContext

戻り値: Avstream ドライバーによって格納されるコンテキスト。 このコンテキストは、KsAcquireCachedMdl 呼び出しによって取得された MDL を解放するときに KS に渡す必要があります。

戻り値

成功条件のSTATUS_SUCCESSを返します。

必要条件

要件 価値
ターゲット プラットフォーム 万国
ヘッダー ks.h (Ks.h を含む)
ライブラリ Ks.lib