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

ICOMAdminCatalog2

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

公式ドキュメント

ICOMAdminCatalog インターフェースの拡張です。

メソッド 31

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

vtbl 33 HRESULT GetCollectionByQuery2(LPWSTR bstrCollectionName, VARIANT* pVarQueryStrings, IDispatch** ppCatalogCollection)

指定されたクエリキーのセットを満たす COM+ カタログ内の項目のコレクションを取得します。

bstrCollectionNameLPWSTRinカタログから取得するコレクションの名前です。指定可能なコレクション名は、COM+ Administration Collections のコレクション一覧の表で確認できます。
pVarQueryStringsVARIANT*inクエリキーです。
ppCatalogCollectionIDispatch**outクエリの結果を格納する ICatalogCollection インターフェースポインターへのポインターです。

戻り値

このメソッドは、標準の戻り値 E_INVALIDARGE_OUTOFMEMORYE_UNEXPECTEDE_FAIL、および S_OK を返すことがあります。

vtbl 34 HRESULT GetApplicationInstanceIDFromProcessID(INT lProcessID, LPWSTR* pbstrApplicationInstanceID)

指定されたプロセス識別子に対応するアプリケーションインスタンス識別子を取得します。

lProcessIDINTinプロセス ID です。
pbstrApplicationInstanceIDLPWSTR*out対応するアプリケーションインスタンス ID です。

戻り値

このメソッドは、標準の戻り値 E_INVALIDARGE_OUTOFMEMORYE_UNEXPECTEDE_FAIL、および S_OK を返すことがあります。

vtbl 35 HRESULT ShutdownApplicationInstances(VARIANT* pVarApplicationInstanceID)

指定されたアプリケーションサーバープロセスのシャットダウンを開始します。

pVarApplicationInstanceIDVARIANT*inシャットダウンするアプリケーションインスタンスです。Variant の各要素には、アプリケーションインスタンスの GUID を格納した String(たとえば GetApplicationInstanceIDFromProcessID メソッドが返すもの)、単一のカタログオブジェクト、またはカタログコレクション(たとえば GetCollectionByQuery2 メソッドが返すもの)を指定できます。

戻り値

このメソッドは、標準の戻り値 E_INVALIDARGE_OUTOFMEMORYE_UNEXPECTEDE_FAIL に加えて、次の値を返すことがあります。

リターンコード 説明
S_OK
メソッドは正常に完了しました。
COMADIN_E_OBJECT_DOES_NOT_EXIST
指定されたアプリケーションインスタンスが存在しません。
vtbl 36 HRESULT PauseApplicationInstances(VARIANT* pVarApplicationInstanceID)

指定されたアプリケーションサーバープロセスを一時停止します。

pVarApplicationInstanceIDVARIANT*in一時停止するアプリケーションインスタンスです。Variant の各要素には、アプリケーションインスタンスの GUID を格納した String(たとえば GetApplicationInstanceIDFromProcessID メソッドが返すもの)、単一のカタログオブジェクト、またはカタログコレクション(たとえば GetCollectionByQuery2 メソッドが返すもの)を指定できます。

戻り値

このメソッドは、標準の戻り値 E_INVALIDARGE_OUTOFMEMORYE_UNEXPECTEDE_FAIL に加えて、次の値を返すことがあります。

リターンコード 説明
S_OK
メソッドは正常に完了しました。
COMADIN_E_OBJECT_DOES_NOT_EXIST
指定されたアプリケーションインスタンスが存在しません。
vtbl 37 HRESULT ResumeApplicationInstances(VARIANT* pVarApplicationInstanceID)

指定されたアプリケーションサーバープロセスを再開します。

pVarApplicationInstanceIDVARIANT*in再開するアプリケーションインスタンスです。Variant の各要素には、アプリケーションインスタンスの GUID を格納した String(たとえば GetApplicationInstanceIDFromProcessID メソッドが返すもの)、単一のカタログオブジェクト、またはカタログコレクション(たとえば GetCollectionByQuery2 メソッドが返すもの)を指定できます。

