DirectX Graphics 레퍼런스 Direct3D C/C++ 레퍼런스 인터페이스 IDirect3DSurface9 LockRect   [목차열람] [주소복사] [슬롯비우기]
IDirect3DSurface9::LockRect 메서드
 
Microsoft DirectX 9.0

IDirect3DSurface9::LockRect 메서드


표면 위에의 직사각형을 잠근다.

구문

HRESULT LockRect(      

    D3DLOCKED_RECT *pLockedRect,     const RECT *pRect,     DWORD Flags );

파라미터

pLockedRect
[out] 잠긴 영역을 기술하는 D3DLOCKED_RECT 구조체의 포인터.
pRect
[in] 잠그는 직사각형의 포인터. RECT 구조체의 포인터로 지정된다. 이 파라미터에 NULL 를 지정 하면, 표면 전체를 가리도록(듯이) 더티 영역이 확대한다.
Flags
[in] 실행하는 잠금의 타입을 기술하는, 0 개 이상의 잠금 플래그의 편성. 이 메서드에서는,D3DLOCK 의 D3DLOCK_NOOVERWRITE 이외의 플래그는 모두 유효하다.

반환값

성공했을 경우는,D3D_OK 를 돌려준다.

실패했을 경우는,D3DERR_INVALIDCALL 또는 D3DERR_WASSTILLDRAWING 를 돌려준다.



주의

D3DLOCK_DONOTWAIT 플래그가 지정되고 있어, 드라이버가 즉시 표면을 잠글 수 없는 경우,IDirect3DSurface9::LockRect 는 D3DERR_WASSTILLDRAWING 를 돌려준다. 이것에 의해, 애플리케이션은, 드라이버가 표면의 잠금을 기다리는 동안의 CPU 사이클을 이용할 수 있다.

스텐실 표면의 잠금 가능한 포맷은, D3DFMT_D16_LOCKABLE 뿐이다. 「D3DFORMAT 」를 참조할것.

퍼포먼스 위에의 이유로부터, 더티 영역은 텍스처의 레벨 0 에 대한 보고 기록한다. D3DLOCK_NO_DIRTY_UPDATE 또는 D3DLOCK_READONLY 를 지정하지 않고 IDirect3DSurface9::LockRect 를 호출하면, 더티 영역이 자동적으로 기록된다. 더 자세한 정보는 「IDirect3DDevice9::UpdateTexture 」를 참조할것.

멀티 샘플 백 버퍼는 잠글 수 없다.

참조

IDirect3DSurface9::UnlockRect


© 2002 Microsoft Corporation. All rights reserved.
↑TOP