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 微型端口驱动程序提供的回调函数。 生成示例的引脚状态将停止状态时,将调用此函数。 取消例程的签名如下所示:

_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