Oggetti UFX e handle usati da un driver client di funzione USB

L'estensione della classe di funzione USB (UFX) usa la funzionalità dell'oggetto WDF per definire questi oggetti UFX specifici di USB.

Riepilogo

  • Gli oggetti UFX vengono usati dal driver del controller di funzione per gestire i trasferimenti da e verso gli endpoint.
  • Questi oggetti sono handle per gli oggetti WDF e vengono creati da UFX alla richiesta del driver client. La durata di ogni oggetto viene gestita da UFX.

API importanti

L'estensione della classe di funzione USB (UFX) usa la funzionalità dell'oggetto WDF per definire questi oggetti UFX specifici di USB.

Questi oggetti sono handle per gli oggetti WDF e vengono creati da UFX alla richiesta del driver client di funzione. Facoltativamente, il driver client può associare un contesto a questi oggetti che possono essere passati al momento della creazione. Ogni oggetto WDF creato da UFX può potenzialmente avere due contesti di dispositivo: un contesto del dispositivo impostato da UFX al momento della creazione dell'oggetto; l'altro contesto del dispositivo passato dal driver client e viene impostato in UFX usando WdfObjectAllocateContext dopo la creazione dell'oggetto WDF.

UFXDEVICE: oggetto dispositivo USB

Rappresenta il dispositivo USB creato dal controller. L'oggetto è responsabile della gestione degli stati USB in base alla specifica del protocollo USB e alla gestione di uno o più endpoint associati al dispositivo USB. Il driver del controller di funzione crea questo oggetto all'interno del callback EvtDriverDeviceAdd chiamando il metodo UfxDeviceCreate .


EVT_UFX_DEVICE_HOST_CONNECT Avvia la connessione con l'host.


EVT_UFX_DEVICE_HOST_DISCONNECT Disabilita la comunicazione del controller di funzione con l'host.


EVT_UFX_DEVICE_ADDRESSED Assegna un indirizzo nel controller di funzione.


EVT_UFX_DEVICE_ENDPOINT_ADD Crea un oggetto endpoint predefinito.


EVT_UFX_DEVICE_DEFAULT_ENDPOINT_ADD Crea un oggetto endpoint predefinito.


EVT_UFX_DEVICE_USB_STATE_CHANGE Aggiornare lo stato del dispositivo USB.


EVT_UFX_DEVICE_PORT_CHANGE Aggiornare il tipo della nuova porta a cui è connesso il dispositivo USB.


EVT_UFX_DEVICE_PORT_DETECT Avviare il rilevamento delle porte.


EVT_UFX_DEVICE_REMOTE_WAKEUP_SIGNAL avviare la riattivazione remota nel controller di funzione.


EVT_UFX_DEVICE_DETECT_PROPRIETARY_CHARGER Avvia il rilevamento del caricatore proprietario.


EVT_UFX_DEVICE_PROPRIETARY_CHARGER_RESET Reimposta il caricatore proprietario.


EVT_UFX_DEVICE_PROPRIETARY_CHARGER_SET_PROPERTY Imposta le informazioni sul caricatore usate per abilitare la ricarica tramite USB.

UFXENDPOINT: oggetto endpoint USB

Rappresenta una connessione logica tra l'host e il dispositivo. L'oggetto è responsabile del trasferimento di dati da/verso l'host. Per ogni oggetto dispositivo possono essere presenti uno o più endpoint. L'endpoint predefinito è sempre l'endpoint di controllo e il resto sono oggetti specifici del driver di classe. Il driver del controller di funzione crea l'oggetto nel callback EVT_UFX_DEVICE_ENDPOINT_ADD chiamando il metodo UfxEndpointCreate .