Cómo determinar si el sistema se ejecuta en modo seguro desde un controlador de dispositivo

Seleccione idioma Seleccione idioma
Id. de artículo: 837643 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

Resumen

En este artículo describe cómo determinar si el sistema se ejecuta en modo seguro desde un controlador de dispositivo.

Más información

El Núcleo de Windows exporta un puntero a una variable ULONG que se denomina InitSafeBootMode . Esta variable contiene las opciones modo seguro.

Un controlador de dispositivo puede determinar si el sistema se ejecuta en modo a prueba de errores por el valor de la variable InitSafeBootMode . Un valor de 0 significa que el sistema no se está ejecutando en modo seguro.

La siguiente tabla muestra los modos para otros valores.
Contraer esta tablaAmpliar esta tabla
valor modo
1 SAFEBOOT_MINIMAL
2 SAFEBOOT_NETWORK
3 * SAFEBOOT_DSREPAIR
* Nota El valor de 3 se aplica a sólo los controladores de dominio de Windows.

Debe declarar las siguientes en el controlador.
extern PULONG InitSafeBootMode; 
Debe comprobar el valor de InitSafeBootMode para determinar si el sistema se está ejecutando en modo seguro.
if (*InitSafeBootMode > 0){ 

     // The system is in Safe Mode. 
     // Take appropriate action. 
     //     
} 
por ejemplo, para impedir que un controlador funcione en modo seguro, utilice uno de los métodos siguientes:
  • controladores de función

    Si el controlador de función tiene un tipo de inicio de servicio de SERVICE_BOOT_START, comprobar el valor de la variable InitSafeBootMode en la rutina AddDevice y devuelva un error.

    Nota Nunca debe devolver un error de la rutina DriverEntry .
  • controladores de filtro

    Si el controlador de filtro se inicia durante el inicio, comprobar el valor de la variable InitSafeBootMode en la rutina AddDevice . No se asocie a la pila del dispositivo. Devolver el éxito de la rutina AddDevice .
  • otros controladores

    Para los controladores que no se mencionan anteriormente, compruebe el valor de la variable InitSafeBootMode en la rutina de DriverEntry . Devolver error si el sistema está en modo seguro.

Propiedades

Id. de artículo: 837643 - Última revisión: sábado, 29 de mayo de 2004 - Versión: 1.0
La información de este artículo se refiere a:
  • Microsoft Windows Server 2003 Driver Development Kit (DDK)
  • Microsoft Windows XP Driver Development Kit
  • Microsoft Win32 Device Driver Kit for Windows 2000
Palabras clave: 
kbmt kbinfo kbdev kbhardware kbdriver kbddk kbwdm KB837643 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 837643

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com