다음을 통해 공유


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 호출하여 및 SetBackBuffer 메서드를 호출하여 백 버퍼를 AddDirtyRect 변경합니다. 하지만 D3DImage 는 잠긴 애플리케이션에 렌더링할 수도 있습니다 백 버퍼로 할당할 Direct3D 화면입니다.

참고

메서드는 Lock 렌더링 시스템이 백 버퍼를 읽고 프런트 버퍼를 업데이트할 때 차단합니다. 메서드를 TryLock 사용하여 무기한 차단을 방지합니다.

적용 대상

추가 정보