D3DImage.Unlock Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Décrémente le nombre de verrous pour le D3DImage.
public:
void Unlock();
public void Unlock ();
member this.Unlock : unit -> unit
Public Sub Unlock ()
Exemples
L’exemple de code suivant montre comment appeler la méthode pour copier la Unlock mémoire tampon back mise à jour vers la mémoire tampon frontale. Pour plus d’informations, consultez Procédure pas à pas : Hébergement de contenu Direct3D9 dans 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();
Remarques
Lorsque le nombre de verrous pour le D3DImage zéro atteint zéro, il D3DImage est entièrement déverrouillé. La D3DImage valeur est marquée pour le rendu si l’image a changé de zones spécifiées par les appels précédents à la AddDirtyRect méthode.
Lorsque les modifications sont validées et que le rendu se produit, des appels supplémentaires au bloc de méthode jusqu’à Lock ce que le thread de rendu ait copié le contenu de la mémoire tampon arrière vers la mémoire tampon frontale. Cette synchronisation évite d’afficher des artefacts, tels que la déchirure.
Notes
Ne mettez pas à jour la surface Direct3D pendant le D3DImage déverrouillage.