ホーム › System.ComponentServices › ICOMAdminCatalog
ICOMAdminCatalog
COMIDispatch (デュアル)✅ IDispatch を実装(デュアルインターフェース)。HSP では
comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。メソッド 26
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
| bstrCollName | LPWSTR | in | 取得するコレクションの名前を示す文字列へのポインタである。 |
| ppCatalogCollection | IDispatch** | out | 取得したカタログコレクションの IDispatch インターフェイスを受け取るポインタである。 |
| bstrCatalogServerName | LPWSTR | in | 接続先のカタログサーバー名を示す文字列へのポインタである。 |
| ppCatalogCollection | IDispatch** | out | ルートコレクションの IDispatch インターフェイスを受け取るポインタである。 |
| plMajorVersion | INT* | out | カタログのメジャーバージョン番号を受け取るポインタである。 |
| plMinorVersion | INT* | out | カタログのマイナーバージョン番号を受け取るポインタである。 |
vtbl 11 HRESULT GetCollectionByQuery(LPWSTR bstrCollName, SAFEARRAY** ppsaVarQuery, IDispatch** ppCatalogCollection)
| bstrCollName | LPWSTR | in | 取得するコレクションの名前を示す文字列へのポインタである。 |
| ppsaVarQuery | SAFEARRAY** | in | クエリ条件を格納した SAFEARRAY へのポインタである。 |
| ppCatalogCollection | IDispatch** | out | クエリ結果のカタログコレクション IDispatch インターフェイスを受け取るポインタである。 |
| bstrApplIDOrName | LPWSTR | in | 対象アプリケーションの ID または名前を示す文字列へのポインタである。 |
| bstrCLSIDOrProgID | LPWSTR | in | インポートするコンポーネントの CLSID または ProgID を示す文字列へのポインタである。 |
vtbl 13 HRESULT InstallComponent(LPWSTR bstrApplIDOrName, LPWSTR bstrDLL, LPWSTR bstrTLB, LPWSTR bstrPSDLL)
| bstrApplIDOrName | LPWSTR | in | インストール先アプリケーションの ID または名前を示す文字列へのポインタである。 |
| bstrDLL | LPWSTR | in | コンポーネントを含む DLL のパスを示す文字列へのポインタである。 |
| bstrTLB | LPWSTR | in | タイプライブラリ(TLB)のパスを示す文字列へのポインタである。 |
| bstrPSDLL | LPWSTR | in | プロキシ/スタブ DLL のパスを示す文字列へのポインタである。不要な場合は空文字列を指定する。 |
| bstrApplIDOrName | LPWSTR | in | シャットダウンするアプリケーションの ID または名前を示す文字列へのポインタである。 |
vtbl 15 HRESULT ExportApplication(LPWSTR bstrApplIDOrName, LPWSTR bstrApplicationFile, COMAdminApplicationExportOptions lOptions)
| bstrApplIDOrName | LPWSTR | in | エクスポートするアプリケーションの ID または名前を示す文字列へのポインタである。 |
| bstrApplicationFile | LPWSTR | in | エクスポート先のアプリケーションファイル(.MSI など)のパスを示す文字列へのポインタである。 |
| lOptions | COMAdminApplicationExportOptions | in | エクスポート動作を制御する COMAdminApplicationExportOptions 値を指定する。 |
vtbl 16 HRESULT InstallApplication(LPWSTR bstrApplicationFile, LPWSTR bstrDestinationDirectory, COMAdminApplicationInstallOptions lOptions, LPWSTR bstrUserId, LPWSTR bstrPassword, LPWSTR bstrRSN)
| bstrApplicationFile | LPWSTR | in | インストールするアプリケーションファイルのパスを示す文字列へのポインタである。 |
| bstrDestinationDirectory | LPWSTR | in | インストール先のディレクトリパスを示す文字列へのポインタである。 |
| lOptions | COMAdminApplicationInstallOptions | in | インストール動作を制御する COMAdminApplicationInstallOptions 値を指定する。 |
| bstrUserId | LPWSTR | in | アプリケーションの実行 ID として使用するユーザー名を示す文字列へのポインタである。 |
| bstrPassword | LPWSTR | in | 指定ユーザーのパスワードを示す文字列へのポインタである。 |
| bstrRSN | LPWSTR | in | リモートサーバー名(RSN)を示す文字列へのポインタである。 |
vtbl 17 HRESULT StopRouter()
vtbl 18 HRESULT RefreshRouter()
vtbl 19 HRESULT StartRouter()
vtbl 20 HRESULT Reserved1()
vtbl 21 HRESULT Reserved2()
vtbl 22 HRESULT InstallMultipleComponents(LPWSTR bstrApplIDOrName, SAFEARRAY** ppsaVarFileNames, SAFEARRAY** ppsaVarCLSIDs)
| bstrApplIDOrName | LPWSTR | in | インストール先アプリケーションの ID または名前を示す文字列へのポインタである。 |
| ppsaVarFileNames | SAFEARRAY** | in | インストールするコンポーネントのファイル名を格納した SAFEARRAY へのポインタである。 |
| ppsaVarCLSIDs | SAFEARRAY** | in | インストールするコンポーネントの CLSID を格納した SAFEARRAY へのポインタである。 |
vtbl 23 HRESULT GetMultipleComponentsInfo(LPWSTR bstrApplIdOrName, SAFEARRAY** ppsaVarFileNames, SAFEARRAY** ppsaVarCLSIDs, SAFEARRAY** ppsaVarClassNames, SAFEARRAY** ppsaVarFileFlags, SAFEARRAY** ppsaVarComponentFlags)
| bstrApplIdOrName | LPWSTR | in | 対象アプリケーションの ID または名前を示す文字列へのポインタである。 |
| ppsaVarFileNames | SAFEARRAY** | in | コンポーネントのファイル名を受け取る SAFEARRAY へのポインタである。 |
| ppsaVarCLSIDs | SAFEARRAY** | out | コンポーネントの CLSID を受け取る SAFEARRAY へのポインタである。 |
| ppsaVarClassNames | SAFEARRAY** | out | コンポーネントのクラス名を受け取る SAFEARRAY へのポインタである。 |
| ppsaVarFileFlags | SAFEARRAY** | out | 各ファイルの状態を示すフラグを受け取る SAFEARRAY へのポインタである。 |
| ppsaVarComponentFlags | SAFEARRAY** | out | 各コンポーネントの状態を示すフラグを受け取る SAFEARRAY へのポインタである。 |
vtbl 24 HRESULT RefreshComponents()
| bstrBackupFilePath | LPWSTR | in | 登録データベースのバックアップ先ファイルパスを示す文字列へのポインタである。 |
| bstrBackupFilePath | LPWSTR | in | 登録データベースの復元元バックアップファイルパスを示す文字列へのポインタである。 |
vtbl 27 HRESULT QueryApplicationFile(LPWSTR bstrApplicationFile, LPWSTR* pbstrApplicationName, LPWSTR* pbstrApplicationDescription, VARIANT_BOOL* pbHasUsers, VARIANT_BOOL* pbIsProxy, SAFEARRAY** ppsaVarFileNames)
| bstrApplicationFile | LPWSTR | in | 情報を問い合わせるアプリケーションファイルのパスを示す文字列へのポインタである。 |
| pbstrApplicationName | LPWSTR* | out | アプリケーション名を受け取るポインタである。 |
| pbstrApplicationDescription | LPWSTR* | out | アプリケーションの説明を受け取るポインタである。 |
| pbHasUsers | VARIANT_BOOL* | out | アプリケーションがユーザー情報を含むかどうかを受け取るポインタである。 |
| pbIsProxy | VARIANT_BOOL* | out | アプリケーションがプロキシかどうかを受け取るポインタである。 |
| ppsaVarFileNames | SAFEARRAY** | out | アプリケーションに含まれるファイル名を受け取る SAFEARRAY へのポインタである。 |
| bstrApplIdOrName | LPWSTR | in | 起動するアプリケーションの ID または名前を示す文字列へのポインタである。 |
| lService | INT | in | 状態を確認するサービスを識別する値を指定する。 |
| plStatus | INT* | out | サービスの状態を受け取るポインタである。 |
vtbl 30 HRESULT InstallMultipleEventClasses(LPWSTR bstrApplIdOrName, SAFEARRAY** ppsaVarFileNames, SAFEARRAY** ppsaVarCLSIDS)
| bstrApplIdOrName | LPWSTR | in | インストール先アプリケーションの ID または名前を示す文字列へのポインタである。 |
| ppsaVarFileNames | SAFEARRAY** | in | インストールするイベントクラスのファイル名を格納した SAFEARRAY へのポインタである。 |
| ppsaVarCLSIDS | SAFEARRAY** | in | インストールするイベントクラスの CLSID を格納した SAFEARRAY へのポインタである。 |
vtbl 31 HRESULT InstallEventClass(LPWSTR bstrApplIdOrName, LPWSTR bstrDLL, LPWSTR bstrTLB, LPWSTR bstrPSDLL)
| bstrApplIdOrName | LPWSTR | in | インストール先アプリケーションの ID または名前を示す文字列へのポインタである。 |
| bstrDLL | LPWSTR | in | イベントクラスを含む DLL のパスを示す文字列へのポインタである。 |
| bstrTLB | LPWSTR | in | タイプライブラリ(TLB)のパスを示す文字列へのポインタである。 |
| bstrPSDLL | LPWSTR | in | プロキシ/スタブ DLL のパスを示す文字列へのポインタである。不要な場合は空文字列を指定する。 |
vtbl 32 HRESULT GetEventClassesForIID(LPWSTR bstrIID, SAFEARRAY** ppsaVarCLSIDs, SAFEARRAY** ppsaVarProgIDs, SAFEARRAY** ppsaVarDescriptions)
| bstrIID | LPWSTR | in | イベントクラスを検索する対象のインターフェイス ID(IID)を示す文字列へのポインタである。 |
| ppsaVarCLSIDs | SAFEARRAY** | out | 該当するイベントクラスの CLSID を受け取る SAFEARRAY へのポインタである。 |
| ppsaVarProgIDs | SAFEARRAY** | out | 該当するイベントクラスの ProgID を受け取る SAFEARRAY へのポインタである。 |
| ppsaVarDescriptions | SAFEARRAY** | out | 該当するイベントクラスの説明を受け取る SAFEARRAY へのポインタである。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_ICOMAdminCatalog "{DD662187-DFC2-11D1-A2CF-00805FC79235}" #usecom global ICOMAdminCatalog IID_ICOMAdminCatalog "{F618C514-DFB8-11D1-A2CF-00805FC79235}" #comfunc global ICOMAdminCatalog_GetCollection 7 wstr,sptr #comfunc global ICOMAdminCatalog_Connect 8 wstr,sptr #comfunc global ICOMAdminCatalog_get_MajorVersion 9 var #comfunc global ICOMAdminCatalog_get_MinorVersion 10 var #comfunc global ICOMAdminCatalog_GetCollectionByQuery 11 wstr,var,sptr #comfunc global ICOMAdminCatalog_ImportComponent 12 wstr,wstr #comfunc global ICOMAdminCatalog_InstallComponent 13 wstr,wstr,wstr,wstr #comfunc global ICOMAdminCatalog_ShutdownApplication 14 wstr #comfunc global ICOMAdminCatalog_ExportApplication 15 wstr,wstr,int #comfunc global ICOMAdminCatalog_InstallApplication 16 wstr,wstr,int,wstr,wstr,wstr #comfunc global ICOMAdminCatalog_StopRouter 17 #comfunc global ICOMAdminCatalog_RefreshRouter 18 #comfunc global ICOMAdminCatalog_StartRouter 19 #comfunc global ICOMAdminCatalog_Reserved1 20 #comfunc global ICOMAdminCatalog_Reserved2 21 #comfunc global ICOMAdminCatalog_InstallMultipleComponents 22 wstr,var,var #comfunc global ICOMAdminCatalog_GetMultipleComponentsInfo 23 wstr,var,var,var,var,var #comfunc global ICOMAdminCatalog_RefreshComponents 24 #comfunc global ICOMAdminCatalog_BackupREGDB 25 wstr #comfunc global ICOMAdminCatalog_RestoreREGDB 26 wstr #comfunc global ICOMAdminCatalog_QueryApplicationFile 27 wstr,var,var,var,var,var #comfunc global ICOMAdminCatalog_StartApplication 28 wstr #comfunc global ICOMAdminCatalog_ServiceCheck 29 int,var #comfunc global ICOMAdminCatalog_InstallMultipleEventClasses 30 wstr,var,var #comfunc global ICOMAdminCatalog_InstallEventClass 31 wstr,wstr,wstr,wstr #comfunc global ICOMAdminCatalog_GetEventClassesForIID 32 wstr,var,var,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。#define global IID_ICOMAdminCatalog "{DD662187-DFC2-11D1-A2CF-00805FC79235}" #usecom global ICOMAdminCatalog IID_ICOMAdminCatalog "{F618C514-DFB8-11D1-A2CF-00805FC79235}" #comfunc global ICOMAdminCatalog_GetCollection 7 wstr,sptr #comfunc global ICOMAdminCatalog_Connect 8 wstr,sptr #comfunc global ICOMAdminCatalog_get_MajorVersion 9 sptr #comfunc global ICOMAdminCatalog_get_MinorVersion 10 sptr #comfunc global ICOMAdminCatalog_GetCollectionByQuery 11 wstr,sptr,sptr #comfunc global ICOMAdminCatalog_ImportComponent 12 wstr,wstr #comfunc global ICOMAdminCatalog_InstallComponent 13 wstr,wstr,wstr,wstr #comfunc global ICOMAdminCatalog_ShutdownApplication 14 wstr #comfunc global ICOMAdminCatalog_ExportApplication 15 wstr,wstr,int #comfunc global ICOMAdminCatalog_InstallApplication 16 wstr,wstr,int,wstr,wstr,wstr #comfunc global ICOMAdminCatalog_StopRouter 17 #comfunc global ICOMAdminCatalog_RefreshRouter 18 #comfunc global ICOMAdminCatalog_StartRouter 19 #comfunc global ICOMAdminCatalog_Reserved1 20 #comfunc global ICOMAdminCatalog_Reserved2 21 #comfunc global ICOMAdminCatalog_InstallMultipleComponents 22 wstr,sptr,sptr #comfunc global ICOMAdminCatalog_GetMultipleComponentsInfo 23 wstr,sptr,sptr,sptr,sptr,sptr #comfunc global ICOMAdminCatalog_RefreshComponents 24 #comfunc global ICOMAdminCatalog_BackupREGDB 25 wstr #comfunc global ICOMAdminCatalog_RestoreREGDB 26 wstr #comfunc global ICOMAdminCatalog_QueryApplicationFile 27 wstr,sptr,sptr,sptr,sptr,sptr #comfunc global ICOMAdminCatalog_StartApplication 28 wstr #comfunc global ICOMAdminCatalog_ServiceCheck 29 int,sptr #comfunc global ICOMAdminCatalog_InstallMultipleEventClasses 30 wstr,sptr,sptr #comfunc global ICOMAdminCatalog_InstallEventClass 31 wstr,wstr,wstr,wstr #comfunc global ICOMAdminCatalog_GetEventClassesForIID 32 wstr,sptr,sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。