[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정의된 다음 함수에 전달할 수 있습니다.
-
WDF_IO_QUEUE_DRAINED- 큐가 드레이닝되면 TRUE 반환합니다.
-
WDF_IO_QUEUE_IDLE- 큐가 유휴 상태이면 TRUE 반환합니다.
-
WDF_IO_QUEUE_PURGED- 큐가 제거되면 TRUE 반환합니다.
-
WDF_IO_QUEUE_READY- 큐가 준비되면 TRUE 반환합니다.
-
WDF_IO_QUEUE_STOPPED- 큐가 중지된 경우 TRUE 반환합니다.
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 | <= 디스패치_레벨 |
| DDI 규정 준수 규칙 | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |