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 |