WdfIoQueueGetState 함수(wdfio.h)
[KMDF 및 UMDF에 적용]
WdfIoQueueGetState 메서드는 지정된 I/O 큐의 상태 반환합니다.
구문
WDF_IO_QUEUE_STATE WdfIoQueueGetState(
[in] WDFQUEUE Queue,
[out, optional] PULONG QueueRequests,
[out, optional] PULONG DriverRequests
);
매개 변수
[in] Queue
프레임워크 큐 개체에 대한 핸들입니다.
[out, optional] QueueRequests
현재 I/O 큐에 있고 드라이버에 배달되지 않은 I/O 요청 수를 수신하는 위치에 대한 포인터입니다. 이 포인터는 선택 사항이며 NULL일 수 있습니다.
[out, optional] DriverRequests
드라이버에 전달되었지만 드라이버가 완료되거나 취소되지 않은 I/O 요청 수를 수신하는 위치에 대한 포인터입니다. 이 포인터는 선택 사항이며 NULL일 수 있습니다.
반환 값
WdfIoQueueGetState 는 여러 WDF_IO_QUEUE_STATE 열거자의 비트 OR을 포함할 수 있는 WDF_IO_QUEUE_STATE 형식화된 값을 반환합니다.
드라이버가 잘못된 개체 핸들을 제공하는 경우 버그 검사 발생합니다.
설명
WdfIoQueueGetState를 호출한 후 드라이버는 받은 상태 값을 Wdfio.h에 정의된 다음 함수에 전달할 수 있습니다.
-
큐가 드레이닝되면 TRUE 를 반환하는 WDF_IO_QUEUE_DRAINED.
-
큐가 유휴 상태이면 TRUE 를 반환하는 WDF_IO_QUEUE_IDLE.
-
큐가 제거되면 TRUE 를 반환하는 WDF_IO_QUEUE_PURGED.
-
큐가 준비되면 TRUE 를 반환하는 WDF_IO_QUEUE_READY.
-
큐가 중지되면 TRUE 를 반환하는 WDF_IO_QUEUE_STOPPED.
WdfIoQueueGetState 메서드에 대한 자세한 내용은 I/O 큐 속성 가져오기를 참조하세요.
예제
다음 코드 예제는 지정된 I/O 큐가 유휴 상태이면 TRUE 를 반환하는 루틴입니다.
BOOLEAN
IsQueueIdle(
IN WDFQUEUE Queue
)
{
WDF_IO_QUEUE_STATE queueStatus;
queueStatus = WdfIoQueueGetState(
Queue,
NULL,
NULL
);
return (WDF_IO_QUEUE_IDLE(queueStatus)) ? TRUE : FALSE;
}
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 유니버설 |
최소 KMDF 버전 | 1.0 |
최소 UMDF 버전 | 2.0 |
머리글 | wdfio.h(Wdf.h 포함) |
라이브러리 | Wdf01000.sys(KMDF); WUDFx02000.dll(UMDF) |
IRQL | <= DISPATCH_LEVEL |
DDI 규정 준수 규칙 | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |