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 SetupInstallFromInfSection
Jika registri atau file dimodifikasi, pemanggil fungsi ini diperlukan memiliki hak istimewa untuk menulis ke dalam sistem atau direktori target.
Sintaksis
WINSETUPAPI BOOL SetupInstallFromInfSectionA(
HWND Owner,
HINF InfHandle,
PCSTR SectionName,
UINT Flags,
HKEY RelativeKeyRoot,
PCSTR SourceRootPath,
UINT CopyFlags,
PSP_FILE_CALLBACK_A MsgHandler,
PVOID Context,
HDEVINFO DeviceInfoSet,
PSP_DEVINFO_DATA DeviceInfoData
);
Parameter
Owner
Penunjuk opsional ke handel jendela ke jendela yang memiliki kotak dialog apa pun yang dihasilkan selama penginstalan, seperti untuk permintaan disk atau penyalinan file. Jika Pemilik
InfHandle
Tangani ke file INF yang berisi bagian yang akan diproses.
SectionName
Nama bagian Instal dalam file INF untuk diproses.
Flags
Mengontrol tindakan apa yang harus dilakukan. Bendera bisa menjadi kombinasi dari nilai berikut.
SPINST_INIFILES
Lakukan operasi file INI (UpdateInis, baris UpdateIniFields di bagian Instal yang sedang diproses).
SPINST_REGISTRY
Lakukan operasi registri (
SPINST_INI2REG
Lakukan ini-file ke operasi registri (ini2Reg baris di bagian Instal sedang diproses).
SPINST_LOGCONFIG
Bendera ini hanya digunakan saat menginstal driver perangkat.
Lakukan operasi konfigurasi logis (baris LogConf di bagian Instal sedang diproses). Bendera ini hanya digunakan jika DeviceInfoSet dan DeviceInfoData ditentukan.
Untuk informasi selengkapnya tentang menginstal driver perangkat, LogConf, DeviceInfoSet, atau DeviceInfoData, lihat Panduan DDK Programmer.
SPINST_FILES
Lakukan operasi file (
SPINST_ALL
Lakukan semua operasi penginstalan.
SPINST_REGISTERCALLBACKAWARE
Saat menggunakan RegisterDlls direktif INF untuk mendaftarkan sendiri DLL pada Windows 2000, pemanggil SetupInstallFromInfSection mungkin menerima pemberitahuan pada setiap file karena terdaftar atau tidak terdaftar. Untuk mengirim pemberitahuan SPFILENOTIFY_STARTREGISTRATION atau SPFILENOTIFY_ENDREGISTRATION ke rutinitas panggilan balik, sertakan SPINST_REGISTERCALLBACKAWARE ditambah SPINST_REGSVR atau SPINST_UNREGSVR. Pemanggil juga harus mengatur parameter
SPINST_REGSVR
Untuk mengirim pemberitahuan ke rutinitas panggilan balik saat mendaftarkan file, sertakan SPINST_REGISTERCALLBACKAWARE plus SPINST_REGSVR di Flags. Pemanggil juga harus menentukan parameter
SPINST_UNREGSVR
Untuk mengirim pemberitahuan ke rutinitas panggilan balik saat membatalkan pendaftaran file, sertakan SPINST_REGISTERCALLBACKAWARE plus SPINST_UNREGSVR diBendera
RelativeKeyRoot
Parameter opsional yang harus ditentukan jika Bendera menyertakan SPINST_REGISTRY atau SPINST_INI2REG. Tangani ke kunci registri yang akan digunakan sebagai akar ketika file INF menentukan HKR sebagai kunci.
Perhatikan bahwa parameter ini diabaikan jika SetupInstallFromInfSection
SourceRootPath
Akar sumber untuk salinan file. Contohnya adalah A:\ atau \pegasus\win\install. Jika Flags menyertakan SPINST_FILES, dan SourceRootPath adalah NULL, sistem menyediakan jalur akar default.
CopyFlags
Parameter opsional yang harus ditentukan jika bendera menyertakan SPINST_FILES.
Menentukan bendera yang akan diteruskan ke fungsi SetupQueueCopySection
SP_COPY_DELETESOURCE
Hapus file sumber setelah salinan berhasil. Pemanggil tidak diberi tahu jika penghapusan gagal.
SP_COPY_REPLACEONLY
Salin file hanya jika melakukannya akan menimpa file di jalur tujuan.
SP_COPY_NEWER_OR_SAME
Periksa setiap file yang sedang disalin untuk melihat apakah sumber daya versinya menunjukkan bahwa file tersebut adalah versi yang sama atau tidak lebih baru dari salinan yang ada pada target.
Informasi versi file yang digunakan selama pemeriksaan versi adalah yang ditentukan dalam dwFileVersionMS dan dwFileVersionLS anggota struktur VS_FIXEDFILEINFO, seperti yang diisi oleh fungsi versi. Jika salah satu file tidak memiliki sumber daya versi, atau jika memiliki informasi versi yang identik, file sumber dianggap lebih baru.
Jika file sumber tidak sama dalam versi atau yang lebih baru, dan CopyMsgHandler ditentukan, pemanggil akan diberi tahu dan dapat membatalkan salinan. Jika CopyMsgHandler tidak ditentukan, file tidak disalin.
SP_COPY_NEWER_ONLY
Periksa setiap file yang sedang disalin untuk melihat 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
Periksa apakah file target ada, dan, jika demikian, beri tahu pemanggil yang mungkin mem-veto salinan. Jika copyMsgHandler tidak ditentukan, file tidak akan ditimpa.
SP_COPY_NODECOMP
Jangan dekompresi file. Ketika bendera ini diatur, file target tidak diberi bentuk nama sumber yang tidak dikompresi (jika sesuai). Misalnya, menyalin f:/x86\cmd.ex_ ke \install\temp menghasilkan file target \install\temp\cmd.ex_. Jika bendera SP_COPY_NODECOMP tidak ditentukan, file akan didekompresi dan target akan dipanggil \install\temp\cmd.exe. Bagian nama file dari DestinationName, jika ditentukan, dilucuti dan diganti dengan nama file file sumber. Ketika SP_COPY_NODECOMP ditentukan, tidak ada informasi bahasa atau versi yang dapat diperiksa.
SP_COPY_LANGUAGEAWARE
Periksa setiap file yang disalin untuk melihat apakah bahasanya berbeda dari bahasa file yang ada yang sudah ada pada target. Jika demikian, dan CopyMsgHandler ditentukan, pemanggil akan diberi tahu dan dapat membatalkan salinan. Jika CopyMsgHandler tidak ditentukan, file tidak disalin.
SP_COPY_SOURCE_ABSOLUTE
SourceFile adalah jalur sumber lengkap. Jangan mencarinya di bagian SourceDisksNames file INF.
SP_COPY_SOURCEPATH_ABSOLUTE
SourcePathRoot adalah bagian jalur lengkap dari file sumber. Abaikan sumber relatif yang ditentukan di bagian
SP_COPY_FORCE_IN_USE
Jika target ada, berulah seolah-olah sedang digunakan dan antrekan file untuk disalin pada boot ulang sistem berikutnya.
SP_COPY_IN_USE_NEEDS_REBOOT
Jika file sedang digunakan selama operasi salin, beri tahu pengguna bahwa sistem perlu di-boot ulang. Bendera ini hanya digunakan saat nanti memanggil SetupPromptReboot atau SetupScanFileQueue.
SP_COPY_NOSKIP
Jangan beri pengguna opsi untuk melewati file.
SP_COPY_FORCE_NOOVERWRITE
Periksa apakah file target ada, dan, jika demikian, file tidak ditimpa. Pemanggil tidak diberi tahu.
SP_COPY_FORCE_NEWER
Periksa setiap file yang sedang disalin untuk melihat apakah 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 disalin bukan yang lebih baru, file tidak disalin. Pemanggil tidak diberi tahu.
SP_COPY_WARNIFSKIP
Jika pengguna mencoba melewati file, peringatkan mereka bahwa melompati file dapat memengaruhi penginstalan. (Digunakan untuk file penting sistem.)
MsgHandler
Arahkan ke rutinitas panggilan balik. Rutinitas panggilan balik harus dalam format FileCallback. Lihat Pemberitahuan
Parameter ini bersifat opsional hanya jika parameter Bendera
MsgHandler harus diatur jika Flags menyertakan SPINST_FILES. Dalam hal ini, pemberitahuan dikirim ke rutinitas panggilan balik ketika antrean file diterapkan dengan SetupCommitFileQueue.
Context
Nilai yang akan diteruskan ke fungsi panggilan balik ketika antrean file yang dibangun oleh rutinitas ini secara internal dilakukan melalui SetupCommitFileQueue. Parameter Konteks
DeviceInfoSet
Penunjuk opsional ke handel ke kumpulan informasi perangkat. Untuk informasi selengkapnya tentang fungsi penyiapan Penginstal Perangkat, lihatPanduan DDK
DeviceInfoData
Penunjuk opsional ke penunjuk ke struktur SP_DEVINFO_DATA yang menyediakan konteks ke elemen tertentu dalam set yang ditentukan oleh DeviceInfoSet. Untuk informasi selengkapnya tentang fungsi penyiapan Penginstal Perangkat, lihat Panduan DDK Programmer.
Mengembalikan nilai
Jika fungsi berhasil, nilai yang dikembalikan adalah nilai bukan nol.
Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, panggil GetLastError.
Komentar
Jika direktori UNC ditentukan sebagai direktori target operasi penyalinan file, Anda harus memastikannya ada sebelum Anda memanggil SetupInstallFromInfSection. Fungsi penyiapan tidak memeriksa keberadaan dan tidak membuat direktori UNC. Jika direktori UNC target tidak ada, penginstalan file akan gagal.
Fungsi ini memerlukan file INF Windows. Beberapa format file INF yang lebih lama mungkin tidak didukung.
Nota
Header setupapi.h mendefinisikan SetupInstallFromInfSection sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta preprosektor 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.
SetupInstallFromInfSection 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 |
| set API |
ext-ms-win-setupapi-classinstallers-l1-1-2 (diperkenalkan di Windows 10, versi 10.0.14393) |
Lihat juga
Gambaran Umum