D3DImage.Unlock Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Disminuye el número de bloqueos para D3DImage.
public:
void Unlock();
public void Unlock ();
member this.Unlock : unit -> unit
Public Sub Unlock ()
Ejemplos
En el ejemplo de código siguiente se muestra cómo llamar al Unlock método para copiar el búfer de reserva actualizado en el búfer frontal. Para obtener más información, consulte Tutorial: Hospedar contenido Direct3D9 en 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();
Comentarios
Cuando el recuento de bloqueos de D3DImage alcanza cero, se D3DImage desbloquea por completo. D3DImage se marca para representar si la imagen ha cambiado las áreas especificadas por las llamadas anteriores al AddDirtyRect método .
Cuando se confirman y se representan los cambios, se realizan llamadas adicionales al bloque de Lock método hasta que el subproceso de representación haya copiado el contenido del búfer de reserva en el búfer frontal. Esta sincronización evita la visualización de artefactos, como el desgarro.
Nota
No actualice la superficie de Direct3D mientras D3DImage está desbloqueada.