다음을 통해 공유


Windows 커널 전역 변수

커널 전역 변수.

변수 선언 Description
Mm64BitPhysicalAddress PBOOLEAN Mm64BitPhysicalAddress

Wdm.h에서 선언됨

하드웨어 및 운영 체제가 64비트 물리적 주소를 지원하는지 여부를 지정합니다. 하드웨어 및 운영 체제가 64비트 물리적 주소를 지원하는 경우 TRUE 이고 그렇지 않으면 FALSE 인 값을 가리킵니다.

드라이버에서 이 변수를 사용하는 방법에 대한 자세한 내용은 64비트 Windows에서 DMA 수행을 참조하세요.

MmBadPointer PVOID MmBadPointer;

Wdm.h에서 선언됨

유효하지 않은 메모리 위치에 대한 포인터입니다.

참고 Windows 8.1 시작하여 MmBadPointer는 더 이상 사용되지 않습니다. 드라이버는 대신 MM_BAD_POINTER 매크로를 사용해야 합니다.

운영 체제는 MmBadPointer 변수로 지정된 메모리 주소에 액세스하면 버그 검사 생성합니다.

MmBadPointer를 사용하여 드라이버 코드를 디버그할 수 있습니다. 초기화되지 않은 포인터 변수를 MmBadPointer 로 설정하여 코드가 잘못된 포인터를 역참조하려고 할 때를 처음으로 찾습니다.

MmBadPointer PAGE_SIZE 내의 모든 주소는 유효하지 않습니다. 예를 들어 Address가 포인터이고 MmBadPointer= Address<MmBadPointer< + PAGE_SIZE 경우 *Address에 액세스하려고 하면 운영 체제에서 버그 검사 생성됩니다. MmBadPointer + PAGE_SIZE 유효하지 않습니다.

PsInitialSystemProcess PEPROCESS PsInitialSystemProcess;

Ntddk.h에서 선언됨

시스템 프로세스에 대한 EPROCESS 구조를 가리킵니다.

NLS_MB_CODE_PAGE_TAG extern BOOLEAN NLS_MB_CODE_PAGE_TAG;

코드 페이지가 단일 바이트 또는 멀티바이트 코드 페이지인지 여부를 지정합니다.

NLS_MB_CODE_PAGE_TAG 멀티바이트 코드 페이지의 경우 TRUE 이고 단일 바이트 코드 페이지의 경우 FALSE 입니다.

NLS_MB_CODE_PAGE_TAG 시스템 사용을 위해 예약되어 있습니다. 사용자 모드에서 대신 GetCPInfoEx 를 호출합니다.

가능하면 애플리케이션에서 코드 페이지 대신 유니코드를 사용해야 합니다.

EPROCESS
GetCPInfoEx
MM_BAD_POINTER
64비트 Windows에서 DMA 수행