Partilhar via


Variáveis globais do kernel do Windows

Variáveis globais do kernel.

Variável Declaração Descrição
Mm64BitPhysicalAddress PBOOLEAN Mm64BitPhysicalAddress

Declarado em Wdm.h

Especifica se o hardware e o sistema operacional suportam endereços físicos de 64 bits. Aponta para um valor que é TRUE se o hardware e o sistema operacional oferecem suporte a endereços físicos de 64 bits e é FALSE caso contrário.

Para obter mais informações sobre como usar essa variável no driver, consulte Executando DMA no Windows de 64 bits.

MmBadPointer PVOID MmBadPointer;

Declarado em Wdm.h

Um ponteiro para um local de memória que é garantidamente inválido.

Observação A partir do Windows 8.1, MmBadPointer foi preterido. Em vez disso, os drivers devem usar a macro MM_BAD_POINTER .

O sistema operacional gera uma verificação de bug se o endereço de memória especificado pela variável MmBadPointer é acessado.

Você pode usar MmBadPointer para depurar o código do driver. Defina quaisquer variáveis de ponteiro não inicializadas como MmBadPointer para localizar a primeira vez que seu código tenta cancelar a referência de um ponteiro inválido.

Todos os endereços dentro de PAGE_SIZE de MmBadPointer são garantidamente inválidos. Por exemplo, se Address for um ponteiro e se MmBadPointer<= Address<MmBadPointer + PAGE_SIZE, as tentativas de acessar *Address farão com que o sistema operacional gere uma verificação de bug. Não é garantido que MmBadPointer + PAGE_SIZE seja inválido.

PsInitialSystemProcess PEPROCESS PsInitialSystemProcess;

Declarado em Ntddk.h

Aponta para a estrutura EPROCESS do processo do sistema.

NLS_MB_CODE_PAGE_TAG extern BOOLEAN NLS_MB_CODE_PAGE_TAG;

Especifica se uma página de código é uma página de código de byte único ou multibyte.

NLS_MB_CODE_PAGE_TAG é TRUE para páginas de código multibyte e FALSE para páginas de código de byte único.

NLS_MB_CODE_PAGE_TAG é reservado para uso do sistema. No modo de usuário, chame GetCPInfoEx .

Quando possível, seu aplicativo deve usar Unicode em vez de páginas de código.

PROCESSO ELETRÓNICO
GetCPInfoEx
MM_BAD_POINTER
Executando DMA no Windows de 64 bits