다음을 통해 공유


D3DX11PreprocessShaderFromMemory 함수

참고

D3DX(D3DX 9, D3DX 10 및 D3DX 11) 유틸리티 라이브러리는 Windows 8 사용되지 않으며 Windows 스토어 앱에서는 지원되지 않습니다.

참고

이 함수를 사용하는 대신 D3DPreprocess API를 사용하는 것이 좋습니다.

메모리를 컴파일하지 않고 메모리에서 셰이더를 만듭니다.

구문

HRESULT D3DX11PreprocessShaderFromMemory(
  _In_        LPCSTR             pSrcData,
  _In_        SIZE_T             SrcDataSize,
  _In_        LPCSTR             pFileName,
  _In_  const D3D11_SHADER_MACRO *pDefines,
  _In_        LPD3D10INCLUDE     pInclude,
  _In_        ID3DX11ThreadPump  *pPump,
  _Out_       ID3D10Blob         **ppShaderText,
  _Out_       ID3D10Blob         **ppErrorMsgs,
  _Out_       HRESULT            *pHResult
);

매개 변수

pSrcData [in]

형식: LCSTTR

셰이더를 포함하는 메모리에 대한 포인터입니다.

SrcDataSize [in]

형식: SIZE_T

셰이더의 크기입니다.

pFileName [in]

형식: LCSTTR

셰이더의 이름입니다.

pDefines [in]

형식: const D3D11_SHADER_MACRO*

셰이더 매크로의 NULL로 종료된 배열입니다. 을 NULL 로 설정하여 매크로를 지정하지 않습니다.

pInclude [in]

형식: LPD3D10INCLUDE

포함 인터페이스에 대한 포인터입니다. 을 NULL 로 설정하여 포함 파일이 없음을 지정합니다.

pPump [in]

형식: ID3DX11ThreadPump*

스레드 펌프 인터페이스에 대한 포인터입니다( ID3DX11ThreadPump 인터페이스 참조). NULL을 사용하여 이 함수가 완료될 때까지 반환하지 않도록 지정합니다.

ppShaderText [out]

형식: ID3D10Blob**

컴파일되지 않은 셰이더를 포함하는 메모리에 대한 포인터입니다.

ppErrorMsgs [out]

형식: ID3D10Blob**

발생한 경우 효과 생성 오류가 포함된 메모리에 대한 포인터의 주소입니다.

pHResult [out]

형식: HRESULT*

반환 값에 대한 포인터입니다. NULL일 수 있습니다. pPumpNULL이 아닌 경우 비동기 실행이 완료될 때까지 pHResult는 유효한 메모리 위치여야 합니다.

반환 값

형식: HRESULT

반환 값은 Direct3D 11 반환 코드에 나열된 값 중 하나입니다.

요구 사항

요구 사항
헤더
D3DX11async.h
라이브러리
D3DX11.lib

추가 정보

D3DX 함수