다음을 통해 공유


IDirect3DVertexBuffer9::Lock 메서드(d3d9helper.h)

꼭짓점 데이터의 범위를 잠그고 꼭짓점 버퍼 메모리에 대한 포인터를 가져옵니다.

구문

HRESULT Lock(
  [in]  UINT  OffsetToLock,
  [in]  UINT  SizeToLock,
  [out] void  **ppbData,
  [in]  DWORD Flags
);

매개 변수

[in] OffsetToLock

형식: UINT

잠글 꼭짓점 데이터의 오프셋(바이트)입니다. 전체 꼭짓점 버퍼를 잠그려면 SizeToLock 및 OffsetToLock 매개 변수 모두에 대해 0을 지정합니다.

[in] SizeToLock

형식: UINT

잠글 꼭짓점 데이터의 크기(바이트)입니다. 전체 꼭짓점 버퍼를 잠그려면 SizeToLock 및 OffsetToLock 매개 변수 모두에 대해 0을 지정합니다.

[out] ppbData

형식: VOID**

VOID* 반환된 꼭짓점 데이터를 포함하는 메모리 버퍼에 대한 포인터입니다.

[in] Flags

형식: DWORD

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

  • D3DLOCK_DISCARD
  • D3DLOCK_NO_DIRTY_UPDATE
  • D3DLOCK_NOSYSLOCK
  • D3DLOCK_READONLY
  • D3DLOCK_NOOVERWRITE
플래그에 대한 설명은 D3DLOCK을 참조하세요.

반환 값

형식: HRESULT

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

설명

일반적으로 둘 이상의 프레임에서 잠금을 유지하지 마세요. 꼭짓점 버퍼를 사용하는 경우 여러 잠금 호출을 수행할 수 있습니다. 그러나 잠금 호출 수가 잠금 해제 호출 수와 일치하는지 확인해야 합니다. DrawPrimitive 호출은 현재 설정된 꼭짓점 버퍼에 대한 미해결 잠금 횟수로 성공하지 않습니다.

D3DLOCK_DISCARD 및 D3DLOCK_NOOVERWRITE 플래그는 D3DUSAGE_DYNAMIC 사용하여 만든 버퍼에서만 유효합니다.

IDirect3DVertexBuffer9::Lock에서 D3DLOCK_DISCARD 또는 D3DLOCK_NOOVERWRITE 사용하는 방법에 대한 자세한 내용은 동적 꼭짓점 및 인덱스 버퍼 사용을 참조하세요.

요구 사항

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

추가 정보

IDirect3DVertexBuffer9

IDirect3DVertexBuffer9::Unlock

꼭짓점 버퍼(Direct3D 9)