ホーム › AI.MachineLearning.WinML › IMLOperatorRegistry
IMLOperatorRegistry
COMメソッド 2
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT RegisterOperatorSetSchema(MLOperatorSetId* operatorSetId, INT baselineVersion, MLOperatorSchemaDescription** schema, DWORD schemaCount, IMLOperatorTypeInferrer* typeInferrer, IMLOperatorShapeInferrer* shapeInferrer)
| operatorSetId | MLOperatorSetId* | in | 登録する演算子セットを識別する MLOperatorSetId へのポインタである。 |
| baselineVersion | INT | in | 差分の基準となる既存スキーマのバージョン番号である。 |
| schema | MLOperatorSchemaDescription** | inoptional | 登録する各演算子スキーマ記述 MLOperatorSchemaDescription の配列である。 |
| schemaCount | DWORD | in | schema 配列に含まれるスキーマの個数である。 |
| typeInferrer | IMLOperatorTypeInferrer* | inoptional | 出力型を推論する型推論器である。不要なら NULL 可。 |
| shapeInferrer | IMLOperatorShapeInferrer* | inoptional | 出力形状を推論する形状推論器である。不要なら NULL 可。 |
vtbl 4 HRESULT RegisterOperatorKernel(MLOperatorKernelDescription* operatorKernel, IMLOperatorKernelFactory* operatorKernelFactory, IMLOperatorShapeInferrer* shapeInferrer)
| operatorKernel | MLOperatorKernelDescription* | in | 登録するカーネルを記述する MLOperatorKernelDescription へのポインタである。 |
| operatorKernelFactory | IMLOperatorKernelFactory* | in | カーネル実体を生成するファクトリである。 |
| shapeInferrer | IMLOperatorShapeInferrer* | inoptional | 出力形状を推論する形状推論器である。不要なら NULL 可。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IMLOperatorRegistry "{2AF9DD2D-B516-4672-9AB5-530C208493AD}" #usecom global IMLOperatorRegistry IID_IMLOperatorRegistry "{}" #comfunc global IMLOperatorRegistry_RegisterOperatorSetSchema 3 var,int,var,int,sptr,sptr #comfunc global IMLOperatorRegistry_RegisterOperatorKernel 4 var,sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IMLOperatorRegistry "{2AF9DD2D-B516-4672-9AB5-530C208493AD}" #usecom global IMLOperatorRegistry IID_IMLOperatorRegistry "{}" #comfunc global IMLOperatorRegistry_RegisterOperatorSetSchema 3 sptr,int,sptr,int,sptr,sptr #comfunc global IMLOperatorRegistry_RegisterOperatorKernel 4 sptr,sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。