videoPortAllocatePool 函数 (video.h)

VideoPortAllocatePool 函数分配池内存块,并在内存的开头插入调用方提供的标记。

语法

VIDEOPORT_API PVOID VideoPortAllocatePool(
  [in] IN PVOID        HwDeviceExtension,
  [in] IN VP_POOL_TYPE PoolType,
  [in] IN SIZE_T       NumberOfBytes,
  [in] IN ULONG        Tag
);

参数

[in] HwDeviceExtension

指向微型端口驱动程序的设备扩展的指针。

[in] PoolType

指定要分配的内存池的类型。 此参数可以设置为下列值之一:

含义
VpNonPagedPool 池来自非分页内存。
VpPagedPool 池来自分页内存。
VpNonPagedPoolCacheAligned 池来自缓存对齐的非分页内存。
VpPagedPoolCacheAligned 池来自缓存对齐的分页内存。

[in] NumberOfBytes

指定要分配的内存字节数。

[in] Tag

指定由最多四个 ASCII 字符组成的四字节分配标记,该标记唯一标识分配内存的驱动程序。 标记字符串用单引号分隔。

返回值

成功分配内存池后, VideoPortAllocatePool 将返回已分配内存池的地址。 否则,此函数返回 NULL

注解

VideoPortAllocatePool 旨在替换 VideoPortAllocateBuffer,后者已过时。

应按字节反向顺序指定 Tag 字符串。 建议在反转字符串中的第一个字母之前 (,) 为“D”来表示显示驱动程序;其他三个字节应指示驱动程序名称。 例如,如果转储了池, 则标记 字符串“zyxD”显示为“Dxyz”。 标记显示在系统发生的任何故障转储中。

仅当请求的 PoolTypeVpNonPagedXxx 类型之一时,VideoPortAllocatePool 的调用方才能在 IRQL = DISPATCH_LEVEL运行。 否则,调用方必须在 IRQL < DISPATCH_LEVEL运行。

要求

要求
最低受支持的客户端 在 Windows XP 和更高版本的 Windows 操作系统中可用。
目标平台 桌面
标头 video.h (包括 Video.h)
Library Videoprt.lib
DLL Videoprt.sys
IRQL 请参见“备注”部分。

另请参阅

VideoPortFreePool