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”。 标记显示在系统发生的任何故障转储中。
仅当请求的 PoolType 是 VpNonPagedXxx 类型之一时,VideoPortAllocatePool 的调用方才能在 IRQL = DISPATCH_LEVEL运行。 否则,调用方必须在 IRQL < DISPATCH_LEVEL运行。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 Windows XP 和更高版本的 Windows 操作系统中可用。 |
目标平台 | 桌面 |
标头 | video.h (包括 Video.h) |
Library | Videoprt.lib |
DLL | Videoprt.sys |
IRQL | 请参见“备注”部分。 |