다음을 통해 공유


UFX_DEVICE_CALLBACKS 구조체(ufxclient.h)

UFX_DEVICE_CALLBACKS 구조체는 클라이언트 드라이버에서 지원하는 이벤트 콜백 함수를 정의하는 데 사용됩니다.

구문

typedef struct _UFX_DEVICE_CALLBACKS {
  ULONG                                           Size;
  PFN_UFX_DEVICE_HOST_CONNECT                     EvtDeviceHostConnect;
  PFN_UFX_DEVICE_HOST_DISCONNECT                  EvtDeviceHostDisconnect;
  PFN_UFX_DEVICE_ADDRESSED                        EvtDeviceAddressed;
  PFN_UFX_DEVICE_ENDPOINT_ADD                     EvtDeviceEndpointAdd;
  PFN_UFX_DEVICE_DEFAULT_ENDPOINT_ADD             EvtDeviceDefaultEndpointAdd;
  PFN_UFX_DEVICE_USB_STATE_CHANGE                 EvtDeviceUsbStateChange;
  PFN_UFX_DEVICE_PORT_CHANGE                      EvtDevicePortChange;
  PFN_UFX_DEVICE_PORT_DETECT                      EvtDevicePortDetect;
  PFN_UFX_DEVICE_REMOTE_WAKEUP_SIGNAL             EvtDeviceRemoteWakeupSignal;
  PFN_UFX_DEVICE_CONTROLLER_RESET                 EvtDeviceControllerReset;
  PFN_UFX_DEVICE_TEST_MODE_SET                    EvtDeviceTestModeSet;
  PFN_UFX_DEVICE_TESTHOOK                         EvtDeviceTestHook;
  PFN_UFX_DEVICE_SUPER_SPEED_POWER_FEATURE        EvtDeviceSuperSpeedPowerFeature;
  PFN_UFX_DEVICE_PROPRIETARY_CHARGER_DETECT       EvtDeviceProprietaryChargerDetect;
  PFN_UFX_DEVICE_PROPRIETARY_CHARGER_SET_PROPERTY EvtDeviceProprietaryChargerSetProperty;
  PFN_UFX_DEVICE_PROPRIETARY_CHARGER_RESET        EvtDeviceProprietaryChargerReset;
} UFX_DEVICE_CALLBACKS, *PUFX_DEVICE_CALLBACKS;

멤버

Size

UFX_DEVICE_CALLBACKS 구조체의 크기입니다.

EvtDeviceHostConnect

클라이언트 드라이버의 EVT_UFX_DEVICE_HOST_CONNECT 콜백 루틴에 대한 포인터입니다.

EvtDeviceHostDisconnect

클라이언트 드라이버의 EVT_UFX_DEVICE_HOST_DISCONNECT 콜백 루틴에 대한 포인터입니다.

EvtDeviceAddressed

클라이언트 드라이버의 EVT_UFX_DEVICE_ADDRESSED 콜백 루틴에 대한 포인터입니다.

EvtDeviceEndpointAdd

클라이언트 드라이버의 EVT_UFX_DEVICE_ENDPOINT_ADD 콜백 루틴에 대한 포인터입니다.

EvtDeviceDefaultEndpointAdd

클라이언트 드라이버의 EVT_UFX_DEVICE_DEFAULT_ENDPOINT_ADD 콜백 루틴에 대한 포인터입니다.

EvtDeviceUsbStateChange

클라이언트 드라이버의 EVT_UFX_DEVICE_USB_STATE_CHANGE 콜백 루틴에 대한 포인터입니다.

EvtDevicePortChange

클라이언트 드라이버의 EVT_UFX_DEVICE_PORT_CHANGE 콜백 루틴에 대한 포인터입니다.

EvtDevicePortDetect

클라이언트 드라이버의 EVT_UFX_DEVICE_PORT_DETECT 콜백 루틴에 대한 포인터입니다.

EvtDeviceRemoteWakeupSignal

클라이언트 드라이버의 EVT_UFX_DEVICE_REMOTE_WAKEUP_SIGNAL 콜백 루틴에 대한 포인터입니다.

EvtDeviceControllerReset

클라이언트 드라이버의 EVT_UFX_DEVICE_CONTROLLER_RESET 콜백 루틴에 대한 포인터입니다.

EvtDeviceTestModeSet

클라이언트 드라이버의 EVT_UFX_DEVICE_TEST_MODE_SET 콜백 루틴에 대한 포인터입니다.

EvtDeviceTestHook

예약되어 있습니다. NULL로 설정해야 합니다.

EvtDeviceSuperSpeedPowerFeature

클라이언트 드라이버의 EVT_UFX_DEVICE_SUPER_SPEED_POWER_FEATURE 콜백 루틴에 대한 포인터입니다.

EvtDeviceProprietaryChargerDetect

클라이언트 드라이버의 EVT_UFX_DEVICE_DETECT_PROPRIETARY_CHARGER 콜백 루틴에 대한 포인터입니다.

EvtDeviceProprietaryChargerSetProperty

클라이언트 드라이버의 EVT_UFX_DEVICE_PROPRIETARY_CHARGER_SET_PROPERTY 콜백 루틴에 대한 포인터입니다.

EvtDeviceProprietaryChargerReset

클라이언트 드라이버의 EVT_UFX_DEVICE_PROPRIETARY_CHARGER_RESET 콜백 루틴에 대한 포인터입니다.

설명

클라이언트 드라이버는 UFX_DEVICE_CALLBACKS_INIT 매크로를 사용하여 UFX_DEVICE_CALLBACKS 구조를 초기화한 다음 UfxDeviceCreate 내보내기 함수를 호출하기 전에 구조체 필드를 적절한 이벤트 콜백 루틴으로 설정해야 합니다.

요구 사항

요구 사항
헤더 ufxclient.h