다음을 통해 공유


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

할당된 메모리에 사용할 풀 태그입니다. 풀 태그를 작은따옴표(예: Tag1)로 구분된 1~4자의 0이 아닌 문자 리터럴로 지정합니다. 문자열은 일반적으로 역순으로 지정됩니다(예: 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