ExAllocatePoolPriorityUninitialized 함수(wdm.h)
이 루틴은 ExAllocatePoolWithTagPriority에 대한 래퍼 및 대체 옵션입니다.
ExAllocatePoolPriorityUninitialized 는 지정된 형식의 풀 메모리를 할당합니다.
구문
PVOID ExAllocatePoolPriorityUninitialized(
__drv_strictTypeMatch(__drv_typeExpr)POOL_TYPE PoolType,
SIZE_T NumberOfBytes,
ULONG Tag,
EX_POOL_PRIORITY Priority
);
매개 변수
PoolType
할당할 풀 메모리의 유형입니다. 사용 가능한 풀 메모리 형식에 대한 설명은 POOL_TYPE.
에 정의된 POOL_RAISE_IF_ALLOCATION_FAILURE 플래그를 사용하여 비트 OR을 수행하여 열거형 값을 수정할 수 있습니다 wdm.h
. 이 플래그는 요청을 충족할 수 없는 경우 예외가 발생합니다. 이 플래그는 비용이 많이 들기 때문에 사용하지 않는 것이 좋습니다.
마찬가지로, 이 값을 POOL_COLD_ALLOCATION 플래그(에 정의됨)로 비트 단위로 수정하여 풀타입 값을 커널에 wdm.h
대한 힌트로 수정하여 빠르게 페이징될 가능성이 있는 페이지의 메모리를 할당할 수 있습니다. 상주 풀 메모리의 양을 최대한 줄이려면 이러한 할당을 자주 참조해서는 안 됩니다. POOL_COLD_ALLOCATION 플래그는 권고일 뿐입니다.
NumberOfBytes
할당할 바이트 수입니다.
Tag
할당된 메모리에 사용할 풀 태그입니다. 자세한 내용은 ExAllocatePoolWithTag의 Tag 매개 변수를 참조하세요.
Priority
이 요청의 우선 순위를 지정하는 EX_POOL_PRIORITY 열거형 값입니다.
반환 값
ExAllocatePoolPriorityUninitialized 는 POOL_RAISE_IF_ALLOCATION_FAILURE 지정하지 않는 한, 사용 가능한 풀에 메모리가 부족하여 요청을 충족할 수 없는 경우 NULL을 반환합니다. 그렇지 않으면 루틴은 할당된 메모리에 대한 포인터를 반환합니다.
설명
ExAllocatePoolPriorityUninitialized가 할당하는 메모리는 초기화되지 않습니다. 커널 모드 드라이버는 사용자 모드 소프트웨어에 표시되도록 하려면 먼저 이 메모리를 0으로 설정해야 합니다(잠재적으로 권한 있는 콘텐츠가 누출되지 않도록 하기 위해).
추가 지침은 ExAllocatePoolWithTagPriority의 설명 섹션을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 10 버전 2004에는 WDK가 필요합니다. Windows 운영 체제의 Windows 7 이상 버전을 대상으로 합니다. |
대상 플랫폼 | 유니버설 |
헤더 | wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL(주의 섹션 참조) |
DDI 규정 준수 규칙 | HwStorPortProhibitedDDIs, IrqlExAllocatePool, IrqlExFree2, SpNoWait, StorPortStartIo |