Funzione FsRtlGetFileSize (ntifs.h)
La routine fsRtlGetFileSize
Sintassi
NTSTATUS FsRtlGetFileSize(
[in] PFILE_OBJECT FileObject,
[out] PLARGE_INTEGER FileSize
);
Parametri
[in] FileObject
Puntatore all'oggetto file su cui eseguire una query.
[out] FileSize
Puntatore a un numero 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 di errore possibili includono quanto segue:
Codice restituito | Descrizione |
---|---|
|
Impossibile allocare la memoria necessaria per l'uso da parte di questa funzione. |
|
Il FileObject specificato fa riferimento a una directory. |
Osservazioni
La routine FsRtlGetFileSize viene utilizzata 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 si dispone già di risorse del file system, è necessario chiamare FsRtlGetFileSize anziché ZwQueryInformationFile, perché il tentativo di acquisire il blocco dell'oggetto file viola l'ordine di blocco e genera deadlock. La funzione
FsRtlGetFileSize userà l'I/O veloce se è supportata o normale query basata su IRP per estrarre le dimensioni del file.
Fabbisogno
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) |