Condividi tramite


Funzione FsRtlGetFileSize (ntifs.h)

La routine fsRtlGetFileSize viene utilizzata 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 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
STATUS_INSUFFICIENT_RESOURCES
Impossibile allocare la memoria necessaria per l'uso da parte di questa funzione.
STATUS_FILE_IS_A_DIRECTORY
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 ZwQueryInformationFile deve essere solo se non si dispone già di risorse del file system.

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)

Vedere anche

FltQueryInformationFile

ZwQueryInformationFile