UFX_DEVICE_CALLBACKS structure (ufxclient.h)

The UFX_DEVICE_CALLBACKS structure is used to define then event callback functions supported by the client driver.

Syntax

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;

Members

Size

The size of the UFX_DEVICE_CALLBACKS structure.

EvtDeviceHostConnect

A pointer to the client driver’s EVT_UFX_DEVICE_HOST_CONNECT callback routine.

EvtDeviceHostDisconnect

A pointer to the client driver’s EVT_UFX_DEVICE_HOST_DISCONNECT callback routine.

EvtDeviceAddressed

A pointer to the client driver’s EVT_UFX_DEVICE_ADDRESSED callback routine.

EvtDeviceEndpointAdd

A pointer to the client driver’s EVT_UFX_DEVICE_ENDPOINT_ADD callback routine.

EvtDeviceDefaultEndpointAdd

A pointer to the client driver’s EVT_UFX_DEVICE_DEFAULT_ENDPOINT_ADD callback routine.

EvtDeviceUsbStateChange

A pointer to the client driver’s EVT_UFX_DEVICE_USB_STATE_CHANGE callback routine.

EvtDevicePortChange

A pointer to the client driver’s EVT_UFX_DEVICE_PORT_CHANGE callback routine.

EvtDevicePortDetect

A pointer to the client driver’s EVT_UFX_DEVICE_PORT_DETECT callback routine.

EvtDeviceRemoteWakeupSignal

A pointer to the client driver’s EVT_UFX_DEVICE_REMOTE_WAKEUP_SIGNAL callback routine.

EvtDeviceControllerReset

A pointer to the client driver’s EVT_UFX_DEVICE_CONTROLLER_RESET callback routine.

EvtDeviceTestModeSet

A pointer to the client driver’s EVT_UFX_DEVICE_TEST_MODE_SET callback routine.

EvtDeviceTestHook

Reserved. Should be set to NULL.

EvtDeviceSuperSpeedPowerFeature

A pointer to the client driver’s EVT_UFX_DEVICE_SUPER_SPEED_POWER_FEATURE callback routine.

EvtDeviceProprietaryChargerDetect

A pointer to the client driver’s EVT_UFX_DEVICE_DETECT_PROPRIETARY_CHARGER callback routine.

EvtDeviceProprietaryChargerSetProperty

A pointer to the client driver’s EVT_UFX_DEVICE_PROPRIETARY_CHARGER_SET_PROPERTY callback routine.

EvtDeviceProprietaryChargerReset

A pointer to the client driver’s EVT_UFX_DEVICE_PROPRIETARY_CHARGER_RESET callback routine.

Remarks

The client driver shall use the UFX_DEVICE_CALLBACKS_INIT macro to initialize the UFX_DEVICE_CALLBACKS structure, and then shall set fields of structure to the appropriate event callback routines prior to calling the UfxDeviceCreate export function.

Requirements

Requirement Value
Header ufxclient.h