ホーム › System.ComponentServices › ICOMAdminCatalog2
ICOMAdminCatalog2
COMIDispatch (デュアル)✅ IDispatch を実装(デュアルインターフェース)。HSP では
comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。メソッド 31
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
vtbl 33 HRESULT GetCollectionByQuery2(LPWSTR bstrCollectionName, VARIANT* pVarQueryStrings, IDispatch** ppCatalogCollection)
| bstrCollectionName | LPWSTR | in | 取得対象のカタログコレクション名を指定する。 |
| pVarQueryStrings | VARIANT* | in | コレクションを絞り込むためのクエリ文字列を格納した VARIANT へのポインタである。 |
| ppCatalogCollection | IDispatch** | out | 取得したカタログコレクションの IDispatch インターフェイスを受け取るポインタである。 |
vtbl 34 HRESULT GetApplicationInstanceIDFromProcessID(INT lProcessID, LPWSTR* pbstrApplicationInstanceID)
| lProcessID | INT | in | アプリケーションインスタンスを特定するプロセス ID を指定する。 |
| pbstrApplicationInstanceID | LPWSTR* | out | 指定プロセスに対応するアプリケーションインスタンス ID 文字列を受け取るポインタである。 |
| pVarApplicationInstanceID | VARIANT* | in | シャットダウン対象のアプリケーションインスタンス ID(単一または配列)を格納した VARIANT へのポインタである。 |
| pVarApplicationInstanceID | VARIANT* | in | 一時停止対象のアプリケーションインスタンス ID(単一または配列)を格納した VARIANT へのポインタである。 |
| pVarApplicationInstanceID | VARIANT* | in | 再開対象のアプリケーションインスタンス ID(単一または配列)を格納した VARIANT へのポインタである。 |
| pVarApplicationInstanceID | VARIANT* | in | リサイクル対象のアプリケーションインスタンス ID(単一または配列)を格納した VARIANT へのポインタである。 |
| lReasonCode | INT | in | リサイクルを実行する理由を示すコードを指定する。 |
vtbl 39 HRESULT AreApplicationInstancesPaused(VARIANT* pVarApplicationInstanceID, VARIANT_BOOL* pVarBoolPaused)
| pVarApplicationInstanceID | VARIANT* | in | 状態を確認するアプリケーションインスタンス ID(単一または配列)を格納した VARIANT へのポインタである。 |
| pVarBoolPaused | VARIANT_BOOL* | out | 対象のインスタンスが一時停止中であるかどうかを受け取る VARIANT_BOOL へのポインタである。 |
vtbl 40 HRESULT DumpApplicationInstance(LPWSTR bstrApplicationInstanceID, LPWSTR bstrDirectory, INT lMaxImages, LPWSTR* pbstrDumpFile)
| bstrApplicationInstanceID | LPWSTR | in | ダンプを取得する対象のアプリケーションインスタンス ID を指定する。 |
| bstrDirectory | LPWSTR | in | ダンプファイルを出力するディレクトリのパスを指定する。 |
| lMaxImages | INT | in | 保持するダンプイメージの最大数を指定する。 |
| pbstrDumpFile | LPWSTR* | out | 生成されたダンプファイルのパスを受け取るポインタである。 |
vtbl 41 HRESULT get_IsApplicationInstanceDumpSupported(VARIANT_BOOL* pVarBoolDumpSupported)
| pVarBoolDumpSupported | VARIANT_BOOL* | out | アプリケーションインスタンスのダンプ機能がサポートされているかどうかを受け取る VARIANT_BOOL へのポインタである。 |
vtbl 42 HRESULT CreateServiceForApplication(LPWSTR bstrApplicationIDOrName, LPWSTR bstrServiceName, LPWSTR bstrStartType, LPWSTR bstrErrorControl, LPWSTR bstrDependencies, LPWSTR bstrRunAs, LPWSTR bstrPassword, VARIANT_BOOL bDesktopOk)
| bstrApplicationIDOrName | LPWSTR | in | Windows サービスとして実行する COM+ アプリケーションの ID または名前を指定する。 |
| bstrServiceName | LPWSTR | in | 作成する Windows サービスの名前を指定する。 |
| bstrStartType | LPWSTR | in | サービスの開始方法(自動・手動など)を指定する。 |
| bstrErrorControl | LPWSTR | in | サービス開始失敗時のエラー制御方法を指定する。 |
| bstrDependencies | LPWSTR | in | サービスが依存する他サービスの一覧を指定する。 |
| bstrRunAs | LPWSTR | in | サービスを実行するアカウント名を指定する。 |
| bstrPassword | LPWSTR | in | 実行アカウントのパスワードを指定する。 |
| bDesktopOk | VARIANT_BOOL | in | サービスがデスクトップと対話可能かどうかを指定する。 |
| bstrApplicationIDOrName | LPWSTR | in | サービスを削除する対象の COM+ アプリケーションの ID または名前を指定する。 |
| bstrApplicationIDOrName | LPWSTR | in | パーティション ID を取得する対象アプリケーションの ID または名前を指定する。 |
| pbstrPartitionID | LPWSTR* | out | アプリケーションが属するパーティションの ID 文字列を受け取るポインタである。 |
| bstrApplicationIDOrName | LPWSTR | in | パーティション名を取得する対象アプリケーションの ID または名前を指定する。 |
| pbstrPartitionName | LPWSTR* | out | アプリケーションが属するパーティションの名前を受け取るポインタである。 |
| bstrPartitionIDOrName | LPWSTR | in | 現在のパーティションとして設定するパーティションの ID または名前を指定する。 |
| pbstrPartitionID | LPWSTR* | out | 現在のパーティションの ID 文字列を受け取るポインタである。 |
| pbstrPartitionName | LPWSTR* | out | 現在のパーティションの名前を受け取るポインタである。 |
| pbstrGlobalPartitionID | LPWSTR* | out | グローバルパーティションの ID 文字列を受け取るポインタである。 |
vtbl 50 HRESULT FlushPartitionCache()
vtbl 51 HRESULT CopyApplications(LPWSTR bstrSourcePartitionIDOrName, VARIANT* pVarApplicationID, LPWSTR bstrDestinationPartitionIDOrName)
| bstrSourcePartitionIDOrName | LPWSTR | in | コピー元パーティションの ID または名前を指定する。 |
| pVarApplicationID | VARIANT* | in | コピー対象のアプリケーション ID(単一または配列)を格納した VARIANT へのポインタである。 |
| bstrDestinationPartitionIDOrName | LPWSTR | in | コピー先パーティションの ID または名前を指定する。 |
vtbl 52 HRESULT CopyComponents(LPWSTR bstrSourceApplicationIDOrName, VARIANT* pVarCLSIDOrProgID, LPWSTR bstrDestinationApplicationIDOrName)
| bstrSourceApplicationIDOrName | LPWSTR | in | コピー元アプリケーションの ID または名前を指定する。 |
| pVarCLSIDOrProgID | VARIANT* | in | コピー対象コンポーネントの CLSID または ProgID(単一または配列)を格納した VARIANT へのポインタである。 |
| bstrDestinationApplicationIDOrName | LPWSTR | in | コピー先アプリケーションの ID または名前を指定する。 |
vtbl 53 HRESULT MoveComponents(LPWSTR bstrSourceApplicationIDOrName, VARIANT* pVarCLSIDOrProgID, LPWSTR bstrDestinationApplicationIDOrName)
| bstrSourceApplicationIDOrName | LPWSTR | in | 移動元アプリケーションの ID または名前を指定する。 |
| pVarCLSIDOrProgID | VARIANT* | in | 移動対象コンポーネントの CLSID または ProgID(単一または配列)を格納した VARIANT へのポインタである。 |
| bstrDestinationApplicationIDOrName | LPWSTR | in | 移動先アプリケーションの ID または名前を指定する。 |
vtbl 54 HRESULT AliasComponent(LPWSTR bstrSrcApplicationIDOrName, LPWSTR bstrCLSIDOrProgID, LPWSTR bstrDestApplicationIDOrName, LPWSTR bstrNewProgId, LPWSTR bstrNewClsid)
| bstrSrcApplicationIDOrName | LPWSTR | in | 別名を作成する元のコンポーネントが属するアプリケーションの ID または名前を指定する。 |
| bstrCLSIDOrProgID | LPWSTR | in | 別名を作成する元コンポーネントの CLSID または ProgID を指定する。 |
| bstrDestApplicationIDOrName | LPWSTR | in | 別名コンポーネントを配置する先のアプリケーションの ID または名前を指定する。 |
| bstrNewProgId | LPWSTR | in | 別名コンポーネントに割り当てる新しい ProgID を指定する。 |
| bstrNewClsid | LPWSTR | in | 別名コンポーネントに割り当てる新しい CLSID を指定する。 |
vtbl 55 HRESULT IsSafeToDelete(LPWSTR bstrDllName, COMAdminInUse* pCOMAdminInUse)
| bstrDllName | LPWSTR | in | 削除可否を確認する DLL のファイル名を指定する。 |
| pCOMAdminInUse | COMAdminInUse* | out | DLL が COM+ で使用中かどうかを示す COMAdminInUse 値を受け取るポインタである。 |
vtbl 56 HRESULT ImportUnconfiguredComponents(LPWSTR bstrApplicationIDOrName, VARIANT* pVarCLSIDOrProgID, VARIANT* pVarComponentType)
| bstrApplicationIDOrName | LPWSTR | in | コンポーネントをインポートする対象アプリケーションの ID または名前を指定する。 |
| pVarCLSIDOrProgID | VARIANT* | in | インポート対象の未構成コンポーネントの CLSID または ProgID を格納した VARIANT へのポインタである。 |
| pVarComponentType | VARIANT* | in | 各コンポーネントの種類を格納した VARIANT へのポインタである。 |
vtbl 57 HRESULT PromoteUnconfiguredComponents(LPWSTR bstrApplicationIDOrName, VARIANT* pVarCLSIDOrProgID, VARIANT* pVarComponentType)
| bstrApplicationIDOrName | LPWSTR | in | コンポーネントを昇格させる対象アプリケーションの ID または名前を指定する。 |
| pVarCLSIDOrProgID | VARIANT* | in | 昇格対象の未構成コンポーネントの CLSID または ProgID を格納した VARIANT へのポインタである。 |
| pVarComponentType | VARIANT* | in | 各コンポーネントの種類を格納した VARIANT へのポインタである。 |
vtbl 58 HRESULT ImportComponents(LPWSTR bstrApplicationIDOrName, VARIANT* pVarCLSIDOrProgID, VARIANT* pVarComponentType)
| bstrApplicationIDOrName | LPWSTR | in | コンポーネントをインポートする対象アプリケーションの ID または名前を指定する。 |
| pVarCLSIDOrProgID | VARIANT* | in | インポート対象コンポーネントの CLSID または ProgID を格納した VARIANT へのポインタである。 |
| pVarComponentType | VARIANT* | in | 各コンポーネントの種類を格納した VARIANT へのポインタである。 |
vtbl 59 HRESULT get_Is64BitCatalogServer(VARIANT_BOOL* pbIs64Bit)
| pbIs64Bit | VARIANT_BOOL* | out | カタログサーバーが 64 ビットであるかどうかを受け取る VARIANT_BOOL へのポインタである。 |
vtbl 60 HRESULT ExportPartition(LPWSTR bstrPartitionIDOrName, LPWSTR bstrPartitionFileName, COMAdminApplicationExportOptions lOptions)
| bstrPartitionIDOrName | LPWSTR | in | エクスポートするパーティションの ID または名前を指定する。 |
| bstrPartitionFileName | LPWSTR | in | エクスポート先のパーティションファイル名を指定する。 |
| lOptions | COMAdminApplicationExportOptions | in | エクスポート動作を制御するオプションフラグを指定する。 |
vtbl 61 HRESULT InstallPartition(LPWSTR bstrFileName, LPWSTR bstrDestDirectory, COMAdminApplicationInstallOptions lOptions, LPWSTR bstrUserID, LPWSTR bstrPassword, LPWSTR bstrRSN)
| bstrFileName | LPWSTR | in | インストールするパーティションファイルの名前を指定する。 |
| bstrDestDirectory | LPWSTR | in | インストール先のディレクトリパスを指定する。 |
| lOptions | COMAdminApplicationInstallOptions | in | インストール動作を制御するオプションフラグを指定する。 |
| bstrUserID | LPWSTR | in | インストールするアプリケーションを実行するユーザー ID を指定する。 |
| bstrPassword | LPWSTR | in | 実行ユーザーのパスワードを指定する。 |
| bstrRSN | LPWSTR | in | リモートサーバー名(RSN)を指定する。 |
| bstrApplicationFile | LPWSTR | in | 情報を問い合わせるアプリケーションファイル(.msi など)の名前を指定する。 |
| ppFilesForImport | IDispatch** | out | インポート可能なファイル情報のコレクションを表す IDispatch インターフェイスを受け取るポインタである。 |
| bstrCLSIDOrProgID | LPWSTR | in | バージョン数を取得する対象コンポーネントの CLSID または ProgID を指定する。 |
| plVersionCount | INT* | out | コンポーネントの登録バージョン数を受け取るポインタである。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_ICOMAdminCatalog2 "{790C6E0B-9194-4CC9-9426-A48A63185696}" #usecom global ICOMAdminCatalog2 IID_ICOMAdminCatalog2 "{F618C514-DFB8-11D1-A2CF-00805FC79235}" #comfunc global ICOMAdminCatalog2_GetCollectionByQuery2 33 wstr,var,sptr #comfunc global ICOMAdminCatalog2_GetApplicationInstanceIDFromProcessID 34 int,var #comfunc global ICOMAdminCatalog2_ShutdownApplicationInstances 35 var #comfunc global ICOMAdminCatalog2_PauseApplicationInstances 36 var #comfunc global ICOMAdminCatalog2_ResumeApplicationInstances 37 var #comfunc global ICOMAdminCatalog2_RecycleApplicationInstances 38 var,int #comfunc global ICOMAdminCatalog2_AreApplicationInstancesPaused 39 var,var #comfunc global ICOMAdminCatalog2_DumpApplicationInstance 40 wstr,wstr,int,var #comfunc global ICOMAdminCatalog2_get_IsApplicationInstanceDumpSupported 41 var #comfunc global ICOMAdminCatalog2_CreateServiceForApplication 42 wstr,wstr,wstr,wstr,wstr,wstr,wstr,int #comfunc global ICOMAdminCatalog2_DeleteServiceForApplication 43 wstr #comfunc global ICOMAdminCatalog2_GetPartitionID 44 wstr,var #comfunc global ICOMAdminCatalog2_GetPartitionName 45 wstr,var #comfunc global ICOMAdminCatalog2_put_CurrentPartition 46 wstr #comfunc global ICOMAdminCatalog2_get_CurrentPartitionID 47 var #comfunc global ICOMAdminCatalog2_get_CurrentPartitionName 48 var #comfunc global ICOMAdminCatalog2_get_GlobalPartitionID 49 var #comfunc global ICOMAdminCatalog2_FlushPartitionCache 50 #comfunc global ICOMAdminCatalog2_CopyApplications 51 wstr,var,wstr #comfunc global ICOMAdminCatalog2_CopyComponents 52 wstr,var,wstr #comfunc global ICOMAdminCatalog2_MoveComponents 53 wstr,var,wstr #comfunc global ICOMAdminCatalog2_AliasComponent 54 wstr,wstr,wstr,wstr,wstr #comfunc global ICOMAdminCatalog2_IsSafeToDelete 55 wstr,var #comfunc global ICOMAdminCatalog2_ImportUnconfiguredComponents 56 wstr,var,var #comfunc global ICOMAdminCatalog2_PromoteUnconfiguredComponents 57 wstr,var,var #comfunc global ICOMAdminCatalog2_ImportComponents 58 wstr,var,var #comfunc global ICOMAdminCatalog2_get_Is64BitCatalogServer 59 var #comfunc global ICOMAdminCatalog2_ExportPartition 60 wstr,wstr,int #comfunc global ICOMAdminCatalog2_InstallPartition 61 wstr,wstr,int,wstr,wstr,wstr #comfunc global ICOMAdminCatalog2_QueryApplicationFile2 62 wstr,sptr #comfunc global ICOMAdminCatalog2_GetComponentVersionCount 63 wstr,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_ICOMAdminCatalog2 "{790C6E0B-9194-4CC9-9426-A48A63185696}" #usecom global ICOMAdminCatalog2 IID_ICOMAdminCatalog2 "{F618C514-DFB8-11D1-A2CF-00805FC79235}" #comfunc global ICOMAdminCatalog2_GetCollectionByQuery2 33 wstr,sptr,sptr #comfunc global ICOMAdminCatalog2_GetApplicationInstanceIDFromProcessID 34 int,sptr #comfunc global ICOMAdminCatalog2_ShutdownApplicationInstances 35 sptr #comfunc global ICOMAdminCatalog2_PauseApplicationInstances 36 sptr #comfunc global ICOMAdminCatalog2_ResumeApplicationInstances 37 sptr #comfunc global ICOMAdminCatalog2_RecycleApplicationInstances 38 sptr,int #comfunc global ICOMAdminCatalog2_AreApplicationInstancesPaused 39 sptr,sptr #comfunc global ICOMAdminCatalog2_DumpApplicationInstance 40 wstr,wstr,int,sptr #comfunc global ICOMAdminCatalog2_get_IsApplicationInstanceDumpSupported 41 sptr #comfunc global ICOMAdminCatalog2_CreateServiceForApplication 42 wstr,wstr,wstr,wstr,wstr,wstr,wstr,int #comfunc global ICOMAdminCatalog2_DeleteServiceForApplication 43 wstr #comfunc global ICOMAdminCatalog2_GetPartitionID 44 wstr,sptr #comfunc global ICOMAdminCatalog2_GetPartitionName 45 wstr,sptr #comfunc global ICOMAdminCatalog2_put_CurrentPartition 46 wstr #comfunc global ICOMAdminCatalog2_get_CurrentPartitionID 47 sptr #comfunc global ICOMAdminCatalog2_get_CurrentPartitionName 48 sptr #comfunc global ICOMAdminCatalog2_get_GlobalPartitionID 49 sptr #comfunc global ICOMAdminCatalog2_FlushPartitionCache 50 #comfunc global ICOMAdminCatalog2_CopyApplications 51 wstr,sptr,wstr #comfunc global ICOMAdminCatalog2_CopyComponents 52 wstr,sptr,wstr #comfunc global ICOMAdminCatalog2_MoveComponents 53 wstr,sptr,wstr #comfunc global ICOMAdminCatalog2_AliasComponent 54 wstr,wstr,wstr,wstr,wstr #comfunc global ICOMAdminCatalog2_IsSafeToDelete 55 wstr,sptr #comfunc global ICOMAdminCatalog2_ImportUnconfiguredComponents 56 wstr,sptr,sptr #comfunc global ICOMAdminCatalog2_PromoteUnconfiguredComponents 57 wstr,sptr,sptr #comfunc global ICOMAdminCatalog2_ImportComponents 58 wstr,sptr,sptr #comfunc global ICOMAdminCatalog2_get_Is64BitCatalogServer 59 sptr #comfunc global ICOMAdminCatalog2_ExportPartition 60 wstr,wstr,int #comfunc global ICOMAdminCatalog2_InstallPartition 61 wstr,wstr,int,wstr,wstr,wstr #comfunc global ICOMAdminCatalog2_QueryApplicationFile2 62 wstr,sptr #comfunc global ICOMAdminCatalog2_GetComponentVersionCount 63 wstr,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 不要)。