D3DImage.Lock Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Bloqueia o D3DImage e permite operações no buffer de fundo.
public:
void Lock();
public void Lock ();
member this.Lock : unit -> unit
Public Sub Lock ()
Exceções
A contagem de bloqueios é igual a UInt32.MaxValue.
Exemplos
O exemplo de código a seguir mostra como chamar o Lock método para habilitar atualizações para o buffer traseiro. Para obter mais informações, consulte Instruções 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();
Comentários
Chame o Lock método para alterar o buffer de fundo chamando os AddDirtyRect métodos e SetBackBuffer . Enquanto o D3DImage estiver bloqueado, seu aplicativo também pode renderizar para a superfície Direct3D atribuída ao buffer traseiro.
Observação
O Lock método bloqueia quando o sistema de renderização está lendo o buffer traseiro para atualizar o buffer frontal. Use o TryLock método para evitar o bloqueio indefinidamente.