다음을 통해 공유


ExInterlockedFlushSList 함수(wdm.h)

ExInterlockedFlushSList 루틴은 순차적으로 연결된 목록에서 모든 항목을 원자적으로 제거합니다.

구문

NTKERNELAPI
PSLIST_ENTRY
FASTCALL
ExInterlockedFlushSList (
    _Inout_ PSLIST_HEADER ListHead
    );

매개 변수

[in, out] ListHead

시퀀싱된 연결 목록의 헤더 역할을 하는 SLIST_HEADER 구조체에 대한 포인터입니다.

반환 값

지정된 목록에 항목이 있는 경우 ExInterlockedFlushSList 는 목록의 항목인 첫 번째 SLIST_ENTRY 구조체에 대한 포인터를 반환합니다. 그렇지 않으면 NULL을 반환합니다.

설명

ExInterlockedFlushSList 는 목록을 구성하는 SLIST_ENTRY 구조를 삭제하지 않습니다. ListHead 의 내부 포인터만 목록의 시작 부분에 NULL로 설정합니다. 드라이버는 항목을 명시적으로 해제해야 합니다.

루틴은 목록에 있던 첫 번째 SLIST_ENTRY 구조체에 대한 포인터를 반환합니다. 드라이버는 이 포인터를 사용하여 항목을 반복할 수 있습니다.

이 루틴을 사용하여 시퀀싱된 Singly 연결된 목록을 구현하는 방법에 대한 자세한 내용은 Singly 및 이중 연결 Lists 참조하세요.

ExInterlockedFlushSList의 호출자는 모든 IRQL에서 실행할 수 있습니다. ListHead 매개 변수 및 목록 항목에 대한 스토리지는 모든 IRQL에 상주해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000부터 사용할 수 있습니다.
대상 플랫폼 유니버설
헤더 wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL 모든 수준(설명 섹션 참조)

추가 정보

ExInitializeSListHead