Partager via


Variables globales du noyau Windows

Variables globales du noyau.

Variable Déclaration Description
Mm64BitPhysicalAddress PBOOLEAN Mm64BitPhysicalAddress

Déclaré dans Wdm.h

Spécifie si le matériel et le système d’exploitation prennent en charge les adresses physiques 64 bits. Pointe vers une valeur TRUE si le matériel et le système d’exploitation prennent en charge les adresses physiques 64 bits, et qui est FALSE dans le cas contraire.

Pour plus d’informations sur l’utilisation de cette variable dans votre pilote, consultez Exécution de DMA dans Windows 64 bits.

MmBadPointer PVOID MmBadPointer;

Déclaré dans Wdm.h

Pointeur vers un emplacement de mémoire qui est garanti comme non valide.

Note À compter de Windows 8.1, MmBadPointer est déconseillé. Les pilotes doivent utiliser la macro MM_BAD_POINTER à la place.

Le système d’exploitation génère un bogue case activée si l’adresse mémoire spécifiée par la variable MmBadPointer est accessible.

Vous pouvez utiliser MmBadPointer pour déboguer votre code de pilote. Définissez toutes les variables de pointeur non initialisées sur MmBadPointer pour rechercher la première fois que votre code tente de déréférencer un pointeur non valide.

Toutes les adresses dans PAGE_SIZE de MmBadPointer sont garanties non valides. Par exemple, si Address est un pointeur et si MmBadPointer<= Adresse<MmBadPointer + PAGE_SIZE, les tentatives d’accès *Address entraînent le système d’exploitation à générer un bogue case activée. MmBadPointer + PAGE_SIZE n’est pas garanti comme non valide.

PsInitialSystemProcess PEPROCESS PsInitialSystemProcess;

Déclaré dans Ntddk.h

Pointe vers la structure EPROCESS pour le processus système.

NLS_MB_CODE_PAGE_TAG extern BOOLEAN NLS_MB_CODE_PAGE_TAG;

Spécifie si une page de code est une page de code monooctet ou multioctet.

NLS_MB_CODE_PAGE_TAG est TRUE pour les pages de code multioctets et FALSE pour les pages de code sur un octet.

NLS_MB_CODE_PAGE_TAG est réservé à l’utilisation du système. En mode utilisateur, appelez GetCPInfoEx à la place.

Lorsque cela est possible, votre application doit utiliser Unicode plutôt que des pages de code.

EPROCESS
GetCPInfoEx
MM_BAD_POINTER
Exécution de DMA dans Windows 64 bits