Share via


IDirect3DResource9::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을 자동으로 호출합니다. 개인 데이터는 동일한 GUID를 사용하여 IDirect3DResource9::SetPrivateData 에 대한 후속 호출, IDirect3DResource9::FreePrivateData에 대한 후속 호출 또는 IDirect3D9 개체가 해제될 때 제거됩니다. 자세한 내용은 설명 부분을 참조하세요.

반환 값

형식: HRESULT

메서드가 성공하면 반환 값이 D3D_OK. 메서드가 실패하면 반환 값은 D3DERR_INVALIDCALL, E_OUTOFMEMORY 중 하나일 수 있습니다.

설명

Direct3D는 pData에서 메모리를 관리하지 않습니다. 이 버퍼가 동적으로 할당된 경우 메모리를 해제하는 것은 호출 애플리케이션의 책임입니다.

요구 사항

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

추가 정보

IDirect3DResource9