戻り値

このメソッドは、標準の戻り値 E_INVALIDARGE_OUTOFMEMORYE_UNEXPECTEDE_FAIL に加えて、次の値を返すことがあります。

リターンコード 説明
S_OK
メソッドは正常に完了しました。
COMADIN_E_OBJECT_DOES_NOT_EXIST
指定されたアプリケーションインスタンスが存在しません。
vtbl 38 HRESULT RecycleApplicationInstances(VARIANT* pVarApplicationInstanceID, INT lReasonCode)

指定されたアプリケーションサーバープロセスをリサイクル(シャットダウンして再起動)します。

pVarApplicationInstanceIDVARIANT*inリサイクルするアプリケーションインスタンスです。Variant の各要素には、アプリケーションインスタンスの GUID を格納した String(たとえば GetApplicationInstanceIDFromProcessID メソッドが返すもの)、単一のカタログオブジェクト、またはカタログコレクション(たとえば GetCollectionByQuery2 メソッドが返すもの)を指定できます。
lReasonCodeINTin指定されたアプリケーションインスタンスをリサイクルする理由です。このコードはイベントログのエントリに書き込まれます。

戻り値

このメソッドは、標準の戻り値 E_INVALIDARGE_OUTOFMEMORYE_UNEXPECTEDE_FAIL に加えて、次の値を返すことがあります。

リターンコード 説明
S_OK
メソッドは正常に完了しました。
COMADIN_E_OBJECT_DOES_NOT_EXIST
指定されたアプリケーションインスタンスが存在しません。
vtbl 39 HRESULT AreApplicationInstancesPaused(VARIANT* pVarApplicationInstanceID, VARIANT_BOOL* pVarBoolPaused)

指定されたアプリケーションインスタンス(プロセス)のいずれかが一時停止しているかどうかを判定します。

pVarApplicationInstanceIDVARIANT*in確認するアプリケーションインスタンスです。Variant の各要素には、アプリケーションインスタンス ID を格納した String(たとえば GetApplicationInstanceIDFromProcessID メソッドが返すもの)、単一のカタログオブジェクト、またはカタログコレクション(たとえば GetCollectionByQuery2 メソッドが返すもの)を指定できます。
pVarBoolPausedVARIANT_BOOL*out指定されたアプリケーションが一時停止しているかどうかを示します。

戻り値

このメソッドは、標準の戻り値 E_INVALIDARGE_OUTOFMEMORYE_UNEXPECTEDE_FAIL に加えて、次の値を返すことがあります。

リターンコード 説明
S_OK
メソッドは正常に完了しました。
COMADIN_E_OBJECT_DOES_NOT_EXIST
指定されたアプリケーションインスタンスが存在しません。
vtbl 40 HRESULT DumpApplicationInstance(LPWSTR bstrApplicationInstanceID, LPWSTR bstrDirectory, INT lMaxImages, LPWSTR* pbstrDumpFile)

指定されたアプリケーションインスタンス(プロセス)の状態のイメージを含むダンプファイルを作成します。

bstrApplicationInstanceIDLPWSTRinアプリケーションインスタンスの GUID です。
bstrDirectoryLPWSTRinダンプファイルを配置するディレクトリへの完全なパスです。ファイル名は含めないでください。このパラメーターが NULL の場合、既定のディレクトリは %SystemRoot%\system32\com\dmp です。
lMaxImagesINTinダンプディレクトリ内に存在できるダンプファイルの最大数です。この変数を指定することで、ダンプファイルが過度にストレージ領域を消費するのを防ぎます。
pbstrDumpFileLPWSTR*out生成されたアプリケーションインスタンスのイメージを含むダンプファイルの名前です。

戻り値

このメソッドは、標準の戻り値 E_INVALIDARGE_OUTOFMEMORYE_UNEXPECTEDE_FAIL に加えて、次の値を返すことがあります。

リターンコード 説明
S_OK
メソッドは正常に完了しました。
COMADMIN_E_APP_NOT_RUNNING
指定されたプロセスは実行されていません。
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)

