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

추가 정보

ExAllocatePoolWithTagPriority

ExAllocatePoolPriorityZero