次の方法で共有


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

パイプラインによって渡される IMFSampleMFSampleExtension_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を返します。

要件

要件
対象プラットフォーム ユニバーサル
Header ks.h (Ks.h を含む)
Library Ks.lib