MsiGetPatchInfoExW-Funktion (msi.h)
Die MsiGetPatchInfoEx--Funktion fragt nach Informationen zur Anwendung eines Patches auf eine angegebene Instanz eines Produkts ab.
Syntax
UINT MsiGetPatchInfoExW(
[in] LPCWSTR szPatchCode,
[in] LPCWSTR szProductCode,
[in] LPCWSTR szUserSid,
[in] MSIINSTALLCONTEXT dwContext,
[in] LPCWSTR szProperty,
[out, optional] LPWSTR lpValue,
[in, out] LPDWORD pcchValue
);
Parameter
[in] szPatchCode
Eine mit Null beendete Zeichenfolge, die die GUID des Patches enthält. Dieser Parameter kann nicht NULL-werden.
[in] szProductCode
Eine mit Null beendete Zeichenfolge, die die ProductCode- GUID der Produktinstanz enthält. Dieser Parameter kann nicht NULL-werden.
[in] szUserSid
Eine mit Null beendete Zeichenfolge, die die Sicherheits-ID (SID) angibt, unter der die Instanz des abgefragten Patches vorhanden ist. Die Verwendung eines NULL- Werts gibt den aktuellen Benutzer an.
[in] dwContext
Beschränkt die Enumeration auf einen benutzerspezifischen, nicht verwalteten, benutzerbasierten oder computerspezifischen Kontext. Dieser Parameter kann ein beliebiger der folgenden Werte sein.
[in] szProperty
Eine mit Null beendete Zeichenfolge, die den abzurufenden Eigenschaftswert angibt. Der szProperty Parameter kann eine der folgenden Sein:
Name | Bedeutung |
---|---|
|
Ruft die zwischengespeicherte Patchdatei ab, die das Produkt verwendet. |
|
Ruft den Satz von Patchtransformationen ab, die die letzte Patchinstallation auf das Produkt angewendet hat. Dieser Wert ist möglicherweise nicht für benutzerspezifische, nicht verwaltete Anwendungen verfügbar, wenn der Benutzer nicht angemeldet ist. |
|
Ruft den Zeitpunkt ab, zu dem dieses Produkt den Dienst zum letzten Mal empfangen hat. Der Wert dieser Eigenschaft wird jedes Mal ersetzt, wenn ein Patch angewendet oder aus dem Produkt entfernt wird, oder die Option /v Command-Line Option verwendet wird, um das Produkt zu reparieren. Wenn das Produkt keine Reparaturen oder Patches erhalten hat, enthält diese Eigenschaft den Zeitpunkt, zu dem dieses Produkt auf diesem Computer installiert wurde. |
|
Gibt "1" zurück, wenn der Patch so markiert ist, dass er vom Produkt deinstalliert werden soll. In diesem Fall kann das Installationsprogramm die Deinstallation weiterhin blockieren, wenn dieser Patch von einem anderen Patch benötigt wird, der nicht deinstalliert werden kann. |
|
Gibt "1" zurück, wenn dieser Patch zurzeit auf das Produkt angewendet wird. Gibt "2" zurück, wenn dieser Patch durch einen anderen Patch ersetzt wird. Gibt "4" zurück, wenn dieser Patch veraltet ist. Diese Werte entsprechen den Konstanten, die der dwFilter Parameter von MsiEnumPatchesEx verwendet. |
|
Rufen Sie den registrierten Anzeigenamen für den Patch ab. Für Patches, die die DisplayName-Eigenschaft nicht in der MsiPatchMetadata- Tabelle enthalten, ist der zurückgegebene Anzeigename eine leere Zeichenfolge (""). |
|
Rufen Sie die url der registrierten Supportinformationen für den Patch ab. Für Patches, die die MoreInfoURL-Eigenschaft nicht in der MsiPatchMetadata- Tabelle enthalten, ist die zurückgegebene Supportinformations-URL eine leere Zeichenfolge (""). |
[out, optional] lpValue
Dieser Parameter ist ein Zeiger auf einen Puffer, der den Eigenschaftswert empfängt. Dieser Puffer sollte groß genug sein, um die Informationen zu enthalten. Wenn der Puffer zu klein ist, gibt die Funktion ERROR_MORE_DATA zurück und legt *pcchValue- auf die Anzahl der TCHAR- im Eigenschaftswert fest, nicht einschließlich des endenden NULL- Zeichens.
Wenn lpValue- auf NULL- festgelegt ist und pcchValue- auf einen gültigen Zeiger festgelegt ist, gibt die Funktion ERROR_SUCCESS zurück und legt *pcchValue auf die Anzahl der TCHAR- im Wert fest, nicht einschließlich des endierenden NULL- Zeichens. Die Funktion kann dann erneut aufgerufen werden, um den Wert abzurufen, wobei lpValue Puffer groß genug ist, um *pcchValue + 1 Zeichen zu enthalten.
Wenn lpValue und pcchValue beide auf NULL-festgelegt sind, gibt die Funktion ERROR_SUCCESS zurück, wenn der Wert vorhanden ist, ohne den Wert abzurufen.
[in, out] pcchValue
Beim Aufrufen der Funktion sollte dieser Parameter ein Zeiger auf eine Variable sein, die die Anzahl der TCHAR- im lpValue- 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.
Dieser Parameter kann nur dann auf NULL- festgelegt werden, wenn lpValue- auch NULL-ist. Andernfalls gibt die Funktion ERROR_INVALID_PARAMETERzurück.
Rückgabewert
Die MsiGetPatchInfoEx--Funktion gibt die folgenden Werte zurück.
Rückgabecode | Beschreibung |
---|---|
|
Die Funktion versucht nicht, auf eine Ressource mit unzureichenden Berechtigungen zuzugreifen. |
|
Die Konfigurationsdaten sind beschädigt. |
|
Die Funktion schlägt fehl, und der Fehler wird in anderen Fehlercodes nicht identifiziert. |
|
An die Funktion wird ein ungültiger Parameter übergeben. |
|
Der Wert passt nicht in den bereitgestellten Puffer. |
|
Der Patch wird erfolgreich aufgezählt. |
|
Das Produkt, das szProduct- angibt, ist nicht auf dem Computer installiert. |
|
Die Eigenschaft ist nicht erkannt. |
|
Der Patch ist nicht erkannt. |
Bemerkungen
Windows Installer 2.0: Nicht unterstützt. Diese Funktion ist ab Windows Installer Version 3.0 verfügbar.
Ein Benutzer kann Patchdaten für jede produktinstanz abfragen, die sichtbar ist. Die Administratorgruppe kann Patchdaten für jede Produktinstanz und jeden Benutzer auf dem Computer abfragen. Nicht alle Werte sind für benutzerspezifische, nicht verwaltete Anwendungen verfügbar, wenn der Benutzer nicht angemeldet ist.
Anmerkung
Der msi.h-Header definiert MsiGetPatchInfoEx 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 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. 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 |