C28175
Warnung C28175: Auf das Element der Struktur sollte nicht von einem Treiber zugegriffen werden
Diese Warnung gibt an, dass ein Treiber auf ein nicht dokumentiertes Strukturelement zugegriffen hat, auf das Treiber niemals zugreifen sollten.
Treiber sollten niemals auf den angegebenen nicht dokumentierten Strukturmember zugreifen. Für die meisten nicht dokumentierten Mitglieder von undurchsichtigen oder teilweise undurchsichtigen Strukturen ist dieses Verbot absolut. Treiber können jedoch aus bestimmten Routinen auf bestimmte nicht dokumentierte Strukturmember zugreifen. Beispielsweise kann der Treiber nur innerhalb einer DRIVER_INITIALIZE oder DRIVER_UNLOAD Routine auf die nicht dokumentierten Member der teilweise undurchsichtigen DRIVER_OBJECT-Struktur zugreifen.
Manchmal ist der Grund, warum diese Regel für ein bestimmtes Element gilt, nicht sofort offensichtlich. Eine instance, in der dies geschieht, ist der NextDevice-Member von _DEVICE_OBJECT. In diesem instance sollte eine Sperre verwendet werden, um sicher auf diese verknüpfte Liste zuzugreifen, aber diese Sperre ist für den Treiber nicht verfügbar. In diesem Fall führt ein Verstoß gegen diese Regel zu seltenen, aber schwer zu diagnostizierenden Fehlern. Die richtige Möglichkeit für den Zugriff auf die zugehörigen Geräte ist die Verwendung der IoEnumerateDeviceObjectList-Funktion .