다음을 통해 공유


IRequestCallbackCancel::OnCancel 메서드(wudfddi.h)

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

OnCancel 메서드는 애플리케이션이 Microsoft Win32 CancelIo, CancelIoEx 또는 CancelSynchronousIo 함수를 통해 I/O 작업을 취소할 때 호출됩니다.

구문

void OnCancel(
  [in] IWDFIoRequest *pWdfRequest
);

매개 변수

[in] pWdfRequest

취소할 프레임워크 요청 개체를 나타내는 IWDFIoRequest 인터페이스에 대한 포인터입니다.

반환 값

없음

설명

프레임워크는 OnCancel 메서드를 호출하여 pWdfRequest 매개 변수가 식별하는 I/O 요청을 취소합니다. 드라이버는 먼저 I/O 요청을 취소할 수 있는지 여부를 결정해야 합니다. 요청을 취소할 수 있는 경우 드라이버는 취소해야 합니다. 요청을 취소하는 방법에 대한 자세한 내용은 I/O 요청 취소를 참조하세요.

드라이버가 요청을 취소하는 경우 드라이버는 CompletionStatus 매개 변수가 HRESULT_FROM_WIN32(ERROR_OPERATION_ABORTED)로 설정된 IWDFIoRequest::Complete 메서드를 호출하여 요청을 완료해야 합니다.

프레임워크는 요청 취소를 사용하도록 설정하고 IRequestCallbackCancel 인터페이스를 등록하기 위해 이전에 IWDFIoRequest::MarkCancelable 메서드를 호출하지 않는 한 OnCancel을 호출하여 요청을 취소하지 않습니다.

User-Mode Driver Framework(UMDF)는 큐당 하나의 OnCancel 메서드만 허용합니다. 따라서 드라이버가 특정 큐와 연결된 요청에 대해 IWDFIoRequest::MarkCancelable 을 호출하여 프레임워크가 해당 요청을 취소할 수 있도록 하는 경우 드라이버는 동일한 요청 콜백 개체에 대한 IRequestCallbackCancel 인터페이스에 대한 포인터를 전달해야 합니다. 나중에 각 요청을 취소하기 위해 프레임워크는 이 요청 콜백 개체의 OnCancel 메서드 호출에서 요청에 대한 IWDFIoRequest 인터페이스에 대한 포인터를 전달합니다.

요구 사항

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

추가 정보

IRequestCallbackCancel

IWDFIoRequest

IWDFIoRequest::Complete

IWDFIoRequest::MarkCancelable