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

ICOMAdminCatalog

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IIDdd662187-dfc2-11d1-a2cf-00805fc79235継承元IDispatch呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl7

メソッド 26

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

vtbl 7 HRESULT GetCollection(LPWSTR bstrCollName, IDispatch** ppCatalogCollection)
bstrCollNameLPWSTRin取得するコレクションの名前を示す文字列へのポインタである。
ppCatalogCollectionIDispatch**out取得したカタログコレクションの IDispatch インターフェイスを受け取るポインタである。
vtbl 8 HRESULT Connect(LPWSTR bstrCatalogServerName, IDispatch** ppCatalogCollection)
bstrCatalogServerNameLPWSTRin接続先のカタログサーバー名を示す文字列へのポインタである。
ppCatalogCollectionIDispatch**outルートコレクションの IDispatch インターフェイスを受け取るポインタである。
vtbl 9 HRESULT get_MajorVersion(INT* plMajorVersion)
plMajorVersionINT*outカタログのメジャーバージョン番号を受け取るポインタである。
vtbl 10 HRESULT get_MinorVersion(INT* plMinorVersion)
plMinorVersionINT*outカタログのマイナーバージョン番号を受け取るポインタである。
vtbl 11 HRESULT GetCollectionByQuery(LPWSTR bstrCollName, SAFEARRAY** ppsaVarQuery, IDispatch** ppCatalogCollection)
bstrCollNameLPWSTRin取得するコレクションの名前を示す文字列へのポインタである。
ppsaVarQuerySAFEARRAY**inクエリ条件を格納した SAFEARRAY へのポインタである。
ppCatalogCollectionIDispatch**outクエリ結果のカタログコレクション IDispatch インターフェイスを受け取るポインタである。
vtbl 12 HRESULT ImportComponent(LPWSTR bstrApplIDOrName, LPWSTR bstrCLSIDOrProgID)
bstrApplIDOrNameLPWSTRin対象アプリケーションの ID または名前を示す文字列へのポインタである。
bstrCLSIDOrProgIDLPWSTRinインポートするコンポーネントの CLSID または ProgID を示す文字列へのポインタである。
vtbl 13 HRESULT InstallComponent(LPWSTR bstrApplIDOrName, LPWSTR bstrDLL, LPWSTR bstrTLB, LPWSTR bstrPSDLL)
bstrApplIDOrNameLPWSTRinインストール先アプリケーションの ID または名前を示す文字列へのポインタである。
bstrDLLLPWSTRinコンポーネントを含む DLL のパスを示す文字列へのポインタである。
bstrTLBLPWSTRinタイプライブラリ(TLB)のパスを示す文字列へのポインタである。
bstrPSDLLLPWSTRinプロキシ/スタブ DLL のパスを示す文字列へのポインタである。不要な場合は空文字列を指定する。
vtbl 14 HRESULT ShutdownApplication(LPWSTR bstrApplIDOrName)
bstrApplIDOrNameLPWSTRinシャットダウンするアプリケーションの ID または名前を示す文字列へのポインタである。
vtbl 15 HRESULT ExportApplication(LPWSTR bstrApplIDOrName, LPWSTR bstrApplicationFile, COMAdminApplicationExportOptions lOptions)
bstrApplIDOrNameLPWSTRinエクスポートするアプリケーションの ID または名前を示す文字列へのポインタである。
bstrApplicationFileLPWSTRinエクスポート先のアプリケーションファイル(.MSI など)のパスを示す文字列へのポインタである。
lOptionsCOMAdminApplicationExportOptionsinエクスポート動作を制御する COMAdminApplicationExportOptions 値を指定する。
vtbl 16 HRESULT InstallApplication(LPWSTR bstrApplicationFile, LPWSTR bstrDestinationDirectory, COMAdminApplicationInstallOptions lOptions, LPWSTR bstrUserId, LPWSTR bstrPassword, LPWSTR bstrRSN)
bstrApplicationFileLPWSTRinインストールするアプリケーションファイルのパスを示す文字列へのポインタである。
bstrDestinationDirectoryLPWSTRinインストール先のディレクトリパスを示す文字列へのポインタである。
lOptionsCOMAdminApplicationInstallOptionsinインストール動作を制御する COMAdminApplicationInstallOptions 値を指定する。
bstrUserIdLPWSTRinアプリケーションの実行 ID として使用するユーザー名を示す文字列へのポインタである。
bstrPasswordLPWSTRin指定ユーザーのパスワードを示す文字列へのポインタである。
bstrRSNLPWSTRinリモートサーバー名(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)
bstrApplIDOrNameLPWSTRinインストール先アプリケーションの ID または名前を示す文字列へのポインタである。
ppsaVarFileNamesSAFEARRAY**inインストールするコンポーネントのファイル名を格納した SAFEARRAY へのポインタである。
ppsaVarCLSIDsSAFEARRAY**inインストールするコンポーネントの CLSID を格納した SAFEARRAY へのポインタである。
vtbl 23 HRESULT GetMultipleComponentsInfo(LPWSTR bstrApplIdOrName, SAFEARRAY** ppsaVarFileNames, SAFEARRAY** ppsaVarCLSIDs, SAFEARRAY** ppsaVarClassNames, SAFEARRAY** ppsaVarFileFlags, SAFEARRAY** ppsaVarComponentFlags)
bstrApplIdOrNameLPWSTRin対象アプリケーションの ID または名前を示す文字列へのポインタである。
ppsaVarFileNamesSAFEARRAY**inコンポーネントのファイル名を受け取る SAFEARRAY へのポインタである。
ppsaVarCLSIDsSAFEARRAY**outコンポーネントの CLSID を受け取る SAFEARRAY へのポインタである。
ppsaVarClassNamesSAFEARRAY**outコンポーネントのクラス名を受け取る SAFEARRAY へのポインタである。
ppsaVarFileFlagsSAFEARRAY**out各ファイルの状態を示すフラグを受け取る SAFEARRAY へのポインタである。
ppsaVarComponentFlagsSAFEARRAY**out各コンポーネントの状態を示すフラグを受け取る SAFEARRAY へのポインタである。
vtbl 24 HRESULT RefreshComponents()
vtbl 25 HRESULT BackupREGDB(LPWSTR bstrBackupFilePath)
bstrBackupFilePathLPWSTRin登録データベースのバックアップ先ファイルパスを示す文字列へのポインタである。
vtbl 26 HRESULT RestoreREGDB(LPWSTR bstrBackupFilePath)
bstrBackupFilePathLPWSTRin登録データベースの復元元バックアップファイルパスを示す文字列へのポインタである。
vtbl 27 HRESULT QueryApplicationFile(LPWSTR bstrApplicationFile, LPWSTR* pbstrApplicationName, LPWSTR* pbstrApplicationDescription, VARIANT_BOOL* pbHasUsers, VARIANT_BOOL* pbIsProxy, SAFEARRAY** ppsaVarFileNames)
bstrApplicationFileLPWSTRin情報を問い合わせるアプリケーションファイルのパスを示す文字列へのポインタである。
pbstrApplicationNameLPWSTR*outアプリケーション名を受け取るポインタである。
pbstrApplicationDescriptionLPWSTR*outアプリケーションの説明を受け取るポインタである。
pbHasUsersVARIANT_BOOL*outアプリケーションがユーザー情報を含むかどうかを受け取るポインタである。
pbIsProxyVARIANT_BOOL*outアプリケーションがプロキシかどうかを受け取るポインタである。
ppsaVarFileNamesSAFEARRAY**outアプリケーションに含まれるファイル名を受け取る SAFEARRAY へのポインタである。
vtbl 28 HRESULT StartApplication(LPWSTR bstrApplIdOrName)
bstrApplIdOrNameLPWSTRin起動するアプリケーションの ID または名前を示す文字列へのポインタである。
vtbl 29 HRESULT ServiceCheck(INT lService, INT* plStatus)
lServiceINTin状態を確認するサービスを識別する値を指定する。
plStatusINT*outサービスの状態を受け取るポインタである。
vtbl 30 HRESULT InstallMultipleEventClasses(LPWSTR bstrApplIdOrName, SAFEARRAY** ppsaVarFileNames, SAFEARRAY** ppsaVarCLSIDS)
bstrApplIdOrNameLPWSTRinインストール先アプリケーションの ID または名前を示す文字列へのポインタである。
ppsaVarFileNamesSAFEARRAY**inインストールするイベントクラスのファイル名を格納した SAFEARRAY へのポインタである。
ppsaVarCLSIDSSAFEARRAY**inインストールするイベントクラスの CLSID を格納した SAFEARRAY へのポインタである。
vtbl 31 HRESULT InstallEventClass(LPWSTR bstrApplIdOrName, LPWSTR bstrDLL, LPWSTR bstrTLB, LPWSTR bstrPSDLL)
bstrApplIdOrNameLPWSTRinインストール先アプリケーションの ID または名前を示す文字列へのポインタである。
bstrDLLLPWSTRinイベントクラスを含む DLL のパスを示す文字列へのポインタである。
bstrTLBLPWSTRinタイプライブラリ(TLB)のパスを示す文字列へのポインタである。
bstrPSDLLLPWSTRinプロキシ/スタブ DLL のパスを示す文字列へのポインタである。不要な場合は空文字列を指定する。
vtbl 32 HRESULT GetEventClassesForIID(LPWSTR bstrIID, SAFEARRAY** ppsaVarCLSIDs, SAFEARRAY** ppsaVarProgIDs, SAFEARRAY** ppsaVarDescriptions)
bstrIIDLPWSTRinイベントクラスを検索する対象のインターフェイス ID(IID)を示す文字列へのポインタである。
ppsaVarCLSIDsSAFEARRAY**out該当するイベントクラスの CLSID を受け取る SAFEARRAY へのポインタである。
ppsaVarProgIDsSAFEARRAY**out該当するイベントクラスの ProgID を受け取る SAFEARRAY へのポインタである。
ppsaVarDescriptionsSAFEARRAY**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 不要)。