AddPackageDependency-Funktion (appmodel.h)
Fügt einen Laufzeitverweis für die Frameworkpaketabhängigkeit hinzu, die Sie zuvor mithilfe der TryCreatePackageDependency-Methode mit den angegebenen Optionen erstellt haben. Nachdem diese Methode erfolgreich zurückgegeben wurde, kann Ihre App Typen aktivieren und Inhalte aus dem Frameworkpaket verwenden.
Syntax
HRESULT AddPackageDependency(
PCWSTR packageDependencyId,
INT32 rank,
AddPackageDependencyOptions options,
PACKAGEDEPENDENCY_CONTEXT *packageDependencyContext,
PWSTR *packageFullName
);
Parameter
packageDependencyId
Typ: PCWSTR
Die ID der Paketabhängigkeit, die aufgelöst und dem Paketdiagramm des Aufrufprozesses hinzugefügt werden soll. Dieser Parameter muss mit einer Paketabhängigkeit übereinstimmen, die mithilfe der TryCreatePackageDependency-Funktion für den aufrufenden Benutzer oder das System (über die Option CreatePackageDependencyOptions_ScopeIsSystem ) definiert wurde, andernfalls wird ein Fehler zurückgegeben.
rank
Typ: INT32
Der Rang, der zum Hinzufügen des aufgelösten Pakets zum Paketdiagramm des Aufrufers verwendet werden soll. Weitere Informationen finden Sie in den Anmerkungen.
options
Typ: AddPackageDependencyOptions
Die Optionen, die beim Hinzufügen der Paketabhängigkeit angewendet werden sollen.
packageDependencyContext
Typ: PACKAGEDEPENDENCY_CONTEXT*
Das Handle der hinzugefügten Paketabhängigkeit. Dieses Handle ist gültig, bis es an RemovePackageDependency übergeben wird.
packageFullName
Typ: PCWSTR*
Wenn diese Methode zurückgibt, enthält die Adresse eines Zeigers auf eine Unicode-Zeichenfolge mit Null-Beendigung, die den vollständigen Namen des Pakets angibt, in das die Abhängigkeit aufgelöst wurde. Der Aufrufer ist für die Freigabe dieser Ressource verantwortlich, sobald sie nicht mehr benötigt wird, indem er HeapFree aufruft.
Rückgabewert
Typ: HRESULT
Wenn die Funktion erfolgreich ist, gibt sie ERROR_SUCCESS zurück. Andernfalls gibt die Funktion einen Fehlercode zurück. Zu den möglichen Fehlercodes gehören die folgenden:
Rückgabecode | Beschreibung |
---|---|
E_INVALIDARG | Der Parameter packageDependencyId oder packageDependencyContext ist bei der Eingabe NULL. |
Hinweise
Durch Aufrufen dieser Methode wird die Frameworkpaketabhängigkeit auf ein bestimmtes Paket im System aufgelöst. Außerdem wird das Betriebssystem darüber informiert, dass das Frameworkpaket aktiv verwendet wird und alle Versionsupdates parallel verarbeitet werden soll (die Deinstallation oder anderweitige Wartung der älteren Version wird effektiv verzögert, bis Ihre App es verwendet hat). Die Paketauflösung ist für einen Benutzer spezifisch und kann unterschiedliche Werte für verschiedene Benutzer auf einem System zurückgeben.
Jeder erfolgreiche AddPackageDependency-Aufruf fügt das aufgelöste Paket dem Paketdiagramm des aufrufenden Prozesses hinzu, auch wenn bereits vorhanden. Es gibt keine doppelte Erkennung oder Filterung, die von der API angewendet wird (das heißt, mehrere Verweise aus einem Paket sind nicht schädlich). Nach Abschluss der Lösung bleibt die Paketabhängigkeit für diesen Benutzer aufgelöst, bis der letzte Verweis über alle Prozesse für diesen Benutzer über RemovePackageDependency entfernt oder der Prozess beendet wird.
Nachdem diese Methode erfolgreich zurückgegeben wurde, kann Ihre App Typen aktivieren und Inhalte aus dem Frameworkpaket verwenden, bis RemovePackageDependency aufgerufen wird.
Wenn im Paketdiagramm mehrere Pakete mit demselben Rang wie der Aufruf von AddPackageDependency vorhanden sind, wird das aufgelöste Paket (standardmäßig) nach anderen Paketen desselben Rangs hinzugefügt. Um ein Paket vor anderen Personen desselben Rangs hinzuzufügen, geben Sie AddPackageDependencyOptions_PrependIfRankCollision für den Optionsparameter an.
Weitere Informationen finden Sie unter Verwenden der dynamischen Abhängigkeits-API, um zur Laufzeit auf MSIX-Pakete zu verweisen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 11 (eingeführt in 10.0.22000.0) |
Kopfzeile | appmodel.h |
Weitere Informationen
Verwenden der API für dynamische Abhängigkeiten zum Verweisen auf MSIX-Pakete zur Laufzeit