// ufxclient.h
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;
View the official Windows Driver Kit DDI referenceNo description available.
The UFX_DEVICE_CALLBACKS structure is used to define then event callback functions supported by the client driver.
SizeThe size of the UFX_DEVICE_CALLBACKS structure.
EvtDeviceHostConnectA pointer to the client driver’s EVT_UFX_DEVICE_HOST_CONNECT callback routine.
EvtDeviceHostDisconnectA pointer to the client driver’s EVT_UFX_DEVICE_HOST_DISCONNECT callback routine.
EvtDeviceAddressedA pointer to the client driver’s EVT_UFX_DEVICE_ADDRESSED callback routine.
EvtDeviceEndpointAddA pointer to the client driver’s EVT_UFX_DEVICE_ENDPOINT_ADD callback routine.
EvtDeviceDefaultEndpointAddA pointer to the client driver’s EVT_UFX_DEVICE_DEFAULT_ENDPOINT_ADD callback routine.
EvtDeviceUsbStateChangeA pointer to the client driver’s EVT_UFX_DEVICE_USB_STATE_CHANGE callback routine.
EvtDevicePortChangeA pointer to the client driver’s EVT_UFX_DEVICE_PORT_CHANGE callback routine.
EvtDevicePortDetectA pointer to the client driver’s EVT_UFX_DEVICE_PORT_DETECT callback routine.
EvtDeviceRemoteWakeupSignalA pointer to the client driver’s EVT_UFX_DEVICE_REMOTE_WAKEUP_SIGNAL callback routine.
EvtDeviceControllerResetA pointer to the client driver’s EVT_UFX_DEVICE_CONTROLLER_RESET callback routine.
EvtDeviceTestModeSetA pointer to the client driver’s EVT_UFX_DEVICE_TEST_MODE_SET callback routine.
EvtDeviceTestHookReserved. Should be set to NULL.
EvtDeviceSuperSpeedPowerFeatureA pointer to the client driver’s EVT_UFX_DEVICE_SUPER_SPEED_POWER_FEATURE callback routine.
EvtDeviceProprietaryChargerDetectA pointer to the client driver’s EVT_UFX_DEVICE_DETECT_PROPRIETARY_CHARGER callback routine.
EvtDeviceProprietaryChargerSetPropertyA pointer to the client driver’s EVT_UFX_DEVICE_PROPRIETARY_CHARGER_SET_PROPERTY callback routine.
EvtDeviceProprietaryChargerResetA pointer to the client driver’s EVT_UFX_DEVICE_PROPRIETARY_CHARGER_RESET callback routine.
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.