Partager via


NdisMWriteLogData, fonction (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 par le pilote contenant les informations à écrire.

[in] LogBufferSize

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

Valeur de retour

NdisMWriteLogData pouvez retourner l’une des options suivantes :

Retourner le code Description
NDIS_STATUS_SUCCESS
Les données fournies par le pilote à LogBuffer ont été copiées dans le fichier journal.
NDIS_STATUS_BUFFER_OVERFLOW
La LogBufferSize donnée est trop volumineuse, c’est-à-dire supérieure au fichier journal lui-même.

Remarques

Si l’application dédiée au pilote a une demande en attente de données de fichier journal, NdisMWriteLogData satisfait à 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 est en cours d’exécution à l'< DISPATCH_LEVEL IRQL. Sinon, LogBuffer doit accéder à une mémoire tampon allouée par le pilote à partir d’un pool non paginé.

Le pilote doit libérer tout verrou de rotation qu’il contient 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 les données écrites dans un fichier journal NDIS par un pilote miniport NDIS. NdisMWriteLogData écrit toutes les données fournies par le pilote miniport à LogBuffer dans le fichier journal sous forme de flux d’octets. DeviceIoControl lit également les données d’un tel journal en tant que flux d’octets.

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

Exigences

Exigence Valeur
client minimum 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 (voir NdisMWriteLogData (NDIS 5.1)) dans Windows XP.
plateforme cible Universel
d’en-tête ndis.h (include 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