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) |