Share via


MsiExtractPatchXMLDataA-Funktion (msi.h)

Die MsiExtractPatchXMLData-Funktion extrahiert Informationen aus einem Patch, die verwendet werden können, um zu bestimmen, ob der Patch auf ein Zielsystem angewendet wird. Die Funktion gibt eine XML-Zeichenfolge zurück, die anstelle der vollständigen Patchdatei für MsiDeterminePatchSequence und MsiDetermineApplicablePatches bereitgestellt werden kann. Anhand der zurückgegebenen Informationen kann ermittelt werden, ob der Patch anwendbar ist.

Syntax

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

Parameter

[in] szPatchPath

Der vollständige Pfad zum abgefragten Patch. Übergeben Sie als Zeichenfolge mit NULL-Beendigung. Dieser Parameter darf nicht NULL sein.

[in] dwReserved

Ein reserviertes Argument, das 0 (null) sein muss.

[out, optional] szXMLData

Ein Zeiger auf einen Puffer, der die XML-Zeichenfolge enthält, die die extrahierten Patchinformationen enthält. Dieser Puffer sollte groß genug sein, um die empfangenen Informationen zu enthalten. Wenn der Puffer zu klein ist, gibt die Funktion ERROR_MORE_DATA zurück und legt *pcchXMLData auf die Anzahl von TCHAR im Wert fest, ohne das abschließende NULL-Zeichen.

Wenn szXMLData auf NULL und pcchXMLData auf einen gültigen Zeiger festgelegt ist, gibt die Funktion ERROR_SUCCESS zurück und legt *pcchXMLData auf die Anzahl von TCHAR im Wert fest, wobei das abschließende NULL-Zeichen nicht eingeschlossen wird. Die Funktion kann dann erneut aufgerufen werden, um den Wert abzurufen, wobei szXMLData-Puffer groß genug ist, um *pcchXMLData + 1 Zeichen zu enthalten.

[in, out, optional] pcchXMLData

Ein Zeiger auf eine Variable, die die Anzahl von TCHAR im szXMLData-Puffer angibt. Wenn die Funktion zurückgibt, wird dieser Parameter auf die Größe des angeforderten Werts festgelegt, unabhängig davon, ob die Funktion den Wert in den angegebenen Puffer kopiert oder nicht. Die Größe wird als Anzahl von TCHAR im angeforderten Wert zurückgegeben, ohne das abschließende NULL-Zeichen.

Wenn dieser Parameter auf NULL festgelegt ist, gibt die Funktion ERROR_INVALID_PARAMETER zurück.

Rückgabewert

Die MsiExtractPatchXMLData-Funktion kann die folgenden Werte zurückgeben.

Rückgabecode Beschreibung
ERROR_FUNCTION_FAILED
Die Funktion ist auf eine Weise fehlgeschlagen, die nicht durch einen der Rückgabewerte in dieser Tabelle identifiziert wird.
ERROR_INVALID_PARAMETER
Es wurde ein ungültiger Parameter an die Funktion übergeben.
ERROR_MORE_DATA
Der Wert passt nicht in den bereitgestellten Puffer.
ERROR_PATCH_OPEN_FAILED
Die Patchdatei konnte nicht geöffnet werden.
ERROR_SUCCESS
Die Funktion war erfolgreich.
ERROR_PATCH_PACKAGE_INVALID
Die Patchdatei konnte nicht geöffnet werden.
ERROR_CALL_NOT_IMPLEMENTED
Dieser Fehler kann zurückgegeben werden, wenn MSXML 3.0 nicht installiert ist.

Hinweise

Die ExtractPatchXMLData-Methode des Installer-Objekts verwendet die MsiExtractPatchXMLData-Funktion .

Hinweis

Der msi.h-Header definiert MsiExtractPatchXMLData als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht Codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Installer 4.0 oder Windows Installer 4.5 unter Windows Server 2008 oder Windows Vista. Windows Installer 3.0 oder höher unter Windows Server 2003 oder Windows XP. Informationen zum mindestens erforderlichen Windows Service Pack für eine Windows Installer-Version finden Sie unter Windows Installer – Laufzeitanforderungen.
Zielplattform Windows
Kopfzeile msi.h
Bibliothek Msi.lib
DLL Msi.dll

Weitere Informationen

MsiDetermineApplicablePatches

MsiDeterminePatchSequence

In Windows Installer 2.0 und früher nicht unterstützt