NdisMapFile, fonction (ndis.h)
La fonction NdisMapFile mappe un fichier déjà ouvert dans une mémoire tampon accessible par l’appelant si le fichier n’est pas mappé.
Syntaxe
void NdisMapFile(
[out] PNDIS_STATUS Status,
[out] PVOID *MappedBuffer,
[in] NDIS_HANDLE FileHandle
);
Paramètres
[out] Status
Pointeur vers une variable fournie par l’appelant dans laquelle cette fonction retourne l’état de l’opération de mappage, qui peut être l’une des suivantes :
NDIS_STATUS_SUCCESS
L’appelant a un accès exclusif au contenu du fichier jusqu’à ce que la fonction NdisUnmapFile soit appelée.
NDIS_STATUS_ALREADY_MAPPED
L’appelant ne peut pas accéder au contenu du fichier pour l’instant.
[out] MappedBuffer
Pointeur vers une variable fournie par l’appelant dans laquelle cette fonction retourne l’adresse virtuelle de base du contenu du fichier mappé ou NULL.
[in] FileHandle
Handle retourné par un appel précédent à la fonction NdisOpenFile.
Valeur de retour
Aucun
Remarques
NdisMapFile associe (mappe) une plage d’adresses virtuelle à un fichier ouvert afin que le pilote puisse accéder au contenu du fichier. NdisMapFile autorise un seul mappage d’un fichier particulier à être en attente à tout moment. Par conséquent, un appelant réussi reçoit un accès exclusif aux données de fichier jusqu’à ce que NdisUnmapFile ou la fonction NdisCloseFile soit appelée.
Un pilote miniport peut mapper et annuler un mappage tel qu’un fichier ouvert, en utilisant des appels alternatifs à NdisMapFile et NdisUnmapFile. Un appel à NdisCloseFile libère le FileHandle et libère la mémoire tampon contenant le contenu du fichier.
Un pilote miniport peut appeler NdisMapFile uniquement pendant l’initialisation.