次の方法で共有


MsiSourceListGetInfoA 関数 (msi.h)

MsiSourceListGetInfo 関数は、特定のコンテキストでの製品またはパッチのソース リストに関する情報を取得します。

構文

UINT MsiSourceListGetInfoA(
  [in]                LPCSTR            szProductCodeOrPatchCode,
  [in, optional]      LPCSTR            szUserSid,
  [in]                MSIINSTALLCONTEXT dwContext,
  [in]                DWORD             dwOptions,
  [in]                LPCSTR            szProperty,
  [out, optional]     LPSTR             szValue,
  [in, out, optional] LPDWORD           pcchValue
);

パラメーター

[in] szProductCodeOrPatchCode

製品またはパッチの ProductCode またはパッチ GUID。 null で終わる文字列を使用します。 文字列が 39 文字を超える場合、関数は失敗し、ERROR_INVALID_PARAMETERを返します。 このパラメーターは NULLできません。

[in, optional] szUserSid

このパラメーターには、製品またはパッチを含むユーザー アカウントを指定する文字列セキュリティ識別子 (SID) を指定できます。 SID が検証または解決されていません。 SID が正しくないと、ERROR_UNKNOWN_PRODUCTまたはERROR_UNKNOWN_PATCHが返される可能性があります。 コンピューター コンテキストを参照する場合、szUserSID は NULL し、dwContext MSIINSTALLCONTEXT_MACHINEする必要があります。

SID の種類 意味
NULL
NULL は、現在ログオンしているユーザーを表します。 現在のユーザー アカウントを参照する場合、szUserSID は NULL でき、dwContext MSIINSTALLCONTEXT_USERMANAGEDまたはMSIINSTALLCONTEXT_USERUNMANAGEDできます。
ユーザー SID の
システム内の特定のユーザーの列挙を指定します。 ユーザー SID の例として、"S-1-3-64-2415071341-1358098788-3127455600-2561" があります。
 
特別な SID 文字列 s-1-5-18 (システム) を使用して、コンピューターごとにインストールされている製品またはパッチを列挙することはできません。 SID 値を s-1-5-18 に設定すると、ERROR_INVALID_PARAMETERが返されます。
 
特別な SID 文字列 s-1-1-0 (全員) は使用しないでください。 SID 値を s-1-1-0 に設定すると失敗し、ERROR_INVALID_PARAMが返されます。
 

[in] dwContext

このパラメーターは、製品またはパッチ インスタンスのコンテキストを指定します。 このパラメーターには、次のいずれかの値を含めることができます。

コンテキストの種類 意味
MSIINSTALLCONTEXT_USERMANAGED
製品またはパッチ インスタンスは、ユーザーごとのマネージド コンテキストに存在します。
MSIINSTALLCONTEXT_USERUNMANAGED
製品またはパッチ インスタンスは、ユーザーごとのアンマネージド コンテキストに存在します。
MSIINSTALLCONTEXT_MACHINE
製品またはパッチ インスタンスは、マシンごとのコンテキストに存在します。

[in] dwOptions

dwOptions 値は、szProductCodeOrPatchCodeの意味を指定します。

意味
MSICODE_PRODUCT
szProductCodeOrPatchCode は製品コード GUID です。
MSICODE_PATCH
szProductCodeOrPatchCode はパッチ コード GUID です。

[in] szProperty

取得するプロパティ値を指定する null で終わる文字列。 szProperty パラメーターには、次のいずれかの値を指定できます。

名前 意味
INSTALLPROPERTY_MEDIAPACKAGEPATH
"MediaPackagePath"
インストール メディアのルートを基準としたパス。
INSTALLPROPERTY_DISKPROMPT
"DiskPrompt"
ユーザーにインストール メディアの入力を求めるときに使用されるプロンプト テンプレート。
INSTALLPROPERTY_LASTUSEDSOURCE
"LastUsedSource"
製品の最後に使用されたソースの場所。
INSTALLPROPERTY_LASTUSEDTYPE
"LastUsedType"
最後に使用したソースがネットワークの場所の場合は "n" です。 最後に使用したソースが URL の場所の場合は "u" です。 最後に使用したソースがメディアの場合は "m" です。 最後に使用されたソースがない場合は、空の文字列 ("")。
INSTALLPROPERTY_PACKAGENAME
"PackageName"
ソースの Windows インストーラー パッケージまたはパッチ パッケージの名前。

