C28175
peringatan C28175: Anggota struct tidak boleh diakses oleh driver
Peringatan ini menunjukkan bahwa driver mengakses anggota struktur yang tidak terdokumentasi yang tidak boleh diakses driver.
Driver tidak boleh mengakses anggota struktur yang tidak terdokumentasi yang ditentukan. Untuk sebagian besar anggota struktur buram atau sebagian buram yang tidak terdokumentasi, larangan ini bersifat absolut. Namun, driver dapat mengakses anggota struktur tertentu yang tidak terdokumentasi dari dalam rutinitas tertentu. Misalnya, driver dapat mengakses anggota yang tidak berdokumen dari struktur DRIVER_OBJECT yang sebagian buram hanya dalam rutinitas DRIVER_INITIALIZE atau DRIVER_UNLOAD.
Terkadang alasan bahwa aturan ini berlaku untuk anggota tertentu tidak segera jelas. Misalnya, satu instans di mana ini terjadi adalah dengan anggota NextDevicedari _DEVICE_OBJECT. Dalam hal ini, kunci harus digunakan untuk mengakses daftar tertaut ini dengan aman, tetapi kunci tersebut tidak tersedia untuk driver. Dalam hal ini, melanggar aturan ini menyebabkan kegagalan yang jarang terjadi tetapi sulit didiagnosis. Cara yang tepat untuk mengakses perangkat terkait adalah dengan menggunakan fungsi IoEnumerateDeviceObjectList .
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk