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)

Weitere Informationen

MiniportInitializeEx

MiniportResetEx

NdisMSetMiniportAttributes