ICOMAdminCatalog
COMIDispatch (デュアル)comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。公式ドキュメント
プログラムによる COM+ 管理を行うためのセッションを開始し、カタログ内のコレクションへのアクセス、COM+ アプリケーションおよびコンポーネントのインストール、サービスの開始と停止、リモートサーバーへの接続を実行します。
メソッド 26
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
COM+ カタログのトップレベルコレクションを取得します。
| bstrCollName | LPWSTR | in | 取得するコレクションの名前。 |
| ppCatalogCollection | IDispatch** | out | コレクションに対する ICatalogCollection インターフェイス。 |
戻り値
このメソッドは、標準の戻り値 E_INVALIDARG、E_OUTOFMEMORY、E_UNEXPECTED、E_FAIL、および S_OK を返すことがあります。
解説(Remarks)
このメソッドは、Applications コレクションのようなトップレベルコレクションを COM+ カタログから取得します。Components のようにトップレベルコレクションではない関連コレクションについては、親コレクションから利用できる GetCollection メソッドを使用してください。
GetCollection によって取得されるカタログコレクションには、そのコレクションに含まれる項目のカタログ上のデータは含まれていません。コレクション内の項目のデータを読み込むには、Populate メソッドを使用してください。
COM+ カタログ内のコレクションの完全な一覧については、COM+ Administration Collections を参照してください。
指定したリモートコンピューター上の COM+ カタログに接続します。
| bstrCatalogServerName | LPWSTR | in | リモートコンピューターの名前。ローカルコンピューターに接続するには、空の文字列を使用します。 |
| ppCatalogCollection | IDispatch** | out | リモートコンピューター上のルートコレクションに対する ICatalogCollection インターフェイス。 |
戻り値
このメソッドは、標準の戻り値 E_INVALIDARG、E_OUTOFMEMORY、E_UNEXPECTED、E_FAIL、および S_OK を返すことがあります。
解説(Remarks)
Connect メソッドは、リモートコンピューターにバインドされたルートコレクションも取得します。ルートコレクションはトップレベルコレクションを見つけるための起点として機能し、オブジェクトやプロパティは一切含みません。
Connect メソッドを先に使用しなくても、GetCollection メソッドを使用してローカルコンピューター上のトップレベルコレクションを取得できます。
Connect メソッドを使用すると、保持している ICOMAdminCatalog インターフェイスは、接続先のコンピューター上で動作します。
COMAdmin ライブラリのメジャーバージョン番号を取得します。
| plMajorVersion | INT* | out | カタログのメジャーバージョン番号を受け取るポインタである。 |
COMAdmin ライブラリのマイナーバージョン番号を取得します。
| plMinorVersion | INT* | out | カタログのマイナーバージョン番号を受け取るポインタである。 |
すべての親項目のキープロパティ値を指定して、COM+ カタログ上のコレクションを取得します。
| bstrCollName | LPWSTR | in | 取得するコレクションの名前。 |
| ppsaVarQuery | SAFEARRAY** | in | 取得するコレクションのすべての親項目のキープロパティ値から構成される配列への参照。 |
| ppCatalogCollection | IDispatch** | out | コレクションに対する ICatalogCollection インターフェイス。 |
戻り値
このメソッドは、標準の戻り値 E_INVALIDARG、E_OUTOFMEMORY、E_UNEXPECTED、E_FAIL、および S_OK を返すことがあります。
解説(Remarks)
項目の ICatalogObject::Key プロパティ値は、COM+ カタログ内でその項目を一意に識別するための GUID です。
GetCollectionByQuery メソッドは、すべての親項目のキー値を指定することで、カタログ上の任意のコレクションを取得します。ただし、ErrorInfo、PropertyInfo、RelatedCollectionInfo の各コレクションについては、このメソッドの動作が異なります。これらのコレクションのいずれかを指定した場合、GetCollectionByQuery は常に、Root コレクションを基準としてその名前付きコレクションを直接返します。
Root コレクションを基準とするのではなく、カタログ内の任意のコレクションを基準とした ErrorInfo、PropertyInfo、または RelatedCollectionInfo コレクションを取得するには、親コレクションから GetCollection メソッドを使用してください。
利用可能なコレクションの完全な一覧については、COM+ Administration Collections を参照してください。
インプロセスサーバーとして既に登録されているコンポーネントを COM+ アプリケーションにインポートします。
| bstrApplIDOrName | LPWSTR | in | アプリケーションの GUID または名前。 |
| bstrCLSIDOrProgID | LPWSTR | in | インポートするコンポーネントの CLSID または ProgID。 |
戻り値
このメソッドは、標準の戻り値 E_INVALIDARG、E_OUTOFMEMORY、E_UNEXPECTED、E_FAIL、および S_OK を返すことがあります。
解説(Remarks)
一般に、このメソッドは、コンポーネントをローカルでの使用のみに制限したい場合を除いて使用すべきではありません。それ以外の場合は、ImportComponent ではなく InstallComponent メソッドを使用してください。InstallComponent はコンポーネントを COM+ クラス登録データベース (RegDB) に完全に登録しますが、ImportComponent はそれを行わないため、機能が制限されたアプリケーションになります。
ImportComponent は、コンポーネントのインターフェイス、メソッド、型ライブラリの情報を COM+ クラス登録データベースに取り込みません。この動作により、コンポーネントの構成方法が制限されます。インポートされたコンポーネントを含む COM+ アプリケーションをアプリケーションプロキシにエクスポートしようとすると、プロキシにはそのコンポーネントのインターフェイス情報も型ライブラリ情報も含まれず、そのコンポーネントのマーシャリングは失敗します。
DLL ファイル内のすべてのコンポーネント (COM クラス) を COM+ アプリケーションにインストールし、それらのコンポーネントを COM+ クラス登録データベースに登録します。
| bstrApplIDOrName | LPWSTR | in | アプリケーションの GUID または名前。 |
| bstrDLL | LPWSTR | in | インストールするコンポーネントを含む DLL ファイルの名前。 |
| bstrTLB | LPWSTR | in | 外部の型ライブラリファイルの名前。型ライブラリファイルが DLL に埋め込まれている場合は、このパラメーターに空の文字列を渡します。 |
| bstrPSDLL | LPWSTR | in | プロキシスタブ DLL ファイルの名前。コンポーネントに関連付けられたプロキシスタブ DLL がない場合は、このパラメーターに空の文字列を渡します。 |
戻り値
このメソッドは、標準の戻り値 E_INVALIDARG、E_OUTOFMEMORY、E_UNEXPECTED、E_FAIL、および S_OK を返すことがあります。
解説(Remarks)
InstallComponent は、マーシャリングに必要なインターフェイス、メソッド、型ライブラリ、プロキシスタブの情報を含めて、構成済みコンポーネントとしてコンポーネントを COM+ クラス登録データベース (RegDB) に完全に登録します。
すべてのコンポーネントを COM+ アプリケーションにインストールするには、ICOMAdminCatalog::ImportComponent ではなく InstallComponent を使用することが推奨されます。
COM+ サーバーアプリケーションプロセスのシャットダウンを開始します。
| bstrApplIDOrName | LPWSTR | in | アプリケーションの GUID または名前。 |
戻り値
このメソッドは、標準の戻り値 E_INVALIDARG、E_OUTOFMEMORY、E_UNEXPECTED、E_FAIL のほか、次の値を返すことがあります。
| 戻り値 | 説明 |
|---|---|
| メソッドは正常に完了しました。 | |
| アプリケーションが存在しません。 |
COM+ アプリケーションまたはアプリケーションプロキシをファイルにエクスポートし、別のコンピューターにインストールできる状態にします。
| bstrApplIDOrName | LPWSTR | in | エクスポートするアプリケーションの GUID またはアプリケーション名。 |
| bstrApplicationFile | LPWSTR | in | アプリケーションのエクスポート先ファイルの名前 (ファイルパスを含む)。このパラメーターが NULL または空の文字列の場合、ExportApplication メソッドは E_INVALIDARG を返します。 パスを指定しない場合は、カレントディレクトリが使用されます。 相対パスを入力した場合、そのパスはカレントディレクトリからの相対パスになります。 |
| lOptions | COMAdminApplicationExportOptions | in | アプリケーションのエクスポートオプションを指定します。このパラメーターには、COMAdminApplicationExportOptions 列挙型の次の値のうち 1 つ以上を指定できます。 |
戻り値
このメソッドは、標準の戻り値 E_INVALIDARG、E_OUTOFMEMORY、E_UNEXPECTED、E_FAIL のほか、次の値を返すことがあります。
| 戻り値 | 説明 |
|---|---|
| メソッドは正常に完了しました。 | |
| アプリケーションが存在しません。 |
指定したファイルから COM+ アプリケーションまたはアプリケーションプロキシをインストールします。
| bstrApplicationFile | LPWSTR | in | インストールするアプリケーションを含むファイルの名前。 | ||||||||
| bstrDestinationDirectory | LPWSTR | in | コンポーネントのインストール先。このパラメーターが空白の場合は、既定のディレクトリが使用されます。 | ||||||||
| lOptions | COMAdminApplicationInstallOptions | in | オプションフラグ。このパラメーターには、次の値のいずれかを指定できます。
| ||||||||
| bstrUserId | LPWSTR | in | アプリケーションを実行するユーザー ID。 | ||||||||
| bstrPassword | LPWSTR | in | アプリケーションを実行する際のパスワード。 | ||||||||
| bstrRSN | LPWSTR | in | アプリケーションプロキシに使用するリモートサーバー名。 |
戻り値
このメソッドは、標準の戻り値 E_INVALIDARG、E_OUTOFMEMORY、E_UNEXPECTED、E_FAIL のほか、次の値を返すことがあります。
| 戻り値 | 説明 |
|---|---|
| メソッドは正常に完了しました。 | |
| インストール中に致命的なエラーが発生しました。 | |
| アプリケーションが存在しません。 | |
| 1 つ以上のオブジェクトへのアクセス中にエラーが発生しました。 |
コンポーネントの負荷分散サービスが現在インストールされている場合、そのサービスを停止します。
戻り値
このメソッドは、標準の戻り値 E_INVALIDARG、E_OUTOFMEMORY、E_UNEXPECTED、E_FAIL のほか、次の値を返すことがあります。
| 戻り値 | 説明 |
|---|---|
| メソッドは正常に完了しました。 | |
| コンポーネントの負荷分散サービスは、現在このコンピューターにインストールされていません。 | |
| 1 つ以上のオブジェクトへのアクセス中にエラーが発生しました。 |
解説(Remarks)
コンポーネント負荷分散 (CLB) サーバーとして動作しているコンピューター上で呼び出されると、StopRouter メソッドは、コンポーネントのアクティブ化要求をアプリケーションクラスター内の他のサーバーへルーティングする動作をそのサーバーで停止します。
このメソッドは廃止されています。
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
コンポーネントの負荷分散サービスが現在インストールされている場合、そのサービスを開始します。
戻り値
このメソッドは、標準の戻り値 E_INVALIDARG、E_OUTOFMEMORY、E_UNEXPECTED、E_FAIL のほか、次の値を返すことがあります。
| 戻り値 | 説明 |
|---|---|
| メソッドは正常に完了しました。 | |
| コンポーネントの負荷分散サービスは、現在このコンピューターにインストールされていません。 | |
| 1 つ以上のオブジェクトへのアクセス中にエラーが発生しました。 |
解説(Remarks)
コンポーネント負荷分散 (CLB) サーバーとして動作しているコンピューター上で呼び出されると、StartRouter メソッドはサービスを起動します。それ以降のコンポーネントのアクティブ化要求は、ルーター上で定義されているアプリケーションクラスター全体にルーティングされます。
複数のファイルからコンポーネントを COM+ アプリケーションにインストールします。
| bstrApplIDOrName | LPWSTR | in | アプリケーションの GUID または名前。 |
| ppsaVarFileNames | SAFEARRAY** | in | インストールするコンポーネントを含む DLL ファイルの名前の配列。 |
| ppsaVarCLSIDs | SAFEARRAY** | in | インストールするコンポーネントの CLSID の配列。 |
戻り値
このメソッドは、標準の戻り値 E_INVALIDARG、E_OUTOFMEMORY、E_UNEXPECTED、E_FAIL のほか、次の値を返すことがあります。
| 戻り値 | 説明 |
|---|---|
| メソッドは正常に完了しました。 | |
| 1 つ以上のオブジェクトへのアクセス中にエラーが発生しました。 |
指定したファイル内で見つかったコンポーネントに関する情報を取得します。
| bstrApplIdOrName | LPWSTR | in | アプリケーションを表す GUID またはアプリケーション名。 |
| ppsaVarFileNames | SAFEARRAY** | in | コンポーネントを含むファイルの名前の配列。 |
| ppsaVarCLSIDs | SAFEARRAY** | out | コンポーネントの CLSID の配列。 |
| ppsaVarClassNames | SAFEARRAY** | out | コンポーネントのクラス名の配列。 |
| ppsaVarFileFlags | SAFEARRAY** | out | ファイルに関する情報を含むファイルフラグの配列。 COMAdminFileFlagLoadable(0x00000001) COMAdminFileFlagCOM (0x00000002)COMAdminFileFlagContainsRS (0x00000004)COMAdminFileFlagContainsComp (0x00000008)COMAdminFileFlagContainsTLB (0x00000010)COMAdminFileFlagSelfReg (0x00000020)COMAdminFileFlagSelfUnReg (0x00000040)COMAdminFileFlagUnloadableDLL (0x00000080)COMAdminFileFlagDoesNotExist (0x00000100)COMAdminFileFlagAlreadyInstalled (0x00000200)COMAdminFileFlagBadTLB (0x00000400)COMAdminFileFlagGetClassObjFailed (0x00000800)COMAdminFileFlagClassNotAvailable (0x00001000)COMAdminFileFlagRegistrar (0x00002000)COMAdminFileFlagNoRegistrar (0x00004000)COMAdminFileFlagDLLRegsvrFailed (0x00008000)COMAdminFileFlagRegTLBFailed (0x00010000)COMAdminFileFlagRegistrarFailed (0x00020000)COMAdminFileFlagError (0x00040000) |
| ppsaVarComponentFlags | SAFEARRAY** | out | ファイル内のコンポーネントに関する情報を表すために使用されるコンポーネントフラグの配列。 COMAdminComponentFlagTypeInfoFound (0x00000001)COMAdminComponentCOMPlusPropertiesFound (0x00000002)COMAdminComponentProxyFound (0x00000004)COMAdminComponentInterfacesFound (0x00000008)COMAdminComponentAlreadyInstalled (0x00000010)COMAdminComponentNotInApplication (0x00000020) |
戻り値
このメソッドは、標準の戻り値 E_INVALIDARG、E_OUTOFMEMORY、E_UNEXPECTED、E_FAIL のほか、次の値を返すことがあります。
| 戻り値 | 説明 |
|---|---|
| メソッドは正常に完了しました。 | |
| 1 つ以上のオブジェクトへのアクセス中にエラーが発生しました。 |
レジストリからコンポーネントの登録情報を更新します。
戻り値
このメソッドは、標準の戻り値 E_INVALIDARG、E_OUTOFMEMORY、E_UNEXPECTED、E_FAIL、および S_OK を返すことがあります。
解説(Remarks)
RefreshComponents メソッドは、Microsoft Visual Basic 6.0 開発環境内で、Add-Ins メニューの Component Services サブメニューにある Auto-refresh 機能または Refresh all components now 機能を使用したときに呼び出されます。
不一致を見つけるために、RefreshComponents は COM+ クラス登録データベース (RegDB) とレジストリの間で CLSID と ProgID を比較します。このメソッドは、CLSID が一致せず、かつ対応する ProgID が一致している場合にのみ、コンポーネントを更新します。
RegDB に更新されるのは CLSID 情報のみです。インターフェイス情報やメソッド情報は更新されません。RefreshComponents を使用して更新されたコンポーネントは、COM+ アプリケーション内でインターフェイスレベルやメソッドレベルでの構成やセキュリティ保護を行うことができません。
COM+ クラス登録データベースを指定したファイルにバックアップします。
| bstrBackupFilePath | LPWSTR | in | 登録データベースのバックアップ先となるファイルのパス。 |
戻り値
このメソッドは、標準の戻り値 E_INVALIDARG、E_OUTOFMEMORY、E_UNEXPECTED、E_FAIL、および S_OK を返すことがあります。
指定したファイルから COM+ クラス登録データベース (RegDB) を復元します。これを有効にするには、システムの再起動が必要です。
| bstrBackupFilePath | LPWSTR | in | データベースのバックアップ先となったファイルの名前。 |
戻り値
このメソッドは、標準の戻り値 E_INVALIDARG、E_OUTOFMEMORY、E_UNEXPECTED、E_FAIL のほか、次の値を返すことがあります。
| 戻り値 | 説明 |
|---|---|
| メソッドは正常に完了しました。 | |
| メソッドが実装されていません。 | |
| 1 つ以上のオブジェクトへのアクセス中にエラーが発生しました。 |
アプリケーションファイルから COM+ アプリケーションに関する情報を取得します。
| bstrApplicationFile | LPWSTR | in | 情報の取得元となるアプリケーションファイル。 |
| pbstrApplicationName | LPWSTR* | out | 指定したファイル内のアプリケーション名。 |
| pbstrApplicationDescription | LPWSTR* | out | アプリケーションの説明。 |
| pbHasUsers | VARIANT_BOOL* | out | アプリケーションのロールにユーザー情報が関連付けられているかどうかを示します。 |
| pbIsProxy | VARIANT_BOOL* | out | ファイルにアプリケーションプロキシが含まれているかどうかを示します。 |
| ppsaVarFileNames | SAFEARRAY** | out | アプリケーションにインストールされているコンポーネントの DLL ファイルの名前の配列。 |
戻り値
このメソッドは、標準の戻り値 E_INVALIDARG、E_OUTOFMEMORY、E_UNEXPECTED、E_FAIL、および S_OK を返すことがあります。
指定した COM+ サーバーアプリケーションを開始します。アプリケーションのコンポーネントは、専用のサーバープロセスで起動されます。
| bstrApplIdOrName | LPWSTR | in | アプリケーションの GUID または名前。GUID を使用する場合は、中かっこで囲む必要があります。 |
戻り値
このメソッドは、標準の戻り値 E_INVALIDARG、E_OUTOFMEMORY、E_UNEXPECTED、E_FAIL、および S_OK を返すことがあります。
指定した COM+ サービスの現在の状態を取得します。
| lService | INT | in | 状態を確認するサービス。このパラメーターには、コンポーネントの負荷分散サービスを確認するために COMAdminServiceLoadBalanceRouter (1) を指定できます。 |
| plStatus | INT* | out | 指定したサービスの状態。 |
戻り値
このメソッドは、標準の戻り値 E_INVALIDARG、E_OUTOFMEMORY、E_UNEXPECTED、E_FAIL、および S_OK を返すことがあります。
複数のファイルからイベントクラスを COM+ アプリケーションにインストールします。
| bstrApplIdOrName | LPWSTR | in | アプリケーションの GUID または名前。 |
| ppsaVarFileNames | SAFEARRAY** | in | インストールするイベントクラスを含む DLL ファイルの名前の配列。 |
| ppsaVarCLSIDS | SAFEARRAY** | in | インストールするイベントクラスの CLSID の配列。 |
戻り値
このメソッドは、標準の戻り値 E_INVALIDARG、E_OUTOFMEMORY、E_UNEXPECTED、E_FAIL、および S_OK を返すことがあります。
解説(Remarks)
イベントクラスのダミー実装を保持する DLL からイベントクラスをインストールするには、InstallMultipleEventClasses を使用します。必要となるのは、自己登録型の DLL、イベントクラスが実装するインターフェイスを記述した型ライブラリ、そして各イベントクラスが CLSID と ProgID を持っていることです。
イベントクラスによって公開されるインターフェイスのダミー実装は、実際には決して実行されません。これはイベントクラスを登録するためだけに存在します。代わりに、イベントクラスがパブリッシャーによって作成されると、イベントをサブスクライバーに送信するための実装が Events システムによって提供されます。
ファイルからイベントクラスを COM+ アプリケーションにインストールします。
| bstrApplIdOrName | LPWSTR | in | アプリケーションの GUID または名前。 |
| bstrDLL | LPWSTR | in | インストールするイベントクラスを含む DLL のファイル名。 |
| bstrTLB | LPWSTR | in | 外部の型ライブラリファイルの名前。型ライブラリファイルが DLL に埋め込まれている場合は、このパラメーターに空の文字列を渡します。 |
| bstrPSDLL | LPWSTR | in | プロキシスタブ DLL ファイルの名前。イベントクラスに関連付けられたプロキシスタブ DLL がない場合は、このパラメーターに空の文字列を渡します。 |
戻り値
このメソッドは、標準の戻り値 E_INVALIDARG、E_OUTOFMEMORY、E_UNEXPECTED、E_FAIL、および S_OK を返すことがあります。
解説(Remarks)
イベントクラスのダミー実装を保持する DLL からイベントクラスをインストールするには、InstallEventClass を使用します。必要となるのは、自己登録型の DLL、イベントクラスが実装するインターフェイスを記述した型ライブラリ、そして各イベントクラスが CLSID と ProgID を持っていることです。
イベントクラスによって公開されるインターフェイスのダミー実装は、実際には決して実行されません。これはイベントクラスを登録するためだけに存在します。代わりに、イベントクラスがパブリッシャーによって作成されると、イベントをサブスクライバーに送信するための実装が Events システムによって提供されます。
指定したインターフェイスを実装する、コンピューターに登録されているイベントクラスの一覧を取得します。
| bstrIID | LPWSTR | in | イベントクラスを検索する対象のインターフェイスを表す GUID。このパラメーターが NULL の場合、メソッドはコンピューターに登録されているすべてのイベントクラスを取得します。 |
| ppsaVarCLSIDs | SAFEARRAY** | out | bstrIID で指定したインターフェイスを実装するイベントクラスの CLSID の配列。 |
| ppsaVarProgIDs | SAFEARRAY** | out | bstrIID で指定したインターフェイスを実装するイベントクラスの ProgID の配列。 |
| ppsaVarDescriptions | SAFEARRAY** | out | bstrIID で指定したインターフェイスを実装するイベントクラスの説明の配列。 |
戻り値
このメソッドは、標準の戻り値 E_INVALIDARG、E_OUTOFMEMORY、E_UNEXPECTED、E_FAIL、および S_OK を返すことがあります。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
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 不要)。