다음을 통해 공유


WdfRequestRequeue 함수(wdfrequest.h)

[KMDF 및 UMDF에 적용]

WdfRequestRequeue 메서드는 I/O 요청을 드라이버에 전달된 I/O 큐의 헤드에 반환합니다.

구문

NTSTATUS WdfRequestRequeue(
  [in] WDFREQUEST Request
);

매개 변수

[in] Request

프레임워크 요청 개체에 대한 핸들입니다.

반환 값

WdfRequestRequeue 는 작업이 성공하면 STATUS_SUCCESS 반환합니다. 그렇지 않으면 이 메서드는 다음 값 중 하나를 반환할 수 있습니다.

반환 코드 설명
STATUS_INVALID_PARAMETER
입력 매개 변수가 잘못되었습니다.
STATUS_INVALID_DEVICE_REQUEST
다음 중 하나가 발생하면 이 값이 반환됩니다.
  • 지정된 I/O 요청이 I/O 큐에서 제공되지 않았습니다.
  • 드라이버가 I/O 요청을 소유하지 않습니다.
  • 요청을 취소할 수 있습니다.
  • 큐의 디스패치 메서드는 수동이 아닙니다.
 

이 메서드는 다른 NTSTATUS 값을 반환할 수도 있습니다.

드라이버가 잘못된 개체 핸들을 제공하는 경우 버그 검사 발생합니다.

설명

드라이버는 I/O 큐에 수동 디스패치 메서드를 사용하는 경우에만 WdfRequestRequeue 를 호출할 수 있습니다.

드라이버가 WdfIoQueuePurge를 호출한 후 WdfRequestRequeue를 호출하는 경우 제거가 완료되기 전에 다시 큐에 넣기 시도가 성공할 수 있습니다. KMDF 버전 1.9 이하에서는 이 시퀀스로 인해 운영 체제가 충돌합니다. 이 문제는 KMDF 버전 1.11 이상에서 해결되었습니다.

WdfRequestRequeue에 대한 자세한 내용은 I/O 요청 다시 큐에 넣기를 참조하세요.

예제

다음 코드 예제에서는 지정된 I/O 요청을 드라이버가 요청을 받은 큐에 반환합니다.

NTSTATUS status;

status = WdfRequestRequeue(request);

요구 사항

요구 사항
대상 플랫폼 유니버설
최소 KMDF 버전 1.0
최소 UMDF 버전 2.0
머리글 wdfrequest.h(Wdf.h 포함)
라이브러리 Wdf01000.sys(KMDF); WUDFx02000.dll(UMDF)
IRQL <=DISPATCH_LEVEL
DDI 규정 준수 규칙 DriverCreate(kmdf), InvalidReqAccess(kmdf), InvalidReqAccessLocal(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)