FSCTL_DELETE_USN_JOURNAL IOCTL (winioctl.h)

Elimina el diario de cambios de los números de secuencias actualizadas (USN) en un volumen o espera la notificación de la eliminación de este.

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

Comentarios

Para conocer las implicaciones de la E/S superpuesta en esta operación, consulte la sección Comentarios del tema DeviceIoControl .

Puede usar FSCTL_DELETE_USN_JOURNAL para eliminar un diario de cambios. El sistema de archivos NTFS inicia una operación de eliminación y vuelve inmediatamente al proceso de llamada, a menos que la marca de USN_DELETE_FLAG_NOTIFY esté establecida en el miembro DeleteFlags de DELETE_USN_JOURNAL_DATA.

Si se establecen las marcas de USN_DELETE_FLAG_NOTIFY y USN_DELETE_FLAG_DELETE , una llamada a FSCTL_DELETE_USN_JOURNAL inicia el proceso de eliminación. A continuación, la llamada bloquea el subproceso que realiza la llamada y espera la eliminación (en una llamada sincrónica o no superpuesta), o configura la notificación de eventos mediante un puerto de finalización de E/S u otro mecanismo, y devuelve (en una llamada asincrónica o superpuesta).

También puede usar FSCTL_DELETE_USN_JOURNAL para recibir una notificación de que se ha completado la eliminación de un diario de cambios, estableciendo solo USN_DELETE_FLAG_NOTIFY. Si lo hace, la operación de FSCTL_DELETE_USN_JOURNAL espera hasta que se completa la eliminación antes de devolver (en una llamada sincrónica o no superpuesta), o configura la notificación de eventos mediante un puerto de finalización de E/S u otro mecanismo (en una llamada asincrónica o superpuesta).

La eliminación en la que una aplicación recibe la notificación puede haber sido iniciada por el proceso actual o algún otro proceso. Por ejemplo, cuando se inicia una aplicación, puede usar FSCTL_DELETE_USN_JOURNAL para determinar si una eliminación iniciada por algún otro proceso está en curso y, si es así, salga.

La eliminación completa de un diario de cambios requiere un examen del volumen donde reside el diario de cambios, lo que puede tardar mucho tiempo en un volumen con muchos archivos. La operación continúa completando incluso en los reinicios del sistema. Se produce un error al intentar crear, modificar, eliminar o consultar el diario de cambios mientras la eliminación está en curso y devolver el código de error ERROR_JOURNAL_DELETE_IN_PROGRESS.

La operación de FSCTL_DELETE_USN_JOURNAL tiene un costo de rendimiento significativo, por lo que debe usarse con moderación. Un administrador debe eliminar un diario cuando el valor usn actual se aproxima al del valor máximo posible de USN.

Para obtener más información, vea Crear, modificar y eliminar un diario de cambios.

Para recuperar un identificador de un volumen, llame a CreateFile con el parámetro lpFileName establecido en una cadena con el formato siguiente:

\.\X:

En la cadena anterior, X es la letra que identifica la unidad en la que aparece el volumen. El volumen debe ser NTFS.

En Windows 8 y Windows Server 2012, este código es compatible con las siguientes tecnologías.

Tecnología Compatible
Protocolo Bloque de mensajes del servidor (SMB) 3.0 No
Conmutación por error transparente (TFO) de SMB 3.0 No
SMB 3.0 con recursos compartidos de archivos de escalabilidad horizontal (SO) No
Sistema de archivos de Volumen compartido de clúster (CsvFS)

Requisitos

   
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Encabezado winioctl.h (incluye Windows.h)

Consulte también

CREATE_USN_JOURNAL_DATA

Diarios de cambios

CreateFile

DELETE_USN_JOURNAL_DATA

DeviceIoControl

FSCTL_CREATE_USN_JOURNAL

OVERLAPPED

Códigos de control de administración del volumen