Bagian INF DDInstall.Interfaces
Setiap per Model, DDInstall_. Bagian antarmuka dapat memiliki satu atau beberapa arahan AddInterface , tergantung pada berapa banyak antarmuka perangkat yang didukung perangkat/driver tertentu.
[install-section-name.Interfaces] |
[install-section-name.nt.Interfaces] |
[install-section-name.ntx86.Interfaces] |
[install-section-name.ntia64.Interfaces] | (Windows XP and later versions of Windows)
[install-section-name.ntamd64.Interfaces] | (Windows XP and later versions of Windows)
[install-section-name.ntarm.Interfaces] | (Windows 8 and later versions of Windows)
[install-section-name.ntarm64.Interfaces] (Windows 10 version 1709 and later versions of Windows)
AddInterface={InterfaceClassGUID} [, [reference string] [,[add-interface-section] [,flags]]] ...
[Include=filename.inf[,filename2.inf]...]
[Needs=inf-section-name[,inf-section-name]...]
Untuk mendukung antarmuka perangkat yang ada, seperti salah satu antarmuka streaming kernel sistem yang telah ditentukan sebelumnya, tentukan nilai InterfaceClassGUID yang sesuai di bagian ini.
Untuk menginstal komponen, seperti driver kelas, yang mengekspor kelas antarmuka perangkat baru, INF juga harus memiliki bagian INF InterfaceInstall32.
Untuk informasi selengkapnya tentang antarmuka perangkat, lihat Kelas Antarmuka Perangkat.
Entri
AddInterface={InterfaceClassGUID} [,[reference string] [,[add-interface-section] [,,flags_]]]...
Direktif ini menginstal dukungan untuk kelas antarmuka perangkat, yang ditunjuk oleh nilai InterfaceClassGUID yang ditentukan yang diekspor driver ke komponen tingkat yang lebih tinggi. Biasanya, ini juga mereferensikan inf-writer-defined add-interface-section di tempat lain dalam file INF. Untuk informasi terperinci tentang cara menentukan arahan ini, lihat Direktif AddInterface INF.
Sertakan=,nama file. inf[,filename2.inf]...
Entri opsional ini menentukan satu atau beberapa file INF tambahan yang disediakan sistem yang berisi bagian yang diperlukan untuk mendaftarkan kelas antarmuka yang didukung oleh perangkat/driver ini. Jika entri ini ditentukan, biasanya begitu juga entri Kebutuhan .
Needs=,inf-section-name[,inf-section-name]...
Entri opsional ini menentukan bagian tertentu yang harus diproses selama penginstalan perangkat ini. Biasanya, bagian bernama seperti itu adalah ,DDInstall_. Bagian antarmuka dalam file INF yang disediakan sistem yang tercantum dalam entri Sertakan . Namun, bisa menjadi bagian apa pun yang dirujuk dalam ,DDInstall_ seperti itu. Bagian antarmuka dari INF yang disertakan.
Keterangan
Nama bagian DDInstall harus dirujuk oleh entri khusus perangkat/model di bawah bagian Model per produsen dari file INF. Untuk informasi tentang cara menggunakan ekstensi .nt, .ntx86, .ntia64, .ntamd64, .ntarm, dan .ntarm64 yang ditentukan sistem dalam file INF lintas platform, lihat Membuat File INF untuk Beberapa Platform dan Sistem Operasi.
Jika {,InterfaceClassGUID_} yang ditentukan belum diinstal, kode penyiapan sistem operasi menginstal kelas antarmuka perangkat tersebut dalam sistem. Jika file INF menginstal satu atau beberapa kelas antarmuka perangkat baru, file tersebut juga dapat memiliki bagian [InterfaceInstall32] yang mengidentifikasi GUID untuk kelas baru.
Untuk informasi selengkapnya tentang cara membuat GUID, lihat Menggunakan GUID di Driver. Untuk GUID kelas antarmuka yang ditentukan sistem, lihat header yang disediakan sistem yang sesuai, seperti Ks.h untuk GUIDS kelas antarmuka streaming kernel.
Ketika driver dimuat, driver harus memanggil IoRegisterDeviceInterface dengan {,InterfaceClassGUID_} yang sama dan string referensi yang digunakan dalam direktif AddInterface untuk mendapatkan SymbolicLinkName lengkap untuk antarmuka perangkat. Ini harus melakukan ini untuk setiap antarmuka perangkat di , DDInstall_ INF. Bagian antarmuka yang didukung driver pada perangkat yang mendasar. Untuk setiap SymbolicLinkName, driver harus memanggil IoSetDeviceInterfaceState untuk mengaktifkan antarmuka perangkat. Biasanya, fungsi PnP atau driver filter melakukan panggilan ini dari rutinitas AddDevice-nya .
Contoh
Contoh ini menunjukkan DDInstall. Nt. Bagian antarmuka dalam file INF untuk perangkat/driver audio WDM yang disediakan sistem.
;
; following AddInterface= are all single lines (without
; backslash line continuators) in the system-supplied INF file
;
[WDMPNPB003_Device.NT.Interfaces]
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_Wave%,\
WDM_SB16.Interface.Wave
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_Topology%,\
WDM_SB16.Interface.Topology
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_UART%,\
WDM_SB16.Interface.UART
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_FMSynth%,\
WDM_SB16.Interface.FMSynth
; ...
[Strings] ; only immediately preceding %strkey% tokens shown here
%KSCATEGORY_AUDIO% = "{6994ad04-93ef-11d0-a3cc-00a0c9223196}"
KSNAME_Wave = "Wave"
KSNAME_UART = "UART"
KSNAME_FMSynth = "FMSynth"
KSNAME_Topology = "Topology"
; ...