COM+ アプリケーションを Windows サービスとして実行するように構成します。

bstrApplicationIDOrNameLPWSTRinアプリケーションのアプリケーション ID または名前です。
bstrServiceNameLPWSTRinアプリケーションのサービス名です。この名前は、表示名ではなく、サービスコントロールマネージャー(SCM)が使用する内部名です。
bstrStartTypeLPWSTRinサービスを開始するタイミングです。有効な引数は、CreateService 関数の dwStartType パラメーターのオプションです。引数は引用符で囲む必要があります。有効な引数は次のとおりです: SERVICE_BOOT_STARTSERVICE_SYSTEM_STARTSERVICE_AUTO_STARTSERVICE_DEMAND_STARTSERVICE_DISABLED
bstrErrorControlLPWSTRin起動時にこのサービスの開始が失敗した場合のエラーの重大度です。このエラーによって、失敗が発生した場合に起動プログラムが取るアクションが決まります。有効な引数は、CreateService 関数の dwErrorControl パラメーターのオプションです。引数は引用符で囲む必要があります。有効な引数は次のとおりです: SERVICE_ERROR_IGNORESERVICE_ERROR_NORMALSERVICE_ERROR_SEVERESERVICE_ERROR_CRITICAL
bstrDependenciesLPWSTRinサービスの依存関係の一覧です。文字列には 2 つの形式があります。標準の null 区切りで二重 null 終端の文字列(CreateService のドキュメントに記載されているとおり)。または、スクリプトで扱いやすい、""(サービス名には使用できない無効な文字)で区切られたサービス名の一覧です。rpcss サービスはこのパラメーターに暗黙的に含まれるため、指定する必要はありません。
bstrRunAsLPWSTRinこのサービスを実行するユーザー名です。このパラメーターが NULL の場合、サービスは Local Service として実行されます。
bstrPasswordLPWSTRinシステムユーザーアカウントのパスワードです。サービスが Local Service として実行するように構成されている場合、このパラメーターは NULL にする必要があります。
bDesktopOkVARIANT_BOOLinサービスがデスクトップと対話することを許可するかどうかを示します。このパラメーターは、サービスが Local Service としてマークされている場合にのみ有効で、それ以外の場合は FALSE にする必要があります。

戻り値

このメソッドは、標準の戻り値 E_INVALIDARGE_OUTOFMEMORYE_UNEXPECTEDE_FAIL、および S_OK を返すことがあります。

解説(Remarks)

このメソッドで作成したサービスは、DeleteServiceForApplication メソッドを使用して削除できます。

vtbl 43 HRESULT DeleteServiceForApplication(LPWSTR bstrApplicationIDOrName)

指定された COM+ アプリケーションに関連付けられた Windows サービスを削除します。

bstrApplicationIDOrNameLPWSTRin削除する COM+ アプリケーションのアプリケーション ID または名前です。

戻り値

このメソッドは、標準の戻り値 E_INVALIDARGE_OUTOFMEMORYE_UNEXPECTEDE_FAIL、および S_OK を返すことがあります。

vtbl 44 HRESULT GetPartitionID(LPWSTR bstrApplicationIDOrName, LPWSTR* pbstrPartitionID)

指定された COM+ アプリケーションのパーティション識別子を取得します。

bstrApplicationIDOrNameLPWSTRinCOM+ アプリケーションのアプリケーション ID または名前です。
pbstrPartitionIDLPWSTR*out指定されたアプリケーションに関連付けられたパーティションの GUID です。

戻り値

このメソッドは、標準の戻り値 E_INVALIDARGE_OUTOFMEMORYE_UNEXPECTEDE_FAIL に加えて、次の値を返すことがあります。

リターンコード 説明
S_OK
メソッドは正常に完了しました。
COMADMIN_E_AMBIGUOUS_APPLICATION_NAME
指定された名前のアプリケーションが複数のパーティションに存在します。このエラーを回避するには、名前ではなくアプリケーション ID を使用してください。
vtbl 45 HRESULT GetPartitionName(LPWSTR bstrApplicationIDOrName, LPWSTR* pbstrPartitionName)

