Freigeben über


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.

SID Bedeutung
NULL-
Gibt den Benutzer an, der angemeldet ist.
Benutzer-SID-
Gibt die Enumeration für eine bestimmte Benutzer-ID im System an. Im folgenden Beispiel wird eine mögliche Benutzer-SID identifiziert: "S-1-3-64-2415071341-1358098788-3127455600-2561".
 
Hinweis Die spezielle SID-Zeichenfolge "S-1-5-18" (System) kann nicht zum Aufzählen von Produkten verwendet werden, die pro Computer installiert sind. Wenn dwContext-MSIINSTALLCONTEXT_MACHINEist, muss szUserSidNULL-sein.
 

[in] dwContext

Beschränkt die Enumeration auf einen benutzerspezifischen, nicht verwalteten, benutzerbasierten oder computerspezifischen Kontext. Dieser Parameter kann ein beliebiger der folgenden Werte sein.

Zusammenhang Bedeutung
MSIINSTALLCONTEXT_USERMANAGED
1
Abfrage, die auf alle vom Benutzer verwalteten Installationen für die Benutzer erweitert wird, die szUserSid- angibt.
MSIINSTALLCONTEXT_USERUNMANAGED
2
Abfrage, die auf alle nicht verwalteten Installationen pro Benutzer für die Benutzer erweitert wird, die szUserSid angibt.
MSIINSTALLCONTEXT_MACHINE
4
Abfrage, die auf alle Installationen pro Computer erweitert wird.

[in] szProperty

Eine mit Null beendete Zeichenfolge, die den abzurufenden Eigenschaftswert angibt. Der szProperty Parameter kann eine der folgenden Sein:

Name Bedeutung
INSTALLPROPERTY_LOCALPACKAGE
"LocalPackage"
Ruft die zwischengespeicherte Patchdatei ab, die das Produkt verwendet.
INSTALLPROPERTY_TRANSFORMS
"Transformationen"
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.
INSTALLPROPERTY_INSTALLDATE
"InstallDate"
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.
INSTALLPROPERTY_UNINSTALLABLE
"Deinstallierbar"
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.
INSTALLPROPERTY_PATCHSTATE
"Bundesland"
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.
INSTALLPROPERTY_DISPLAYNAME
"DisplayName"
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 ("").
INSTALLPROPERTY_MOREINFOURL
"MoreInfoURL"
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
ERROR_ACCESS_DENIED
Die Funktion versucht nicht, auf eine Ressource mit unzureichenden Berechtigungen zuzugreifen.
ERROR_BAD_CONFIGURATION
Die Konfigurationsdaten sind beschädigt.
ERROR_FUNCTION_FAILED
Die Funktion schlägt fehl, und der Fehler wird in anderen Fehlercodes nicht identifiziert.
ERROR_INVALID_PARAMETER
An die Funktion wird ein ungültiger Parameter übergeben.
ERROR_MORE_DATA
Der Wert passt nicht in den bereitgestellten Puffer.
ERROR_SUCCESS
Der Patch wird erfolgreich aufgezählt.
ERROR_UNKNOWN_PRODUCT
Das Produkt, das szProduct- angibt, ist nicht auf dem Computer installiert.
ERROR_UNKNOWN_PROPERTY
Die Eigenschaft ist nicht erkannt.
ERROR_UNKNOWN_PATCH
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

Siehe auch

ProductCode-

Entfernen von Patches