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
STATUS_INSUFFICIENT_RESOURCES
Impossibile allocare la memoria necessaria per l'uso da questa funzione.
STATUS_FILE_IS_A_DIRECTORY
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)

Vedi anche

FltQueryInformationFile

ZwQueryInformationFile