FSCTL_DELETE_USN_JOURNAL IOCTL (winioctl.h)

Elimina il journal di modifica del numero di sequenza di aggiornamento (USN) in un volume o attende la notifica dell'eliminazione del journal di modifica.

C++
BOOL 
WINAPI 
DeviceIoControl( (HANDLE) hDevice,              // handle to volume
                 FSCTL_DELETE_USN_JOURNAL,      // dwIoControlCode(LPVOID) lpInBuffer,           // input buffer
                 (DWORD) nInBufferSize,         // size of input buffer
                 NULL,                          // lpOutBuffer0,                             // nOutBufferSize(LPDWORD) lpBytesReturned,     // number of bytes returned
                 (LPOVERLAPPED) lpOverlapped ); // OVERLAPPED structure

Commenti

Per le implicazioni dell'I/O sovrapposta in questa operazione, vedere la sezione Osservazioni dell'argomento DeviceIoControl .

È possibile usare FSCTL_DELETE_USN_JOURNAL per eliminare un journal di modifica. Il file system NTFS avvia un'operazione di eliminazione e restituisce immediatamente al processo di chiamata, a meno che il flag di USN_DELETE_FLAG_NOTIFY non sia impostato nel membro DeleteFlags di DELETE_USN_JOURNAL_DATA.

Se i flag USN_DELETE_FLAG_NOTIFY e USN_DELETE_FLAG_DELETE sono entrambi impostati, viene avviata una chiamata a FSCTL_DELETE_USN_JOURNAL . La chiamata blocca quindi il thread chiamante e attende l'eliminazione (in una chiamata sincrona o non sovrapposta) oppure configura la notifica degli eventi usando una porta di completamento di I/O o o un altro meccanismo e restituisce (in una chiamata asincrona o sovrapposta).

È anche possibile usare FSCTL_DELETE_USN_JOURNAL per ricevere una notifica che è stata completata l'eliminazione del journal di modifica impostando solo USN_DELETE_FLAG_NOTIFY. In tal caso, l'operazione di FSCTL_DELETE_USN_JOURNAL attende il completamento dell'eliminazione prima di restituire (in una chiamata sincrona o non sovrapposta) o imposta la notifica degli eventi usando una porta di completamento di I/O o o un altro meccanismo (in una chiamata asincrona o sovrapposta).

L'eliminazione in cui un'applicazione riceve una notifica può essere stata avviata dal processo corrente o da un altro processo. Ad esempio, quando un'applicazione viene avviata, può usare FSCTL_DELETE_USN_JOURNAL per determinare se un'eliminazione avviata da un altro processo è in corso e, se è, uscire.

L'eliminazione completa di un journal di modifica richiede un'analisi del volume in cui risiede il journal di modifica, che può richiedere molto tempo su un volume con molti file. L'operazione continua a completare anche nei riavvii del sistema. Tenta di creare, modificare, eliminare o eseguire query sul journal di modifica mentre l'eliminazione non riesce e restituisce il codice di errore ERROR_JOURNAL_DELETE_IN_PROGRESS.

L'operazione di FSCTL_DELETE_USN_JOURNAL ha un costo significativo delle prestazioni, quindi deve essere usato in modo spasimo. Un amministratore deve eliminare un journal quando il valore USN corrente si avvicina a quello del valore USN massimo possibile.

Per altre informazioni, vedere Creazione, modifica ed eliminazione di un journal di modifica.

Per recuperare un handle in un volume, chiamare CreateFile con il parametro lpFileName impostato su una stringa nel formato seguente:

\.\X:

Nella stringa precedente, X è la lettera che identifica l'unità in cui viene visualizzato il volume. Il volume deve essere NTFS.

In Windows 8 e Windows Server 2012 questo codice è supportato dalle tecnologie seguenti.

Tecnologia Supportato
Protocollo SMB (Server Message Block) 3.0 No
Failover trasparente SMB 3.0 (TFO) No
SMB 3.0 con condivisioni file con scalabilità orizzontale (SO) No
File system del volume condiviso del cluster (CsvFS)

Requisiti

   
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Intestazione winioctl.h (include Windows.h)

Vedi anche

CREATE_USN_JOURNAL_DATA

Modificare i journal

CreateFile

DELETE_USN_JOURNAL_DATA

Deviceiocontrol

FSCTL_CREATE_USN_JOURNAL

SOVRAPPOSTA

Codici di controllo della gestione del volume