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
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 |