Win32 API 日本語リファレンス
ホームGraphics.Direct3D11 › ID3D11FunctionLinkingGraph

ID3D11FunctionLinkingGraph

COM
IID54133220-1ce8-43d3-8236-9855c5ceecff継承元IUnknown自前メソッド開始 vtbl3

メソッド 8

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT CreateModuleInstance(ID3D11ModuleInstance** ppModuleInstance, ID3DBlob** ppErrorBuffer)
ppModuleInstanceID3D11ModuleInstance**outグラフから作成したモジュールインスタンスを受け取る出力ポインタ。
ppErrorBufferID3DBlob**outoptionalエラーメッセージのBlobを受け取る出力ポインタ。NULL可。
vtbl 4 HRESULT SetInputSignature(D3D11_PARAMETER_DESC* pInputParameters, DWORD cInputParameters, ID3D11LinkingNode** ppInputNode)
pInputParametersD3D11_PARAMETER_DESC*in入力シグネチャを定義するD3D11_PARAMETER_DESC配列を指す。
cInputParametersDWORDin入力パラメータ配列の要素数を指定する。
ppInputNodeID3D11LinkingNode**out生成された入力ノードを受け取る出力ポインタ。
vtbl 5 HRESULT SetOutputSignature(D3D11_PARAMETER_DESC* pOutputParameters, DWORD cOutputParameters, ID3D11LinkingNode** ppOutputNode)
pOutputParametersD3D11_PARAMETER_DESC*in出力シグネチャを定義するD3D11_PARAMETER_DESC配列を指す。
cOutputParametersDWORDin出力パラメータ配列の要素数を指定する。
ppOutputNodeID3D11LinkingNode**out生成された出力ノードを受け取る出力ポインタ。
vtbl 6 HRESULT CallFunction(LPSTR pModuleInstanceNamespace, ID3D11Module* pModuleWithFunctionPrototype, LPSTR pFunctionName, ID3D11LinkingNode** ppCallNode)
pModuleInstanceNamespaceLPSTRinoptional呼び出す関数が属する名前空間(ANSI文字列)を指定する。NULL可。
pModuleWithFunctionPrototypeID3D11Module*in関数プロトタイプを含むモジュールを指す。
pFunctionNameLPSTRin呼び出す関数名(ANSI文字列)を指定する。
ppCallNodeID3D11LinkingNode**out生成された関数呼び出しノードを受け取る出力ポインタ。
vtbl 7 HRESULT PassValue(ID3D11LinkingNode* pSrcNode, INT SrcParameterIndex, ID3D11LinkingNode* pDstNode, INT DstParameterIndex)
pSrcNodeID3D11LinkingNode*in値の送出元ノードを指す。
SrcParameterIndexINTin送出元ノードのパラメータインデックスを指定する。
pDstNodeID3D11LinkingNode*in値の受け取り先ノードを指す。
DstParameterIndexINTin受け取り先ノードのパラメータインデックスを指定する。
vtbl 8 HRESULT PassValueWithSwizzle(ID3D11LinkingNode* pSrcNode, INT SrcParameterIndex, LPSTR pSrcSwizzle, ID3D11LinkingNode* pDstNode, INT DstParameterIndex, LPSTR pDstSwizzle)
pSrcNodeID3D11LinkingNode*in値の送出元ノードを指す。
SrcParameterIndexINTin送出元ノードのパラメータインデックスを指定する。
pSrcSwizzleLPSTRin送出元に適用するスウィズル文字列(例: xyzw)を指定する。
pDstNodeID3D11LinkingNode*in値の受け取り先ノードを指す。
DstParameterIndexINTin受け取り先ノードのパラメータインデックスを指定する。
pDstSwizzleLPSTRin受け取り先に適用するスウィズル文字列を指定する。
vtbl 9 HRESULT GetLastError(ID3DBlob** ppErrorBuffer)
ppErrorBufferID3DBlob**outoptional直近のエラーメッセージのBlobを受け取る出力ポインタ。NULL可。
vtbl 10 HRESULT GenerateHlsl(DWORD uFlags, ID3DBlob** ppBuffer)
uFlagsDWORDinHLSL生成を制御するフラグ。現状は予約で0を指定する。
ppBufferID3DBlob**out生成されたHLSLソースを格納したBlobを受け取る出力ポインタ。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_ID3D11FunctionLinkingGraph "{54133220-1CE8-43D3-8236-9855C5CEECFF}"
#usecom global ID3D11FunctionLinkingGraph IID_ID3D11FunctionLinkingGraph "{}"
#comfunc global ID3D11FunctionLinkingGraph_CreateModuleInstance  3 sptr,sptr
#comfunc global ID3D11FunctionLinkingGraph_SetInputSignature     4 var,int,sptr
#comfunc global ID3D11FunctionLinkingGraph_SetOutputSignature    5 var,int,sptr
#comfunc global ID3D11FunctionLinkingGraph_CallFunction          6 str,sptr,str,sptr
#comfunc global ID3D11FunctionLinkingGraph_PassValue             7 sptr,int,sptr,int
#comfunc global ID3D11FunctionLinkingGraph_PassValueWithSwizzle  8 sptr,int,str,sptr,int,str
#comfunc global ID3D11FunctionLinkingGraph_GetLastError          9 sptr
#comfunc global ID3D11FunctionLinkingGraph_GenerateHlsl          10 int,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。