Compartir vía


Habilitación y deshabilitación de una instancia de interfaz de dispositivo

Después de iniciar correctamente el dispositivo, el controlador que registró la interfaz llama a IoSetDeviceInterfaceState para habilitar una instancia de interfaz. El controlador pasa el nombre del vínculo simbólico devuelto por IoRegisterDeviceInterface junto con el valor booleano TRUE para habilitar la instancia de interfaz.

Si el controlador puede iniciar correctamente su dispositivo, debe llamar a esta rutina mientras controla la solicitud de IRP_MN_START_DEVICE del administrador de Plug and Play (PnP).

Una vez completada la solicitud de IRP_MN_START_DEVICE, el administrador de PnP emite notificaciones de llegada de la interfaz de dispositivo a cualquier componente de modo kernel o modo de usuario que los solicitó. Para obtener más información, consulte Registrarse para la notificación de cambio de interfaz de dispositivo.

Para deshabilitar una instancia de interfaz de dispositivo, un controlador llama a IoSetDeviceInterfaceState y pasa el valor DelinkName Simbólico devuelto por IoRegisterDeviceInterface y FALSE como valor de Enable.

Un controlador debe deshabilitar las interfaces de un dispositivo cuando controla una IRP_MN_SURPRISE_REMOVAL o IRP_MN_REMOVE_DEVICE solicitud del dispositivo. Si un controlador no deshabilita las interfaces de un dispositivo cuando controla estas IRP de eliminación, no debe intentar hacerlo posteriormente porque el administrador de PnP deshabilitará las interfaces cuando quite el dispositivo.

Un controlador no debe deshabilitar las interfaces cuando se detiene el dispositivo (IRP_MN_STOP_DEVICE); en su lugar, debe dejar las interfaces de dispositivo habilitadas y las solicitudes de E/S en cola hasta que reciba otra solicitud de IRP_MN_START_DEVICE . Del mismo modo, un controlador no debe deshabilitar sus interfaces cuando el dispositivo se pone en estado de suspensión. Debe poner en cola las solicitudes de E/S hasta que se active el dispositivo. Para obtener más información, consulte Compatibilidad con dispositivos que tienen funcionalidades de Wake-Up.