다음을 통해 공유


USB 함수 클라이언트 드라이버에서 사용하는 UFX 개체 및 핸들

UFX(USB 함수 클래스 확장)는 WDF 개체 기능을 사용하여 이러한 USB 관련 UFX 개체를 정의합니다.

요약

  • UFX 개체는 함수 컨트롤러 드라이버에서 엔드포인트 간 전송을 처리하는 데 사용됩니다.
  • 이러한 개체는 WDF 개체에 대한 핸들이며 클라이언트 드라이버의 요청에 따라 UFX에 의해 생성됩니다. 각 개체의 수명은 UFX에서 관리됩니다.

중요 API

UFX(USB 함수 클래스 확장)는 WDF 개체 기능을 사용하여 이러한 USB 관련 UFX 개체를 정의합니다.

이러한 개체는 WDF 개체에 대한 핸들이며 함수 클라이언트 드라이버의 요청에 따라 UFX에 의해 생성됩니다. 필요에 따라 클라이언트 드라이버는 컨텍스트를 만들 때 전달할 수 있는 이러한 개체와 연결할 수 있습니다. UFX에서 만든 모든 WDF 개체에는 잠재적으로 두 개의 디바이스 컨텍스트가 있을 수 있습니다. 즉, 개체를 만들 때 UFX에서 설정한 디바이스 컨텍스트 1개, 클라이언트 드라이버가 전달한 다른 디바이스 컨텍스트는 WDF 개체를 만든 후 WdfObjectAllocateContext 를 사용하여 UFX에서 설정됩니다.

UFXDEVICE: USB 디바이스 개체

컨트롤러에서 만든 USB 디바이스를 나타냅니다. 개체는 USB 프로토콜 사양에 따라 USB 상태를 관리하고 USB 디바이스와 연결된 하나 이상의 엔드포인트를 관리합니다. 함수 컨트롤러 드라이버는 UfxDeviceCreate 메서드를 호출하여 EvtDriverDeviceAdd 콜백 내에 이 개체를 만듭니다.


EVT_UFX_DEVICE_HOST_CONNECT 호스트와의 연결을 시작합니다.


EVT_UFX_DEVICE_HOST_DISCONNECT 호스트와 함수 컨트롤러의 통신을 사용하지 않도록 설정합니다.


EVT_UFX_DEVICE_ADDRESSED 함수 컨트롤러에 주소를 할당합니다.


EVT_UFX_DEVICE_ENDPOINT_ADD 기본 엔드포인트 개체를 만듭니다.


EVT_UFX_DEVICE_DEFAULT_ENDPOINT_ADD 기본 엔드포인트 개체를 만듭니다.


EVT_UFX_DEVICE_USB_STATE_CHANGE USB 디바이스의 상태를 업데이트합니다.


EVT_UFX_DEVICE_PORT_CHANGE USB 디바이스가 연결된 새 포트의 유형을 업데이트합니다.


EVT_UFX_DEVICE_PORT_DETECT 포트 검색을 시작합니다.


EVT_UFX_DEVICE_REMOTE_WAKEUP_SIGNAL 함수 컨트롤러에서 원격 절 해제를 시작합니다.


EVT_UFX_DEVICE_DETECT_PROPRIETARY_CHARGER 독점 충전기 감지를 시작합니다.


EVT_UFX_DEVICE_PROPRIETARY_CHARGER_RESET 독점 충전기를 다시 설정합니다.


EVT_UFX_DEVICE_PROPRIETARY_CHARGER_SET_PROPERTY USB를 통해 충전을 사용하도록 설정하는 데 사용하는 충전기 정보를 설정합니다.

UFXENDPOINT: USB 엔드포인트 개체

호스트와 디바이스 간의 논리적 연결을 나타냅니다. 개체는 호스트와 데이터 전송을 담당합니다. 모든 디바이스 개체에 대해 하나 이상의 엔드포인트가 있을 수 있습니다. 기본 엔드포인트는 항상 컨트롤 엔드포인트이고 나머지는 클래스 드라이버별 개체입니다. 함수 컨트롤러 드라이버는 UfxEndpointCreate 메서드를 호출하여 EVT_UFX_DEVICE_ENDPOINT_ADD 콜백에 개체를 만듭니다.