Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
[Fungsi ini tersedia untuk digunakan dalam sistem operasi yang ditunjukkan di bagian Persyaratan. Ini mungkin diubah atau tidak tersedia dalam versi berikutnya. SetupAPI tidak boleh lagi digunakan untuk menginstal aplikasi. Sebagai gantinya, gunakan Penginstal Windows untuk mengembangkan penginstal aplikasi. PenyetelanAPI terus digunakan untuk menginstal pengandar perangkat.]
Fungsi SetupInstallFilesFromInfSection
Jika file dimodifikasi, pemanggil fungsi ini diharuskan memiliki hak istimewa untuk menulis ke direktori target.
Sintaksis
WINSETUPAPI BOOL SetupInstallFilesFromInfSectionA(
[in] HINF InfHandle,
[in] HINF LayoutInfHandle,
[in] HSPFILEQ FileQueue,
[in] PCSTR SectionName,
[in] PCSTR SourceRootPath,
[in] UINT CopyFlags
);
Parameter
[in] InfHandle
Handel ke file INF yang berisi bagian yang akan diinstal.
[in] LayoutInfHandle
Penunjuk opsional ke handel ke file INF yang berisi bagian SourceDisksFiles dan SourceDisksNames.
Jika LayoutInfHandle tidak ditentukan, maka bagian SourceDisksFiles dan SourceDisksNames dari InfHandle digunakan.
[in] FileQueue
Handel ke antrean tempat operasi penginstalan akan ditambahkan.
[in] SectionName
Nama bagian Instal di parameter
Gunakan stringnull
[in] SourceRootPath
Penunjuk opsional ke jalur akar ke file sumber untuk disalin, misalnya, A:\ atau \pegasus\win\install.
Gunakan stringnull
[in] CopyFlags
Penunjuk opsional ke sekumpulan bendera yang mengontrol perilaku operasi penyalinan file.
Bendera bisa menjadi kombinasi dari nilai berikut.
SP_COPY_DELETESOURCE
Menghapus file sumber ketika tugas salin berhasil.
Pemanggil tidak diberi tahu jika tugas penghapusan gagal.
SP_COPY_REPLACEONLY
Menyalin file hanya untuk menimpa file di jalur tujuan.
SP_COPY_NEWER_OR_SAME
Memeriksa setiap file yang disalin untuk menentukan apakah sumber daya versi menunjukkan bahwa itu adalah versi yang sama, atau tidak lebih baru dari salinan yang ada pada target.
Jika file sumber bukan versi yang lebih baru atau sama, fungsi akan memberi tahu pemanggil yang dapat membatalkan salinan.
Informasi versi file yang digunakan selama pemeriksaan versi ditentukan dalam dwFileVersionMS
Jika salah satu file tidak memiliki sumber daya versi, atau jika memiliki informasi versi yang identik, file sumber dianggap lebih baru.
SP_COPY_NEWER_ONLY
Memeriksa setiap file yang sedang disalin untuk menentukan apakah sumber daya versinya menunjukkan bahwa file tersebut tidak lebih baru dari salinan yang ada pada target.
Jika file sumber lebih baru tetapi tidak sama dalam versi dengan target yang ada, file akan disalin.
SP_COPY_NOOVERWRITE
Memeriksa untuk menentukan apakah file target ada atau tidak.
Jika file target ada, fungsi akan memberi tahu pemanggil yang dapat membatalkan salinan.
SP_COPY_NODECOMP
Tidak mendekompresi file.
Ketika bendera ini diatur, file target tidak diberi bentuk nama sumber yang tidak dikompresi, misalnya, jika Anda menyalin f:\x86\cmd.ex_ ke \install\temp hasilnya adalah file target berikut: \install\temp\cmd.ex_.
Jika bendera SP_COPY_NODECOMP tidak ditentukan, file didekompresi dan target disebut \install\temp\cmd.exe.
Bagian nama file dari DestinationName, jika ditentukan, dihapus dan diganti dengan nama file file sumber. Ketika SP_COPY_NODECOMP ditentukan, informasi bahasa dan versi tidak dapat diperiksa.
SP_COPY_LANGUAGEAWARE
Memeriksa setiap file yang sedang disalin untuk menentukan apakah bahasa berbeda dari bahasa file yang sudah ada pada target atau tidak.
Jika bahasanya berbeda, fungsi akan memberi tahu pemanggil yang dapat membatalkan tugas salin.
SP_COPY_SOURCE_ABSOLUTE
SourceFile adalah jalur sumber lengkap.
Jangan mencarinya di bagian SourceDisksNames dari file INF.
SP_COPY_SOURCEPATH_ABSOLUTE
SourcePathRoot adalah bagian jalur lengkap dari file sumber.
Abaikan sumber relatif yang ditentukan di bagian SourceDisksNames dari file INF untuk media sumber tempat file berada. Bendera ini diabaikan jika SP_COPY_SOURCE_ABSOLUTE ditentukan.
SP_COPY_FORCE_IN_USE
Mengantrekan file untuk disalin pada reboot sistem berikutnya, jika target ada dan sedang digunakan.
SP_COPY_IN_USE_NEEDS_REBOOT
Memperingatkan pengguna bahwa sistem perlu di-boot ulang, jika file sedang digunakan selama operasi salin.
SP_COPY_NOSKIP
Tidak memberi pengguna opsi untuk melewati file.
SP_COPY_FORCE_NOOVERWRITE
Memeriksa untuk menentukan apakah file target ada atau tidak, dan jika target ada, file tidak ditimpa dan pemanggil tidak diberi tahu.
SP_COPY_FORCE_NEWER
Memeriksa setiap file yang sedang disalin untuk mengidentifikasi bahwa sumber daya versinya (atau stempel waktu untuk file non-gambar) menunjukkan bahwa file tersebut tidak lebih baru dari salinan yang ada pada target.
Jika file yang sedang disalin tidak lebih baru, file tidak disalin, dan pemanggil tidak diberi tahu.
SP_COPY_WARNIFSKIP
Memperingatkan bahwa melewatkan file dapat memengaruhi penginstalan jika pengguna mencoba melewati file.
Gunakan bendera ini untuk file penting sistem.
Mengembalikan nilai
Jika fungsi berhasil, nilai yang dikembalikan adalah nilai bukan nol.
Jika fungsi gagal, nilai yang dikembalikan adalah 0 (nol). Untuk mendapatkan informasi kesalahan yang diperluas, panggil GetLastError.
Komentar
SetupInstallFilesFromInfSection dapat dipanggil beberapa kali untuk mengantre file yang ditentukan di beberapa bagian INF. Setelah antrean berhasil diterapkan dan file disalin, diganti namanya, dan/atau dihapus, SetupInstallFromInfSection dapat dipanggil untuk melakukan operasi penginstalan registri dan INI.
Jika direktori UNC ditentukan sebagai direktori target penginstalan file, Anda harus memastikan bahwa direktori UNC ada sebelum Anda memanggil SetupInstallFilesFromInfSection. Fungsi penyiapan tidak memeriksa keberadaan direktori dan tidak membuat direktori UNC. Jika direktori UNC target tidak ada, penginstalan file gagal.
Nota
Header setupapi.h mendefinisikan SetupInstallFilesFromInfSection sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praprosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.
SetupInstallFilesFromInfSection akan mencatat informasi diagnostik ke log teks penginstalan aplikasi SetupAPI. File log ini umumnya nonaktif secara default. Ini dapat diaktifkan dengan memodifikasi tingkat pengelogan umum bagian dari nilai LogLevel SetupAPI seperti yang dijelaskan di Mengatur Tingkat Pengelogan SETUPAPI. Untuk alasan performa, Anda hanya boleh mengaktifkan file log ini saat memecahkan masalah. Ketika file log diaktifkan, Anda dapat menemukannya di %windir%\inf\setupapi.app.log.
Persyaratan
| Syarat | Nilai |
|---|---|
| klien minimum yang didukung | Windows XP [hanya aplikasi desktop] |
| server minimum yang didukung |
Windows Server 2003 [hanya aplikasi desktop] |
| Platform Target |
Windows |
| Header |
setupapi.h |
| Pustaka |
Setupapi.lib |
| DLL |
Setupapi.dll |
Lihat juga
Gambaran Umum