Compartir a través de


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

Consulte también

IDirectDrawSurface7