Funzione NdisOpenFile (ndis.h)

La funzione NdisOpenFile restituisce un handle per un file aperto.

Sintassi

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

Parametri

[out] Status

Puntatore a una variabile fornita dal chiamante in cui questa funzione restituisce lo stato dell'operazione file aperta, che può essere una delle seguenti:

NDIS_STATUS_SUCCESS

L'handle in FileHandle è valido per una chiamata successiva a NdisMapFile.

NDIS_STATUS_FILE_NOT_FOUND

La stringa specificata in FileName non specificava un nome trovato nello spazio dei nomi dell'oggetto di sistema.

NDIS_STATUS_RESOURCES

Non è stato possibile allocare le risorse necessarie per aprire il file e allocare un buffer per il contenuto del file.

NDIS_STATUS_ERROR_READING_FILE

Impossibile leggere i dati del file specificato nella memoria di sistema per l'accesso successivo dal chiamante.

[out] FileHandle

Puntatore a una variabile fornita dal chiamante in cui questa funzione restituisce l'handle del file aperto se la chiamata ha esito positivo.

[out] FileLength

Puntatore a una variabile fornita dal chiamante in cui questa funzione scrive il numero di byte di dati nel file aperto se la chiamata ha esito positivo.

[in] FileName

Puntatore a un tipo di NDIS_STRING contenente una stringa conteggiata inizializzata, nel set di caratteri predefinito del sistema, assegnare un nome al file da aprire. Per i driver Windows 2000 e versioni successive, questa stringa contiene caratteri Unicode. Vale a dire, per Windows 2000 e versioni successive, NDIS definisce il tipo NDIS_STRING come tipo di UNICODE_STRING .

[in] HighestAcceptableAddress

L'indirizzo fisico più alto in cui è possibile archiviare i dati del file oppure specifica -1 se il driver non pone restrizioni.

Valore restituito

nessuno

Osservazioni

NdisOpenFile apre un file del disco, in genere un file che verrà scaricato in seguito per programmare una scheda di interfaccia di rete intelligente. NdisOpenFile alloca anche l'archiviazione per contenere il contenuto del file per la chiamata successiva del driver alla funzione NdisMapFile .

Un driver miniport deve chiamare solo NdisOpenFile dalla funzione MiniportInitializeEx .

Quando NdisOpenFile restituisce, il driver miniport può accedere ai dati dei file chiamando NdisMapFile. Può chiamare la funzione NdisUnmapFile per visualizzare la pagina del file in modo da non utilizzare le risorse inutilmente mentre il driver non accede ai dati del file. Al termine dell'uso del file, MiniportInitializeEx deve chiamare il
Funzione NdisCloseFile .

Nota

NdisOpenFile, NdisCloseFile, NdisMapFile e NdisUnmapFile non sono supportati in ARM64. In ARM64 sostituire queste funzioni con chiamate a ZwCreateFile, ZwReadFile o altre operazioni simili.

Requisiti

Requisito Valore
Client minimo supportato Supportato per i driver NDIS 6.0 e NDIS 5.1 (vedere NdisOpenFile (NDIS 5.1) in Windows Vista. Supportato per i driver NDIS 5.1 (vedere NdisOpenFile (NDIS 5.1) in Windows XP.
Piattaforma di destinazione Universale
Intestazione ndis.h (includere Ndis.h)
Libreria Ndis.lib
IRQL PASSIVE_LEVEL
Regole di conformità DDI Irql_Miscellaneous_Function(ndis)

Vedi anche

MiniportInitializeEx

NdisCloseFile

NdisMapFile

NdisUnmapFile

UNICODE_STRING