MsiGetPatchInfoExA-Funktion (msi.h)

Die MsiGetPatchInfoEx-Funktion fragt Informationen zur Anwendung eines Patches für eine angegebene instance eines Produkts ab.

Syntax

UINT MsiGetPatchInfoExA(
  [in]            LPCSTR            szPatchCode,
  [in]            LPCSTR            szProductCode,
  [in]            LPCSTR            szUserSid,
  [in]            MSIINSTALLCONTEXT dwContext,
  [in]            LPCSTR            szProperty,
  [out, optional] LPSTR             lpValue,
  [in, out]       LPDWORD           pcchValue
);

Parameter

[in] szPatchCode

Eine Zeichenfolge mit NULL-Beendigung, die die GUID des Patches enthält. Dieser Parameter darf nicht NULL sein.

[in] szProductCode

Eine NULL-terminierte Zeichenfolge, die die ProductCode-GUID des produktbasierten instance enthält. Dieser Parameter darf nicht NULL sein.

[in] szUserSid

Eine NULL-endende Zeichenfolge, die die Sicherheits-ID (SID) angibt, unter der die instance des abgefragten Patches vorhanden ist. Die Verwendung eines NULL-Werts gibt den aktuellen Benutzer an.

SID Bedeutung
NULL
Gibt den angemeldeten Benutzer an.
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 verwendet werden, um computerintern installierte Produkte aufzulisten. Wenn dwContextMSIINSTALLCONTEXT_MACHINE ist, muss szUserSidNULL sein.
 

[in] dwContext

Schränkt die Enumeration auf einen benutzerunabhängigen, benutzerseitig verwalteten oder pro Computer verwalteten Kontext ein. Bei diesem Parameter kann es sich um einen der folgenden Werte handeln.

Kontext Bedeutung
MSIINSTALLCONTEXT_USERMANAGED
1
Abfrage, die auf alle benutzerspezifischen verwalteten Installationen für die Benutzer erweitert wird, die szUserSid angibt.
MSIINSTALLCONTEXT_USERUNMANAGED
2
Abfrage, die auf alle benutzerspezifischen nicht verwalteten Installationen für die Benutzer erweitert wird, die szUserSid angibt.
MSIINSTALLCONTEXT_MACHINE
4
Abfrage, die auf alle Computerinstallationen erweitert wird.

[in] szProperty

Eine NULL-endende Zeichenfolge, die den abzurufenden Eigenschaftswert angibt. Der szProperty-Parameter kann einer der folgenden Sein:

Name Bedeutung
INSTALLPROPERTY_LOCALPACKAGE
"LocalPackage"
Ruft die zwischengespeicherte Patchdatei ab, die vom Produkt verwendet wird.
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 Letzten Empfang des Diensts für dieses Produkt ab. Der Wert dieser Eigenschaft wird jedes Mal dann ersetzt, wenn ein Patch angewendet oder aus dem Produkt entfernt wird oder die Befehlszeilenoption „/v“ 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 als vom Produkt deinstallierbar markiert ist. 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
"State"
Gibt 1 zurück, wenn dieser Patch derzeit auf das Produkt angewendet ist. 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"
Ruft den registrierten Anzeigename für den Patch ab. Bei Patches, die keine DisplayName-Eigenschaft in der MsiPatchMetadata-Tabelle enthalten, ist der zurückgegebene Anzeigename eine leere Zeichenfolge ("").
INSTALLPROPERTY_MOREINFOURL
"MoreInfoURL"
Ruft die registrierte URL mit Supportinformationen für den Patch ab. Bei Patches, die keine MoreInfoURL-Eigenschaft in der MsiPatchMetadata-Tabelle enthalten, ist die zurückgegebene URL mit Supportinformationen 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 von TCHAR im Eigenschaftswert fest, ohne das abschließende NULL-Zeichen .

Wenn lpValue auf NULL und pcchValue auf einen gültigen Zeiger festgelegt ist, gibt die Funktion ERROR_SUCCESS zurück und legt *pcchValue auf die Anzahl von TCHAR im Wert fest, ohne das abschließende NULL-Zeichen . Die Funktion kann dann erneut aufgerufen werden, um den Wert abzurufen, wobei der Puffer lpValue 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 von TCHAR im lpValue-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.

Dieser Parameter kann nur auf NULL festgelegt werden, wenn lpValue ebenfalls NULL ist. Andernfalls gibt die Funktion ERROR_INVALID_PARAMETER zurü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
Ein ungültiger Parameter wird an die Funktion übergeben.
ERROR_MORE_DATA
Der Wert passt nicht in den bereitgestellten Puffer.
ERROR_SUCCESS
Der Patch wurde erfolgreich aufgezählt.
ERROR_UNKNOWN_PRODUCT
Das produkt, das szProduct angibt, ist nicht auf dem Computer installiert.
ERROR_UNKNOWN_PROPERTY
Die Eigenschaft wird nicht erkannt.
ERROR_UNKNOWN_PATCH
Der Patch ist nicht erkannt.

Hinweise

Windows Installer 2.0: Nicht unterstützt. Diese Funktion ist ab Windows Installer Version 3.0 verfügbar.

Ein Benutzer kann Patchdaten für alle sichtbaren Produkt-instance abfragen. Die Administratorgruppe kann Patchdaten für alle Produkt-instance und jeden Benutzer auf dem Computer abfragen. Nicht alle Werte sind garantiert für nicht verwaltete Anwendungen pro Benutzer verfügbar, wenn der Benutzer nicht angemeldet ist.

Hinweis

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 nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

   
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. Informationen zum minimal 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

ProductCode

Entfernen von Patches