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