KeRundownQueue 함수(ntifs.h)

KeRundownQueue 루틴은 큐 개체를 정리하여 대기 중인 항목을 플러시합니다.

구문

PLIST_ENTRY KeRundownQueue(
  [in, out] PRKQUEUE Queue
);

매개 변수

[in, out] Queue

호출자가 비페이지 풀에 상주 스토리지를 제공하는 초기화된 큐 개체에 대한 포인터입니다.

반환 값

큐가 비어 있으면 KeRundownQueueNULL을 반환합니다. 그렇지 않으면 큐에 있는 첫 번째 항목의 주소를 반환합니다.

설명

파일 시스템은 큐 개체를 해제하거나 다시 사용하기 전에 KeRundownQueue 를 호출하여 큐의 모든 항목을 삭제합니다.

큐 개체를 다시 사용할 경우 큐 개체를 다시 사용하려면 큐 개체를 다시 초기화하기 위해 KeRundownQueue를 호출한 후 호출자가 KeInitializeQueue를 호출해야 합니다.

KeRundownQueue 는 삭제되는 대기 중인 항목 수에 대한 정보를 반환하지 않습니다.

Windows 7부터 KeRundownQueue 는 STATUS_ABANDONED 사용하여 큐 개체에서 현재 대기 중인 스레드를 절전 모드에서 해제합니다. 이 함수에서 반환한 후 이 큐에서 대기하려는 이후 스레드는 STATUS_ABANDONED 즉시 실패합니다.

Windows 7 이전에는 큐가 런다운되었을 때 KeRundownQueue 가 대기 스레드를 절전 모드에서 해제하지 않았습니다. 이러한 OS 버전에서 스레드가 영원히 대기하지 않도록 하려면 큐 개체에서 대기 중인 스레드가 있는 경우 큐에 대해 KeRundownQueue 를 호출해서는 안 됩니다.

드라이버 관리 내부 큐 사용에 대한 자세한 내용은 드라이버 관리 큐를 참조하세요.

요구 사항

요구 사항
대상 플랫폼 유니버설
헤더 ntifs.h(Ntifs.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

추가 정보

KeInitializeQueue

KeRemoveQueue