指定された COM+ アプリケーションの名前を取得します。

bstrApplicationIDOrNameLPWSTRinCOM+ アプリケーションのアプリケーション ID または名前です。
pbstrPartitionNameLPWSTR*out指定されたアプリケーションに関連付けられたパーティション名です。

戻り値

このメソッドは、標準の戻り値 E_INVALIDARGE_OUTOFMEMORYE_UNEXPECTEDE_FAIL に加えて、次の値を返すことがあります。

リターンコード 説明
S_OK
メソッドは正常に完了しました。
COMADMIN_E_AMBIGUOUS_APPLICATION_NAME
指定された名前のアプリケーションが複数のパーティションに存在します。このエラーを回避するには、名前ではなくアプリケーション ID を使用してください。
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()

ユーザーを既定のパーティションに対応付けるキャッシュを空にします。

戻り値

このメソッドは、標準の戻り値 E_INVALIDARGE_OUTOFMEMORYE_UNEXPECTEDE_FAIL、および S_OK を返すことがあります。

vtbl 51 HRESULT CopyApplications(LPWSTR bstrSourcePartitionIDOrName, VARIANT* pVarApplicationID, LPWSTR bstrDestinationPartitionIDOrName)

指定された COM+ アプリケーションを、あるパーティションから別のパーティションへコピーします。

bstrSourcePartitionIDOrNameLPWSTRinソースパーティションのパーティション GUID または名前です。
pVarApplicationIDVARIANT*inコピーするアプリケーションです。Variant の各要素には、アプリケーション名または ID を格納した String、単一のカタログオブジェクト、またはカタログコレクション(たとえば GetCollectionByQuery2 メソッドが返すもの)を指定できます。
bstrDestinationPartitionIDOrNameLPWSTRin宛先パーティションのパーティション GUID または名前です。

戻り値

このメソッドは、標準の戻り値 E_INVALIDARGE_OUTOFMEMORYE_UNEXPECTEDE_FAIL、および S_OK を返すことがあります。

vtbl 52 HRESULT CopyComponents(LPWSTR bstrSourceApplicationIDOrName, VARIANT* pVarCLSIDOrProgID, LPWSTR bstrDestinationApplicationIDOrName)

指定されたコンポーネントを、あるパーティションから別のパーティションへコピーします。

bstrSourceApplicationIDOrNameLPWSTRinソースアプリケーションのアプリケーション ID または名前です。
pVarCLSIDOrProgIDVARIANT*inコピーするコンポーネントです。Variant の各要素には、クラス ID またはプログラム ID を格納した String、単一のカタログオブジェクト、またはカタログコレクション(たとえば GetCollectionByQuery2 メソッドが返すもの)を指定できます。
bstrDestinationApplicationIDOrNameLPWSTRin宛先アプリケーションのアプリケーション ID または名前です。

戻り値

このメソッドは、標準の戻り値 E_INVALIDARGE_OUTOFMEMORYE_UNEXPECTEDE_FAIL に加えて、次の値を返すことがあります。

リターンコード 説明
S_OK
メソッドは正常に完了しました。
COMADMIN_E_AMBIGUOUS_APPLICATION_NAME
指定された名前のアプリケーションのうち少なくとも 1 つが複数のパーティションに存在します。このエラーを回避するには、名前ではなくアプリケーション ID を使用してください。
vtbl 53 HRESULT MoveComponents(LPWSTR bstrSourceApplicationIDOrName, VARIANT* pVarCLSIDOrProgID, LPWSTR bstrDestinationApplicationIDOrName)

指定されたコンポーネントを、あるアプリケーションから別のアプリケーションへ移動します。

