D3DLOCK

수행할 잠금 유형을 설명하는 0개 이상의 잠금 옵션 조합입니다.

#define Description
D3DLOCK_DISCARD 애플리케이션은 잠긴 지역 내의 모든 메모리를 삭제합니다. 꼭짓점 및 인덱스 버퍼의 경우 전체 버퍼가 삭제됩니다. 이 옵션은 동적 사용으로 리소스를 만든 경우에만 유효합니다( D3DUSAGE 참조).
D3DLOCK_DONOTWAIT 드라이버가 표면을 즉시 잠글 수 없는 경우 애플리케이션에서 CPU 주기를 다시 가져올 수 있습니다. 이 플래그가 설정되고 드라이버가 화면을 즉시 잠글 수 없는 경우 잠금 호출은 D3DERR_WASSTILLDRAWING 반환합니다. 이 플래그는 CreateOffscreenPlainSurface, CreateRenderTarget 또는 CreateDepthStencilSurface를 사용하여 만든 표면을 잠글 때만 사용할 수 있습니다. 이 플래그는 백 버퍼와 함께 사용할 수도 있습니다.
D3DLOCK_NO_DIRTY_UPDATE 기본적으로 리소스에 대한 잠금은 해당 리소스에 더티 지역을 추가합니다. 이 옵션을 사용하면 리소스의 더티 상태가 변경되지 않습니다. 애플리케이션은 잠금 작업 중에 변경된 지역 집합에 대한 추가 정보가 있는 경우 이 옵션을 사용해야 합니다.
D3DLOCK_NOOVERWRITE 이 플래그가 없는 마지막 잠금 이후 그리기 호출에서 참조된 메모리가 잠금 중에 수정되지 않음을 나타냅니다. 이렇게 하면 애플리케이션이 리소스에 데이터를 추가할 때 최적화를 사용할 수 있습니다. 이 플래그를 지정하면 리소스가 사용 중인 경우 드라이버가 즉시 반환할 수 있습니다. 그렇지 않으면 드라이버가 잠금에서 반환하기 전에 리소스 사용을 완료해야 합니다.
D3DLOCK_NOSYSLOCK 비디오 메모리 잠금의 기본 동작은 시스템 전체의 중요 섹션을 예약하여 잠금 기간 동안 디스플레이 모드 변경이 발생하지 않도록 하는 것입니다. 이 옵션을 사용하면 시스템 전체의 위험 섹션이 잠금 기간 동안 유지되지 않습니다.
잠금 작업은 시간이 많이 걸리지만 시스템에서 마우스 커서 이동과 같은 다른 작업을 수행할 수 있습니다. 이 옵션은 시스템 응답성에 부정적인 영향을 주는 소프트웨어 렌더링을 위한 백 버퍼 잠금과 같은 장기 잠금에 유용합니다.
D3DLOCK_READONLY 애플리케이션은 버퍼에 쓰지 않습니다. 이렇게 하면 네이티브가 아닌 형식으로 저장된 리소스가 잠금 해제 시 압축 해제 단계를 저장할 수 있습니다.

 

상수 정보

요구 사항
헤더 d3d9types.h
최소 운영 체제 Windows 98

 

Direct3D 상수

LockRect

잠금

LockRect

LockRect

잠금

Lockbox

Lockbox

LockIndexBuffer

LockVertexBuffer

LockVertexBuffer

LockAttributeBuffer

LockAttributeBuffer

LockIndexBuffer

LockVertexBuffer