ExAllocatePool3 함수(wdm.h)

ExAllocatePool3 루틴은 지정된 형식의 풀 메모리를 할당하고 할당된 블록에 대한 포인터를 반환합니다. 이 루틴은 ExAllocatePool2 와 비슷하지만 확장 매개 변수를 추가합니다.

구문

DECLSPEC_RESTRICT PVOID ExAllocatePool3(
  POOL_FLAGS                Flags,
  SIZE_T                    NumberOfBytes,
  ULONG                     Tag,
  PCPOOL_EXTENDED_PARAMETER ExtendedParameters,
  ULONG                     ExtendedParametersCount
);

매개 변수

Flags

필요한 특성 및 선택적 특성과 함께 풀 메모리 유형을 지정하는 ULONG64 형식의 값입니다. 비트 단위 OR를 사용하여 여러 플래그 값을 결합할 수 있습니다. 가능한 값은 POOL_FLAGS 참조하세요.

NumberOfBytes

할당할 바이트 수를 0이 아닌 수로 지정합니다.

Tag

할당된 메모리에 사용할 풀 태그입니다. 풀 태그를 작은따옴표로 구분된 1~4자의 0이 아닌 문자 리터럴로 지정합니다(예 Tag1: ). 문자열은 일반적으로 역순으로 지정됩니다(예: 1gaT). 태그의 각 ASCII 문자는 0x7E(타일)에 0x20(공간) 범위의 값이어야 합니다. 각 할당 코드 경로는 디버거와 검증 도구가 코드 경로를 식별하는 데 도움이 되도록 고유한 풀 태그를 사용해야 합니다.

ExtendedParameters

할당에 대한 추가 특성을 지정하는 POOL_EXTENDED_PARAMETER 구조체 배열에 대한 포인터입니다.

ExtendedParametersCount

ExtendedParameters의 매개 변수 수를 지정하는 ULONG 값입니다.

반환 값

ExAllocatePool3 은 할당된 메모리에 대한 포인터를 반환합니다.

다음 조건으로 인해 함수는 기본적으로 NULL을 반환합니다. POOL_FLAG_RAISE_ON_FAILURE 지정하면 함수에서 예외가 발생합니다.

  • 메모리 부족
  • 태그 가 0으로 설정되었거나 잘못된 POOL_FLAGS 지정됨
  • 잘못된 POOL_EXTENDED_PARAMETER 구조체

설명

Windows 10 버전 2004 이전의 Windows 버전을 대상으로 하는 드라이버를 빌드하는 경우 ExAllocatePoolPriorityZero 또는 ExAllocatePoolPriorityUninitialized를 사용합니다.

자세한 내용은 ExAllocatePool2 의 설명을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 10, 버전 2004
대상 플랫폼 유니버설
헤더 wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL(주의 섹션 참조)
DDI 규정 준수 규칙 HwStorPortProhibitedDDIs, SpNoWait, StorPortStartIo

추가 정보

ExAllocatePool2