次の方法で共有


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 を、終了する NULL 文字を含まない値の TCHAR の数に設定します。

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

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

必要条件

要件 価値
サポートされる最小クライアント 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

関連項目

MsiDetermineApplicablePatches

MsiDeterminePatchSequence

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