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 dão suporte a endereços físicos de 64 bits. Aponta para um valor true se o hardware e o sistema operacional dão suporte a endereços físicos de 64 bits e, caso contrário, é FALSE .

Para obter mais informações sobre como usar essa variável em seu 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 tem a garantia de ser inválido.

Nota Começando com Windows 8.1, o MmBadPointer foi preterido. Em vez disso, os drivers devem usar a macro MM_BAD_POINTER .

O sistema operacional gera um bug marcar se o endereço de memória especificado pela variável MmBadPointer for acessado.

Você pode usar o MmBadPointer para depurar o código do driver. Defina qualquer variável de ponteiro não inicializada como MmBadPointer para localizar a primeira vez que o código tentar desreferenciar um ponteiro inválido.

Todos os endereços em PAGE_SIZE do MmBadPointer têm a garantia de serem inválidos. Por exemplo, se Address for um ponteiro e se MmBadPointer<= Address<MmBadPointer + PAGE_SIZE, tentará acessar *Address fará com que o sistema operacional gere um bug marcar. Não há garantia de que mmBadPointer + PAGE_SIZE seja inválido.

PsInitialSystemProcess PEPROCESS PsInitialSystemProcess;

Declarado em Ntddk.h

Aponta para a estrutura EPROCESS para o 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.

EPROCESS
GetCPInfoEx
MM_BAD_POINTER
Executando o DMA no Windows de 64 bits