Condividi tramite


Metodo IDirectDrawSurface7::P ageLock (ddraw.h)

Impedisce il paging di una superficie di memoria di sistema mentre è in corso un'operazione bit block transfer (bitblt) che usa trasferimenti DMA (Direct Memory Access) verso o dalla memoria di sistema.

Sintassi

HRESULT PageLock(
  [in] DWORD unnamedParam1
);

Parametri

[in] unnamedParam1

Attualmente non usato e deve essere impostato su 0.

Valore restituito

Se il metodo ha esito positivo, il valore restituito viene DD_OK.

Se ha esito negativo, il metodo può restituire uno dei valori di errore seguenti:

  • DDERR_CANTPAGELOCK
  • DDERR_INVALIDOBJECT
  • DDERR_INVALIDPARAMS
  • DDERR_SURFACELOST

Commenti

È necessario chiamare PageLock per usare il supporto DMA. In caso contrario, il bitblt viene eseguito usando l'emulazione software.

Le prestazioni del sistema operativo possono essere influenzate negativamente se la quantità di memoria è bloccata.

Viene mantenuto un conteggio dei blocchi per ogni superficie e viene incrementato ogni volta che viene chiamato PageLock per tale superficie. Il conteggio viene decrementato quando viene chiamato IDirectDrawSurface7::P ageUnlock . Quando il conteggio raggiunge 0, la memoria viene sbloccata e può quindi essere sottoposta a paging dal sistema operativo.

PageLock funziona solo sulle superfici di memoria di sistema; non blocca la pagina di una superficie di memoria visualizzata o una superficie primaria emulata. Se un'applicazione chiama PageLock su una superficie di memoria di visualizzazione, il metodo non esegue alcuna operazione ad eccezione di DD_OK.

IDirectDrawSurface7::P ageLock non è stato implementato nella versione dell'interfaccia IDirectDraw .

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione ddraw.h
Libreria Ddraw.lib
DLL Ddraw.dll

Vedi anche

IDirectDrawSurface7