[out, optional] szValue

情報を受信する出力バッファー。 このバッファーは、情報を格納するのに十分な大きさにする必要があります。 バッファーが小さすぎる場合、関数はERROR_MORE_DATAを返し、*pcchValue を、終了する NULL 文字を含まない値の TCHAR の数に設定します。

szValueNULL に設定され、pcchValue が有効なポインターに設定されている場合、関数はERROR_SUCCESSを返し、*pcchValue を、終了 NULL 文字を含まない値の TCHAR の数に設定します。 その後、関数を再度呼び出して値を取得できます。szValue バッファーは、 *pcchValue + 1 文字を含むのに十分な大きさです。

szValuepcchValue の両方が nullに設定されている場合、値が存在する場合、関数は値を取得せずにERROR_SUCCESSを返します。

[in, out, optional] pcchValue

szValue バッファー内の TCHAR の数を指定する変数へのポインター。 関数が戻るときに、関数が指定したバッファーに値をコピーするかどうかに関係なく、このパラメーターは要求された値のサイズに設定されます。 サイズは、要求された値 TCHAR の数として返されます。終端の null 文字は含まれません。

このパラメーターは、szValue も NULL場合にのみ、NULL を に設定できます。それ以外の場合、関数はERROR_INVALID_PARAMETERを返します。

戻り値

MsiSourceListGetInfo 関数は、次の値を返します。

価値 意味
ERROR_ACCESS_DENIED
ユーザーは、指定されたソース リストを読み取る機能を持っていません。 これは、製品またはパッチが見つかったかどうかを示すものではありません。
ERROR_BAD_CONFIGURATION
構成データが破損しています。
ERROR_INVALID_PARAMETER
無効なパラメーターが関数に渡されます。
ERROR_MORE_DATA
指定されたバッファーは、要求されたデータを格納するのに十分ではありません。
ERROR_SUCCESS
プロパティが正常に取得されました。
ERROR_UNKNOWN_PATCH
パッチが見つかりません。
ERROR_UNKNOWN_PRODUCT
製品が見つかりません。
ERROR_UNKNOWN_PROPERTY
ソース プロパティが見つかりません。
ERROR_FUNCTION_FAILED
予期しない内部エラー。

備考

管理者は、マシン コンテキストまたはユーザーごとの独自のコンテキスト (マネージドまたはアンマネージド) の下に存在する製品またはパッチ インスタンスのインストールを変更できます。ユーザーが管理する任意のユーザーごとのコンテキストの下に存在する製品またはパッチ インスタンスのインストールを変更できます。 管理者は、他のユーザーの非管理対象コンテキストの下に存在する製品またはパッチ インスタンスの別のユーザーのインストールを変更することはできません。

管理者以外は、別のユーザーのユーザーごとのコンテキスト (マネージドまたはアンマネージド) の下に存在する製品またはパッチ インスタンスのインストールを変更できません。ユーザーごとのアンマネージド コンテキストの下に存在する製品またはパッチ インスタンスのインストールを変更できます。 製品またはパッチ ソースの参照が有効になっている場合にのみ、マシン コンテキストまたはユーザーごとの独自のマネージド コンテキストで製品またはパッチ インスタンスのインストールを変更できます。 ユーザーは、ポリシーを設定してソースを参照できます。 詳細については、「DisableBrowse、AllowLockdownBrowse、および AlwaysInstallElevated ポリシーの する」を参照してください。

手記

msi.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして MsiSourceListGetInfo を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows Server 2012、Windows 8、Windows Server 2008 R2、または Windows 7 の Windows インストーラー 5.0。 Windows Server 2008 または Windows Vista の Windows インストーラー 4.0 または Windows インストーラー 4.5。 Windows Server 2003 または Windows XP の Windows インストーラー 3.0 以降。 Windows インストーラーのバージョンで必要な最小 Windows Service Pack の詳細については、Windows インストーラーの Run-Time 要件を参照してください。
ターゲット プラットフォーム の ウィンドウズ
ヘッダー msi.h
ライブラリ Msi.lib
DLL Msi.dll

関連項目

MsiSourceListSetInfo

Windows インストーラー 2.0 以前の ではサポートされていません

ProductCode を する