D3DImage.Unlock Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Sníží počet zámků D3DImagepro .
public:
void Unlock();
public void Unlock ();
member this.Unlock : unit -> unit
Public Sub Unlock ()
Příklady
Následující příklad kódu ukazuje, jak volat metodu Unlock pro zkopírování aktualizované zadní vyrovnávací paměti do front vyrovnávací paměti. Další informace naleznete v tématu Návod: Hostování obsahu Direct3D9 ve 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();
Poznámky
Pokud počet zámků D3DImage pro dosažení nuly dosáhne, D3DImage je plně odemknutý. Je D3DImage označen k vykreslení, pokud obrázek změnil oblasti, které byly zadány předchozími voláními AddDirtyRect metody.
Při potvrzení změn a vykreslování dojde k dalším voláním Lock bloku metody, dokud vlákno vykreslování nekopíruje obsah zpětné vyrovnávací paměti do front vyrovnávací paměti. Tato synchronizace zabraňuje zobrazení artefaktů, jako je například roztrhání.
Poznámka
Neaktualizovat plochu Direct3D, když D3DImage je odemknutá.