D3DImage.Unlock Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Decrements the lock count for the D3DImage.
public:
void Unlock();
public void Unlock ();
member this.Unlock : unit -> unit
Public Sub Unlock ()
Examples
The following code example shows how to call the Unlock method to copy the updated back buffer to the front buffer. For more information, see Walkthrough: Hosting Direct3D9 Content in 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();
Remarks
When the lock count for the D3DImage reaches zero, the D3DImage is fully unlocked. The D3DImage is marked for rendering if the image has changed areas that were specified by previous calls to the AddDirtyRect method.
When the changes are committed and rendering occurs, additional calls to the Lock method block until the render thread has copied the contents of the back buffer to the front buffer. This synchronization avoids display artifacts, such as tearing.
Note
Do not update the Direct3D surface while the D3DImage is unlocked.
Applies to
See also
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