Globale Windows-Kernelvariablen

Globale Kernelvariablen.

Variable Deklaration BESCHREIBUNG
Mm64BitPhysicalAddress PBOOLEAN Mm64BitPhysicalAddress

Deklariert in Wdm.h

Gibt an, ob die Hardware und das Betriebssystem physische 64-Bit-Adressen unterstützen. Verweist auf einen Wert, der TRUE ist, wenn die Hardware und das Betriebssystem physische 64-Bit-Adressen unterstützen, andernfalls false ist.

Weitere Informationen zur Verwendung dieser Variablen in Ihrem Treiber finden Sie unter Ausführen von DMA in 64-Bit-Windows.

MmBadPointer PVOID MmBadPointer;

Deklariert in Wdm.h

Ein Zeiger auf einen Speicherort, der garantiert ungültig ist.

Hinweis Ab Windows 8.1 ist MmBadPointer veraltet. Treiber sollten stattdessen das makro MM_BAD_POINTER verwenden.

Das Betriebssystem generiert eine Fehlerüberprüfung, wenn auf die von der MmBadPointer-Variable angegebene Speicheradresse zugegriffen wird.

Sie können MmBadPointer verwenden, um Ihren Treibercode zu debuggen. Legen Sie alle nicht initialisierten Zeigervariablen auf MmBadPointer fest, um das erste Mal zu ermitteln, dass Ihr Code versucht, einen ungültigen Zeiger zu dereferenzieren.

Alle Adressen innerhalb PAGE_SIZE von MmBadPointer sind garantiert ungültig. Wenn Address beispielsweise ein Zeiger ist und wenn MmBadPointer<= Address<MmBadPointer + PAGE_SIZE, versucht, auf *Address zuzugreifen, generiert das Betriebssystem eine Fehlerprüfung. MmBadPointer + PAGE_SIZE ist nicht garantiert ungültig.

PsInitialSystemProcess PEPROCESS PsInitialSystemProcess;

Deklariert in "Ntddk.h"

Zeigt auf die EPROCESS-Struktur für den Systemprozess.

NLS_MB_CODE_PAGE_TAG extern BOOLEAN NLS_MB_CODE_PAGE_TAG;

Gibt an, ob es sich bei einer Codepage um eine Einzelbyte- oder Multibytecodepage handelt.

NLS_MB_CODE_PAGE_TAG ist TRUE für Multibyte-Codepages und FALSE für Einzelbytecodeseiten.

NLS_MB_CODE_PAGE_TAG ist für die Systemnutzung reserviert. Rufen Sie im Benutzermodus stattdessen GetCPInfoEx auf.

Wenn möglich, sollte Ihre Anwendung Unicode anstelle von Codepages verwenden.

EPROCESS
GetCPInfoEx
MM_BAD_POINTER
Ausführen von DMA in 64-Bit-Windows