TryCreatePackageDependency, fonction (appmodel.h)
Crée une référence au moment de l’installation pour une dépendance de package d’infrastructure pour l’application actuelle, à l’aide du nom de famille de packages, de la version minimale et des critères supplémentaires spécifiés.
Syntaxe
HRESULT TryCreatePackageDependency(
PSID user,
PCWSTR packageFamilyName,
PACKAGE_VERSION minVersion,
PackageDependencyProcessorArchitectures packageDependencyProcessorArchitectures,
PackageDependencyLifetimeKind lifetimeKind,
PCWSTR lifetimeArtifact,
CreatePackageDependencyOptions options,
PWSTR *packageDependencyId
);
Paramètres
user
Type : PSID
Étendue utilisateur de la dépendance de package. Si la valeur est NULL, le contexte utilisateur de l’appelant est utilisé. Doit être NULL si CreatePackageDependencyOptions_ScopeIsSystem est spécifié.
packageFamilyName
Type : PCWSTR
Nom de la famille de packages du package d’infrastructure sur lequel la dépendance doit être prise.
minVersion
Type : PACKAGE_VERSION
Version minimale du package d’infrastructure sur laquelle la dépendance doit être prise.
packageDependencyProcessorArchitectures
Type : PackageDependencyProcessorArchitectures
Architectures de processeur de la dépendance de package.
lifetimeKind
Type : PackageDependencyLifetimeKind
Type d’artefact à utiliser pour définir la durée de vie de la dépendance de package. Pour plus d’informations, consultez les remarques.
lifetimeArtifact
Type : PCWSTR
Nom de l’artefact utilisé pour définir la durée de vie de la dépendance de package. Doit être NULL si le paramètre lifetimeKind est PackageDependencyLifetimeKind_Process. Pour plus d’informations, consultez les remarques.
options
Type : CreatePackageDependencyOptions
Options à appliquer lors de la création de la dépendance de package.
packageDependencyId
Type : PWSTR*
Lorsque cette méthode est retournée, contient l’adresse d’un pointeur vers une chaîne Unicode terminée par null qui spécifie l’ID de la nouvelle dépendance de package. L’appelant est chargé de libérer cette ressource une fois qu’elle n’est plus nécessaire en appelant HeapFree.
Valeur retournée
Type : HRESULT
Si la fonction réussit, elle retourne ERROR_SUCCESS. Sinon, la fonction retourne un code d’erreur. Les codes d’erreur possibles sont les suivants.
Code de retour | Description |
---|---|
E_INVALIDARG | Le paramètre packageDependencyId a la valeur NULL lors de l’entrée. |
Remarques
Dans le programme d’installation de votre application ou lors de la première exécution de votre application, appelez cette méthode pour spécifier un ensemble de critères pour un package d’infrastructure que vous souhaitez utiliser dans votre application. Cet appel permet d’indiquer au système d’exploitation que votre application comporte une dépendance vis-à-vis d’un package d’infrastructure qui répond aux critères spécifiés. Si un ou plusieurs packages d’infrastructure répondant aux critères sont installés, Windows veille à ce qu’au moins un de ces packages reste installé jusqu’à la suppression de la référence au moment de l’installation. Pour plus d’informations, consultez Utiliser l’API de dépendance dynamique pour référencer des packages MSIX au moment de l’exécution.
Cette fonction échoue si les critères de dépendance spécifiés ne peuvent pas être résolus en un package spécifique. Cette case activée de résolution de package est ignorée si CreatePackageDependencyOptions_DoNotVerifyDependencyResolution est spécifié pour le paramètre options. Cela est utile pour les programmes d’installation s’exécutant en tant que contextes utilisateur autres que l’utilisateur cible (par exemple, les programmes d’installation s’exécutant en tant que LocalSystem).
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 11 (introduit dans 10.0.22000.0) |
En-tête | appmodel.h |
Voir aussi
Utiliser l’API de dépendance dynamique pour référencer des packages MSIX au moment de l’exécution