Поделиться через


Функция HeapVidMemAllocAligned (dmemmgr.h)

Функция HeapVidMemAligned выделяет off_screen_memory для драйвера дисплея с помощью диспетчера кучи видеопамять DirectDraw.

Синтаксис

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 результирующего выделения при успешном выполнении. В противном случае возвращается ноль.

Комментарии

Драйвер должен использовать массив структур VIDEOMEMORY, получаемый функцией DrvGetDirectDrawInfo , чтобы определить значение lpVidMem , с которым вызывается HeapVidMemAllocAligned. Драйвер получает этот массив в параметре pvmList во время второго вызова DrvGetDirectDrawInfo. Возможно, drvGetDirectDrawInfo не вызывается при наличии в системе условий нехватки памяти. Следовательно, драйвер всегда должен проверка, чтобы убедиться, что в pvmList имеется указатель, отличный от NULL.

Требования

   
Минимальная версия клиента Доступно в Windows 2000 и более поздних версиях операционных систем Windows.
Целевая платформа Универсальное
Верхняя часть dmemmgr.h (включая Winddi.h)
Библиотека Win32k.lib
DLL Win32k.sys

См. также раздел

DrvGetDirectDrawInfo

SURFACEALIGNMENT

ВИДЕО-ПАМЯТЬ

VidMemFree