Partager via


Fonction NdisMWriteLogData (ndis.h)

NdisMWriteLogData transfère les informations fournies par le pilote dans le fichier journal à des fins de consommation et d’affichage par une application Win32 dédiée au pilote.

Syntaxe

NDIS_STATUS NdisMWriteLogData(
  [in] NDIS_HANDLE LogHandle,
  [in] PVOID       LogBuffer,
  [in] UINT        LogBufferSize
);

Paramètres

[in] LogHandle

Spécifie le handle retourné par NdisMCreateLog.

[in] LogBuffer

Pointeur vers une mémoire tampon allouée au pilote contenant les informations à écrire.

[in] LogBufferSize

Spécifie le nombre d’octets de données à copier dans le fichier journal.

Valeur retournée

NdisMWriteLogData peut retourner l’un des éléments suivants :

Code de retour Description
NDIS_STATUS_SUCCESS
Les données fournies par le pilote dans LogBuffer ont été copiées dans le fichier journal.
NDIS_STATUS_BUFFER_OVERFLOW
Le LogBufferSize donné est trop volumineux, c’est-à-dire plus grand que le fichier journal lui-même.

Remarques

Si l’application dédiée au pilote a une demande de données de fichier journal en attente, NdisMWriteLogData répond à cette demande dès qu’elle a copié les informations fournies par le pilote dans le fichier journal.

Le pilote miniport peut fournir un pointeur LogBuffer vers un emplacement sur la pile du noyau s’il s’exécute actuellement au DISPATCH_LEVEL IRQL < . Sinon, LogBuffer doit accéder à une mémoire tampon que le pilote a allouée à partir d’un pool non paginé.

Le pilote doit libérer tout verrou de rotation qu’il tient avant d’appeler NdisMWriteLogData.

NdisMWriteLogData ne reconnaît pas les limites entre les enregistrements de journal, ni la fonction Win32, DeviceIoControl, que les applications peuvent appeler avec IOCTL_NDIS_GET_LOG_DATA pour récupérer des données écrites dans un fichier journal NDIS par un pilote miniport NDIS. NdisMWriteLogData écrit toutes les données fournies par le pilote miniport dans LogBuffer dans le fichier journal sous forme de flux d’octets. DeviceIoControl lit également les données d’un tel journal sous la forme d’un flux d’octets.

Par conséquent, une application lisant un journal NDIS doit collecter les données récupérées dans des enregistrements. Pour aider une telle application à collecter des enregistrements de longueur variable, n’importe quel pilote miniport écrivant dans un tel journal peut insérer un marqueur au début de chaque enregistrement. Ensuite, l’application qui met en forme les données récupérées peut rechercher ces marqueurs pour déterminer le début de chaque enregistrement.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Pris en charge pour les pilotes NDIS 6.0 et NDIS 5.1 (voir NdisMWriteLogData (NDIS 5.1)) dans Windows Vista. Pris en charge pour les pilotes NDIS 5.1 (consultez NdisMWriteLogData (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_Miniport_Driver_Function(ndis)

Voir aussi

NdisAllocateFromNPagedLookasideList NdisAllocateMemoryWithTagPriority

NdisMCloseLog

NdisMCreateLog

NdisMFlushLog

NdisReleaseSpinLock