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 le status de l’opération d’ouverture de fichier, qui peut être l’une des suivantes :

NDIS_STATUS_SUCCESS

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

NDIS_STATUS_FILE_NOT_FOUND

La chaîne donnée dans 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 du 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 comme un 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 n’applique aucune restriction.

Valeur de retour

None

Remarques

NdisOpenFile ouvre un fichier de disque, généralement un fichier que le pilote téléchargera ultérieurement pour programmer une carte réseau intelligente. NdisOpenFile alloue également du stockage pour stocker 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 est retourné, le pilote miniport peut accéder aux données de fichier en appelant NdisMapFile. Il peut appeler la fonction NdisUnmapFile pour paginer le fichier afin qu’il ne consomme pas inutilement des ressources pendant que le pilote n’accède pas aux données du fichier. Lorsque vous avez terminé d’utiliser le fichier, MiniportInitializeEx doit appeler le
Fonction NdisCloseFile .

Notes

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

Configuration requise

Condition requise Valeur
Client minimal 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 Universal
En-tête ndis.h (inclure 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