ExAllocateFromNPagedLookasideList 함수(wdm.h)
ExAllocateFromNPagedLookasideList 루틴은 지정된 lookaside 목록에서 페이지가 지정되지 않은 항목에 대한 포인터를 반환하거나 새로 할당된 비페이지 항목에 대한 포인터를 반환합니다.
구문
PVOID ExAllocateFromNPagedLookasideList(
[in, out] PNPAGED_LOOKASIDE_LIST Lookaside
);
매개 변수
[in, out] Lookaside
호출자가 ExInitializeNPagedLookasideList를 사용하여 이미 초기화한 lookaside 목록의 NPAGED_LOOKASIDE_LIST 구조체에 대한 포인터입니다.
반환 값
ExAllocateFromNPagedLookasideList 는 항목을 할당할 수 있는 경우 항목에 대한 포인터를 반환합니다. 그렇지 않으면 NULL을 반환합니다.
설명
주의
Windows 11 버전 22H2부터 이 함수는 인라인에서 내보낸 함수로 변경되었습니다. 따라서 최신 버전의 Windows를 대상으로 하는 드라이버를 빌드하면 이전 OS 버전에서 로드되지 않습니다. Visual Studio에서 대상 OS 버전을 변경하려면 구성 속성-드라이버 설정->일반을> 선택합니다.
지정된 lookaside 목록이 비어 있지 않으면 ExAllocateFromNPagedLookasideList 는 목록에서 첫 번째 항목을 제거하고 이 항목에 대한 포인터를 반환합니다. 그렇지 않으면 ExAllocateFromNPagedLookasideList 는 목록 초기화에 지정된 할당 루틴을 호출하거나 ExAllocatePoolWithTag 를 호출하여 항목 포인터를 반환합니다.
그런 다음 호출자는 호출자가 결정한 데이터를 사용하여 반환된 항목을 설정할 수 있습니다. 예를 들어 드라이버는 이러한 각 고정 크기 항목을 사용하여 SCSI SRB와 같은 명령 블록을 특정 유형의 I/O 버스의 주변 디바이스에 설정할 수 있습니다. 호출자는 더 이상 사용되지 않는 경우 ExFreeToNPagedLookasideList 를 사용하여 각 항목을 해제해야 합니다.
자세한 내용은 Lookaside Lists 사용을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000부터 사용할 수 있습니다. |
대상 플랫폼 | 데스크톱 |
헤더 | wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |
추가 정보
ExAllocateFromPagedLookasideList