ITargetInfo
COM公式ドキュメント
オフラインターゲットの情報、具体的にはファイルおよびレジストリの場所と wow64 情報を定義します。
メソッド 21
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
現在のターゲットモードを取得します。
| TargetMode | WcmTargetMode* | out | 現在のターゲットモード。ターゲットモードは、ターゲットからのリダイレクトを処理する方法を識別します。 |
戻り値
このメソッドは HRESULT 値を返します。S_OK は成功を示します。
ターゲットモードを設定します。
| TargetMode | WcmTargetMode | in | ターゲットモード。 |
戻り値
このメソッドは HRESULT 値を返します。S_OK は成功を示します。
現在の一時ストアの場所を取得します。
| TemporaryStoreLocation | LPWSTR* | out | 現在の一時ストアの場所。 |
戻り値
このメソッドは HRESULT 値を返します。S_OK は成功を示します。
現在の一時ストアの場所を設定します。
| TemporaryStoreLocation | LPWSTR | in | 現在の一時ストアの場所。 |
戻り値
このメソッドは、次のいずれかの値を返すことがあります。
| 戻り値コード | 説明 |
|---|---|
| 成功を示します。 | |
|
ターゲットのプロセッサアーキテクチャが既に設定されていることを示します。 |
| システムリソースが不足していることを示します。 |
現在のターゲットに関連付けられた一意の識別子を取得します。
| TargetID | LPWSTR* | out | 現在のターゲットに関連付けられた一意の識別子。 |
戻り値
このメソッドは HRESULT 値を返します。S_OK は成功を示します。ユーザーに情報を返すためのリソースが不足している場合は E_OUTOFMEMORY を返すことがあります。
現在のターゲットに関連付けられた一意の識別子を設定します。
| TargetID | GUID | in | 現在のターゲットに関連付けられた一意の識別子。 |
戻り値
このメソッドは HRESULT 値を返します。S_OK は成功を示します。
現在のターゲットに関連付けられたプロセッサアーキテクチャを取得します。
| ProcessorArchitecture | LPWSTR* | out | 現在のターゲットに関連付けられたプロセッサアーキテクチャ。 |
戻り値
このメソッドは HRESULT 値を返します。S_OK は成功を示します。
現在のターゲットに関連付けられたプロセッサアーキテクチャを設定します。
| ProcessorArchitecture | LPWSTR | in | 現在のターゲットに関連付けられたプロセッサアーキテクチャ。 |
戻り値
このメソッドは HRESULT 値を返します。S_OK は成功を示します。ターゲットのプロセッサアーキテクチャが既に設定されている場合は HRESULT_FROM_WIN32 (ERROR_INVALID_OPERATION) を返します。システムリソースが不足している場合は E_OUTOFMEMORY を返すことがあります。
オフラインインストール場所のプロパティ値を取得します。
| Offline | BOOL | in | インストール場所がオフラインの場合は True。 |
| Property | LPWSTR | in | プロパティの名前。 |
| Value | LPWSTR* | out | プロパティの値。 |
戻り値
このメソッドは、次のいずれかの値を返すことがあります。
| 戻り値コード | 説明 |
|---|---|
| 成功を示します。 | |
| 要求されたプロパティが存在しないことを示します。 | |
| ユーザーに情報を返すためのリソースが不足していることを示します。 |
オフラインインストール場所のプロパティ値を設定します。
| Offline | BOOL | in | インストール場所がオフラインの場合は True。 |
| Property | LPWSTR | in | プロパティの名前。 |
| Value | LPWSTR | in | プロパティの値。 |
戻り値
このメソッドは HRESULT 値を返します。S_OK は成功を示します。
オフラインプロパティのコレクションにアクセスするために使用する列挙子を取得します。
| Enumerator | IItemEnumerator** | out | オフラインプロパティのコレクションへのアクセスを提供する IItemEnumerator オブジェクトへのポインター。 |
戻り値
このメソッドは HRESULT 値を返します。S_OK は成功を示します。
解説(Remarks)
場所文字列を展開して、オフラインインストール場所を示します。(ITargetInfo.ExpandTarget)
| Offline | BOOL | in | インストール場所がオフラインの場合は True。 |
| Location | LPWSTR | in | 場所文字列。 |
| ExpandedLocation | LPWSTR* | out | 展開された場所文字列。 |
戻り値
このメソッドは HRESULT 値を返します。S_OK は成功を示します。ユーザーに情報を返すためのリソースが不足している場合、このメソッドは E_OUTOFMEMORY を返すことがあります。
場所文字列を展開して、オフラインインストール場所を示します。(ITargetInfo.ExpandTargetPath)
| Offline | BOOL | in | インストール場所がオフラインの場合は True。 |
| Location | LPWSTR | in | 場所文字列。 |
| ExpandedLocation | LPWSTR* | out | 展開された場所のターゲットパス。 |
戻り値
このメソッドは HRESULT 値を返します。S_OK は成功を示します。ユーザーに情報を返すためのリソースが不足している場合、このメソッドは E_OUTOFMEMORY を返すことがあります。
オフラインインストール場所のモジュールパスを設定します。
| Module | LPWSTR | in | モジュールの名前。 |
| Path | LPWSTR | in | モジュールパス。 |
戻り値
このメソッドは HRESULT 値を返します。S_OK は成功を示します。
オフラインインストール場所からモジュールを読み込みます。
| Module | LPWSTR | in | モジュールの名前。 |
| ModuleHandle | HMODULE* | out | モジュールハンドル。 |
戻り値
このメソッドは HRESULT 値を返します。S_OK は成功を示します。
wow64 リダイレクト用の不透明なコンテキストオブジェクトを設定します。
| InstallerModule | LPWSTR | in | インストーラーモジュールの名前。 |
| Wow64Context | BYTE* | in | wow64 リダイレクト用の不透明なコンテキストオブジェクト。 |
戻り値
このメソッドは HRESULT 値を返します。S_OK は成功を示します。
解説(Remarks)
wow64 リダイレクト用にパスを変換します。
| ClientArchitecture | LPWSTR | in | クライアントアーキテクチャの名前。 |
| Value | LPWSTR | in | 元のパス値。 |
| TranslatedValue | LPWSTR* | out | 変換後のパス値。 |
戻り値
このメソッドは HRESULT 値を返します。S_OK は成功を示します。
解説(Remarks)
スキーマハイブの場所を設定します。
| pwzHiveDir | LPWSTR | in | スキーマハイブの場所へのポインター。 |
戻り値
このメソッドは、次のいずれかの値を返すことがあります。
| 戻り値コード | 説明 |
|---|---|
| 成功を示します。 | |
| システムのリソースが不足していることを示します。 | |
| 場所 pwzHiveDir がディレクトリではないことを示します。 |
スキーマハイブの場所を取得します。
| pHiveLocation | LPWSTR* | out | スキーマハイブの場所へのポインター。 |
戻り値
このメソッドは HRESULT 値を返します。S_OK は成功を示します。場所が設定されていない場合は S_FALSE を返します。ユーザーに情報を返すためのリソースが不足している場合は E_OUTOFMEMORY を返すことがあります。
スキーマハイブのマウント場所の名前を設定します。
| pwzMountName | LPWSTR | in | スキーマハイブのマウント場所。 |
戻り値
このメソッドは HRESULT 値を返します。S_OK は成功を示します。システムのリソースが不足している場合は E_OUTOFMEMORY を返すことがあります。
スキーマハイブのマウント場所の名前を取得します。
| pMountName | LPWSTR* | out | スキーマハイブのマウント場所の名前。既定の名前を使用する場合、戻り時の pMountName の値は NULL になります。 |
戻り値
このメソッドは HRESULT 値を返します。S_OK は成功を示します。ユーザーに情報を返すためのリソースが不足している場合は E_OUTOFMEMORY を返すことがあります。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_ITargetInfo "{9F7D7BB8-20B3-11DA-81A5-0030F1642E3C}" #usecom global ITargetInfo IID_ITargetInfo "{}" #comfunc global ITargetInfo_GetTargetMode 3 var #comfunc global ITargetInfo_SetTargetMode 4 int #comfunc global ITargetInfo_GetTemporaryStoreLocation 5 var #comfunc global ITargetInfo_SetTemporaryStoreLocation 6 wstr #comfunc global ITargetInfo_GetTargetID 7 var #comfunc global ITargetInfo_SetTargetID 8 int #comfunc global ITargetInfo_GetTargetProcessorArchitecture 9 var #comfunc global ITargetInfo_SetTargetProcessorArchitecture 10 wstr #comfunc global ITargetInfo_GetProperty 11 int,wstr,var #comfunc global ITargetInfo_SetProperty 12 int,wstr,wstr #comfunc global ITargetInfo_GetEnumerator 13 sptr #comfunc global ITargetInfo_ExpandTarget 14 int,wstr,var #comfunc global ITargetInfo_ExpandTargetPath 15 int,wstr,var #comfunc global ITargetInfo_SetModulePath 16 wstr,wstr #comfunc global ITargetInfo_LoadModule 17 wstr,sptr #comfunc global ITargetInfo_SetWow64Context 18 wstr,var #comfunc global ITargetInfo_TranslateWow64 19 wstr,wstr,var #comfunc global ITargetInfo_SetSchemaHiveLocation 20 wstr #comfunc global ITargetInfo_GetSchemaHiveLocation 21 var #comfunc global ITargetInfo_SetSchemaHiveMountName 22 wstr #comfunc global ITargetInfo_GetSchemaHiveMountName 23 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_ITargetInfo "{9F7D7BB8-20B3-11DA-81A5-0030F1642E3C}" #usecom global ITargetInfo IID_ITargetInfo "{}" #comfunc global ITargetInfo_GetTargetMode 3 sptr #comfunc global ITargetInfo_SetTargetMode 4 int #comfunc global ITargetInfo_GetTemporaryStoreLocation 5 sptr #comfunc global ITargetInfo_SetTemporaryStoreLocation 6 wstr #comfunc global ITargetInfo_GetTargetID 7 sptr #comfunc global ITargetInfo_SetTargetID 8 int #comfunc global ITargetInfo_GetTargetProcessorArchitecture 9 sptr #comfunc global ITargetInfo_SetTargetProcessorArchitecture 10 wstr #comfunc global ITargetInfo_GetProperty 11 int,wstr,sptr #comfunc global ITargetInfo_SetProperty 12 int,wstr,wstr #comfunc global ITargetInfo_GetEnumerator 13 sptr #comfunc global ITargetInfo_ExpandTarget 14 int,wstr,sptr #comfunc global ITargetInfo_ExpandTargetPath 15 int,wstr,sptr #comfunc global ITargetInfo_SetModulePath 16 wstr,wstr #comfunc global ITargetInfo_LoadModule 17 wstr,sptr #comfunc global ITargetInfo_SetWow64Context 18 wstr,sptr #comfunc global ITargetInfo_TranslateWow64 19 wstr,wstr,sptr #comfunc global ITargetInfo_SetSchemaHiveLocation 20 wstr #comfunc global ITargetInfo_GetSchemaHiveLocation 21 sptr #comfunc global ITargetInfo_SetSchemaHiveMountName 22 wstr #comfunc global ITargetInfo_GetSchemaHiveMountName 23 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。