Partager via


NdisOpenFile, fonction (ndis.h)

La fonction NdisOpenFile retourne un handle pour un fichier ouvert.

Syntaxe

void NdisOpenFile(
  [out] PNDIS_STATUS          Status,
  [out] PNDIS_HANDLE          FileHandle,
  [out] PUINT                 FileLength,
  [in]  PNDIS_STRING          FileName,
  [in]  NDIS_PHYSICAL_ADDRESS HighestAcceptableAddress
);

Paramètres

[out] Status

Pointeur vers une variable fournie par l’appelant dans laquelle cette fonction retourne l’état de l’opération de fichier ouvert, qui peut être l’une des suivantes :

NDIS_STATUS_SUCCESS

Le handle à FileHandle est valide pour un appel ultérieur à NdisMapFile.

NDIS_STATUS_FILE_NOT_FOUND

La chaîne donnée à FileName n’a pas spécifié de nom trouvé dans l’espace de noms de l’objet système.

NDIS_STATUS_RESOURCES

NDIS n’a pas pu allouer les ressources nécessaires pour ouvrir le fichier et allouer une mémoire tampon pour le contenu du fichier.

NDIS_STATUS_ERROR_READING_FILE

Les données du fichier spécifié n’ont pas pu être lues dans la mémoire système pour un accès ultérieur par l’appelant.

[out] FileHandle

Pointeur vers une variable fournie par l’appelant dans laquelle cette fonction retourne le handle du fichier ouvert si l’appel réussit.

[out] FileLength

Pointeur vers une variable fournie par l’appelant dans laquelle cette fonction écrit le nombre d’octets de données dans le fichier ouvert si l’appel réussit.

[in] FileName

Pointeur vers un type NDIS_STRING contenant une chaîne comptée initialisée, dans le jeu de caractères par défaut système, nommant le fichier à ouvrir. Pour les pilotes Windows 2000 et versions ultérieures, cette chaîne contient des caractères Unicode. Autrement dit, pour Windows 2000 et versions ultérieures, NDIS définit le type NDIS_STRING en tant que type UNICODE_STRING.

[in] HighestAcceptableAddress

Adresse physique la plus élevée dans laquelle les données de fichier peuvent être stockées ou spécifie -1 si le pilote ne place aucune restriction.

Valeur de retour

Aucun

Remarques

NdisOpenFile ouvre un fichier de disque, généralement un fichier que le pilote télécharge ultérieurement pour programmer une carte réseau intelligente. NdisOpenFile alloue également le stockage pour contenir le contenu du fichier pour l’appel ultérieur du pilote à la fonction NdisMapFile.

Un pilote miniport doit appeler NdisOpenFile uniquement à partir de la fonction MiniportInitializeEx.

Lorsque NdisOpenFile retourne, le pilote miniport peut accéder aux données de fichier en appelant NdisMapFile. Il peut appeler la fonction NdisUnmapFile pour pager le fichier afin qu’il ne consomme pas inutilement des ressources pendant que le pilote n’accède pas aux données du fichier. Une fois le fichier terminé, MiniportInitializeEx doit appeler le
fonction NdisCloseFile.

Note

NdisOpenFile, NdisCloseFile, NdisMapFile et NdisUnmapFile ne sont pas pris en charge sur ARM64. Sur ARM64, remplacez ces fonctions par des appels à ZwCreateFile, ZwReadFileou d’autres opérations similaires.

Exigences

Exigence Valeur
client minimum pris en charge Pris en charge pour les pilotes NDIS 6.0 et NDIS 5.1 (voir NdisOpenFile (NDIS 5.1)) dans Windows Vista. Pris en charge pour les pilotes NDIS 5.1 (voir NdisOpenFile (NDIS 5.1)) dans Windows XP.
plateforme cible Universel
d’en-tête ndis.h (include Ndis.h)
bibliothèque Ndis.lib
IRQL PASSIVE_LEVEL
règles de conformité DDI Irql_Miscellaneous_Function(ndis)

Voir aussi

MiniportInitializeEx

NdisCloseFile

NdisMapFile

NdisUnmapFile

UNICODE_STRING