Bagikan melalui


Fungsi AddPackageDependency (appmodel.h)

Menambahkan referensi run-time untuk dependensi paket kerangka kerja yang Anda buat sebelumnya dengan menggunakan metode TryCreatePackageDependency , dengan opsi yang ditentukan. Setelah metode ini berhasil dikembalikan, aplikasi Anda dapat mengaktifkan jenis dan menggunakan konten dari paket kerangka kerja.

Sintaks

HRESULT AddPackageDependency(
  PCWSTR                      packageDependencyId,
  INT32                       rank,
  AddPackageDependencyOptions options,
  PACKAGEDEPENDENCY_CONTEXT   *packageDependencyContext,
  PWSTR                       *packageFullName
);

Parameter

packageDependencyId

Jenis: PCWSTR

ID dependensi paket yang akan diselesaikan dan ditambahkan ke grafik paket proses pemanggilan. Parameter ini harus cocok dengan dependensi paket yang ditentukan dengan menggunakan fungsi TryCreatePackageDependency untuk pengguna panggilan atau sistem (melalui opsi CreatePackageDependencyOptions_ScopeIsSystem ), atau kesalahan dikembalikan.

rank

Jenis: INT32

Peringkat yang digunakan untuk menambahkan paket yang diselesaikan ke grafik paket penelepon. Untuk informasi selengkapnya, lihat keterangan.

options

Jenis: AddPackageDependencyOptions

Opsi yang akan diterapkan saat menambahkan dependensi paket.

packageDependencyContext

Jenis: PACKAGEDEPENDENCY_CONTEXT*

Handel dependensi paket yang ditambahkan. Handel ini valid hingga diteruskan ke RemovePackageDependency.

packageFullName

Jenis: PCWSTR*

Ketika metode ini kembali, berisi alamat penunjuk ke string Unicode yang dihentikan null yang menentukan nama lengkap paket tempat dependensi telah diselesaikan. Pemanggil bertanggung jawab untuk membebaskan sumber daya ini setelah tidak lagi diperlukan dengan memanggil HeapFree.

Nilai kembali

Jenis: HRESULT

Jika fungsi berhasil, fungsi akan mengembalikan ERROR_SUCCESS. Jika tidak, fungsi mengembalikan kode kesalahan. Kode kesalahan yang mungkin mencakup yang berikut ini.

Menampilkan kode Deskripsi
E_INVALIDARG Parameter packageDependencyId atau packageDependencyContext adalah NULL pada input.

Keterangan

Memanggil metode ini menyelesaikan dependensi paket kerangka kerja ke paket tertentu pada sistem. Ini juga menginformasikan OS bahwa paket kerangka kerja sedang digunakan secara aktif dan untuk menangani pembaruan versi apa pun secara berdampingan (secara efektif menunda penghapusan instalasi atau melayani versi yang lebih lama sampai setelah aplikasi Anda selesai menggunakannya). Resolusi paket khusus untuk pengguna dan dapat mengembalikan nilai yang berbeda untuk pengguna yang berbeda pada sistem.

Setiap panggilan AddPackageDependency yang berhasil menambahkan paket yang diselesaikan ke grafik paket proses panggilan, bahkan jika sudah ada. Tidak ada deteksi duplikat atau pemfilteran yang diterapkan oleh API (artinya, beberapa referensi dari paket tidak berbahaya). Setelah resolusi selesai, dependensi paket tetap diselesaikan untuk pengguna tersebut hingga referensi terakhir di semua proses untuk pengguna tersebut dihapus melalui RemovePackageDependency atau proses dihentikan.

Setelah metode ini berhasil dikembalikan, aplikasi Anda dapat mengaktifkan jenis dan menggunakan konten dari paket kerangka kerja hingga RemovePackageDependency dipanggil.

Jika beberapa paket ada dalam grafik paket dengan peringkat yang sama dengan panggilan ke AddPackageDependency, paket yang diselesaikan adalah (secara default) ditambahkan setelah yang lain dengan peringkat yang sama. Untuk menambahkan paket sebelum yang lain dengan peringkat yang sama, tentukan AddPackageDependencyOptions_PrependIfRankCollision untuk parameter opsi .

Untuk informasi selengkapnya, lihat Menggunakan API dependensi dinamis untuk mereferensikan paket MSIX pada durasi.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 11 (diperkenalkan pada 10.0.22000.0)
Header appmodel.h

Lihat juga

RemovePackageDependency

TryCreatePackageDependency

Menggunakan API dependensi dinamis untuk mereferensikan paket MSIX pada durasi