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 Unlock méthode pour copier la mémoire tampon back mise à jour vers la mémoire tampon frontale. Pour plus d’informations, consultez guide : hébergement du 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 atteint D3DImage zéro, celui-ci D3DImage est entièrement déverrouillé. Le D3DImage paramètre est marqué pour le rendu si l’image a modifié les 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 dans la mémoire tampon frontale. Cette synchronisation évite d’afficher des artefacts, tels que la déchirure.
Note
Ne mettez pas à jour la surface Direct3D pendant le D3DImage déverrouillage.