Como determinar se o sistema está em execução no modo de segurança de um controlador de dispositivo

Traduções de Artigos Traduções de Artigos
Artigo: 837643 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Sumário

Este artigo descreve como determinar se o sistema está em execução no modo de segurança de um controlador de dispositivo.

Mais Informação

O Kernel do sistema operativo Windows exporta um ponteiro para uma variável ULONG chama InitSafeBootMode . Esta variável contém as definições de modo de segurança.

Um controlador de dispositivo pode determinar se o sistema está em execução no modo de segurança pelo valor da variável InitSafeBootMode . Um valor de 0 significa que o sistema não está em execução no modo de segurança.

A tabela seguinte lista os modos de outros valores.
Reduzir esta tabelaExpandir esta tabela
valor modo
1 SAFEBOOT_MINIMAL
2 SAFEBOOT_NETWORK
3 * SAFEBOOT_DSREPAIR
* Nota O valor de 3 aplica-se a controladores de domínio do Windows.

Tem de declarar o seguinte no controlador de.
extern PULONG InitSafeBootMode; 
Tem de verificar o valor de InitSafeBootMode para determinar se o sistema está em execução no modo de segurança.
if (*InitSafeBootMode > 0){ 

     // The system is in Safe Mode. 
     // Take appropriate action. 
     //     
} 
por exemplo, para impedir que um controlador de trabalhar no modo de segurança, utilize um dos seguintes métodos:
  • controladores de função

    Se o controlador de função tem um tipo de início do serviço de SERVICE_BOOT_START, verifique o valor da variável InitSafeBootMode na rotina AddDevice e volte a falha.

    Nota Nunca tem de devolver uma falha da rotina de DriverEntry .
  • controladores de filtro

    Se o controlador de filtro for iniciado durante o arranque, verifique o valor da variável InitSafeBootMode na rotina AddDevice . Não anexe a pilha de dispositivos. Devolver êxito a partir da rotina AddDevice .
  • outros controladores

    Para controladores que não mencionados anteriormente, verifique o valor da variável InitSafeBootMode na rotina DriverEntry . Devolve falha se o sistema estiver no modo de segurança.

Propriedades

Artigo: 837643 - Última revisão: 29 de maio de 2004 - Revisão: 1.0
A informação contida neste artigo aplica-se a:
  • Microsoft Windows Server 2003 Driver Development Kit (DDK)
  • Microsoft Windows XP Driver Development Kit
  • Microsoft Win32 Device Driver Kit para Windows 2000
Palavras-chave: 
kbmt kbinfo kbdev kbhardware kbdriver kbddk kbwdm KB837643 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 837643

Submeter comentários

 

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