?/TD>
Microsoft DirectX 9.0

ID3DXFragmentLinker::LinkShader Method


Link a compiled shader at runtime. This is a very lightweight operation.

Syntax

HRESULT LinkShader(      

    LPCSTR Target,     DWORD Flags,     LPD3DXHANDLE rgFragmentHandles,     UINT cFragments,     LPD3DXBUFFER* ppBuffer,     LPD3DXBUFFER *ppErrorMsgs );

Parameters

Target
[in] Vertex shader compile target. A compile target consists of the type of shader and the shader version number. Valid targets are vs_1_1, vs_2_0, vs_2_x and vs_2_sw.
Flags
[in] Link options. See D3DXSHADER.
rgFragmentHandles
[in] Unique identifier to the fragments. See Handles.
cFragments
[in] Number of fragments to be linked.
ppBuffer
[out] Pointer to a buffer that contains compiled shader code. See ID3DXBuffer.
ppErrorMsgs
[out, retval] Buffer containing at least the first compile error message that occurred. This includes effect compiler errors and high-level language compile errors. For more information about accessing the buffer, see ID3DXBuffer.

Return Value

If the method succeeds, the return value is D3D_OK.

If the method fails, the return value can be one of the following values.

E_FAILAn undetermined error occurred inside the Microsoft?Direct3D?subsystem.
D3DERR_INVALIDCALLThe method call is invalid. For example, a method's parameter may have an invalid value.
D3DXERR_INVALIDDATAThe data is invalid.
E_OUTOFMEMORYDirect3D could not allocate sufficient memory to complete the call.




© 2002 Microsoft Corporation. All rights reserved.