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

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
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
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.
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.

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 837643 - Última Revisão: 12/08/2015 06:28:40 - Revisão: 1.0

Microsoft Windows Server 2003 Driver Development Kit (DDK), Microsoft Windows XP Driver Development Kit, Microsoft Win32 Device Driver Kit para Windows 2000

  • kbnosurvey kbarchive kbmt kbinfo kbdev kbhardware kbdriver kbddk kbwdm KB837643 KbMtpt
Comentários