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 à journaliser. Ce handle est un paramètre d’entrée pour 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 n’a plus 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 n’a pas été trouvée.
NDIS_ERROR_CODE_INTERRUPT_CONNECT
Échec de l’inscription d’interruption.
NDIS_ERROR_CODE_DRIVER_FAILURE
Une défaillance du pilote s’est produite qui ne correspond à aucune des autres conditions d’erreur.
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 de 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
Un paramètre de configuration de pilote est manquant dans le Registre.
NDIS_ERROR_CODE_BAD_IO_BASE_ADDRESS
L’adresse de base des E/S pour le matériel de 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 ce paramètre.
...
Spécifie un tableau de taille variable d’ULONG associé à l’erreur à journaliser.
Valeur de retour
Aucun
Remarques
NdisWriteErrorLogEntry alloue un enregistrement de journal des erreurs d’E/S, renseigne 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 sur 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 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 même approchent la limite de NumberOfErrorValues, car la fourniture de nombreuses valeurs supplémentaires NDIS_STATUS_XXX n’est pas particulièrement utile pour l’administrateur utilisateur ou système qui lit ultérieurement le journal des erreurs, à l’aide de la visionneuse d’événements Win32. La journalisation d’une erreur d’E/S à chaque opportunité possible n’est pas particulièrement utile pour les utilisateurs. Par conséquent, un pilote miniport doit journaliser 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étecté lors de l’initialisation du pilote.
En général, un pilote miniport appelle NdisWriteErrorLogEntry lors de l’initialisation à partir de sa fonction MiniportInitializeEx si elle 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 d’appareil échoue en raison d’erreurs matérielles irrécupérables. La journalisation de ces types d’erreurs d’E/S permet aux utilisateurs ou aux administrateurs système d’identifier une carte réseau mal configurée ou une carte réseau avec des composants matériels défaillants.