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