Direktif INF AddProperty
Direktif AddProperty mereferensikan satu atau beberapa bagian file INF yang memodifikasi properti perangkat yang diatur untuk instans perangkat, kelas penyiapan perangkat, kelas antarmuka perangkat, atau antarmuka perangkat.
[DDInstall] |
[DDInstall.nt] |
[DDInstall.ntx86] |
[DDInstall.ntia64] |
[DDInstall.ntamd64] |
[DDInstall.ntarm] |
[DDInstall.ntarm64]
[ClassInstall32] |
[ClassInstall32.nt] |
[ClassInstall32.ntx86] |
[ClassInstall32.ntia64] | (Windows XP and later versions of Windows)
[ClassInstall32.ntamd64] | (Windows XP and later versions of Windows)
[ClassInstall32.ntarm] | (Windows 8 and later versions of Windows)
[ClassInstall32.ntarm64] | (Windows 10 version 1709 and later versions of Windows)
[interface-install-section] |
[interface-install-section.nt] |
[interface-install-section.ntx86] |
[interface-install-section.ntia64] | (Windows XP and later versions of Windows)
[interface-install-section.ntamd64] | (Windows XP and later versions of Windows) |
[interface-install-section.ntarm] | (Windows 8 and later versions of Windows) |
[interface-install-section.ntarm64] | (Windows 10 version 1709 and later versions of Windows)
[add-interface-section]
AddProperty=add-property-section[,add-property-section]... (Windows Vista and later versions of Windows)
...
Setiap add-property-section dapat memiliki entri untuk melakukan hal berikut:
Tambahkan properti perangkat dan inisialisasi nilai properti .
Ubah nilai properti perangkat yang ada.
Add-property-section yang direferensikan oleh direktif AddProperty memiliki format berikut:
[add-property-section]
(property-name, , , [flags], value]) |
({property-category-guid}, property-pid, type, [flags], value)
...
Bagian tambahkan properti dapat memiliki sejumlah entri nama properti atau entri property-guid, masing-masing pada baris terpisah.
Entri
property-name
Salah satu nama properti berikut yang mewakili properti paket driver instans perangkat:
DeviceModel
DeviceVendorWebsite
DeviceDetailedDescription
DeviceDocumentationLink
DeviceIcon
DeviceBrandingIcon
Untuk informasi selengkapnya tentang menambahkan ikon perangkat kustom, lihat Menyediakan Ikon untuk Perangkat.
property-category-guid
Nilai GUID yang mengidentifikasi kategori properti. Nilai GUID dapat menjadi GUID yang ditentukan sistem yang mengidentifikasi salah satu kategori properti untuk instans perangkat, kelas penyiapan perangkat, kelas antarmuka perangkat, atau antarmuka perangkat. Semua properti yang memiliki nilai GUID yang sama adalah anggota dari kategori yang sama. Kategori properti ini didefinisikan dalam Devpkey.h.
Nilai GUID juga dapat menjadi nilai GUID kustom yang mengidentifikasi kategori properti kustom.
property-pid
Pengidentifikasi properti yang menunjukkan properti tertentu dalam kategori properti yang ditunjukkan oleh nilai property-category-guid . Untuk alasan sistem internal, pengidentifikasi properti harus lebih besar dari atau sama dengan dua.
jenis
Nilai numerik, dalam format desimal atau heksadesimal, dari pengidentifikasi tipe data properti untuk properti yang ditentukan oleh nilai property-category-guid dan nilai property-pid . Hanya jenis data dasar berikut yang didukung:
DEVPROP_TYPE_STRING
DEVPROP_TYPE_STRING_LIST
DEVPROP_TYPE_BINARY
DEVPROP_TYPE_BOOLEAN
DEVPROP_TYPE_UINT32
Misalnya, nilai desimal jenis data DEVPROP_TYPE_STRING adalah 18 (0x00000012) dan nilai desimal jenis data DEVPROP_TYPE_STRING_LIST adalah 8210 (0x00002012).
Bendera
Nilai heksadesimal opsional yang merupakan bitwise ATAU dari bendera berikut yang mengontrol operasi penambahan:
0x00000001 (FLG_ADDPROPERTY_NOCLOBBER)
Bendera yang mencegah nilai entri nilai menggantikan nilai properti yang ada. Jika penulis driver ingin membuat properti dapat ditimpa melalui direktif Sertakan dan Kebutuhan , penulis harus menentukan bendera ini untuk properti tersebut. Ini karena Windows memproses bagian INF yang direferensikan oleh direktif Sertakan dan Perlu setelah Windows memproses semua arahan lain dalam bagian INF yang menyertakan arahan Sertakan dan Kebutuhan .
0x00000002 (FLG_ADDPROPERTY_OVERWRITEONLY)
Bendera yang mengatur nilai properti ke nilai entri nilai hanya jika properti yang ditentukan sudah ada.
0x00000004 (FLG_ADDPROPERTY_APPEND)
Bendera yang menambahkan nilai entri nilai ke nilai string properti yang ada. Bendera ini hanya valid jika jenis data properti DEVPROP_TYPE_STRING_LIST. String yang disediakan tidak ditambahkan ke nilai string properti yang ada jika string yang disediakan sudah ada dalam nilai string yang ada.
0x00000008 (FLG_ADDPROPERTY_OR)
Bendera yang melakukan bitwise ATAU dari nilai entri nilai ke nilai properti yang ada. Bendera ini hanya valid jika jenis data properti DEVPROP_TYPE_UINT32.
0x00000010 (FLG_ADDPROPERTY_AND)
Bendera yang melakukan bitwise AND dari nilai entri nilai ke nilai properti yang ada. Bendera ini hanya valid jika jenis data properti DEVPROP_TYPE_UINT32.
nilai
Nilai yang digunakan operasi tambahkan untuk memodifikasi nilai properti, bergantung pada jenis data properti dan nilai entri bendera .
Keterangan
Direktif AddProperty dapat digunakan untuk memodifikasi properti perangkat yang ditentukan sistem atau properti perangkat kustom. Direktif ini dapat ditentukan di bawah salah satu bagian yang ditunjukkan dalam pernyataan sintaks formal di atas.
Setiap nama add-property-section harus unik dalam file INF, tetapi bagian dapat direferensikan oleh lebih dari satu direktif AddProperty dalam file INF yang sama. Setiap nama bagian harus mengikuti aturan umum untuk menentukan nama bagian yang dijelaskan dalam Aturan Sintaks Umum untuk File INF.
Untuk informasi selengkapnya tentang cara menggunakan direktif INF AddProperty , lihat Menggunakan Direktif AddProperty INF dan Direktif INF DelProperty.
Contoh
Contoh bagian tambahkan properti berikut ini mencakup dua entri baris: entri baris pertama mengatur properti DeviceModel berdasarkan nama, dan entri baris kedua menetapkan properti perangkat kustom dengan menentukan GUID kunci properti kustom.
Baris pertama menyertakan nilai entri nama properti "DeviceModel" dan nilai entri nilai "Contoh Nama Model Perangkat."
Entri baris kedua menetapkan properti kustom dalam kategori properti kustom. Nilai entri property-category-guid adalah "c22189e4-8bf3-4e6d-8467-8dc6d95e2a7e" dan nilai entri pengidentifikasi properti adalah "2".
Nilai entri bendera opsional tidak ada, dan nilai entri jenis adalah "18" (DEVPROP_TYPE_STRING). Nilai entri nilai adalah "Nilai string untuk properti 1."
[SampleAddPropertySection]
DeviceModel,,,,"Sample Device Model Name"
{c22189e4-8bf3-4e6d-8467-8dc6d95e2a7e}, 2, 18,, "String value for property 1"