D3DImage.Lock メソッド

定義

D3DImageをロックし、バック バッファーに対する操作を有効にします。

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

例外

ロックカウントは UInt32.MaxValue と等しくなります。

次のコード例は、 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 メソッドを呼び出し、AddDirtyRectメソッドと SetBackBuffer メソッドを呼び出してバック バッファーを変更します。 D3DImageがロックされている間、アプリケーションはバック バッファーに割り当てられた Direct3D サーフェスにレンダリングすることもできます。

Note

Lock メソッドは、レンダリング システムがバック バッファーを読み取ってフロント バッファーを更新するときにブロックします。 TryLock メソッドを使用して、ブロックを無期限に回避します。

適用対象

こちらもご覧ください