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 |
---|---|
|
Les données fournies par le pilote dans LogBuffer ont été copiées dans le fichier journal. |
|
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) |