다음을 통해 공유


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

참고 항목

ExAllocatePoolWithTagPriority

ExAllocatePoolPriorityZero