Método IDirect3DSurface9::LockRect (d3d9helper.h)
Bloqueia um retângulo em uma superfície.
Sintaxe
HRESULT LockRect(
[out] D3DLOCKED_RECT *pLockedRect,
[in] const RECT *pRect,
[in] DWORD Flags
);
Parâmetros
[out] pLockedRect
Tipo: D3DLOCKED_RECT*
Ponteiro para uma estrutura D3DLOCKED_RECT que descreve a região bloqueada.
[in] pRect
Tipo: const RECT*
Ponteiro para um retângulo a ser bloqueado. Especificado por um ponteiro para uma estrutura RECT . Especificar NULL para esse parâmetro expande a região sujo para cobrir toda a superfície.
[in] Flags
Tipo: DWORD
Combinação de zero ou mais sinalizadores de bloqueio que descrevem o tipo de bloqueio a ser executado. Para esse método, os sinalizadores válidos são:
- D3DLOCK_DISCARD
- D3DLOCK_DONOTWAIT
- D3DLOCK_NO_DIRTY_UPDATE
- D3DLOCK_NOSYSLOCK
- D3DLOCK_READONLY
Retornar valor
Tipo: HRESULT
Se o método for bem-sucedido, o valor retornado será D3D_OK.
Se o método falhar, o valor retornado poderá ser D3DERR_INVALIDCALL ou D3DERR_WASSTILLDRAWING.
Comentários
Se o sinalizador D3DLOCK_DONOTWAIT for especificado e o driver não puder bloquear a superfície imediatamente, IDirect3DSurface9::LockRect retornará D3DERR_WASSTILLDRAWING para que um aplicativo possa usar os ciclos de CPU enquanto aguarda o driver bloquear a superfície.
O único formato bloqueável para uma superfície de estêncil de profundidade é D3DFMT_D16_LOCKABLE. Consulte D3DFORMAT.
Por motivos de desempenho, sujo regiões são registradas apenas para o nível zero de uma textura. Regiões sujas são registradas automaticamente quando IDirect3DSurface9::LockRect é chamado sem D3DLOCK_NO_DIRTY_UPDATE ou D3DLOCK_READONLY. Consulte IDirect3DDevice9::UpdateTexture para obter mais informações.
Um buffer traseiro de várias amostras não pode ser bloqueado.
Esse método não pode recuperar dados de uma superfície contida por um recurso de textura criado com D3DUSAGE_RENDERTARGET porque essa textura deve ser atribuída a D3DPOOL_DEFAULT memória e, portanto, não é bloqueável. Nesse caso, use IDirect3DDevice9::GetRenderTargetData para copiar dados de textura da memória do dispositivo para a memória do sistema.
Requisitos
Plataforma de Destino | Windows |
Cabeçalho | d3d9helper.h (inclua D3D9.h) |
Biblioteca | D3D9.lib |