bstrSourceApplicationIDOrNameLPWSTRinソースアプリケーションのアプリケーション ID または名前です。
pVarCLSIDOrProgIDVARIANT*in移動するコンポーネントです。Variant の各要素には、クラス ID またはプログラム ID を格納した String、単一のカタログオブジェクト、またはカタログコレクション(たとえば GetCollectionByQuery2 メソッドが返すもの)を指定できます。
bstrDestinationApplicationIDOrNameLPWSTRin宛先アプリケーションのアプリケーション ID または名前です。

戻り値

このメソッドは、標準の戻り値 E_INVALIDARGE_OUTOFMEMORYE_UNEXPECTEDE_FAIL に加えて、次の値を返すことがあります。

リターンコード 説明
S_OK
メソッドは正常に完了しました。
COMADIN_E_AMBIGUOUS_APPLICATION_NAME
指定された名前のアプリケーションのうち少なくとも 1 つが複数のパーティションに存在します。このエラーを回避するには、名前ではなくアプリケーション ID を使用してください。
vtbl 54 HRESULT AliasComponent(LPWSTR bstrSrcApplicationIDOrName, LPWSTR bstrCLSIDOrProgID, LPWSTR bstrDestApplicationIDOrName, LPWSTR bstrNewProgId, LPWSTR bstrNewClsid)

既存の COM+ コンポーネントのエイリアスを作成します。

bstrSrcApplicationIDOrNameLPWSTRinコンポーネントを含むソースアプリケーションのアプリケーション ID または名前です。
bstrCLSIDOrProgIDLPWSTRinエイリアスを作成する対象コンポーネントのクラス ID またはプログラム ID です。
bstrDestApplicationIDOrNameLPWSTRinエイリアスを格納する宛先アプリケーションのアプリケーション ID または名前です。この引数が NULL または空文字列の場合、エイリアスはソースアプリケーション内に作成されます。
bstrNewProgIdLPWSTRinエイリアスのプログラム ID です。
bstrNewClsidLPWSTRinエイリアスのクラス ID です。この引数が NULL または空文字列の場合、新しい一意のクラス ID が割り当てられます。

戻り値

このメソッドは、標準の戻り値 E_INVALIDARGE_OUTOFMEMORYE_UNEXPECTEDE_FAIL に加えて、次の値を返すことがあります。

リターンコード 説明
S_OK
メソッドは正常に完了しました。
COMADMIN_E_AMBIGUOUS_APPLICATION_NAME
指定された名前のアプリケーションのうち少なくとも 1 つが複数のパーティションに存在します。このエラーを回避するには、名前ではなくアプリケーション ID を使用してください。
vtbl 55 HRESULT IsSafeToDelete(LPWSTR bstrDllName, COMAdminInUse* pCOMAdminInUse)

指定された DLL が COM+ カタログまたはレジストリによって使用されているかどうかを判定します。

bstrDllNameLPWSTRin検査する DLL への完全なパスです。
pCOMAdminInUseCOMAdminInUse*out

DLL の使用状況を示します。このパラメーターには次の値のいずれかを指定できます。

意味
COMAdminNotInUse
0
DLL は使用されておらず、安全に削除できます。
COMAdminInUseByCatalog
0x1
DLL は COM+ カタログによって使用されています。
COMAdminInUseByRegistryUnknown
0x2
DLL は不明なレジストリコンポーネントによって使用されています。
COMAdminInUseByRegistryProxyStub
0x3
DLL はプロキシレジストリコンポーネントによって使用されています。
COMAdminInUseByRegistryTypeLib
0x4
DLL は TypeLib レジストリコンポーネントによって使用されています。
COMAdminInUseByRegistryClsid
0x5
DLL は CLSID レジストリコンポーネントによって使用されています。

戻り値

このメソッドは、標準の戻り値 E_INVALIDARGE_OUTOFMEMORYE_UNEXPECTEDE_FAIL、および S_OK を返すことがあります。

vtbl 56 HRESULT ImportUnconfiguredComponents(LPWSTR bstrApplicationIDOrName, VARIANT* pVarCLSIDOrProgID, VARIANT* pVarComponentType)

指定されたクラスを、構成されていないコンポーネントとして COM+ アプリケーションにインポートします。

