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

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

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

要求

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

另请参阅

VideoPortFreePool