Partager via


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

Empêche le paginage d’une surface de mémoire système pendant qu’une opération de transfert de bloc de bits (bitblt) qui utilise des transferts d’accès direct à la mémoire (DMA) vers ou depuis la mémoire système est en cours.

Syntaxe

HRESULT PageLock(
  [in] DWORD unnamedParam1
);

Paramètres

[in] unnamedParam1

Actuellement non utilisé et doit être défini sur 0.

Valeur retournée

Si la méthode réussit, la valeur de retour est DD_OK.

En cas d’échec, la méthode peut retourner l’une des valeurs d’erreur suivantes :

  • DDERR_CANTPAGELOCK
  • DDERR_INVALIDOBJECT
  • DDERR_INVALIDPARAMS
  • DDERR_SURFACELOST

Remarques

Vous devez appeler PageLock pour utiliser la prise en charge de DMA. Si ce n’est pas le cas, le bitblt se produit à l’aide de l’émulation logicielle.

Les performances du système d’exploitation peuvent être affectées négativement si trop de mémoire est verrouillée.

Un nombre de verrous est conservé pour chaque surface et incrémenté chaque fois que PageLock est appelé pour cette surface. Le nombre est décrémenté lorsque IDirectDrawSurface7 ::P ageUnlock est appelé. Lorsque le nombre atteint 0, la mémoire est déverrouillée et peut ensuite être paginée par le système d’exploitation.

PageLock fonctionne uniquement sur les surfaces de mémoire système ; il ne verrouille pas de page une surface d’affichage en mémoire ou une surface principale émulée. Si une application appelle PageLock sur une surface de mémoire d’affichage, la méthode ne fait rien, sauf retourner DD_OK.

IDirectDrawSurface7 ::P ageLock n’a pas été implémenté dans la version de l’interface IDirectDraw .

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête ddraw.h
Bibliothèque Ddraw.lib
DLL Ddraw.dll

Voir aussi

IDirectDrawSurface7