Bagikan melalui


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 .