次の方法で共有


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 サーフェスにレンダリングすることもできます。

注意

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

適用対象

こちらもご覧ください