Método IDirect3DVertexBuffer9::Lock (d3d9.h)
Bloquea un intervalo de datos de vértices y obtiene un puntero a la memoria del búfer de vértices.
Sintaxis
HRESULT Lock(
[in] UINT OffsetToLock,
[in] UINT SizeToLock,
[out] void **ppbData,
[in] DWORD Flags
);
Parámetros
[in] OffsetToLock
Tipo: UINT
Desplazamiento en los datos de vértice que se van a bloquear, en bytes. Para bloquear todo el búfer de vértices, especifique 0 para ambos parámetros, SizeToLock y OffsetToLock.
[in] SizeToLock
Tipo: UINT
Tamaño de los datos de vértices que se van a bloquear, en bytes. Para bloquear todo el búfer de vértices, especifique 0 para ambos parámetros, SizeToLock y OffsetToLock.
[out] ppbData
Tipo: VOID**
VOID* puntero a un búfer de memoria que contiene los datos de vértices devueltos.
[in] Flags
Tipo: DWORD
Combinación de cero o más marcas de bloqueo que describen el tipo de bloqueo que se va a realizar. Para este método, las marcas válidas son:
- D3DLOCK_DISCARD
- D3DLOCK_NO_DIRTY_UPDATE
- D3DLOCK_NOSYSLOCK
- D3DLOCK_READONLY
- D3DLOCK_NOOVERWRITE
Valor devuelto
Tipo: HRESULT
Si el método se ejecuta correctamente, el valor devuelto es D3D_OK. Si se produce un error en el método, el valor devuelto se puede D3DERR_INVALIDCALL.
Comentarios
Como regla general, no mantenga un bloqueo en más de un marco. Al trabajar con búferes de vértices, se le permite realizar varias llamadas de bloqueo; sin embargo, debe asegurarse de que el número de llamadas de bloqueo coincida con el número de llamadas de desbloqueo. Las llamadas a DrawPrimitive no se realizarán correctamente con ningún recuento de bloqueos pendiente en ningún búfer de vértices establecido actualmente.
Las marcas D3DLOCK_DISCARD y D3DLOCK_NOOVERWRITE solo son válidas en los búferes creados con D3DUSAGE_DYNAMIC.
Para obtener información sobre cómo usar D3DLOCK_DISCARD o D3DLOCK_NOOVERWRITE con IDirect3DVertexBuffer9::Lock, vea Usar búferes dinámicos de vértices e índices.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Windows |
Encabezado | d3d9.h (incluya D3D9.h) |
Library | D3D9.lib |