D3DImage.Lock Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Bloqueia o D3DImage e permite operações no back buffer.
public:
void Lock();
public void Lock();
member this.Lock : unit -> unit
Public Sub Lock ()
Exceções
A contagem de bloqueios é UInt32.MaxValue.
Exemplos
O seguinte exemplo de código mostra como chamar o Lock método para permitir atualizações ao back buffer. Para obter mais informações, consulte Passo a passo: Hospedando conteúdo Direct3D9 no WPF.
d3dimg.Lock();
// Repeatedly calling SetBackBuffer with the same IntPtr is
// a no-op. There is no performance penalty.
d3dimg.SetBackBuffer(D3DResourceType.IDirect3DSurface9, pSurface);
HRESULT.Check(Render());
d3dimg.AddDirtyRect(new Int32Rect(0, 0, d3dimg.PixelWidth, d3dimg.PixelHeight));
d3dimg.Unlock();
Observações
Chame o Lock método para alterar o back buffer chamando os AddDirtyRect métodos e SetBackBuffer . Enquanto estiver D3DImage bloqueado, a sua aplicação também pode renderizar para a superfície Direct3D atribuída ao back buffer.
Note
O Lock método bloqueia quando o sistema de renderização está a ler o buffer traseiro para atualizar o buffer frontal. Use o TryLock método para evitar bloquear indefinidamente.