NdisMCreateLog, fonction (ndis.h)
NdisMCreateLog alloue et ouvre un fichier journal dans lequel un pilote miniport peut écrire des données à afficher par une application Win32 dédiée au pilote.
Syntaxe
NDIS_STATUS NdisMCreateLog(
[in] NDIS_HANDLE MiniportAdapterHandle,
[in] UINT Size,
[out] PNDIS_HANDLE LogHandle
);
Paramètres
[in] MiniportAdapterHandle
Spécifie l’entrée de handle pour MiniportInitializeEx.
[in] Size
Spécifie le nombre d’octets à allouer pour le fichier journal. NDIS crée un fichier temporaire qui n’est pas stocké sur le disque.
[out] LogHandle
Pointeur vers une variable fournie par l’appelant dans laquelle cette fonction retourne un handle au fichier journal. Ce handle est un paramètre obligatoire pour les fonctions NdisXxxLog que le pilote miniport appelle par la suite.
Valeur de retour
NdisMCreateLog peut retourner l’une des options suivantes :
Retourner le code | Description |
---|---|
|
Le pilote miniport peut utiliser le handle retourné à LogHandle pour écrire des données dans le fichier journal alloué par NDIS. |
|
Impossible d’allouer un fichier journal de la taille spécifiée. |
|
Le pilote a déjà appelé NdisMCreateLog correctement. |
Remarques
Un pilote miniport peut appeler le NdisM.. Journal fonctions pour fournir les informations choisies par l’enregistreur de pilotes. Quels que soient les journaux des pilotes miniports peuvent être affichés par une application Win32 dédiée au pilote. Une telle application appelle la fonction Win32 DeviceIoControl avec IOCTL_NDIS_GET_LOG_DATA régulièrement pour récupérer le pilote miniport écrit dans le fichier journal. Par exemple, un pilote miniport sous développement peut écrire des données de test à afficher par son application correspondante.
Si NdisMCreateLog retourne NDIS_STATUS_RESOURCES, le pilote peut ajuster la taille de d’origine down et réessayer d’appeler cette fonction. Toutefois, un pilote miniport ne peut pas appeler NdisMCreateLog pour créer plusieurs fichiers journaux une fois qu’un appel a réussi.
Quelle que soit la taille du fichier journal alloué, les appels suivants à NdisMWriteLogData stocker des données dans ce fichier, qui est traité comme une mémoire tampon circulaire. Autrement dit, une séquence d’appels à NdisMWriteLogData remplace finalement les données écrites à l’origine dans le fichier journal.