IRP_MN_SET_LOCK

Los controladores de autobús deben controlar este IRP para sus dispositivos secundarios (PDO secundarios) que admiten el bloqueo de dispositivos. Los controladores de función y filtro no controlan esta solicitud.

Value

0x12

Código principal

IRP_MJ_PNP

Cuándo se envió

El administrador de PnP envía este IRP a los controladores directos para bloquear el dispositivo y evitar la expulsión del dispositivo, o para desbloquear el dispositivo.

El administrador de PnP envía este IRP en IRQL PASSIVE_LEVEL en un contexto de subproceso arbitrario.

Parámetros de entrada

El miembro Parameters.SetLock.Lock de la estructura IO_STACK_LOCATION es un valor BOOLEAN que especifica si se va a bloquear (TRUE) o desbloquear (FALSE) el dispositivo.

Parámetros de salida

Ninguno

Bloque de estado de entrada/salida

Un controlador de bus establece Irp-IoStatus.Status> en STATUS_SUCCESS o en un estado de error adecuado.

Si se ejecuta correctamente, un controlador establece Irp-IoStatus.Information> en cero.

Si un controlador de bus no controla este IRP, deja Irp-IoStatus.Status> tal y como está y completa el IRP.

Los controladores de función y filtro no controlan este IRP. Estos controladores llaman a IoSkipCurrentIrpStackLocation y pasan el IRP al siguiente controlador. Los controladores de función y filtro no establecen una rutina de IoCompletion, no modifican Irp-IoStatus> y no deben completar el IRP.

Operación

Si un controlador devuelve éxito para este IRP, garantiza que el dispositivo se ha bloqueado o desbloqueado antes de completar el IRP.

Consulte Plug and Play para conocer las reglas generales para controlar Plug and Play IRP menores.

Envío de este IRP

Reservado para uso del sistema. Los controladores no deben enviar este IRP.

Requisitos

Encabezado

Wdm.h (incluya Wdm.h, Ntddk.h o Ntifs.h)