HeapVidMemAllocAligned 函数 (dmemmgr.h)
HeapVidMemAllocAligned 函数使用 DirectDraw 视频内存堆管理器为显示驱动程序分配off_screen_memory。
语法
FLATPTR HeapVidMemAllocAligned(
[in] LPVIDMEM lpVidMem,
[in] DWORD dwWidth,
[in] DWORD dwHeight,
[in] LPSURFACEALIGNMENT lpAlignment,
[out] LPLONG lpNewPitch
);
参数
[in] lpVidMem
指向 VIDEOMEMORY 结构的指针,该结构表示要从中分配图面的 DirectDraw 堆。
[in] dwWidth
所请求图面的宽度(以字节为单位)。
[in] dwHeight
所请求表面的扫描线条的高度。
[in] lpAlignment
指向 SURFACEALIGNMENT 结构的指针,该结构描述图面的对齐限制。
[out] lpNewPitch
写入生成的音调值的位置。 此信息仅与线性 (非矩形) 屏幕外堆相关。
返回值
HeapVidMemAllocAligned 在成功后返回结果分配的 FLATPTR 偏移量。 否则,它将返回零。
备注
驱动程序应使用其 DrvGetDirectDrawInfo 函数接收的 VIDEOMEMORY 结构的数组来确定用于调用 HeapVidMemAllocAligned 的 lpVidMem 的值。 驱动程序在第二次调用 DrvGetDirectDrawInfo 期间在 pvmList 参数中接收此数组。 当系统上存在内存不足的情况时,可能无法调用 DrvGetDirectDrawInfo 。 因此,驱动程序应始终检查,以确保它在 pvmList 中具有非 NULL 指针。
要求
最低受支持的客户端 | 在 Windows 2000 及更高版本的 Windows 操作系统中可用。 |
目标平台 | 通用 |
标头 | dmemmgr.h (包括 Winddi.h) |
Library | Win32k.lib |
DLL | Win32k.sys |