Bagikan melalui


SetupInstallFilesFromInfSectionW (setupapi.h)

[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 mengantrekan semua file untuk penginstalan yang ditentukan di bagian Salin File, Hapus File, dan Ganti Nama File yang dicantumkan oleh bagian Instal.

Jika file dimodifikasi, pemanggil fungsi ini diharuskan memiliki hak istimewa untuk menulis ke direktori target.

Sintaksis

WINSETUPAPI BOOL SetupInstallFilesFromInfSectionW(
  [in] HINF     InfHandle,
  [in] HINF     LayoutInfHandle,
  [in] HSPFILEQ FileQueue,
  [in] PCWSTR   SectionName,
  [in] PCWSTR   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 InfHandle yang mencantumkan bagian Salin File, Hapus File, dan Ganti Nama File yang berisi file yang akan diinstal.

Gunakan stringnull dihentikan.

[in] SourceRootPath

Penunjuk opsional ke jalur akar ke file sumber untuk disalin, misalnya, A:\ atau \pegasus\win\install.

Gunakan stringnull dihentikan.

[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 dan dwFileVersionLS anggota struktur VS_FIXEDFILEINFO, seperti yang diisi oleh fungsi versi Win32.

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

Functions

Gambaran Umum

SetupInstallFromInfSection

SetupInstallServicesFromInfSection