D3DXCompileShaderFromResource

Compile a shader file.

HRESULT D3DXCompileShaderFromResource(
  HMODULE hSrcModule,
  LPCSTR pSrcResource,
  CONST D3DXMACRO* pDefines,
  LPD3DXINCLUDE pInclude,
  LPCSTR pFunctionName,
  LPCSTR pProfile,
  DWORD Flags,
  LPD3DXBUFFER* ppShader,
  LPD3DXBUFFER * ppErrorMsgs,
  LPD3DXCONSTANTTABLE * ppConstantTable
);

Parameters

hSrcModule
[in] Handle to a module containing the effect description. If this parameter is NULL, the current module will be used.
pSrcResource
[in] Pointer to a string that specifies the resource name.
pDefines
[in] An optional NULL terminated array of D3DXMACRO structures. This value may be NULL.
pInclude
[in] Optional interface pointer, ID3DXInclude, to use for handling #include directives. If this value is NULL, #includes will either be honored when compiling from a file, or will error when compiled from a resource or memory.
pFunctionName
[in] Pointer to the shader entry point function where execution begins.
pProfile
[in] Pointer to a shader profile which determines the shader instruction set. See D3DXGetVertexShaderProfile or D3DXGetPixelShaderProfile for a list of the profiles available.
Flags
[in] Compile options identified by D3DXSHADER Flags.
ppShader
[out] Returns a buffer containing the created shader. This buffer contains the compiled shader code, as well as any embedded debug and symbol table information.
ppErrorMsgs
[out] Returns a buffer containing a listing of errors and warnings that were encountered during the compile. These are the same messages the debugger displays when running in debug mode. This value may be NULL.
ppConstantTable
[out] Returns an ID3DXConstantTable interface, which can be used to access shader constants. This value may be NULL.

Return Values

If the function succeeds, the return value is D3D_OK. If the function fails, the return value can be one of the following: D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA, E_OUTOFMEMORY.

Requirements

Header: Declared in D3dx9shader.h.

See Also

D3DXCompileShader, D3DXCompileShaderFromFile