Win32 API 日本語リファレンス
ホームSystem.ComponentServices › ICOMAdminCatalog2

ICOMAdminCatalog2

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IID790c6e0b-9194-4cc9-9426-a48a63185696継承元ICOMAdminCatalog呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl33

メソッド 31

vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。

vtbl 33 HRESULT GetCollectionByQuery2(LPWSTR bstrCollectionName, VARIANT* pVarQueryStrings, IDispatch** ppCatalogCollection)
bstrCollectionNameLPWSTRin取得対象のカタログコレクション名を指定する。
pVarQueryStringsVARIANT*inコレクションを絞り込むためのクエリ文字列を格納した VARIANT へのポインタである。
ppCatalogCollectionIDispatch**out取得したカタログコレクションの IDispatch インターフェイスを受け取るポインタである。
vtbl 34 HRESULT GetApplicationInstanceIDFromProcessID(INT lProcessID, LPWSTR* pbstrApplicationInstanceID)
lProcessIDINTinアプリケーションインスタンスを特定するプロセス ID を指定する。
pbstrApplicationInstanceIDLPWSTR*out指定プロセスに対応するアプリケーションインスタンス ID 文字列を受け取るポインタである。
vtbl 35 HRESULT ShutdownApplicationInstances(VARIANT* pVarApplicationInstanceID)
pVarApplicationInstanceIDVARIANT*inシャットダウン対象のアプリケーションインスタンス ID(単一または配列)を格納した VARIANT へのポインタである。
vtbl 36 HRESULT PauseApplicationInstances(VARIANT* pVarApplicationInstanceID)
pVarApplicationInstanceIDVARIANT*in一時停止対象のアプリケーションインスタンス ID(単一または配列)を格納した VARIANT へのポインタである。
vtbl 37 HRESULT ResumeApplicationInstances(VARIANT* pVarApplicationInstanceID)
pVarApplicationInstanceIDVARIANT*in再開対象のアプリケーションインスタンス ID(単一または配列)を格納した VARIANT へのポインタである。
vtbl 38 HRESULT RecycleApplicationInstances(VARIANT* pVarApplicationInstanceID, INT lReasonCode)
pVarApplicationInstanceIDVARIANT*inリサイクル対象のアプリケーションインスタンス ID(単一または配列)を格納した VARIANT へのポインタである。
lReasonCodeINTinリサイクルを実行する理由を示すコードを指定する。
vtbl 39 HRESULT AreApplicationInstancesPaused(VARIANT* pVarApplicationInstanceID, VARIANT_BOOL* pVarBoolPaused)
pVarApplicationInstanceIDVARIANT*in状態を確認するアプリケーションインスタンス ID(単一または配列)を格納した VARIANT へのポインタである。
pVarBoolPausedVARIANT_BOOL*out対象のインスタンスが一時停止中であるかどうかを受け取る VARIANT_BOOL へのポインタである。
vtbl 40 HRESULT DumpApplicationInstance(LPWSTR bstrApplicationInstanceID, LPWSTR bstrDirectory, INT lMaxImages, LPWSTR* pbstrDumpFile)
bstrApplicationInstanceIDLPWSTRinダンプを取得する対象のアプリケーションインスタンス ID を指定する。
bstrDirectoryLPWSTRinダンプファイルを出力するディレクトリのパスを指定する。
lMaxImagesINTin保持するダンプイメージの最大数を指定する。
pbstrDumpFileLPWSTR*out生成されたダンプファイルのパスを受け取るポインタである。
vtbl 41 HRESULT get_IsApplicationInstanceDumpSupported(VARIANT_BOOL* pVarBoolDumpSupported)
pVarBoolDumpSupportedVARIANT_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)
bstrApplicationIDOrNameLPWSTRinWindows サービスとして実行する COM+ アプリケーションの ID または名前を指定する。
bstrServiceNameLPWSTRin作成する Windows サービスの名前を指定する。
bstrStartTypeLPWSTRinサービスの開始方法(自動・手動など)を指定する。
bstrErrorControlLPWSTRinサービス開始失敗時のエラー制御方法を指定する。
bstrDependenciesLPWSTRinサービスが依存する他サービスの一覧を指定する。
bstrRunAsLPWSTRinサービスを実行するアカウント名を指定する。
bstrPasswordLPWSTRin実行アカウントのパスワードを指定する。
bDesktopOkVARIANT_BOOLinサービスがデスクトップと対話可能かどうかを指定する。
vtbl 43 HRESULT DeleteServiceForApplication(LPWSTR bstrApplicationIDOrName)
bstrApplicationIDOrNameLPWSTRinサービスを削除する対象の COM+ アプリケーションの ID または名前を指定する。
vtbl 44 HRESULT GetPartitionID(LPWSTR bstrApplicationIDOrName, LPWSTR* pbstrPartitionID)
bstrApplicationIDOrNameLPWSTRinパーティション ID を取得する対象アプリケーションの ID または名前を指定する。
pbstrPartitionIDLPWSTR*outアプリケーションが属するパーティションの ID 文字列を受け取るポインタである。
vtbl 45 HRESULT GetPartitionName(LPWSTR bstrApplicationIDOrName, LPWSTR* pbstrPartitionName)
bstrApplicationIDOrNameLPWSTRinパーティション名を取得する対象アプリケーションの ID または名前を指定する。
pbstrPartitionNameLPWSTR*outアプリケーションが属するパーティションの名前を受け取るポインタである。
vtbl 46 HRESULT put_CurrentPartition(LPWSTR bstrPartitionIDOrName)
bstrPartitionIDOrNameLPWSTRin現在のパーティションとして設定するパーティションの ID または名前を指定する。
vtbl 47 HRESULT get_CurrentPartitionID(LPWSTR* pbstrPartitionID)
pbstrPartitionIDLPWSTR*out現在のパーティションの ID 文字列を受け取るポインタである。
vtbl 48 HRESULT get_CurrentPartitionName(LPWSTR* pbstrPartitionName)
pbstrPartitionNameLPWSTR*out現在のパーティションの名前を受け取るポインタである。
vtbl 49 HRESULT get_GlobalPartitionID(LPWSTR* pbstrGlobalPartitionID)
pbstrGlobalPartitionIDLPWSTR*outグローバルパーティションの ID 文字列を受け取るポインタである。
vtbl 50 HRESULT FlushPartitionCache()
vtbl 51 HRESULT CopyApplications(LPWSTR bstrSourcePartitionIDOrName, VARIANT* pVarApplicationID, LPWSTR bstrDestinationPartitionIDOrName)
bstrSourcePartitionIDOrNameLPWSTRinコピー元パーティションの ID または名前を指定する。
pVarApplicationIDVARIANT*inコピー対象のアプリケーション ID(単一または配列)を格納した VARIANT へのポインタである。
bstrDestinationPartitionIDOrNameLPWSTRinコピー先パーティションの ID または名前を指定する。
vtbl 52 HRESULT CopyComponents(LPWSTR bstrSourceApplicationIDOrName, VARIANT* pVarCLSIDOrProgID, LPWSTR bstrDestinationApplicationIDOrName)
bstrSourceApplicationIDOrNameLPWSTRinコピー元アプリケーションの ID または名前を指定する。
pVarCLSIDOrProgIDVARIANT*inコピー対象コンポーネントの CLSID または ProgID(単一または配列)を格納した VARIANT へのポインタである。
bstrDestinationApplicationIDOrNameLPWSTRinコピー先アプリケーションの ID または名前を指定する。
vtbl 53 HRESULT MoveComponents(LPWSTR bstrSourceApplicationIDOrName, VARIANT* pVarCLSIDOrProgID, LPWSTR bstrDestinationApplicationIDOrName)
bstrSourceApplicationIDOrNameLPWSTRin移動元アプリケーションの ID または名前を指定する。
pVarCLSIDOrProgIDVARIANT*in移動対象コンポーネントの CLSID または ProgID(単一または配列)を格納した VARIANT へのポインタである。
bstrDestinationApplicationIDOrNameLPWSTRin移動先アプリケーションの ID または名前を指定する。
vtbl 54 HRESULT AliasComponent(LPWSTR bstrSrcApplicationIDOrName, LPWSTR bstrCLSIDOrProgID, LPWSTR bstrDestApplicationIDOrName, LPWSTR bstrNewProgId, LPWSTR bstrNewClsid)
bstrSrcApplicationIDOrNameLPWSTRin別名を作成する元のコンポーネントが属するアプリケーションの ID または名前を指定する。
bstrCLSIDOrProgIDLPWSTRin別名を作成する元コンポーネントの CLSID または ProgID を指定する。
bstrDestApplicationIDOrNameLPWSTRin別名コンポーネントを配置する先のアプリケーションの ID または名前を指定する。
bstrNewProgIdLPWSTRin別名コンポーネントに割り当てる新しい ProgID を指定する。
bstrNewClsidLPWSTRin別名コンポーネントに割り当てる新しい CLSID を指定する。
vtbl 55 HRESULT IsSafeToDelete(LPWSTR bstrDllName, COMAdminInUse* pCOMAdminInUse)
bstrDllNameLPWSTRin削除可否を確認する DLL のファイル名を指定する。
pCOMAdminInUseCOMAdminInUse*outDLL が COM+ で使用中かどうかを示す COMAdminInUse 値を受け取るポインタである。
vtbl 56 HRESULT ImportUnconfiguredComponents(LPWSTR bstrApplicationIDOrName, VARIANT* pVarCLSIDOrProgID, VARIANT* pVarComponentType)
bstrApplicationIDOrNameLPWSTRinコンポーネントをインポートする対象アプリケーションの ID または名前を指定する。
pVarCLSIDOrProgIDVARIANT*inインポート対象の未構成コンポーネントの CLSID または ProgID を格納した VARIANT へのポインタである。
pVarComponentTypeVARIANT*in各コンポーネントの種類を格納した VARIANT へのポインタである。
vtbl 57 HRESULT PromoteUnconfiguredComponents(LPWSTR bstrApplicationIDOrName, VARIANT* pVarCLSIDOrProgID, VARIANT* pVarComponentType)
bstrApplicationIDOrNameLPWSTRinコンポーネントを昇格させる対象アプリケーションの ID または名前を指定する。
pVarCLSIDOrProgIDVARIANT*in昇格対象の未構成コンポーネントの CLSID または ProgID を格納した VARIANT へのポインタである。
pVarComponentTypeVARIANT*in各コンポーネントの種類を格納した VARIANT へのポインタである。
vtbl 58 HRESULT ImportComponents(LPWSTR bstrApplicationIDOrName, VARIANT* pVarCLSIDOrProgID, VARIANT* pVarComponentType)
bstrApplicationIDOrNameLPWSTRinコンポーネントをインポートする対象アプリケーションの ID または名前を指定する。
pVarCLSIDOrProgIDVARIANT*inインポート対象コンポーネントの CLSID または ProgID を格納した VARIANT へのポインタである。
pVarComponentTypeVARIANT*in各コンポーネントの種類を格納した VARIANT へのポインタである。
vtbl 59 HRESULT get_Is64BitCatalogServer(VARIANT_BOOL* pbIs64Bit)
pbIs64BitVARIANT_BOOL*outカタログサーバーが 64 ビットであるかどうかを受け取る VARIANT_BOOL へのポインタである。
vtbl 60 HRESULT ExportPartition(LPWSTR bstrPartitionIDOrName, LPWSTR bstrPartitionFileName, COMAdminApplicationExportOptions lOptions)
bstrPartitionIDOrNameLPWSTRinエクスポートするパーティションの ID または名前を指定する。
bstrPartitionFileNameLPWSTRinエクスポート先のパーティションファイル名を指定する。
lOptionsCOMAdminApplicationExportOptionsinエクスポート動作を制御するオプションフラグを指定する。
vtbl 61 HRESULT InstallPartition(LPWSTR bstrFileName, LPWSTR bstrDestDirectory, COMAdminApplicationInstallOptions lOptions, LPWSTR bstrUserID, LPWSTR bstrPassword, LPWSTR bstrRSN)
bstrFileNameLPWSTRinインストールするパーティションファイルの名前を指定する。
bstrDestDirectoryLPWSTRinインストール先のディレクトリパスを指定する。
lOptionsCOMAdminApplicationInstallOptionsinインストール動作を制御するオプションフラグを指定する。
bstrUserIDLPWSTRinインストールするアプリケーションを実行するユーザー ID を指定する。
bstrPasswordLPWSTRin実行ユーザーのパスワードを指定する。
bstrRSNLPWSTRinリモートサーバー名(RSN)を指定する。
vtbl 62 HRESULT QueryApplicationFile2(LPWSTR bstrApplicationFile, IDispatch** ppFilesForImport)
bstrApplicationFileLPWSTRin情報を問い合わせるアプリケーションファイル(.msi など)の名前を指定する。
ppFilesForImportIDispatch**outインポート可能なファイル情報のコレクションを表す IDispatch インターフェイスを受け取るポインタである。
vtbl 63 HRESULT GetComponentVersionCount(LPWSTR bstrCLSIDOrProgID, INT* plVersionCount)
bstrCLSIDOrProgIDLPWSTRinバージョン数を取得する対象コンポーネントの CLSID または ProgID を指定する。
plVersionCountINT*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 不要)。