IQueueCallbackIoStop::OnIoStop 메서드(wudfddi.h)

[경고: UMDF 2는 UMDF의 최신 버전이며 UMDF 1을 대체합니다. 모든 새 UMDF 드라이버는 UMDF 2를 사용하여 작성해야 합니다. UMDF 1에 새 기능이 추가되지 않으며 최신 버전의 Windows 10 UMDF 1에 대한 지원이 제한되어 있습니다. 유니버설 Windows 드라이버는 UMDF 2를 사용해야 합니다. 자세한 내용은 UMDF를 사용하여 시작 참조하세요.]

OnIoStop 콜백 함수는 지정된 큐에서 지정된 I/O 요청의 처리를 중지합니다.

구문

void OnIoStop(
  [in] IWDFIoQueue   *pWdfQueue,
  [in] IWDFIoRequest *pWdfRequest,
  [in] ULONG         ActionFlags
);

매개 변수

[in] pWdfQueue

I/O 요청 처리가 중지된 I/O 큐 개체에 대한 IWDFIoQueue 인터페이스에 대한 포인터입니다.

[in] pWdfRequest

처리가 중지된 프레임워크 요청 개체를 나타내는 IWDFIoRequest 인터페이스에 대한 포인터입니다.

[in] ActionFlags

중지 작업 요청의 상태를 식별하는 WDF_REQUEST_STOP_ACTION_FLAGS 형식화된 값의 유효한 비트 OR입니다.

반환 값

없음

설명

드라이버가 IWDFDevice::CreateIoQueue 메서드를 호출하여 I/O 큐를 만들거나 기본 I/O 큐를 구성할 때 드라이버가 IQueueCallbackIoStop 인터페이스를 등록합니다.

드라이버가 I/O 큐 에 대해 OnIoStop 콜백 함수를 등록하는 경우 프레임워크는 큐의 기본 디바이스가 작동 중(D0) 상태를 떠날 때 호출합니다. 프레임워크는 드라이버가 소유한 요청과 I/O 대상으로 전달한 요청을 포함하여 드라이버가 완료되지 않은 모든 I/O 요청에 대해 OnIoStop 콜백 함수를 호출합니다.

OnIoStop 콜백 함수는 I/O 요청의 추가 처리를 완료, 취소 또는 연기해야 합니다. 다음 규칙을 사용해야 합니다.

드라이버가 I/O 요청을 소유하는 경우 IWDFIoRequest::Complete 를 호출하여 요청을 완료하거나 취소하거나 요청의 추가 처리를 연기한 다음 IWDFIoRequest2::StopAcknowledge를 호출해야 합니다.

드라이버가 I/O 대상에 I/O 요청을 전달한 경우 IWDFIoRequest::CancelSentRequest 를 호출하여 요청을 취소하려고 시도하거나 요청의 추가 처리를 연기한 다음 StopAcknowledge를 호출해야 합니다.

WdfRequestStopRequestCancelable 플래그가 ActionFlags 매개 변수에 설정된 경우 드라이버는 IWDFIoRequest::Complete를 호출하기 전에 IWDFIoRequest::UnmarkCancelable을 호출하여 요청을 완료하거나 취소하거나 IWDFIoRequest2::StopAcknowledge를 호출하여 요청을 다시 큐에 추가해야 합니다.

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 wudfddi.h(Wudfddi.h 포함)

추가 정보

IQueueCallbackIoStop

IWDFDevice::CreateIoQueue

IWDFIoQueue

IWDFIoRequest

IWDFIoRequest2::StopAcknowledge

WDF_REQUEST_STOP_ACTION_FLAGS