codice di controllo FSCTL_SET_ZERO_DATA
Il codice di controllo FSCTL_SET_ZERO_DATA riempie un intervallo specificato di un file con zeri (0). Se il file è di tipo sparse o compresso, il file system NTFS può deallocare lo spazio su disco nel file. In questo modo l'intervallo di byte viene impostato su zero (0) senza estendere le dimensioni del file.
Per eseguire questa operazione da un driver, chiamare FltFsControlFile con i parametri seguenti.
Parametri
Istanza: puntatore dell'istanza opaca per il chiamante. Questo parametro è obbligatorio e non può essere NULL.
FileObject [in]: puntatore dell'oggetto file al file in cui scrivere zeri. Questo parametro è obbligatorio e non può essere NULL.
FsControlCode [in]: codice di controllo per l'operazione.
Usare FSCTL_SET_ZERO_DATA per questa operazione.
- InputBuffer [in]: puntatore a una struttura FILE_ZERO_DATA_INFORMATION o FILE_ZERO_DATA_INFORMATION_EX che specifica l'intervallo del file da impostare su zeri.
Il membro FileOffset è l'offset di byte del primo byte da impostare su zeri (0) e il membro BeyondFinalZero è l'offset di byte del primo byte oltre l'ultimo zero (0) byte.
Il membro Flags in FILE_ZERO_DATA_INFORMATION_EX specifica i modificatori all'operazione. Ad esempio, quando Flags è impostato su FILE_ZERO_DATA_INFORMATION_FLAG_PRESERVE_CACHED_DATA, il contenuto della cache corrispondente a questo intervallo del file non viene eliminato.
InputBufferLength [in]: dimensioni del buffer di input, in byte.
OutputBuffer [out]: non usato con questa operazione; impostare su NULL.
OutputBufferLength [out]: non usato con questa operazione; impostato su zero.
Blocco dello stato
FltFsControlFile restituisce STATUS_SUCCESS o un valore NTSTATUS appropriato.
Codice restituito | Significato |
---|---|
STATUS _INSUFFICIENT_RESOURCES | Memoria insufficiente per completare l'operazione. |
STATUS_INVALID_PARAMETER | InputBufferLength è minore delle dimensioni delle strutture FILE_ZERO_DATA_INFORMATION o del file specificato è un file di metadati di sistema o una directory. |
STATUS_ACCESS_DENIED | La FILE_ZERO_DATA_INFORMATION_FLAG_PRESERVE_CACHED_DATA viene impostata dalla modalità utente. |
STATUS_MEDIA_WRITE_PROTECTED | Il volume è attualmente protetto da scrittura. |
Requisiti
Tipo di requisito | Requisito |
---|---|
Intestazione | Ntifs.h (include Ntifs.h) |