MddAddPackageDependency-Funktion (msixdynamicdependency.h)
Fügt einen Laufzeitverweis für die Frameworkpaketabhängigkeit hinzu, die Sie zuvor mithilfe der MddTryCreatePackageDependency-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 MddAddPackageDependency(
PCWSTR packageDependencyId,
INT32 rank,
MddAddPackageDependencyOptions options,
MDD_PACKAGEDEPENDENCY_CONTEXT *packageDependencyContext,
PWSTR *packageFullName
) noexcept;
Parameter
packageDependencyId
Typ: PCWSTR
Die ID der Paketabhängigkeit, die aufgelöst und dem Paketdiagramm des aufrufenden Prozesses 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 ScopeIsSystem-Option ) definiert wurde. Andernfalls wird ein Fehler zurückgegeben.
rank
Typ: INT32
Der Rang, der zum Hinzufügen des aufgelösten Pakets zum Paketgraphen des Aufrufers verwendet werden soll. Weitere Informationen finden Sie in den Hinweisen.
options
Typ: MddAddPackageDependencyOptions
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*
Der vollständige Name des Pakets, in das die Abhängigkeit aufgelöst wurde. Verwenden Sie die HeapAlloc-Funktion , um Arbeitsspeicher für diesen Parameter zuzuweisen, und verwenden Sie HeapFree , um die Zuordnung des Arbeitsspeichers aufzugeben.
Rückgabewert
Typ: HRESULT
Wenn die Funktion erfolgreich ist, gibt sie ERROR_SUCCESS zurück. Andernfalls gibt die Funktion einen Fehlercode zurück. Folgende Fehlercodes sind möglich.
Rückgabecode | Beschreibung |
---|---|
E_INVALIDARG | Der Parameter packageDependencyId oder packageDependencyContext ist bei der Eingabe NULL. |
Hinweise
Durch Aufrufen dieser Methode wird die Frameworkpaketabhängigkeit in ein bestimmtes Paket im System aufgelöst. Außerdem wird das Betriebssystem darüber informiert, dass das Frameworkpaket aktiv verwendet wird und versionsupdates parallel verarbeitet werden kann (die Deinstallation oder anderweitige Wartung der älteren Version wird effektiv verzögert, bis Ihre App sie verwendet hat). Die Paketauflösung ist spezifisch für einen Benutzer und kann unterschiedliche Werte für verschiedene Benutzer in einem System zurückgeben.
Jeder erfolgreiche MddAddPackageDependency-Aufruf fügt das aufgelöste Paket dem Paketgraphen des aufrufenden Prozesses hinzu, auch wenn es bereits vorhanden ist. Von der API wird keine Duplikaterkennung oder -filterung angewendet (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 MddRemovePackageDependency entfernt oder der Prozess beendet wird. Bei erfolgreichen Aufrufen dieser Methode wird der von MddGetGenerationId zurückgegebene Wert der Generierungs-ID geändert.
Nachdem diese Methode erfolgreich zurückgegeben wurde, kann Ihre App Typen aktivieren und Inhalte aus dem Frameworkpaket verwenden, bis MddRemovePackageDependency aufgerufen wird.
Wenn mehrere Pakete im Paketgraphen mit demselben Rang wie der Aufruf von MddAddPackageDependency 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 PrependIfRankCollision für den options-Parameter an.
Weitere Informationen finden Sie unter Verwenden der dynamischen Abhängigkeits-API zum Verweisen auf MSIX-Pakete zur Laufzeit.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 10, Version 1809 (mit Windows App SDK 1.0 oder höher) |
Kopfzeile | msixdynamicdependency.h |
Weitere Informationen
Verwenden der API für dynamische Abhängigkeiten zum Verweisen auf MSIX-Pakete zur Laufzeit