Compartir a través de


IOCTL_STORAGE_MEDIA_REMOVAL IOCTL (ntddstor.h)

Bloquea el dispositivo para evitar la eliminación de los medios. Si el controlador puede impedir que los medios se quiten mientras la unidad está en uso, deshabilita o habilita el mecanismo que expulsa medios en un dispositivo, el autor de la llamada se ha abierto para el acceso de lectura o escritura.

A diferencia de IOCTL_STORAGE_EJECTION_CONTROL, para el que el controlador realiza el seguimiento de las solicitudes por llamador, el controlador omite IOCTL_STORAGE_MEDIA_REMOVAL solicitudes de desbloqueo solo si su recuento de bloqueos ya es cero, lo que permite que cualquier autor de llamada desbloquee la unidad.

Un controlador para este dispositivo multimedia extraíble que pueda admitir este IOCTL debe hacer lo siguiente:

  1. Mantenga un recuento de bloqueos en la extensión de objeto de dispositivo.
  2. Mantenga el número de bloqueos por dispositivo físico.
  3. Cuando se llama con este IOCTL, si se establece la marca para evitar quitar el medio, incremente el recuento; si la marca está desactivada, reduzca el recuento.
  4. Evite la eliminación de los medios a menos que todos los recuentos de bloqueos sean cero.

Código principal

IRP_MJ_DEVICE_CONTROL

Búfer de entrada

El búfer de Irp->AssociatedIrp.SystemBuffer contiene un valor booleano, con TRUE que indica que el controlador debe bloquear el medio en la unidad.

Longitud del búfer de entrada

Longitud de un valor booleano.

Búfer de salida

Ninguno.

Longitud del búfer de salida

Ninguno.

Bloque de estado

El campo información de está establecido en cero. El campo Estado de se establece en STATUS_SUCCESS, o posiblemente en STATUS_INVALID_DEVICE_REQUEST, STATUS_NO_MEDIA_IN_DEVICE o STATUS_DEVICE_NOT_CONNECTED.

Requisitos

Requisito Valor
encabezado de ntddstor.h (incluya Ntddstor.h)

Consulte también

IOCTL_STORAGE_EJECTION_CONTROL