NdisWriteErrorLogEntry-Funktion (ndis.h)
NdisWriteErrorLogEntry schreibt einen Eintrag in die E/A-Fehlerprotokolldatei des Systems.
Syntax
void NdisWriteErrorLogEntry(
[in] NDIS_HANDLE NdisAdapterHandle,
[in] NDIS_ERROR_CODE ErrorCode,
[in] ULONG NumberOfErrorValues,
...
);
Parameter
[in] NdisAdapterHandle
Gibt das Handle an, das die NIC darstellt, die die Ursache des zu protokollierenden E/A-Fehlers darstellt. Dieses Handle ist ein Eingabeparameter für MiniportInitializeEx.
[in] ErrorCode
Gibt den NDIS_ERROR_CODE_XXX-Code an, der den E/A-Fehler am besten beschreibt, als einen der folgenden Werte:
NDIS_ERROR_CODE_RESOURCE_CONFLICT
Der Treiber konnte nicht auf eine erforderliche Ressource zugreifen.
NDIS_ERROR_CODE_OUT_OF_RESOURCES
Die Ressourcen der Hardware oder des Treibers sind nicht mehr vorhanden.
NDIS_ERROR_CODE_HARDWARE_FAILURE
Der Treiber hat einen Hardwarefehler erkannt.
NDIS_ERROR_CODE_ADAPTER_NOT_FOUND
Der Netzwerkadapter wurde nicht gefunden.
NDIS_ERROR_CODE_INTERRUPT_CONNECT
Fehler bei der Interruptregistrierung.
NDIS_ERROR_CODE_DRIVER_FAILURE
Es ist ein Treiberfehler aufgetreten, der keiner der anderen Fehlerbedingungen entspricht.
NDIS_ERROR_CODE_BAD_VERSION
Der Treiber hat einen Versionskonflikt erkannt.
NDIS_ERROR_CODE_TIMEOUT
Ein Timeout ist abgelaufen.
NDIS_ERROR_CODE_NETWORK_ADDRESS
Eine Netzwerkadresse ist ungültig.
NDIS_ERROR_CODE_UNSUPPORTED_CONFIGURATION
Die angeforderte Treiberkonfiguration wird nicht unterstützt.
NDIS_ERROR_CODE_INVALID_VALUE_FROM_ADAPTER
Die Netzwerkadapterhardware hat einen ungültigen Wert bereitgestellt.
NDIS_ERROR_CODE_MISSING_CONFIGURATION_PARAMETER
Ein Treiberkonfigurationsparameter fehlt in der Registrierung.
NDIS_ERROR_CODE_BAD_IO_BASE_ADDRESS
Die E/A-Basisadresse für die Netzwerkadapterhardware ist ungültig.
NDIS_ERROR_CODE_RECEIVE_SPACE_SMALL
Der verfügbare Speicher des Empfangspuffers ist zu klein, um Daten zu empfangen.
NDIS_ERROR_CODE_ADAPTER_DISABLED
Die Netzwerkadapterhardware ist deaktiviert.
[in] NumberOfErrorValues
Gibt die Anzahl der ULONG-Werte an, die diesem Parameter folgen sollen.
...
Gibt ein Array von ULONGs mit variabler Größe an, das dem zu protokollierenden Fehler zugeordnet ist.
Rückgabewert
Keine
Bemerkungen
NdisWriteErrorLogEntry ordnet einen E/A-Fehlerprotokolldatensatz zu, füllt den Datensatz mit den angegebenen Informationen zum Fehler aus und schreibt den Datensatz dann in die E/A-Fehlerprotokolldatei.
Das System schränkt die potenzielle Größe eines Fehlerprotokolldatensatzes ein. Für Windows 2000 und höhere Versionen ist der Grenzwert als ERROR_LOG_MAXIMUM_SIZE definiert. Der an NdisWriteErrorLogEntryübergebene NumberOfErrorValues verfügt daher über einen vom System erzwungenen Grenzwert, der erheblich kleiner als der maximal mögliche Wert für eine ULONG ist.
In der Praxis nähern sich nur wenige Aufrufer von NdisWriteErrorLogEntry dem Grenzwert für NumberOfErrorValues , da das Bereitstellen vieler zusätzlicher NDIS_STATUS_XXX-Werte für den Benutzer oder Systemadministrator, der das Fehlerprotokoll später mithilfe der Win32-Ereignisanzeige liest, nicht besonders hilfreich ist. Das Protokollieren eines E/A-Fehlers bei jeder möglichen Gelegenheit ist für Benutzer auch nicht besonders hilfreich. Daher sollte ein Miniporttreiber nur kritische E/A-Fehler protokollieren, die einem Benutzer oder Systemadministrator helfen können, einen Netzwerkfehler zu debuggen, für den die NIC auf einem bestimmten Computer verantwortlich ist, oder einen Konfigurationsressourcenkonflikt, der während der Treiberinitialisierung erkannt wurde.
Im Allgemeinen ruft ein Miniporttreiber NdisWriteErrorLogEntry während der Initialisierung über seine MiniportInitializeEx-Funktion auf, wenn er keine NIC initialisieren kann, die er steuert, oder die Hardwareressourcen, die er zum Ausführen von E/A-Vorgängen auf einer NIC benötigt, nicht zuordnen kann. Ein Miniporttreiber kann auch NdisWriteErrorLogEntry aufrufen, wenn ein Gerätezurücksetzungsvorgang aufgrund von nicht wiederherstellbaren Hardwarefehlern fehlschlägt. Die Protokollierung dieser Art von E/A-Fehlern hilft Benutzern oder Systemadministratoren, eine schlecht konfigurierte NIC oder eine NIC mit fehlerhaften Hardwarekomponenten zu identifizieren.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Unterstützt für NDIS 6.0- und NDIS 5.1-Treiber (siehe NdisWriteErrorLogEntry (NDIS 5.1)) in Windows Vista. Unterstützt für NDIS 5.1-Treiber (siehe NdisWriteErrorLogEntry (NDIS 5.1)) in Windows XP. |
Zielplattform | Universell |
Header | ndis.h (include Ndis.h) |
Bibliothek | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
DDI-Complianceregeln | Irql_Miscellaneous_Function(ndis) |