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

Cancel 例程,Avstream 微型端口驱动程序提供的回调函数。 当生成示例的引脚的状态将设置为 STOP 状态时,将调用此函数。 取消例程的签名如下所示:

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

GUID
由 Avstream 微型端口驱动程序在 KsAcquireCachedMdl 函数中传递的 GUID。

PVOID
取消 Avstream 微型端口驱动程序在 KsAcquireCachedMdl 函数调用中提供的上下文。

PVOID
发布上下文。 这是 KsAcquireCachedMdl 函数的输出。

CancelContext

在取消例程中传递给 Avstream 驱动程序的上下文。 Avstream 驱动程序使用此上下文进入驱动程序上下文。

MdlAddr

返回值:如果 KS 找到为示例缓冲区存储的 MDL,则为生成的 MDL。

ReleaseContext

返回值:Avstream 驱动程序要存储的上下文。 释放由 KsAcquireCachedMdl 调用获取的 MDL 时,应将此上下文传递给 KS。

返回值

返回成功条件STATUS_SUCCESS。

要求

要求
目标平台 通用
标头 ks.h (包括 Ks.h)
Library Ks.lib