IDirect3DTexture9::LockRect 메서드(d3d9helper.h)

텍스처 리소스에 사각형을 잠글 수 있습니다.

구문

HRESULT LockRect(
  [in]  UINT           Level,
  [out] D3DLOCKED_RECT *pLockedRect,
  [in]  const RECT     *pRect,
  [in]  DWORD          Flags
);

매개 변수

[in] Level

형식: UINT

잠글 텍스처 리소스의 수준을 지정합니다.

[out] pLockedRect

형식: D3DLOCKED_RECT*

잠긴 영역을 설명하는 D3DLOCKED_RECT 구조체에 대한 포인터입니다.

[in] pRect

형식: const RECT*

잠글 사각형에 대한 포인터입니다. RECT 구조체에 대한 포인터로 지정됩니다. 이 매개 변수에 NULL을 지정하면 전체 텍스처를 포함하도록 더티 영역이 확장됩니다.

[in] Flags

형식: DWORD

수행할 잠금 유형을 설명하는 0개 이상의 잠금 플래그 조합입니다. 이 메서드의 경우 유효한 플래그는 다음과 같습니다.

  • D3DLOCK_DISCARD
  • D3DLOCK_NO_DIRTY_UPDATE
  • D3DLOCK_NOSYSLOCK
  • D3DLOCK_READONLY
D3DLOCK_DISCARD 사용할 때 하위 항목을 지정할 수 없습니다. 플래그에 대한 설명은 D3DLOCK 참조하세요.

반환 값

형식: HRESULT

메서드가 성공하면 반환 값이 D3D_OK. 메서드가 실패하면 반환 값을 D3DERR_INVALIDCALL 수 있습니다.

설명

D3DPOOL_DEFAULT 사용하여 만든 텍스처는 잠글 수 없습니다. 비디오 메모리에서 만든 텍스처는 USAGE_DYNAMIC 사용하여 만들 때 잠글 수 있습니다.

성능상의 이유로 더티 영역은 텍스처의 수준 0에 대해서만 기록됩니다. 더티 지역은 IDirect3DTexture9::LockRectD3DLOCK_NO_DIRTY_UPDATE 또는 D3DLOCK_READONLY 없이 호출될 때 자동으로 기록됩니다. 자세한 내용은 IDirect3DDevice9::UpdateTexture 를 참조하세요.

깊이 스텐실 텍스처에 대해 잠글 수 있는 유일한 형식은 D3DLOCK_D16_LOCKABLE.

비디오 메모리 텍스처는 잠글 수 없지만 IDirect3DDevice9::UpdateSurface 또는 IDirect3DDevice9::UpdateTexture를 호출하여 수정해야 합니다. Direct3D 9에서 인식하지 못하는 일부 독점 드라이버 픽셀 형식에는 예외가 있습니다. 잠글 수 있습니다.

이 메서드는 D3DUSAGE_RENDERTARGET 사용하여 만든 텍스처 리소스에서 데이터를 검색할 수 없습니다. 이러한 텍스처는 D3DPOOL_DEFAULT 메모리에 할당되어야 하므로 잠글 수 없기 때문입니다. 이 경우 대신 IDirect3DDevice9::GetRenderTargetData 를 사용하여 디바이스 메모리에서 시스템 메모리로 텍스처 데이터를 복사합니다.

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 d3d9helper.h(D3D9.h 포함)
라이브러리 D3D9.lib

추가 정보

IDirect3DDevice9::GetRenderTargetData

IDirect3DDevice9::UpdateTexture

IDirect3DTexture9

IDirect3DTexture9::UnlockRect