Método IDirect3DIndexBuffer9::Lock (d3d9helper.h)
Bloquea un intervalo de datos de índice y obtiene un puntero a la memoria del búfer de índice.
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 índice que se van a bloquear, en bytes. Bloquee todo el búfer de índice especificando 0 para ambos parámetros, SizeToLock y OffsetToLock.
[in] SizeToLock
Tipo: UINT
Tamaño de los datos de índice que se van a bloquear, en bytes. Bloquee todo el búfer de índice especificando 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 índice 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 índice, 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 IDirect3DDevice9::D rawIndexedPrimitive no se realizarán correctamente con ningún recuento de bloqueos pendiente en ningún búfer de índice establecido actualmente.
Las marcas D3DLOCK_DISCARD y D3DLOCK_NOOVERWRITE solo son válidas en los búferes creados con D3DUSAGE_DYNAMIC.
Consulta Sugerencias de programación (Direct3D 9) para obtener información sobre el uso de D3DLOCK_DISCARD o D3DLOCK_NOOVERWRITE.
Requisitos
Plataforma de destino | Windows |
Encabezado | d3d9helper.h (incluya D3D9.h) |
Library | D3D9.lib |