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

IDirect3DVertexBuffer9::Lock 메서드


정점 데이터의 범위를 잠그어, 정점 버퍼 메모리의 포인터를 얻어온다.

구문

HRESULT Lock(      

    UINT OffsetToLock,     UINT SizeToLock,     VOID **ppbData,     DWORD Flags );

파라미터

OffsetToLock
[in] 잠그는 정점 데이터에의 오프셋(offset) (바이트 단위). 정점 버퍼 전체를 잠그려면 ,SizeToLockOffsetToLock 의 양쪽 모두의 파라미터에 0 을 지정한다.
SizeToLock
[in] 잠그는 정점 데이터의 사이즈 (바이트 단위). 정점 버퍼 전체를 잠그려면 ,SizeToLockOffsetToLock 의 양쪽 모두의 파라미터에 0 을 지정한다.
ppbData
[out] 돌려주어진 정점 데이터를 포함한 메모리 버퍼에의 VOID* 포인터.
Flags
[in] 실행하는 잠금의 종류를 기술하는, 0 개 이상의 잠금 플래그의 편성. 이 메서드에 사용할 수 있는 플래그는 다음대로.
  • D3DLOCK_DISCARD
  • D3DLOCK_NO_DIRTY_UPDATE
  • D3DLOCK_NO_SYSLOCK
  • D3DLOCK_READONLY
  • D3DLOCK_NOOVERWRITE

플래그에 대해서는, 「D3DLock 」를 참조할것.

반환값

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

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



주의

정점 버퍼를 조작 할 때는, 복수의 잠금 호출을 실행할 수 있다. 다만, 잠금 호출의 수와 언락 호출의 수를 일치시킬 필요가 있다. 현재 설정해 있는 정점 버퍼로 잠금 카운트가 남아 있는 경우, DrawPrimitive 의 호출은 실패한다.

D3DLOCK_DISCARD 및 D3DLOCK_NOOVERWRITE 플래그는, D3DUSAGE_DYNAMIC 로 생성 된 버퍼 에 대해서만 유효하다.

IDirect3DVertexBuffer9::Lock 에서의 D3DLOCK_DISCARD 또는 D3DLOCK_NOOVERWRITE 의 사용법의 자세한 것은, 「동적인 정점 버퍼와 인덱스 버퍼의 사용법」을 참조할것

참조

IDirect3DVertexBuffer9::Unlock


© 2002 Microsoft Corporation. All rights reserved.
↑TOP