다음을 통해 공유


ID3DXInclude::Open 메서드

셰이더 #include 파일의 내용을 열고 읽기 위한 사용자 구현 메서드입니다.

구문

HRESULT Open(
  [in]  D3DXINCLUDE_TYPE IncludeType,
  [in]  LPCSTR           pFileName,
  [in]  LPCVOID          pParentData,
  [out] LPCVOID          *ppData,
  [out] UINT             *pBytes
);

매개 변수

IncludeType [in]

형식: D3DXINCLUDE_TYPE

#include 파일의 위치입니다. D3DXINCLUDE_TYPE 참조하세요.

pFileName [in]

형식: LCSTTR

#include 파일의 이름입니다.

pParentData [in]

형식: LPCVOID

#include 파일이 포함된 컨테이너에 대한 포인터입니다. 컴파일러는 pParentData에서 NULL을 전달할 수 있습니다. 자세한 내용은 효과 컴파일(Direct3D 11)의 "포함 파일 검색" 섹션을 참조하세요.

ppData [out]

형식: LPCVOID*

include 지시문을 포함하는 반환된 버퍼에 대한 포인터입니다. 이 포인터는 ID3DXInclude::Close 가 호출될 때까지 유효합니다.

pBytes [out]

형식: UINT*

ppData에서 반환된 바이트 수입니다.

반환 값

형식: HRESULT

사용자 구현 메서드는 S_OK 반환해야 합니다. #include 파일을 읽을 때 콜백이 실패하면 콜백을 호출한 API가 실패합니다. 다음 중 하나일 수 있습니다.

  • HLSL 셰이더는 D3DXCompileShader*** 함수 중 하나에 실패합니다.
  • 어셈블리 셰이더는 D3DXAssembleShader*** 함수 중 하나에 실패합니다.
  • 효과는 D3DXCreateEffect*** 또는 D3DXCreateEffectCompiler*** 함수 중 하나에 실패합니다.

요구 사항

요구 사항
헤더
D3DX9Shader.h
라이브러리
D3dx9.lib

추가 정보

ID3DXInclude

ID3DXInclude::Close