bstrApplicationIDOrNameLPWSTRinコンポーネントのインポート先アプリケーションのアプリケーション ID または名前です。
pVarCLSIDOrProgIDVARIANT*inインポートする、構成されていないコンポーネントです。Variant の各要素には、クラス ID またはプログラム ID を格納した String、単一のカタログオブジェクト、またはカタログコレクション(たとえば GetCollectionByQuery2 メソッドが返すもの)を指定できます。
pVarComponentTypeVARIANT*in

各コンポーネントのビット数です。このパラメーターには次の値のいずれかを指定できます。このパラメーターを省略した場合、コンピューターのネイティブなビット数が想定されます。

意味
COMAdmin32BitComponent
0x1
32 ビット形式を使用します。
COMAdmin64BitComponent
0x2
64 ビット形式を使用します。

戻り値

このメソッドは、標準の戻り値 E_INVALIDARGE_OUTOFMEMORYE_UNEXPECTEDE_FAIL、および S_OK を返すことがあります。

vtbl 57 HRESULT PromoteUnconfiguredComponents(LPWSTR bstrApplicationIDOrName, VARIANT* pVarCLSIDOrProgID, VARIANT* pVarComponentType)

指定されたクラスを、構成されていないコンポーネントから構成済みコンポーネントに昇格します。

bstrApplicationIDOrNameLPWSTRin昇格するコンポーネントを含むアプリケーションのアプリケーション ID または名前です。
pVarCLSIDOrProgIDVARIANT*in昇格する、構成されていないコンポーネントです。Variant の各要素には、クラス ID またはプログラム ID を格納した String、単一のカタログオブジェクト、またはカタログコレクション(たとえば GetCollectionByQuery2 メソッドが返すもの)を指定できます。
pVarComponentTypeVARIANT*in

各コンポーネントのビット数です。このパラメーターには次の値のいずれかを指定できます。このパラメーターを省略した場合、コンピューターのネイティブなビット数が想定されます。

意味
COMAdmin32BitComponent
0x1
32 ビット形式を使用します。
COMAdmin64BitComponent
0x2
64 ビット形式を使用します。

戻り値

このメソッドは、標準の戻り値 E_INVALIDARGE_OUTOFMEMORYE_UNEXPECTEDE_FAIL、および S_OK を返すことがあります。

vtbl 58 HRESULT ImportComponents(LPWSTR bstrApplicationIDOrName, VARIANT* pVarCLSIDOrProgID, VARIANT* pVarComponentType)

既に登録されている指定されたコンポーネントをアプリケーションにインポートします。

bstrApplicationIDOrNameLPWSTRinコンポーネントのインポート先アプリケーションのアプリケーション ID または名前です。
pVarCLSIDOrProgIDVARIANT*inインポートするコンポーネントです。Variant の各要素には、クラス ID またはプログラム ID を格納した String、単一のカタログオブジェクト、またはカタログコレクション(たとえば GetCollectionByQuery2 メソッドが返すもの)を指定できます。
pVarComponentTypeVARIANT*in

各コンポーネントのビット数です。このパラメーターには次の値のいずれかを指定できます。このパラメーターを省略した場合、コンピューターのネイティブなビット数が想定されます。

意味
COMAdmin32BitComponent
0x1
32 ビット形式を使用します。
COMAdmin64BitComponent
0x2
64 ビット形式を使用します。

戻り値

このメソッドは、標準の戻り値 E_INVALIDARGE_OUTOFMEMORYE_UNEXPECTEDE_FAIL、および S_OK を返すことがあります。

vtbl 59 HRESULT get_Is64BitCatalogServer(VARIANT_BOOL* pbIs64Bit)

現在接続しているカタログサーバーが 64 ビットコンピューターかどうかを示します。

pbIs64BitVARIANT_BOOL*outカタログサーバーが 64 ビットであるかどうかを受け取る VARIANT_BOOL へのポインタである。
vtbl 60 HRESULT ExportPartition(LPWSTR bstrPartitionIDOrName, LPWSTR bstrPartitionFileName, COMAdminApplicationExportOptions lOptions)

