Funzione FsRtlGetFileSize (ntifs.h)
La routine FsRtlGetFileSize viene usata per ottenere le dimensioni di un file.
Sintassi
NTSTATUS FsRtlGetFileSize(
[in] PFILE_OBJECT FileObject,
[out] PLARGE_INTEGER FileSize
);
Parametri
[in] FileObject
Puntatore all'oggetto file da eseguire una query.
[out] FileSize
Puntatore a un intero di grandi dimensioni che riceve le dimensioni del file nell'output.
Valore restituito
FsRtlGetFileSize restituisce STATUS_SUCCESS o uno stato di errore appropriato che rappresenta lo stato di completamento finale dell'operazione. I codici di stato degli errori possibili includono quanto segue:
Codice restituito | Descrizione |
---|---|
|
Impossibile allocare la memoria necessaria per l'uso da questa funzione. |
|
FileObject specificato fa riferimento a una directory. |
Commenti
La routine FsRtlGetFileSize viene usata per recuperare le dimensioni del file per un file. A differenza di ZwQueryInformationFile, FsRtlGetFileSize non acquisisce il blocco dell'oggetto file sugli oggetti file sincroni. Se le risorse del file system sono già proprie, è necessario chiamare FsRtlGetFileSize anziché ZwQueryInformationFile, perché il tentativo di acquisire il blocco dell'oggetto file viola l'ordine di blocco e comporta il deadlock. La funzione ZwQueryInformationFile deve essere solo se non si hanno già risorse di file system.
FsRtlGetFileSize userà l'I/O veloce se è supportata o regolare query basata su IRP per estrarre le dimensioni del file.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Intestazione | ntifs.h (include Ntifs.h) |
Libreria | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
Regole di conformità DDI | HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm) |