Uso di un handle di file
Nella tabella seguente sono elencate le operazioni che i driver possono eseguire su un handle di file e sulle routine corrispondenti che eseguono tali operazioni.
Operazione | Routine da chiamare |
---|---|
Leggere i dati dal file. |
|
Scrivere dati nel file. |
|
Leggere i metadati per il file o l'handle di file. |
|
Scrivere metadati per il file o l'handle di file. |
Per indicare dove nel file iniziare a leggere o scrivere dati, passare rispettivamente un parametro ByteOffset a ZwReadFile o ZwWriteFile.
Se si apre l'handle con l'accesso FILE_APPEND_DATA, tutti i dati vengono scritti alla fine del file e il parametro ByteOffset viene ignorato.
In determinate condizioni, la gestione I/O gestisce un puntatore di posizione file corrente per il file. È possibile avviare un'operazione di lettura o scrittura in tale posizione specificando NULL per ByteOffset. Per altre informazioni su quando esiste il puntatore alla posizione del file corrente, vedere Uso della posizione file corrente più avanti in questa sezione.
Per esaminare o modificare le informazioni su un file, chiamare rispettivamente ZwQueryInformationFile o ZwSetInformationFile. Specificare il tipo specifico di informazioni come parametro FileInformationClass per ogni routine. Ad esempio, l'impostazione di FileInformationClass su FileBasicInformation consente di esaminare o modificare una struttura di FILE_BASIC_INFORMATION, che contiene membri per l'ora di creazione file e l'ora di ultima accesso, tra gli altri. Per informazioni su tutti i valori possibili per FileInformationClass, vedere FILE_INFORMATION_CLASS.