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
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 |