IWDFIoTargetStateManagement::Stop 메서드(wudfddi.h)

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

Stop 메서드는 큐에 대기된 요청을 로컬 I/O 대상으로 보내는 것을 중지합니다.

구문

HRESULT Stop(
  [in] WDF_IO_TARGET_SENT_IO_ACTION Action
);

매개 변수

[in] Action

I/O 대상 개체가 중지될 때 전송된 I/O를 처리하는 방법을 식별하는 WDF_IO_TARGET_SENT_IO_ACTION 형식화된 값입니다.

반환 값

Stop은 항상 S_OK 반환합니다.

설명

드라이버가 복구 가능한 디바이스 오류를 검색할 수 있는 경우 드라이버가 중지 를 호출하여 로컬 I/O 대상에 대한 요청 전송을 일시적으로 중지한 다음, 나중에 IWDFIoTargetStateManagement::Start 를 호출하여 요청 보내기를 다시 시작할 수 있습니다.

또한 드라이버가 IWDFUsbTargetPipe2::ConfigureContinuousReader 를 호출하여 USB 파이프에 대한 연속 판독기를 구성하는 경우 드라이버의 IPnpCallback::OnD0Exit 콜백 함수가 Stop 을 호출하여 판독기를 중지해야 합니다.

드라이버가 Stop을 호출한 경우에도 IWDFIoRequest::Send를 호출할 때 WDF_REQUEST_OPTION_IGNORE_TARGET_STATE 플래그를 설정하여 대상에 요청을 보낼 수 있습니다. 드라이버가 이 플래그를 설정하는 경우 드라이버는 드라이버가 Stop을 호출한 후 USB 파이프 재설정 요청( IWDFUsbTargetPipe::Reset 참조)과 같은 요청을 디바이스로 보낼 수 있습니다.

드라이버는 IWDFIoTargetStateManagement::StartStop 을 동기적으로 호출해야 합니다. 드라이버가 이러한 함수 중 하나를 호출한 후에는 첫 번째 호출이 반환되기 전에 두 함수 중 하나를 호출해서는 안 됩니다.

드라이버는 IWDFIoTargetStateManagement::Start를 호출하지 않고 중지를 여러 번 호출할 수 있습니다. 예를 들어 드라이버는 다음을 수행할 수 있습니다.

  1. 중지를 호출하고 WdfIoTargetLeaveSentIoPending작업 값을 지정합니다.
  2. 대상에서 I/O 요청 처리를 다시 시작해야 하는지 여부를 결정합니다.
  3. 대상이 다시 시작되어야 하는 경우 IWDFIoTargetStateManagement::Start를 호출합니다. 그렇지 않으면 작업 값이WdfIoTargetCancelSentIoStop을 다시 호출합니다.
중지에 대한 자세한 내용은 일반 I/O 대상의 상태 제어를 참조하세요.

I/O 대상에 대한 자세한 내용은 I/O 대상 사용을 참조하세요.

예제

다음 코드 예제에서는 드라이버가 USB 파이프에 연속 판독기를 사용하는 경우 IPnpCallback::OnD0Exit 콜백 함수가 Stop을 호출하는 방법을 보여 있습니다. ( IWDFIoTargetStateManagement 인터페이스를 가져오는 방법을 보려면 IWDFIoTargetStateManagement::Start의 코드 예제를 참조하세요.)

HRESULT
CMyDevice::OnD0Exit(
    __in IWDFDevice*  pWdfDevice,
    __in WDF_POWER_DEVICE_STATE  previousState
    )
{
    HRESULT hr;
    hr = m_pIoTargetInterruptPipeStateMgmt->Stop(WdfIoTargetCancelSentIo);
    return hr;
}

요구 사항

요구 사항
지원 종료 UMDF 2.0 이상에서는 사용할 수 없습니다.
대상 플랫폼 데스크톱
최소 UMDF 버전 1.5
머리글 wudfddi.h(Wudfddi.h 포함)
DLL WUDFx.dll

추가 정보

IWDFIoTargetStateManagement

IWDFRemoteTarget::Stop