パーティションをファイルにエクスポートします。

bstrPartitionIDOrNameLPWSTRinパーティションのパーティション GUID または名前です。
bstrPartitionFileNameLPWSTRin指定されたパーティションのエクスポート先ファイルです。パスを指定しない場合は、現在のディレクトリが使用されます。ファイル名を指定しない場合は、アプリケーション名が使用されます。
lOptionsCOMAdminApplicationExportOptionsin

オプションフラグです。このパラメーターには次の値の 1 つ以上を指定できます。

意味
COMAdminExportNoUsers
0
ロールを持つユーザーをエクスポートしません(既定)。
COMAdminExportUsers
1
ロールを持つユーザーをエクスポートします。
COMAdminExportApplicationProxy
2
アプリケーションをプロキシとしてエクスポートします。
COMAdminExportForceOverwriteOfFile
4
既存のファイルを上書きします。
COMAdminExportIn10Format
16
COM+ 1.0 形式でエクスポートします。

戻り値

このメソッドは、標準の戻り値 E_INVALIDARGE_OUTOFMEMORYE_UNEXPECTEDE_FAIL に加えて、次の値を返すことがあります。

リターンコード 説明
S_OK
メソッドは正常に完了しました。
COMADMIN_E_OBJECT_DOES_NOT_EXIST
指定されたパーティションが存在しません。
vtbl 61 HRESULT InstallPartition(LPWSTR bstrFileName, LPWSTR bstrDestDirectory, COMAdminApplicationInstallOptions lOptions, LPWSTR bstrUserID, LPWSTR bstrPassword, LPWSTR bstrRSN)

ファイルからパーティションをインポートします。

bstrFileNameLPWSTRinパーティションのインポート元ファイルです。
bstrDestDirectoryLPWSTRinパーティションのコンポーネントをインストールするディレクトリへのパスです。
lOptionsCOMAdminApplicationInstallOptionsin

インストールオプションです。このパラメーターには次の値のいずれかを指定できます。

意味
COMAdminInstallNoUsers
0
パーティションに保存されているユーザーをインストールしません(既定)。
COMAdminInstallUsers
1
パーティションに保存されているユーザーをインストールします。
COMAdminInstallForceOverwriteOfFile
2
既存のファイルを上書きします。
bstrUserIDLPWSTRinパーティションをインストールする際のユーザー ID です。
bstrPasswordLPWSTRin指定されたユーザーのパスワードです。
bstrRSNLPWSTRinプロキシとして使用するリモートサーバーの名前です。

戻り値

このメソッドは、標準の戻り値 E_INVALIDARGE_OUTOFMEMORYE_UNEXPECTEDE_FAIL、および S_OK を返すことがあります。

vtbl 62 HRESULT QueryApplicationFile2(LPWSTR bstrApplicationFile, IDispatch** ppFilesForImport)

これからインストールされるアプリケーションに関する情報を取得します。

bstrApplicationFileLPWSTRinアプリケーションファイルへの完全なパスです。
ppFilesForImportIDispatch**outICatalogCollection インターフェースポインターへのポインターで、アプリケーションの FilesForImport コレクションを指定します。

戻り値

このメソッドは、標準の戻り値 E_INVALIDARGE_OUTOFMEMORYE_UNEXPECTEDE_FAIL、および S_OK を返すことがあります。

vtbl 63 HRESULT GetComponentVersionCount(LPWSTR bstrCLSIDOrProgID, INT* plVersionCount)

指定されたコンポーネントがインストールされているパーティションの数を取得します。

bstrCLSIDOrProgIDLPWSTRinコンポーネントのクラス ID またはプログラム ID です。
plVersionCountINT*outコンポーネントがインストールされている異なるパーティションの数です。

戻り値

このメソッドは、標準の戻り値 E_INVALIDARGE_OUTOFMEMORYE_UNEXPECTEDE_FAIL、および S_OK を返すことがあります。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

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 不要)。