MsiExtractPatchXMLDataA 関数 (msi.h)

MsiExtractPatchXMLData 関数は、パッチがターゲット システムに適用されるかどうかを判断するために使用できる情報をパッチから抽出します。 関数は、完全なパッチ ファイルではなく 、MsiDeterminePatchSequence および MsiDetermineApplicablePatches に提供できる XML 文字列を返します。 返された情報を使用して、パッチが適用可能かどうかを判断できます。

構文

UINT MsiExtractPatchXMLDataA(
  [in]                LPCSTR  szPatchPath,
  [in]                DWORD   dwReserved,
  [out, optional]     LPSTR   szXMLData,
  [in, out, optional] LPDWORD pcchXMLData
);

パラメーター

[in] szPatchPath

クエリ対象のパッチへの完全パス。 null で終わる文字列としてを渡します。 このパラメーターを NULL にすることはできません。

[in] dwReserved

0 (ゼロ) である必要がある予約済み引数。

[out, optional] szXMLData

抽出されたパッチ情報を含む XML 文字列を保持するバッファーへのポインター。 このバッファーは、受信した情報を格納するのに十分な大きさにする必要があります。 バッファーが小さすぎる場合、関数は ERROR_MORE_DATAを返し、*pcchXMLData を値の TCHAR の数に設定します。終端の NULL 文字は含まれません。

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

[in, out, optional] pcchXMLData

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

このパラメーターが NULL に設定されている場合、関数は ERROR_INVALID_PARAMETERを返します。

戻り値

MsiExtractPatchXMLData 関数は、次の値を返すことができます。

リターン コード 説明
ERROR_FUNCTION_FAILED
関数は、このテーブルのどの戻り値でも識別されない方法で失敗しました。
ERROR_INVALID_PARAMETER
無効なパラメーターが関数に渡されました。
ERROR_MORE_DATA
この値は、指定されたバッファーに収まりません。
ERROR_PATCH_OPEN_FAILED
パッチ ファイルを開くことができませんでした。
ERROR_SUCCESS
関数は成功しました。
ERROR_PATCH_PACKAGE_INVALID
パッチ ファイルを開くことができませんでした。
ERROR_CALL_NOT_IMPLEMENTED
このエラーは、MSXML 3.0 がインストールされていない場合に返される可能性があります。

注釈

インストーラー オブジェクトの ExtractPatchXMLData メソッドは、MsiExtractPatchXMLData 関数を使用します。

注意

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

要件

要件
サポートされている最小のクライアント Windows Server 2008 または Windows Vista の Windows インストーラー 4.0 または Windows インストーラー 4.5。 Windows Server 2003 または Windows XP 上では Windows インストーラー 3.0 以降。 Windows インストーラーのバージョンに必要な最小の Windows Service Pack については、Windows インストーラーの実行時の要件に関する記事を参照してください。
対象プラットフォーム Windows
ヘッダー msi.h
Library Msi.lib
[DLL] Msi.dll

こちらもご覧ください

MsiDetermineApplicablePatches

MsiDeterminePatchSequence

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