Compartilhar via


Função HeapVidMemAllocAligned (dmemmgr.h)

A função HeapVidMemAllocAligned aloca off_screen_memory para um driver de exibição usando o gerenciador de heap de memória de vídeo DirectDraw.

Sintaxe

FLATPTR HeapVidMemAllocAligned(
  [in]  LPVIDMEM           lpVidMem,
  [in]  DWORD              dwWidth,
  [in]  DWORD              dwHeight,
  [in]  LPSURFACEALIGNMENT lpAlignment,
  [out] LPLONG             lpNewPitch
);

Parâmetros

[in] lpVidMem

Ponteiro para uma estrutura VIDEOMEMORY que representa o heap DirectDraw do qual alocar a superfície.

[in] dwWidth

É a largura em bytes da superfície solicitada.

[in] dwHeight

É a altura em linhas de verificação da superfície solicitada.

[in] lpAlignment

Ponteiro para uma estrutura SURFACEALIGNMENT que descreve as restrições de alinhamento para a superfície.

[out] lpNewPitch

É o local no qual o valor de pitch resultante é gravado. Essas informações são relevantes apenas para heaps lineares (não retangulares) fora da tela.

Valor retornado

HeapVidMemAllocAligned retorna o deslocamento FLATPTR da alocação resultante após o sucesso. Caso contrário, ele retornará zero.

Comentários

O driver deve usar a matriz de estruturas VIDEOMEMORY que sua função DrvGetDirectDrawInfo recebe para determinar o valor de lpVidMem com o qual chamar HeapVidMemAllocAligned. O driver recebe essa matriz no parâmetro pvmList durante a segunda chamada para DrvGetDirectDrawInfo. É possível que DrvGetDirectDrawInfo não seja chamado quando existem condições de memória insuficiente no sistema. Consequentemente, o driver deve sempre marcar para garantir que ele tenha um ponteiro não NULL em pvmList.

Requisitos

   
Cliente mínimo com suporte Disponível no Windows 2000 e versões posteriores dos sistemas operacionais Windows.
Plataforma de Destino Universal
Cabeçalho dmemmgr.h (inclua Winddi.h)
Biblioteca Win32k.lib
DLL Win32k.sys

Confira também

DrvGetDirectDrawInfo

SURFACEALIGNMENT

VIDEOMEMORY

VidMemFree