Partager via


IDirect3DVertexBuffer9 ::Lock, méthode (d3d9.h)

Verrouille une plage de données de vertex et obtient un pointeur vers la mémoire tampon de vertex.

Syntaxe

HRESULT Lock(
  [in]  UINT  OffsetToLock,
  [in]  UINT  SizeToLock,
  [out] void  **ppbData,
  [in]  DWORD Flags
);

Paramètres

[in] OffsetToLock

Type : UINT

Décalage dans les données de vertex à verrouiller, en octets. Pour verrouiller l’intégralité de la mémoire tampon de vertex, spécifiez 0 pour les deux paramètres, SizeToLock et OffsetToLock.

[in] SizeToLock

Type : UINT

Taille des données de vertex à verrouiller, en octets. Pour verrouiller l’intégralité de la mémoire tampon de vertex, spécifiez 0 pour les deux paramètres, SizeToLock et OffsetToLock.

[out] ppbData

Type : VOID**

POINTEUR VOID* vers une mémoire tampon contenant les données de vertex retournées.

[in] Flags

Type : DWORD

Combinaison de zéro ou plusieurs indicateurs de verrouillage qui décrivent le type de verrou à effectuer. Pour cette méthode, les indicateurs valides sont les suivants :

  • D3DLOCK_DISCARD
  • D3DLOCK_NO_DIRTY_UPDATE
  • D3DLOCK_NOSYSLOCK
  • D3DLOCK_READONLY
  • D3DLOCK_NOOVERWRITE
Pour obtenir une description des indicateurs, consultez D3DLOCK.

Valeur retournée

Type : HRESULT

Si la méthode réussit, la valeur de retour est D3D_OK. Si la méthode échoue, la valeur de retour peut être D3DERR_INVALIDCALL.

Remarques

En règle générale, ne tenez pas de verrou sur plusieurs images. Lorsque vous utilisez des tampons de vertex, vous êtes autorisé à effectuer plusieurs appels de verrouillage ; Toutefois, vous devez vous assurer que le nombre d’appels de verrouillage correspond au nombre d’appels de déverrouillage. Les appels DrawPrimitive ne réussissent pas avec le nombre de verrous en suspens sur la mémoire tampon de vertex actuellement définie.

Les indicateurs D3DLOCK_DISCARD et D3DLOCK_NOOVERWRITE sont valides uniquement sur les mémoires tampons créées avec D3DUSAGE_DYNAMIC.

Pour plus d’informations sur l’utilisation de D3DLOCK_DISCARD ou de D3DLOCK_NOOVERWRITE avec IDirect3DVertexBuffer9 ::Lock, consultez Utilisation de vertex dynamiques et de mémoires tampons d’index.

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête d3d9.h (inclure D3D9.h)
Bibliothèque D3D9.lib

Voir aussi

IDirect3DVertexBuffer9

IDirect3DVertexBuffer9 ::Unlock

Tampons de vertex (Direct3D 9)