Freigeben über


MsiExtractPatchXMLDataA-Funktion (msi.h)

Die MsiExtractPatchXMLData-Funktion extrahiert Informationen aus einem Patch, mit dem ermittelt werden kann, ob der Patch auf ein Zielsystem angewendet wird. Die Funktion gibt eine XML-Zeichenfolge zurück, die für MsiDeterminePatchSequence- und MsiDetermineApplicablePatches anstelle der vollständigen Patchdatei bereitgestellt werden kann. Die zurückgegebenen Informationen können verwendet werden, um zu bestimmen, 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 patch, der abgefragt wird. Übergeben Als null-beendete Zeichenfolge. Dieser Parameter kann nicht NULL-werden.

[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 der TCHAR- im Wert fest, nicht einschließlich des endenden NULL-Zeichens.

Wenn szXMLData- auf NULL- festgelegt ist und pcchXMLData- auf einen gültigen Zeiger festgelegt ist, gibt die Funktion ERROR_SUCCESS zurück und legt *pcchXMLData- auf die Anzahl der TCHAR- im Wert fest, nicht einschließlich des endenden NULL-Zeichens. 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 der TCHAR- im szXMLData--Puffer angibt. Wenn die Funktion zurückgegeben wird, wird dieser Parameter auf die Größe des angeforderten Werts festgelegt, unabhängig davon, ob die Funktion den Wert in den angegebenen Puffer kopiert. Die Größe wird als Die Anzahl der TCHAR- im angeforderten Wert zurückgegeben, nicht einschließlich des endenden Nullzeichens.

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
Fehler bei der Funktion, die durch keine der Rückgabewerte in dieser Tabelle identifiziert wird.
ERROR_INVALID_PARAMETER
An die Funktion wurde ein ungültiger Parameter ü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.

Bemerkungen

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

Anmerkung

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
mindestens unterstützte 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 von einer Windows Installer-Version erforderlichen Windows-Service Pack finden Sie unter den Windows Installer-Run-Time Anforderungen.
Zielplattform- Fenster
Header- msi.h
Library Msi.lib
DLL- Msi.dll

Siehe auch

MsiDetermineApplicablePatches

MsiDeterminePatchSequence-

in Windows Installer 2.0 und früheren nicht unterstützt