Compartir a través de


FSCTL_DELETE_USN_JOURNAL IOCTL (winioctl.h)

Elimina el diario de cambios del número de secuencia de actualización (USN) en un volumen o espera la notificación de la eliminación del diario de cambios.

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

Observaciones

Para conocer las implicaciones de la E/S superpuesta en esta operación, vea 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 DeleteFlags miembro de DELETE_USN_JOURNAL_DATA.

Si se establecen las marcas 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 de 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 una eliminación del diario de cambios, estableciendo solo USN_DELETE_FLAG_NOTIFY. Si lo hace, la operación de FSCTL_DELETE_USN_JOURNAL espera hasta que se complete la eliminación antes de devolver (en una llamada sincrónica o no superpuesta), o configure 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 una 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. Los intentos de crear, modificar, eliminar o consultar el diario de cambios mientras la eliminación está en curso producen un error y devuelven 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 de 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 de la forma 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 Soportado
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

Requisito Valor
cliente mínimo admitido Windows XP [solo aplicaciones de escritorio]
servidor mínimo admitido Windows Server 2003 [solo aplicaciones de escritorio]
encabezado de winioctl.h (incluya Windows.h)

Consulte también

CREATE_USN_JOURNAL_DATA

de diario de cambios

CreateFile

DELETE_USN_JOURNAL_DATA

DeviceIoControl

FSCTL_CREATE_USN_JOURNAL

SUPERPUESTAs

códigos de control de administración de volúmenes