ExFreeToPagedLookasideList 함수(wdm.h)
ExFreeToPagedLookasideList 루틴은 지정된 lookaside 목록 또는 페이징된 풀에 페이징 가능한 항목을 반환합니다.
구문
void ExFreeToPagedLookasideList(
[in, out] PPAGED_LOOKASIDE_LIST Lookaside,
[in] PVOID Entry
);
매개 변수
[in, out] Lookaside
호출자가 ExInitializePagedLookasideList로 이미 초기화된 ExInitializePagedLookasideList를 사용하여 호출자가 이미 초기화한 lookaside 목록의 PAGED_LOOKASIDE_LIST 구조체에 대한 포인터입니다.
[in] Entry
해제할 항목에 대한 포인터입니다. 호출자는 ExAllocateFromPagedLookasideList에 대한 이전 호출에서 이 포인터를 얻었습니다.
반환 값
없음
설명
주의
Windows 11 버전 22H2부터 이 함수는 인라인에서 내보낸 함수로 변경되었습니다. 따라서 최신 버전의 Windows를 대상으로 하는 드라이버를 빌드하는 경우 이전 OS 버전에서 로드되지 않습니다. Visual Studio에서 대상 OS 버전을 변경하려면 구성 속성-드라이버 설정->일반을> 선택합니다.
ExFreeToPagedLookasideList 는 ExAllocateFromPagedLookasideList의 상호입니다. 호출자가 할당한 항목을 호출자의 lookaside 목록 또는 해당 항목이 더 이상 사용되지 않을 때 페이징된 풀로 다시 해제합니다.
동일한 항목을 다시 할당하거나 나중에 ExAllocateFromPagedLookasideList를 호출하여 다른 항목을 할당할 수 있습니다. lookaside 목록의 사용자는 ExDeletePagedLookasideList를 호출할 때까지 필요에 따라 이러한 항목을 동적으로 할당하고 해제할 수 있습니다. ExDeletePagedLookasideList 는 지정된 lookaside 목록에 대한 시스템 상태를 지우고 컨트롤을 반환하기 전에 목록에서 미해결 항목을 해제합니다.
지정된 lookaside 목록이 아직 시스템에서 결정한 최대 항목 수에 도달하지 않은 경우 ExFreeToPagedLookasideList 는 목록의 맨 앞에 지정된 항목을 삽입합니다. 그렇지 않으면 Lookaside 목록이 초기화되거나 ExFreePool일 때 설정된 호출자가 제공한 Free 루틴(있는 경우)을 사용하여 Entry의 버퍼가 페이징 풀로 다시 해제됩니다.
Windows 2000에서 드라이버는 -D_WIN2K_COMPAT_SLIST_USAGE 스위치를 사용하여 ExFreeToPagedLookasideList를 사용하는 코드를 성공적으로 연결해야 합니다.
자세한 내용은 Lookaside Lists 사용을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000부터 사용할 수 있습니다. |
대상 플랫폼 | 유니버설 |
헤더 | wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |
추가 정보
ExAllocateFromPagedLookasideList