ホーム › AI.MachineLearning.WinML › IWinMLModel
IWinMLModel
COMメソッド 4
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT GetDescription(WINML_MODEL_DESC** ppDescription)
| ppDescription | WINML_MODEL_DESC** | out | モデルの説明情報 WINML_MODEL_DESC を受け取る出力ポインタである。 |
| Index | DWORD | in | 列挙するメタデータ項目の 0 起点インデックスである。 |
| pKey | LPWSTR* | out | メタデータのキー文字列を受け取る出力ポインタである。 |
| pValue | LPWSTR* | out | メタデータの値文字列を受け取る出力ポインタである。 |
vtbl 5 HRESULT EnumerateModelInputs(DWORD Index, WINML_VARIABLE_DESC** ppInputDescriptor)
| Index | DWORD | in | 列挙する入力変数の 0 起点インデックスである。 |
| ppInputDescriptor | WINML_VARIABLE_DESC** | out | 入力変数の記述子 WINML_VARIABLE_DESC を受け取る出力ポインタである。 |
vtbl 6 HRESULT EnumerateModelOutputs(DWORD Index, WINML_VARIABLE_DESC** ppOutputDescriptor)
| Index | DWORD | in | 列挙する出力変数の 0 起点インデックスである。 |
| ppOutputDescriptor | WINML_VARIABLE_DESC** | out | 出力変数の記述子 WINML_VARIABLE_DESC を受け取る出力ポインタである。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IWinMLModel "{E2EEB6A9-F31F-4055-A521-E30B5B33664A}" #usecom global IWinMLModel IID_IWinMLModel "{}" #comfunc global IWinMLModel_GetDescription 3 var #comfunc global IWinMLModel_EnumerateMetadata 4 int,var,var #comfunc global IWinMLModel_EnumerateModelInputs 5 int,var #comfunc global IWinMLModel_EnumerateModelOutputs 6 int,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IWinMLModel "{E2EEB6A9-F31F-4055-A521-E30B5B33664A}" #usecom global IWinMLModel IID_IWinMLModel "{}" #comfunc global IWinMLModel_GetDescription 3 sptr #comfunc global IWinMLModel_EnumerateMetadata 4 int,sptr,sptr #comfunc global IWinMLModel_EnumerateModelInputs 5 int,sptr #comfunc global IWinMLModel_EnumerateModelOutputs 6 int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。