Función NdisOpenFile (ndis.h)
La función NdisOpenFile devuelve un identificador para un archivo abierto.
Sintaxis
void NdisOpenFile(
[out] PNDIS_STATUS Status,
[out] PNDIS_HANDLE FileHandle,
[out] PUINT FileLength,
[in] PNDIS_STRING FileName,
[in] NDIS_PHYSICAL_ADDRESS HighestAcceptableAddress
);
Parámetros
[out] Status
Puntero a una variable proporcionada por el autor de la llamada en la que esta función devuelve el estado de la operación de archivo abierto, que puede ser una de las siguientes:
NDIS_STATUS_SUCCESS
El identificador de FileHandle es válido para una llamada posterior a NdisMapFile.
NDIS_STATUS_FILE_NOT_FOUND
La cadena especificada en FileName no especificó un nombre encontrado en el espacio de nombres del objeto del sistema.
NDIS_STATUS_RESOURCES
NDIS no pudo asignar los recursos necesarios para abrir el archivo y asignar un búfer para el contenido del archivo.
NDIS_STATUS_ERROR_READING_FILE
Los datos del archivo especificado no se pudieron leer en la memoria del sistema para el acceso posterior por parte del autor de la llamada.
[out] FileHandle
Puntero a una variable proporcionada por el autor de la llamada en la que esta función devuelve el identificador del archivo abierto si la llamada se realiza correctamente.
[out] FileLength
Puntero a una variable proporcionada por el autor de la llamada en la que esta función escribe el número de bytes de datos en el archivo abierto si la llamada se realiza correctamente.
[in] FileName
Puntero a un tipo de NDIS_STRING que contiene una cadena con recuento inicializada, en el juego de caracteres predeterminado del sistema, con el nombre del archivo que se va a abrir. Para los controladores de Windows 2000 y versiones posteriores, esta cadena contiene caracteres Unicode. Es decir, para Windows 2000 y versiones posteriores, NDIS define el tipo de NDIS_STRING como un tipo de UNICODE_STRING .
[in] HighestAcceptableAddress
La dirección física más alta en la que se pueden almacenar los datos del archivo o especifica -1 si el controlador no tiene restricciones.
Valor devuelto
None
Observaciones
NdisOpenFile abre un archivo de disco, normalmente un archivo que el controlador descargará posteriormente para programar una NIC inteligente. NdisOpenFile también asigna almacenamiento para contener el contenido del archivo para la llamada posterior del controlador a la función NdisMapFile .
Un controlador de minipuerto debe llamar a NdisOpenFile solo desde la función MiniportInitializeEx .
Cuando se devuelve NdisOpenFile , el controlador de miniporte puede acceder a los datos de archivo llamando a NdisMapFile. Puede llamar a la función NdisUnmapFile para paginar el archivo para que no consuma recursos innecesariamente mientras el controlador no accede a los datos del archivo. Cuando termine de usar el archivo, MiniportInitializeEx debe llamar a
Función NdisCloseFile .
Nota
NdisOpenFile, NdisCloseFile, NdisMapFile y NdisUnmapFile no se admiten en ARM64. En ARM64, reemplace estas funciones por llamadas a ZwCreateFile, ZwReadFile u otras operaciones similares.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Compatible con controladores NDIS 6.0 y NDIS 5.1 (consulte NdisOpenFile (NDIS 5.1)) en Windows Vista. Compatible con controladores NDIS 5.1 (consulte NdisOpenFile (NDIS 5.1)) en Windows XP. |
Plataforma de destino | Universal |
Encabezado | ndis.h (incluya Ndis.h) |
Library | Ndis.lib |
IRQL | PASSIVE_LEVEL |
Reglas de cumplimiento de DDI | Irql_Miscellaneous_Function(ndis) |