Compartir a través de


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)

Consulte también

MiniportInitializeEx

NdisCloseFile

NdisMapFile

NdisUnmapFile

UNICODE_STRING