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
Menggunakan API dependensi dinamis untuk mereferensikan paket MSIX pada durasi