Partager via


NdisWriteErrorLogEntry, fonction (ndis.h)

NdisWriteErrorLogEntry écrit une entrée dans le fichier journal des erreurs d’E/S système.

Syntaxe

void NdisWriteErrorLogEntry(
  [in] NDIS_HANDLE     NdisAdapterHandle,
  [in] NDIS_ERROR_CODE ErrorCode,
  [in] ULONG           NumberOfErrorValues,
       ...             
);

Paramètres

[in] NdisAdapterHandle

Spécifie le handle représentant la carte réseau qui est la cause de l’erreur d’E/S à consigner. Ce handle est un paramètre d’entrée de MiniportInitializeEx.

[in] ErrorCode

Spécifie le code NDIS_ERROR_CODE_XXX qui décrit le mieux l’erreur d’E/S comme l’une des valeurs suivantes :

NDIS_ERROR_CODE_RESOURCE_CONFLICT

Le pilote n’a pas pu accéder à une ressource requise.

NDIS_ERROR_CODE_OUT_OF_RESOURCES

Le matériel ou le pilote a manqué de ressources.

NDIS_ERROR_CODE_HARDWARE_FAILURE

Le pilote a détecté une erreur matérielle.

NDIS_ERROR_CODE_ADAPTER_NOT_FOUND

La carte réseau est introuvable.

NDIS_ERROR_CODE_INTERRUPT_CONNECT

L’inscription d’interruption a échoué.

NDIS_ERROR_CODE_DRIVER_FAILURE

Une défaillance de pilote qui ne correspond à aucune des autres conditions d’erreur s’est produite.

NDIS_ERROR_CODE_BAD_VERSION

Le pilote a détecté une incompatibilité de version.

NDIS_ERROR_CODE_TIMEOUT

Un délai d’expiration a expiré.

NDIS_ERROR_CODE_NETWORK_ADDRESS

Une adresse réseau n’est pas valide.

NDIS_ERROR_CODE_UNSUPPORTED_CONFIGURATION

La configuration du pilote demandée n’est pas prise en charge.

NDIS_ERROR_CODE_INVALID_VALUE_FROM_ADAPTER

Le matériel de la carte réseau a fourni une valeur non valide.

NDIS_ERROR_CODE_MISSING_CONFIGURATION_PARAMETER

Il manque un paramètre de configuration de pilote dans le Registre.

NDIS_ERROR_CODE_BAD_IO_BASE_ADDRESS

L’adresse de base des E/S pour le matériel de la carte réseau n’est pas valide.

NDIS_ERROR_CODE_RECEIVE_SPACE_SMALL

La quantité de mémoire tampon de réception disponible est trop petite pour recevoir des données.

NDIS_ERROR_CODE_ADAPTER_DISABLED

Le matériel de la carte réseau est désactivé.

[in] NumberOfErrorValues

Spécifie le nombre de valeurs ULONG à suivre pour ce paramètre.

...

Spécifie un tableau de taille variable d’ULONG associés à l’erreur à consigner.

Valeur de retour

None

Remarques

NdisWriteErrorLogEntry alloue un enregistrement de journal des erreurs d’E/S, remplit l’enregistrement avec les informations fournies sur l’erreur, puis écrit l’enregistrement dans le fichier journal des erreurs d’E/S.

Le système place une limite à la taille potentielle d’un enregistrement de journal des erreurs. Pour Windows 2000 et versions ultérieures, la limite est définie comme ERROR_LOG_MAXIMUM_SIZE. La valeur NumberOfErrorValues passée à NdisWriteErrorLogEntry a donc une limite appliquée par le système, qui est considérablement inférieure à la valeur maximale possible pour un ULONG.

Dans la pratique, peu d’appelants de NdisWriteErrorLogEntry approchent même la limite pour NumberOfErrorValues , car la fourniture de nombreuses valeurs NDIS_STATUS_XXX supplémentaires n’est pas particulièrement utile pour l’utilisateur ou l’administrateur système qui lit ultérieurement le journal des erreurs, à l’aide de l’observateur d’événements Win32. La journalisation d’une erreur d’E/S à chaque occasion n’est pas particulièrement utile pour les utilisateurs. Par conséquent, un pilote miniport doit consigner uniquement les erreurs d’E/S critiques qui peuvent aider un utilisateur ou un administrateur système à déboguer une défaillance réseau pour laquelle la carte réseau est responsable sur un ordinateur particulier ou un conflit de ressources de configuration découvert lors de l’initialisation du pilote.

En général, un pilote miniport appelle NdisWriteErrorLogEntry pendant l’initialisation à partir de sa fonction MiniportInitializeEx s’il ne peut pas initialiser une carte réseau qu’il contrôle ou ne peut pas allouer les ressources matérielles dont il a besoin pour effectuer des opérations d’E/S sur une carte réseau. Un pilote miniport peut également appeler NdisWriteErrorLogEntry lorsqu’une opération de réinitialisation de périphérique échoue en raison d’erreurs matérielles irrécupérables. La journalisation de ces types d’erreurs d’E/S aide les utilisateurs ou les administrateurs système à identifier une carte réseau mal configurée ou une carte réseau avec des composants matériels défaillants.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Pris en charge pour les pilotes NDIS 6.0 et NDIS 5.1 (voir NdisWriteErrorLogEntry (NDIS 5.1)) dans Windows Vista. Pris en charge pour les pilotes NDIS 5.1 (consultez NdisWriteErrorLogEntry (NDIS 5.1)) dans Windows XP.
Plateforme cible Universal
En-tête ndis.h (inclure Ndis.h)
Bibliothèque Ndis.lib
IRQL <= DISPATCH_LEVEL
Règles de conformité DDI Irql_Miscellaneous_Function(ndis)

Voir aussi

MiniportInitializeEx

MiniportResetEx

NdisMSetMiniportAttributes