다음을 통해 공유


EVT_UCX_USBDEVICE_ENABLE 콜백 함수(ucxusbdevice.h)

UCX가 디바이스 및 해당 기본 제어 엔드포인트에 대한 프로그램 정보를 컨트롤러에 호출하는 클라이언트 드라이버의 구현입니다.

구문

EVT_UCX_USBDEVICE_ENABLE EvtUcxUsbdeviceEnable;

void EvtUcxUsbdeviceEnable(
  [in] UCXCONTROLLER UcxController,
  [in] WDFREQUEST Request
)
{...}

매개 변수

[in] UcxController

UcxControllerCreate 메서드에 대한 이전 호출에서 클라이언트 드라이버가 받은 UCX 컨트롤러에 대한 핸들입니다.

[in] Request

형식 USBDEVICE_ENABLE 구조체입니다.

반환 값

없음

설명

UCX 클라이언트 드라이버는 UcxUsbDeviceCreate 메서드를 호출하여 이 콜백 함수를 UCX(USB 호스트 컨트롤러 확장)에 등록합니다.

디바이스를 원하는 상태로 전환하기 위해 호스트 컨트롤러 드라이버는 하드웨어와 통신하여 요청을 완료합니다.

이 콜백 함수에서 클라이언트 드라이버는 USB 디바이스의 기본 제어 엔드포인트에서 전송을 수락하고 예약하도록 컨트롤러를 준비합니다.

드라이버가 완료되면 WDFREQUEST를 완료합니다.

클라이언트 드라이버는 요청에서 완료 상태 반환합니다. 드라이버는 WDFREQUEST를 비동기적으로 완료할 수 있습니다.

예제

VOID
UsbDevice_EvtUcxUsbDeviceEnable(
    UCXCONTROLLER      UcxController,
    WDFREQUEST         Request
)
    
{
    UNREFERENCED_PARAMETER(UcxController);

    DbgTrace(TL_INFO, UsbDevice, "UsbDevice_EvtUcxUsbDeviceEnable");

    WDF_REQUEST_PARAMETERS_INIT(&wdfRequestParams);
    WdfRequestGetParameters(WdfRequest, &wdfRequestParams);
    usbDeviceEnable = (PUSBDEVICE_ENABLE)wdfRequestParams.Parameters.Others.Arg1;
    ...

    WdfRequestComplete(Request, STATUS_SUCCESS);
}

요구 사항

요구 사항
대상 플랫폼 Windows
최소 KMDF 버전 1.0
최소 UMDF 버전 2.0
머리글 ucxusbdevice.h(Ucxclass.h 포함)
IRQL DISPATCH_LEVEL

추가 정보

UcxUsbDeviceCreate