Share via


MsiEnumPatchesA-Funktion (msi.h)

Die MsiEnumPatches-Funktion listet alle Patches auf, die auf ein Produkt angewendet wurden. Die Funktion gibt die Patchcode-GUID für jeden Patch zurück, der auf das Produkt angewendet wurde, und gibt eine Liste der Transformationen aus jedem Patch zurück, der für das Produkt gilt. Beachten Sie, dass Patches viele Transformationen aufweisen können, von denen nur einige für ein bestimmtes Produkt gelten. Die Liste der Transformationen wird im gleichen Format wie der Wert der TRANSFORMS-Eigenschaft zurückgegeben.

Beachten Sie, dass pcchTransformsBuf bei erfolgreicher Rückgabe von MsiEnumPatches nicht auf die Anzahl der Zeichen festgelegt ist, die nach lpTransformsBuf kopiert werden.
 

Syntax

UINT MsiEnumPatchesA(
  [in]      LPCSTR  szProduct,
  [in]      DWORD   iPatchIndex,
  [out]     LPSTR   lpPatchBuf,
  [out]     LPSTR   lpTransformsBuf,
  [in, out] LPDWORD pcchTransformsBuf
);

Parameter

[in] szProduct

Gibt den Produktcode des Produkts an, für das Patches aufgelistet werden sollen.

[in] iPatchIndex

Gibt den Index des abzurufenden Patches an. Dieser Parameter sollte für den ersten Aufruf der MsiEnumPatches-Funktion null sein und dann für nachfolgende Aufrufe inkrementiert werden.

[out] lpPatchBuf

Zeiger auf einen Puffer, der die GUID des Patches empfängt. Dieses Argument ist erforderlich.

[out] lpTransformsBuf

Zeiger auf einen Puffer, der die Liste der Transformationen im Patch empfängt, die für das Produkt gelten. Dieses Argument ist erforderlich und darf nicht NULL sein.

[in, out] pcchTransformsBuf

Legen Sie auf die Anzahl der Zeichen fest, die bei einer nicht erfolgreichen Rückgabe der Funktion in lpTransformsBuf kopiert werden. Nicht für eine erfolgreiche Rückgabe festgelegt. Bei der Eingabe entspricht dies der vollständigen Größe des Puffers, einschließlich eines Leerzeichens für ein abschließendes NULL-Zeichen. Wenn der übergebene Puffer zu klein ist, enthält die zurückgegebene Anzahl nicht das abschließende NULL-Zeichen.

Rückgabewert

Wert Bedeutung
ERROR_BAD_CONFIGURATION
Die Konfigurationsdaten sind beschädigt.
ERROR_INVALID_PARAMETER
Es wurde ein ungültiger Parameter an die Funktion übergeben.
ERROR_NO_MORE_ITEMS
Es müssen keine Patches zurückgegeben werden.
ERROR_SUCCESS
Ein Wert wurde aufgezählt.
ERROR_MORE_DATA
Ein Puffer ist zu klein, um die angeforderten Daten zu speichern.

Hinweise

Um Patches aufzulisten, sollte eine Anwendung zunächst die MsiEnumPatches-Funktion aufrufen, wobei der iPatchIndex-Parameter auf Null festgelegt ist. Die Anwendung sollte dann den iPatchIndex-Parameter erhöhen und MsiEnumPatches aufrufen, bis keine weiteren Produkte vorhanden sind (bis die Funktion ERROR_NO_MORE_ITEMS zurückgibt).

Wenn der Puffer zu klein ist, um die angeforderten Daten zu speichern, gibt MsiEnumPatches ERROR_MORE_DATA zurück, und pcchTransformsBuf enthält die Anzahl der Zeichen, die in lpTransformsBuf kopiert wurden, ohne das Nullzeichen zu zählen.

Hinweis

Der msi.h-Header definiert MsiEnumPatches 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 5.0 unter Windows Server 2012, Windows 8, Windows Server 2008 R2 oder Windows 7. Windows Installer 4.0 oder Windows Installer 4.5 unter Windows Server 2008 oder Windows Vista. Windows Installer 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