FsRtlAllocatePoolWithTag 매크로(ntifs.h)
FsRtlAllocatePoolWithTag 루틴은 풀 메모리를 할당합니다.
통사론
void FsRtlAllocatePoolWithTag(
[in] PoolType,
[in] NumberOfBytes,
[in] Tag
);
매개 변수
[in] PoolType
할당할 풀의 유형입니다. 다음 중 하나입니다.
- NonPagedPool
- PagedPool
- NonPagedPoolCacheAligned
- pagedPoolCacheAligned
NonPagedPoolMustSucceed 및 NonPagedPoolCacheAlignedMustS 풀 형식은 사용되지 않으며 더 이상 사용되지 않아야 합니다.
[in] NumberOfBytes
할당할 바이트 수입니다. 이 매개 변수는 필수이며 0일 수 없습니다.
[in] Tag
할당된 메모리의 풀 태그를 지정합니다. 드라이버는 일반적으로 풀 태그를 작은따옴표(예: 'abcd')로 구분된 1~4개의 7비트 ASCII 문자 문자열로 지정합니다. 이 매개 변수는 필수이며 0일 수 없습니다.
반환 값
없음
발언
풀 할당 오류가 발생하면 FsRtlAllocatePoolWithTag
시스템은 Tag 매개 변수로 지정된 풀 태그를 할당된 버퍼와 연결합니다. Windows 디버거(WinDbg)와 같은 프로그래밍 도구는 할당된 각 버퍼와 연결된 풀 태그를 표시할 수 있습니다. 풀 태그의 값은 일반적으로 역순으로 표시됩니다. 예를 들어 호출자가 'Fred'를 Tag 매개 변수의 값으로 전달하는 경우 풀이 덤프되거나 디버거에서 풀 사용량을 추적할 때 이 값은 'derF'로 표시됩니다.
메모리 관리에 대한 자세한 내용은 메모리 관리참조하세요.
FsRtlAllocatePoolWithTag 할당하는
FsRtlAllocatePoolWithTag 호출자는 IRQL <= DISPATCH_LEVEL 실행되어야 합니다. DISPATCH_LEVEL 호출자는 NonPagedXxxPoolType지정해야 합니다. 그렇지 않으면 호출자가 IRQL <= APC_LEVEL 실행되어야 합니다.
요구 사항
요구 | 값 |
---|---|
대상 플랫폼 | 보편적 |
헤더 | ntifs.h(Ntifs.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL |
<= DISPATCH_LEVEL(주의 섹션 참조) |
참고 항목
exAllocatePoolWithTag
exFreePool