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) |