ホーム › Graphics.Direct3D11 › ID3D11FunctionLinkingGraph
ID3D11FunctionLinkingGraph
COMメソッド 8
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT CreateModuleInstance(ID3D11ModuleInstance** ppModuleInstance, ID3DBlob** ppErrorBuffer)
| ppModuleInstance | ID3D11ModuleInstance** | out | グラフから作成したモジュールインスタンスを受け取る出力ポインタ。 |
| ppErrorBuffer | ID3DBlob** | outoptional | エラーメッセージのBlobを受け取る出力ポインタ。NULL可。 |
vtbl 4 HRESULT SetInputSignature(D3D11_PARAMETER_DESC* pInputParameters, DWORD cInputParameters, ID3D11LinkingNode** ppInputNode)
| pInputParameters | D3D11_PARAMETER_DESC* | in | 入力シグネチャを定義するD3D11_PARAMETER_DESC配列を指す。 |
| cInputParameters | DWORD | in | 入力パラメータ配列の要素数を指定する。 |
| ppInputNode | ID3D11LinkingNode** | out | 生成された入力ノードを受け取る出力ポインタ。 |
vtbl 5 HRESULT SetOutputSignature(D3D11_PARAMETER_DESC* pOutputParameters, DWORD cOutputParameters, ID3D11LinkingNode** ppOutputNode)
| pOutputParameters | D3D11_PARAMETER_DESC* | in | 出力シグネチャを定義するD3D11_PARAMETER_DESC配列を指す。 |
| cOutputParameters | DWORD | in | 出力パラメータ配列の要素数を指定する。 |
| ppOutputNode | ID3D11LinkingNode** | out | 生成された出力ノードを受け取る出力ポインタ。 |
vtbl 6 HRESULT CallFunction(LPSTR pModuleInstanceNamespace, ID3D11Module* pModuleWithFunctionPrototype, LPSTR pFunctionName, ID3D11LinkingNode** ppCallNode)
| pModuleInstanceNamespace | LPSTR | inoptional | 呼び出す関数が属する名前空間(ANSI文字列)を指定する。NULL可。 |
| pModuleWithFunctionPrototype | ID3D11Module* | in | 関数プロトタイプを含むモジュールを指す。 |
| pFunctionName | LPSTR | in | 呼び出す関数名(ANSI文字列)を指定する。 |
| ppCallNode | ID3D11LinkingNode** | out | 生成された関数呼び出しノードを受け取る出力ポインタ。 |
vtbl 7 HRESULT PassValue(ID3D11LinkingNode* pSrcNode, INT SrcParameterIndex, ID3D11LinkingNode* pDstNode, INT DstParameterIndex)
| pSrcNode | ID3D11LinkingNode* | in | 値の送出元ノードを指す。 |
| SrcParameterIndex | INT | in | 送出元ノードのパラメータインデックスを指定する。 |
| pDstNode | ID3D11LinkingNode* | in | 値の受け取り先ノードを指す。 |
| DstParameterIndex | INT | in | 受け取り先ノードのパラメータインデックスを指定する。 |
vtbl 8 HRESULT PassValueWithSwizzle(ID3D11LinkingNode* pSrcNode, INT SrcParameterIndex, LPSTR pSrcSwizzle, ID3D11LinkingNode* pDstNode, INT DstParameterIndex, LPSTR pDstSwizzle)
| pSrcNode | ID3D11LinkingNode* | in | 値の送出元ノードを指す。 |
| SrcParameterIndex | INT | in | 送出元ノードのパラメータインデックスを指定する。 |
| pSrcSwizzle | LPSTR | in | 送出元に適用するスウィズル文字列(例: xyzw)を指定する。 |
| pDstNode | ID3D11LinkingNode* | in | 値の受け取り先ノードを指す。 |
| DstParameterIndex | INT | in | 受け取り先ノードのパラメータインデックスを指定する。 |
| pDstSwizzle | LPSTR | in | 受け取り先に適用するスウィズル文字列を指定する。 |
| ppErrorBuffer | ID3DBlob** | outoptional | 直近のエラーメッセージのBlobを受け取る出力ポインタ。NULL可。 |
| uFlags | DWORD | in | HLSL生成を制御するフラグ。現状は予約で0を指定する。 |
| ppBuffer | ID3DBlob** | 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 指定が可能。#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 sptr,int,sptr #comfunc global ID3D11FunctionLinkingGraph_SetOutputSignature 5 sptr,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が無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。