Funzione AddPackageDependency (appmodel.h)
Aggiunge un riferimento di runtime per la dipendenza del pacchetto framework creato in precedenza usando il metodo TryCreatePackageDependency , con le opzioni specificate. Dopo aver restituito correttamente questo metodo, l'app può attivare i tipi e usare il contenuto dal pacchetto del framework.
Sintassi
HRESULT AddPackageDependency(
PCWSTR packageDependencyId,
INT32 rank,
AddPackageDependencyOptions options,
PACKAGEDEPENDENCY_CONTEXT *packageDependencyContext,
PWSTR *packageFullName
);
Parametri
packageDependencyId
Tipo: PCWSTR
ID della dipendenza del pacchetto da risolvere e aggiungere al grafico del pacchetto di chiamata del processo. Questo parametro deve corrispondere a una dipendenza del pacchetto definita usando la funzione TryCreatePackageDependency per l'utente chiamante o il sistema (tramite l'opzione CreatePackageDependencyOptions_ScopeIsSystem ) oppure viene restituito un errore.
rank
Tipo: INT32
Classificazione da usare per aggiungere il pacchetto risolto al grafico del pacchetto del chiamante. Per altre informazioni, vedere le osservazioni.
options
Tipo: AddPackageDependencyOptions
Opzioni da applicare quando si aggiunge la dipendenza del pacchetto.
packageDependencyContext
Tipo: PACKAGEDEPENDENCY_CONTEXT*
Handle della dipendenza del pacchetto aggiunto. Questo handle è valido finché non viene passato a RemovePackageDependency.
packageFullName
Tipo: PCWSTR*
Quando questo metodo restituisce, contiene l'indirizzo di un puntatore a una stringa Unicode con terminazione null che specifica il nome completo del pacchetto a cui è stata risolta la dipendenza. Il chiamante è responsabile della liberazione di questa risorsa una volta che non è più necessario chiamando HeapFree.
Valore restituito
Tipo: HRESULT
Se la funzione ha esito positivo, restituisce ERROR_SUCCESS. In caso contrario, la funzione restituisce un codice di errore. I codici di errore possibili includono quanto segue.
Codice restituito | Descrizione |
---|---|
E_INVALIDARG | Il parametro packageDependencyId o packageDependencyContext è NULL in input. |
Commenti
La chiamata a questo metodo risolve la dipendenza del pacchetto framework in un pacchetto specifico nel sistema. Informa anche il sistema operativo che il pacchetto del framework è attivo e per gestire gli aggiornamenti delle versioni in modo side-by-side (ritarda la disinstallazione o altrimenti la manutenzione della versione precedente fino a quando l'app non viene eseguita l'uso). La risoluzione dei pacchetti è specifica per un utente e può restituire valori diversi per utenti diversi in un sistema.
Ogni chiamata AddPackageDependency completata aggiunge il pacchetto risolto al grafico del pacchetto del processo chiamante, anche se già presente. Non esiste alcun rilevamento duplicato o filtro applicato dall'API, ovvero più riferimenti da un pacchetto non è dannoso. Al termine della risoluzione, la dipendenza del pacchetto rimane risolta per l'utente fino all'ultimo riferimento in tutti i processi per l'utente rimosso tramite RemovePackageDependency o il processo viene terminato.
Dopo aver restituito correttamente questo metodo, l'app può attivare i tipi e usare il contenuto dal pacchetto framework fino a quando non viene chiamato RemovePackageDependency .
Se nel grafico del pacchetto sono presenti più pacchetti con lo stesso rango della chiamata a AddPackageDependency, il pacchetto risolto è (per impostazione predefinita) aggiunto dopo altri dello stesso rango. Per aggiungere un pacchetto prima di altri dello stesso rango, specificare AddPackageDependencyOptions_PrependIfRankCollision per il parametro opzioni .
Per altre informazioni, vedere Usare l'API di dipendenza dinamica per fare riferimento ai pacchetti MSIX in fase di esecuzione.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 11 (introdotta nella versione 10.0.22000.0) |
Intestazione | appmodel.h |
Vedi anche
Usare l'API di dipendenza dinamica per fare riferimento ai pacchetti MSIX in fase di esecuzione