Método IDirectDrawSurface7::P ageLock (ddraw.h)
Impide que una superficie de memoria del sistema se pagina mientras una operación de transferencia de bloques de bits (bitblt) que usa transferencias de acceso directo a memoria (DMA) hacia o desde la memoria del sistema está en curso.
Sintaxis
HRESULT PageLock(
[in] DWORD unnamedParam1
);
Parámetros
[in] unnamedParam1
Actualmente no se usa y debe establecerse en 0.
Valor devuelto
Si el método se realiza correctamente, el valor devuelto se DD_OK.
Si se produce un error, el método puede devolver uno de los siguientes valores de error:
- DDERR_CANTPAGELOCK
- DDERR_INVALIDOBJECT
- DDERR_INVALIDPARAMS
- DDERR_SURFACELOST
Comentarios
Debe llamar a PageLock para usar la compatibilidad con DMA. Si no lo hace, el bitblt se produce mediante la emulación de software.
El rendimiento del sistema operativo puede verse afectado negativamente si hay demasiada memoria bloqueada.
Se mantiene un recuento de bloqueos para cada superficie y se incrementa cada vez que se llama a PageLock para esa superficie. El recuento se disminuye cuando se llama a IDirectDrawSurface7::P ageUnlock . Cuando el recuento alcanza 0, la memoria se desbloquea y, a continuación, el sistema operativo puede paginar.
PageLock solo funciona en superficies de memoria del sistema; no bloquea una superficie de memoria de visualización ni una superficie primaria emulada. Si una aplicación llama a PageLock en una superficie de memoria para mostrar, el método no hace nada excepto devolver DD_OK.
IDirectDrawSurface7::P ageLock no se implementó en la versión de la interfaz IDirectDraw .
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Windows |
Encabezado | ddraw.h |
Library | Ddraw.lib |
Archivo DLL | Ddraw.dll |