Funzione NdisMapFile (ndis.h)
La funzione NdisMapFile esegue il mapping di un file già aperto in un buffer accessibile dal chiamante se il file è attualmente non mappato.
Sintassi
void NdisMapFile(
[out] PNDIS_STATUS Status,
[out] PVOID *MappedBuffer,
[in] NDIS_HANDLE FileHandle
);
Parametri
[out] Status
Puntatore a una variabile fornita dal chiamante in cui questa funzione restituisce lo stato dell'operazione di mapping, che può essere una delle seguenti:
NDIS_STATUS_SUCCESS
Il chiamante ha accesso esclusivo al contenuto del file finché non viene chiamata la funzione NdisUnmapFile.
NDIS_STATUS_ALREADY_MAPPED
Al momento il chiamante non può accedere al contenuto del file.
[out] MappedBuffer
Puntatore a una variabile fornita dal chiamante in cui questa funzione restituisce l'indirizzo virtuale di base del contenuto del file mappato o NULL.
[in] FileHandle
Handle restituito da una chiamata precedente alla funzione NdisOpenFile.
Valore restituito
Nessuno
Osservazioni
NdisMapFile associa (mappe) un intervallo di indirizzi virtuale a un file aperto in modo che il driver possa accedere al contenuto del file. NdisMapFile consente l'attesa di un solo mapping di un file specifico in qualsiasi momento. Di conseguenza, un chiamante riuscito ha accesso esclusivo ai dati del file fino a quando non viene chiamato NdisUnmapFile o la funzione NdisCloseFile.
Un driver miniport può eseguire il mapping e rimuovere il mapping di un file aperto in base alle esigenze, usando chiamate alternate a NdisMapFile e NdisUnmapFile. Una chiamata a NdisCloseFile rilascia il FileHandle e dealloca il buffer contenente il contenuto del file.
Un driver miniport può chiamare NdisMapFile solo durante l'inizializzazione.