IServiceSxsConfig
COM公式ドキュメント
CoCreateActivity または CoEnterServiceDomain を呼び出したときに実行される処理のために、side-by-side アセンブリを構成します。
メソッド 3
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
囲まれた処理のために side-by-side アセンブリを構成します。
| scsConfig | CSC_SxsConfig | in | CSC_SxsConfig 列挙体の値です。 |
戻り値
このメソッドは、標準の戻り値 E_INVALIDARG、E_OUTOFMEMORY、E_FAIL、および S_OK を返すことがあります。
解説(Remarks)
このメソッドの呼び出しによって新しい side-by-side アセンブリドメインが作成される場合は、SxsDirectory メソッドを呼び出す必要があります。
囲まれた処理のための side-by-side アセンブリのファイル名を設定します。
| szSxsName | LPWSTR | in | side-by-side アセンブリのファイル名です。 |
戻り値
このメソッドは、標準の戻り値 E_INVALIDARG、E_OUTOFMEMORY、E_FAIL、および S_OK を返すことがあります。
解説(Remarks)
適切なファイル名拡張子が szSxsName パラメーターに追加されます。このメソッドが呼び出されない場合は、既定のファイル名が使用されます。
囲まれた処理のための side-by-side アセンブリのディレクトリを設定します。
| szSxsDirectory | LPWSTR | in | 囲まれた処理に使用される side-by-side アセンブリのディレクトリ名です。 |
戻り値
このメソッドは、標準の戻り値 E_INVALIDARG、E_OUTOFMEMORY、E_FAIL、および S_OK を返すことがあります。
解説(Remarks)
SxsConfig の呼び出しによって新しい side-by-side アセンブリドメインが作成される場合は、このメソッドを呼び出す必要があります。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IServiceSxsConfig "{C7CD7379-F3F2-4634-811B-703281D73E08}"
#usecom global IServiceSxsConfig IID_IServiceSxsConfig "{}"
#comfunc global IServiceSxsConfig_SxsConfig 3 int
#comfunc global IServiceSxsConfig_SxsName 4 wstr
#comfunc global IServiceSxsConfig_SxsDirectory 5 wstr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。