Variables globales del kernel de Windows

Variables globales del kernel.

Variable Declaración Descripción
Mm64BitPhysicalAddress PBOOLEAN Mm64BitPhysicalAddress

Declarado en Wdm.h

Especifica si el hardware y el sistema operativo admiten direcciones físicas de 64 bits. Apunta a un valor que es TRUE si el hardware y el sistema operativo admiten direcciones físicas de 64 bits y es FALSE en caso contrario.

Para obtener más información sobre cómo usar esta variable en el controlador, consulte Realización de DMA en Windows de 64 bits.

MmBadPointer PVOID MmBadPointer;

Declarado en Wdm.h

Puntero a una ubicación de memoria que se garantiza que no es válida.

Nota A partir de Windows 8.1, MmBadPointer está en desuso. En su lugar, los controladores deben usar la macro MM_BAD_POINTER .

El sistema operativo genera una comprobación de errores si se tiene acceso a la dirección de memoria especificada por la variable MmBadPointer .

Puede usar MmBadPointer para depurar el código de controlador. Establezca las variables de puntero no inicializadas en MmBadPointer para buscar la primera vez que el código intente desreferenciar un puntero no válido.

Se garantiza que todas las direcciones de PAGE_SIZE de MmBadPointer no son válidas. Por ejemplo, si Address es un puntero y si MmBadPointer<= Address<MmBadPointer + PAGE_SIZE, intenta acceder a *Address hace que el sistema operativo genere una comprobación de errores. No se garantiza que MmBadPointer + PAGE_SIZE no sea válido.

PsInitialSystemProcess PEPROCESS PsInitialSystemProcess;

Declarado en Ntddk.h

Apunta a la estructura EPROCESS para el proceso del sistema.

NLS_MB_CODE_PAGE_TAG extern BOOLEAN NLS_MB_CODE_PAGE_TAG;

Especifica si una página de códigos es una página de códigos de un solo byte o multibyte.

NLS_MB_CODE_PAGE_TAG es TRUE para las páginas de códigos multibyte y FALSE para las páginas de códigos de un solo byte.

NLS_MB_CODE_PAGE_TAG está reservado para uso del sistema. En el modo de usuario, llame a GetCPInfoEx en su lugar.

Cuando sea posible, la aplicación debe usar Unicode en lugar de páginas de códigos.

EPROCESS
GetCPInfoEx
MM_BAD_POINTER
Realización de DMA en Windows de 64 bits