다음을 통해 공유


WdfIoTargetStart 함수(wdfiotarget.h)

[KMDF 및 UMDF에 적용]

WdfIoTargetStart 메서드는 큐에 대기된 요청을 로컬 또는 원격 I/O 대상으로 보내기 시작합니다.

구문

NTSTATUS WdfIoTargetStart(
  [in] WDFIOTARGET IoTarget
);

매개 변수

[in] IoTarget

WdfDeviceGetIoTarget 또는 WdfIoTargetCreate에 대한 이전 호출 또는 특수 I/O 대상이 제공하는 메서드에서 가져온 로컬 또는 원격 I/O 대상 개체에 대한 핸들입니다.

반환 값

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

반환 코드 설명
STATUS_INVALID_DEVICE_STATE
디바이스가 제거되었습니다.
 

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

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

설명

드라이버가 복구 가능한 디바이스 오류를 검색할 수 있는 경우 드라이버가 WdfIoTargetStop 을 호출하여 요청 전송을 일시적으로 중지한 다음, 나중에 WdfIoTargetStart 를 호출하여 요청 보내기를 다시 시작하도록 할 수 있습니다.

또한 드라이버가 WdfUsbTargetPipeConfigContinuousReader 를 호출하여 USB 파이프에 대한 연속 판독기를 구성하는 경우 드라이버의 EvtDeviceD0Entry 콜백 함수는 WdfIoTargetStart 를 호출하여 판독기를 시작해야 합니다.

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

WdfIoTargetStart에 대한 자세한 내용은 일반 I/O 대상의 상태 제어를 참조하세요.

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

예제

다음 코드 예제에서는 드라이버가 USB 파이프에 연속 판독기를 사용하는 경우 EvtDeviceD0Entry 콜백 함수가 WdfIoTargetStart를 호출하는 방법을 보여 있습니다.

NTSTATUS
MyEvtDeviceD0Entry(
    IN  WDFDEVICE Device,
    IN  WDF_POWER_DEVICE_STATE PreviousState
)
{
    PDEVICE_CONTEXT  pDeviceContext;
    NTSTATUS  status;

    pDeviceContext = GetMyDeviceContext(Device);

    status = WdfIoTargetStart(WdfUsbTargetPipeGetIoTarget(pDeviceContext->InterruptPipe));

    return status;
}

요구 사항

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

추가 정보

EvtDeviceD0Entry

WdfDeviceGetIoTarget

WdfIoTargetCreate

WdfIoTargetStop

WdfUsbTargetPipeConfigContinuousReader