D3DImage.Lock 方法

定义

D3DImage锁定并在后台缓冲区上启用操作。

public:
 void Lock();
public void Lock();
member this.Lock : unit -> unit
Public Sub Lock ()

例外

示例

下面的代码示例演示如何调用 Lock 方法以启用对后缓冲区的更新。 有关详细信息,请参阅 演练:在 WPF 中托管 Direct3D9 内容

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();

注解

Lock通过调用AddDirtyRectSetBackBuffer方法调用方法来调用该方法以更改后台缓冲区。 锁定后 D3DImage ,应用程序还可以呈现到分配给后缓冲区的 Direct3D 图面。

Note

当呈现系统读取后台缓冲区以更新前缓冲区时,该方法 Lock 会阻止此方法。 使用该方法 TryLock 可避免无限期阻塞。

适用于

另请参阅