Note

Access to this page requires authorization. You can try signing in or .

Access to this page requires authorization. You can try .

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

Feedback

Was this page helpful?

Additional resources