Compartilhar via


Método IDirectDrawSurface7::P ageLock (ddraw.h)

Impede que uma superfície de memória do sistema seja paginada enquanto uma operação de transferência de bits (bitblt) que usa transferências de DMA (acesso direto à memória) de ou para a memória do sistema está em andamento.

Sintaxe

HRESULT PageLock(
  [in] DWORD unnamedParam1
);

Parâmetros

[in] unnamedParam1

Atualmente, não é usado e deve ser definido como 0.

Retornar valor

Se o método for bem-sucedido, o valor retornado será DD_OK.

Se falhar, o método poderá retornar um dos seguintes valores de erro:

  • DDERR_CANTPAGELOCK
  • DDERR_INVALIDOBJECT
  • DDERR_INVALIDPARAMS
  • DDERR_SURFACELOST

Comentários

Você deve chamar PageLock para usar o suporte ao DMA. Se você não fizer isso, o bitblt ocorrerá usando a emulação de software.

O desempenho do sistema operacional poderá ser afetado negativamente se muita memória estiver bloqueada.

Uma contagem de bloqueios é mantida para cada superfície e é incrementada sempre que PageLock é chamado para essa superfície. A contagem é decrementada quando IDirectDrawSurface7::P ageUnlock é chamado. Quando a contagem atinge 0, a memória é desbloqueada e pode ser paginada pelo sistema operacional.

O PageLock funciona apenas em superfícies de memória do sistema; ele não bloqueia uma superfície de memória de exibição ou uma superfície primária emulada. Se um aplicativo chamar PageLock em uma superfície de memória de exibição, o método não fará nada além de retornar DD_OK.

IDirectDrawSurface7::P ageLock não foi implementado na versão da interface IDirectDraw .

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho ddraw.h
Biblioteca Ddraw.lib
DLL Ddraw.dll

Confira também

IDirectDrawSurface7