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

请参阅

DrvGetDirectDrawInfo

SURFACEALIGNMENT

VIDEOMEMORY

VidMemFree