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 procesa la solicitud IRP_MN_START_DEVICE del administrador Plug and Play (PnP).

Después de que la solicitud IRP_MN_START_DEVICE se complete, el administrador de PnP envía notificaciones de llegada de la interfaz del dispositivo a cualquier componente de modo kernel o modo usuario que las haya solicitado. Para obtener más información, consulte Registro para la notificación de cambios de la interfaz del dispositivo.

Para deshabilitar una instancia de interfaz de dispositivo, un controlador llama a IoSetDeviceInterfaceState y pasa SymbolicLinkName devuelto por IoRegisterDeviceInterface y FALSE como valor de Enable.

Un controlador debe deshabilitar las interfaces de un dispositivo cuando procesa una solicitud IRP_MN_SURPRISE_REMOVAL o IRP_MN_REMOVE_DEVICE para el dispositivo. Si un controlador no deshabilita las interfaces de un dispositivo cuando procesa 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 habilitadas las interfaces del dispositivo y poner en cola las solicitudes de E/S hasta que reciba otra solicitud 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 el dispositivo se active. Para obtener más información, consulte Compatibilidad con dispositivos que tienen funcionalidades de activación.