struttura FILE_DISPOSITION_INFORMATION_EX (ntddk.h)

La struttura FILE_DISPOSITION_INFORMATION_EX viene usata come argomento per la routine ZwSetInformationFile e indica come il sistema operativo deve eliminare un file.

Sintassi

typedef struct _FILE_DISPOSITION_INFORMATION_EX {
  ULONG Flags;
} FILE_DISPOSITION_INFORMATION_EX, *PFILE_DISPOSITION_INFORMATION_EX;

Members

Flags

Specifica le azioni che il sistema deve eseguire con un file specifico durante l'eliminazione.

Nome contrassegno Valore Significato
FILE_DISPOSITION_DO_NOT_DELETE 0x00000000 Specifica che il sistema non deve eliminare un file.
FILE_DISPOSITION_DELETE 0x00000001 Specifica che il sistema deve eliminare un file.
FILE_DISPOSITION_POSIX_SEMANTICS 0x00000002 Specifica che il sistema deve eseguire un'eliminazione in stile POSIX. Vedi altre info in Osservazioni.
FILE_DISPOSITION_FORCE_IMAGE_SECTION_CHECK 0x00000004 Specifica che il sistema deve forzare la verifica di una sezione dell'immagine.
FILE_DISPOSITION_ON_CLOSE 0x00000008 Specifica se il sistema imposta o cancella lo stato di chiusura.
FILE_DISPOSITION_IGNORE_READONLY_ATTRIBUTE 0x00000010 Consente l'eliminazione di file di sola lettura. Per altre informazioni, vedere la sezione Osservazioni di seguito.

Commenti

Il chiamante deve avere accesso DELETE a un determinato file per chiamare ZwSetInformationFile con FILE_DISPOSITION_DELETE.

Quando FILE_DISPOSITION_POSIX_SEMANTICS non è impostato, un file contrassegnato per l'eliminazione non viene effettivamente eliminato fino a quando non vengono chiusi tutti gli handle aperti per il file e il numero di collegamenti per il file è zero. Quando FILE_DISPOSITION_POSIX_SEMANTICS è impostato, il collegamento viene rimosso dallo spazio dei nomi visibile non appena l'handle di eliminazione POSIX è stato chiuso, ma i flussi di dati del file rimangono accessibili da altri handle esistenti fino alla chiusura dell'ultimo handle. In altre parole, le applicazioni che avevano già aperto il file possono comunque usare il relativo handle per leggere/scrivere anche se il nome usato per aprirlo non è più disponibile e il numero di collegamenti del file potrebbe essere stato raggiunto zero.

Se il file viene eliminato a richiesta dell'utente, l'uso della semantica POSIX consente al sistema di eliminare il file come richiesto, ma consente anche a qualsiasi processo con un handle aperto di continuare ad accedere ai dati del file purché l'handle sia aperto.

Un valore restituito di STATUS_CANNOT_DELETE indica che il file è di sola lettura oppure è presente una visualizzazione mappata esistente al file.

Requisiti

Requisito Valore
Intestazione ntddk.h (include Ntddk.h, Ntifs.h)

Vedi anche

ZwClose

ZwSetInformationFile