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