D3DImage.Lock メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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 メソッドを使用して、ブロックを無期限に回避します。