IDirect3DVolume9::SetPrivateData 메서드(d3d9helper.h)
데이터를 Direct3D가 아닌 애플리케이션에서 사용하기 위한 볼륨과 연결합니다.
구문
HRESULT SetPrivateData(
[in] REFGUID refguid,
[in] const void *pData,
[in] DWORD SizeOfData,
[in] DWORD Flags
);
매개 변수
[in] refguid
형식: REFGUID
설정할 프라이빗 데이터를 식별하는 전역적으로 고유한 식별자에 대한 참조입니다.
[in] pData
형식: const void*
볼륨과 연결할 데이터가 포함된 버퍼에 대한 포인터입니다.
[in] SizeOfData
형식: DWORD
pData의 버퍼 크기(바이트)입니다.
[in] Flags
형식: DWORD
전달되는 데이터 형식을 설명하거나 리소스가 변경될 때 데이터를 무효화해야 했음을 애플리케이션에 나타내는 값입니다.
항목 | 설명 |
---|---|
(없음) | 플래그가 지정되지 않은 경우 Direct3D는 메모리를 할당하여 버퍼 내에 데이터를 저장하고 데이터를 새 버퍼에 복사합니다. Direct3D에서 할당한 버퍼는 적절하게 자동으로 해제됩니다. |
D3DSPD_IUNKNOWN | pData의 데이터는 IUnknown 인터페이스에 대한 포인터입니다. SizeOfData는 IUnknown 인터페이스 sizeof(IUnknown *)에 대한 포인터 크기로 설정해야 합니다. Direct3D는 프라이빗 데이터가 제거되면 pData 및 IUnknown을 통해 IUnknown 을 자동으로 호출합니다. 개인 데이터는 동일한 GUID를 사용하여 IDirect3DVolume9::SetPrivateData 에 대한 후속 호출, IDirect3DVolume9::FreePrivateData에 대한 후속 호출 또는 IDirect3D9 개체가 해제될 때 제거됩니다. 자세한 내용은 설명 부분을 참조하세요. |
반환 값
형식: HRESULT
메서드가 성공하면 반환 값이 D3D_OK. 메서드가 실패하면 반환 값은 D3DERR_INVALIDCALL, E_OUTOFMEMORY 중 하나일 수 있습니다.
설명
Direct3D는 pData에서 메모리를 관리하지 않습니다. 이 버퍼가 동적으로 할당된 경우 메모리를 해제하는 것은 호출 애플리케이션의 책임입니다.
데이터는 값으로 전달되고 여러 데이터 집합을 단일 볼륨과 연결할 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | Windows |
헤더 | d3d9helper.h(D3D9.h 포함) |
라이브러리 | D3D9.lib |