IOCTL_VOLUME_OFFLINE IOCTL (ntddvol.h)

El IOCTL_VOLUME_OFFLINE IOCTL coloca el volumen en un estado OFFLINE, que es un estado en el que se producirán errores en las operaciones de lectura y escritura. Las solicitudes no se pasarán al disco físico hasta que se reciba un IOCTL_VOLUME_ONLINE posterior.

Un uso común para IOCTL_VOLUME_OFFLINE es un caso en el que una aplicación o controlador desea evitar que un volumen se vuelva a montar mediante una llamada para abrir el volumen desde una segunda aplicación o controlador mientras el volumen está en proceso de ser quitado por la primera aplicación o controlador. Por ejemplo, antes de enmascarar un número de unidad lógica (LUN), los volúmenes del LUN deben bloquearse (opcionalmente), desmontarse, desconectarse y desinstalarse. Ahora el LUN se puede enmascarar sin provocar que se registren eventos de eliminación sorpresa de Plug and Play (PnP) para los volúmenes y el propio disco. Sin la llamada a desconectar el volumen, después del identificador que se usa para desmontarlo, el volumen se puede volver a montar mediante una llamada para abrirlo desde otra aplicación o controlador, si se produjo antes de la llamada a desinstalar el volumen. Una llamada para abrir un volumen se realiza correctamente en un volumen sin conexión, pero se produce un error en la E/S dirigida hacia un volumen sin conexión. Desconectar un volumen no tiene ningún efecto en la E/S del disco (si la aplicación o controlador abrió un identificador al disco), pero detiene la E/S del volumen (si la aplicación o el controlador abrió un identificador al volumen).

Código principal

IRP_MJ_DEVICE_CONTROL

Búfer de entrada

Ninguno.

Longitud del búfer de entrada

Ninguno.

Búfer de salida

Ninguno.

Longitud del búfer de salida

Ninguno.

Bloque de estado

El miembro Status está establecido en STATUS_SUCCESS.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible a partir de Windows XP.
Encabezado ntddvol.h (incluya Ntddvol.h)

Consulte también

IOCTL_VOLUME_ONLINE