D3DImage.Unlock Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Dekrementuje liczbę blokad dla .D3DImage
public:
void Unlock();
public void Unlock ();
member this.Unlock : unit -> unit
Public Sub Unlock ()
Przykłady
W poniższym przykładzie kodu pokazano, jak wywołać metodę Unlock , aby skopiować zaktualizowany bufor wsteczny do buforu frontu. Aby uzyskać więcej informacji, zobacz Przewodnik: hostowanie zawartości Direct3D9 w 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();
Uwagi
Gdy licznik blokady D3DImage osiągnie zero, element D3DImage jest w pełni odblokowany. Element D3DImage jest oznaczony do renderowania, jeśli obraz zmienił obszary, które zostały określone przez poprzednie wywołania AddDirtyRect metody .
Po zatwierdzeniu i renderowaniu zmian dodatkowe wywołania Lock bloku metody do momentu skopiowania zawartości buforu wstecznego do buforu frontu. Ta synchronizacja pozwala uniknąć wyświetlania artefaktów, takich jak rozdzieranie.
Uwaga
Nie aktualizuj powierzchni Direct3D podczas D3DImage odblokowywania.