DirectX Graphics 레퍼런스 Direct3D C/C++ 레퍼런스 인터페이스 IDirect3DIndexBuffer9 Lock [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
인덱스 데이터의 범위를 잠그어, 인덱스 버퍼 메모리의 포인터를 얻어온다.
구문
HRESULT Lock(
UINT OffsetToLock, UINT SizeToLock, VOID **ppbData, DWORD Flags );
파라미터
- OffsetToLock
- [in] 잠그는 인덱스 데이터에의 오프셋(offset) (바이트 단위). 인덱스 버퍼 전체를 잠그려면 ,SizeToLock 와 OffsetToLock 의 양쪽 모두의 파라미터에 0 을 지정한다.
- SizeToLock
- [in] 잠그는 인덱스 데이터의 사이즈 (바이트 단위). 인덱스 버퍼 전체를 잠그려면 ,SizeToLock 와 OffsetToLock 의 양쪽 모두의 파라미터에 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 를 돌려준다.
주의
인덱스 버퍼의 처리에서는, 잠금의 호출을 여러 차례 실시할 수 있다. 다만, 잠금의 호출 회수와 언락의 호출 회수가 일치하고 있을 필요가 있다. 현재 설정해 있는 인덱스 버퍼로 잠금 카운트가 남아 있는 경우,IDirect3DDevice9::DrawPrimitive 의 호출은 실패한다.
D3DLOCK_DISCARD 및 D3DLOCK_NOOVERWRITE 플래그는, D3DUSAGE_DYNAMIC 로 생성 된 버퍼 에 대해서만 유효하다.
D3DLOCK_DISCARD 및 D3DLOCK_NOOVERWRITE. 의 사용법에 대해서는, 「프로그래밍의 힌트」를 참조할것.
참조
IDirect3DIndexBuffer9::Unlock