Informazioni di riferimento sul driver USB

Panoramica della tecnologia di riferimento del driver USB.

Per sviluppare informazioni di riferimento sul driver USB, sono necessarie queste intestazioni:

Per indicazioni sulla programmazione per questa tecnologia, vedere:

IOCTL

 
IOCTL_GENERICUSBFN_ACTIVATE_USB_BUS

Questo codice di controllo I/O (IOCTL) viene inviato da un servizio o un'applicazione in modalità utente per notificare GenericUSBFn.sys di attivare il bus seriale universale (USB). Dopo l'attivazione, il bus è pronto per elaborare gli eventi del bus e gestire il traffico.
IOCTL_GENERICUSBFN_BUS_EVENT_NOTIFICATION

Questo codice di controllo I/O (IOCTL) viene inviato da un servizio o da un'applicazione in modalità utente per la registrazione per l'evento USB (Universal Serial Bus).
IOCTL_GENERICUSBFN_CONTROL_STATUS_HANDSHAKE_IN

Questo codice di controllo I/O (IOCTL) viene inviato da un servizio in modalità utente o da un'applicazione per richiedere un handshake dello stato del controllo di lunghezza zero sull'endpoint 0 nella direzione IN.
IOCTL_GENERICUSBFN_CONTROL_STATUS_HANDSHAKE_OUT

Questo codice di controllo di I/O (IOCTL) viene inviato da un servizio o da un'applicazione in modalità utente per completare un handshake di stato di controllo di lunghezza zero sull'endpoint 0 nella direzione OUT.
IOCTL_GENERICUSBFN_DEACTIVATE_USB_BUS

Questo codice IOCTL è supportato da nevtot.
IOCTL_GENERICUSBFN_GET_CLASS_INFO

Questo codice di controllo I/O (IOCTL) viene inviato dal servizio o dall'applicazione in modalità utente per recuperare informazioni sulle pipe disponibili di un dispositivo come configurato nel Registro di sistema.
IOCTL_GENERICUSBFN_GET_CLASS_INFO_EX

Questo codice di controllo I/O (IOCTL) viene inviato da un servizio o da un'applicazione in modalità utente per recuperare informazioni sulle pipe disponibili di un dispositivo come configurato nel Registro di sistema.
IOCTL_GENERICUSBFN_GET_INTERFACE_DESCRIPTOR_SET

Questo codice di controllo I/O (IOCTL) viene inviato da un servizio o da un'applicazione in modalità utente per ottenere l'intero descrittore di interfaccia impostato per una funzione nel dispositivo. Questa richiesta IOCTL non recupera il descrittore di interfaccia impostato per l'intero dispositivo. Descrittore di interfaccia USB (Universal Serial Bus) impostato per una funzione nel dispositivo.
IOCTL_GENERICUSBFN_GET_PIPE_STATE

Questo codice di controllo I/O (IOCTL) viene inviato da un servizio o da un'applicazione in modalità utente per ottenere lo stato della pipe USB (Universal Serial Bus) specificata.
IOCTL_GENERICUSBFN_REGISTER_USB_STRING

Questo codice di controllo I/O (IOCTL) viene inviato da un servizio o da un'applicazione in modalità utente per registrare un descrittore di stringa. Descrittore di stringa USB (Universal Serial Bus).
IOCTL_GENERICUSBFN_SET_PIPE_STATE

Questo codice di controllo I/O (IOCTL) viene inviato da un servizio o da un'applicazione in modalità utente per impostare lo stato della pipe USB (Universal Serial Bus) specificata.
IOCTL_GENERICUSBFN_TRANSFER_IN

Questo codice di controllo I/O (IOCTL) viene inviato da un servizio o da un'applicazione in modalità utente per eseguire un trasferimento in direzione nell'endpoint che corrisponde all'ID pipe specificato nel buffer di input. (IOCTL_GENERICUSBFN_TRANSFER_IN)
IOCTL_GENERICUSBFN_TRANSFER_IN_APPEND_ZERO_PKT

Questo codice di controllo I/O (IOCTL) viene inviato da un servizio o da un'applicazione in modalità utente per eseguire un trasferimento in direzione nell'endpoint che corrisponde all'ID pipe specificato nel buffer di input. (IOCTL_GENERICUSBFN_TRANSFER_IN_APPEND_ZERO_PKT)
IOCTL_GENERICUSBFN_TRANSFER_OUT

Questo codice di controllo I/O (IOCTL) viene inviato da un servizio o da un'applicazione in modalità utente per eseguire un trasferimento in uscita sull'endpoint che corrisponde all'ID pipe specificato nel buffer di input.
IOCTL_GET_HCD_DRIVERKEY_NAME

La IOCTL_GET_HCD_DRIVERKEY_NAME richiesta di controllo di I/O recupera il nome della chiave del driver nel Registro di sistema per un driver del controller host USB.
IOCTL_USB_DIAGNOSTIC_MODE_OFF

Il controllo I/O IOCTL_USB_DIAGNOSTIC_MODE_OFF è stato deprecato. Non usare.
IOCTL_USB_DIAGNOSTIC_MODE_ON

Il controllo di I/O IOCTL_USB_DIAGNOSTIC_MODE_ON è stato deprecato. Non usare.
IOCTL_USB_GET_ROOT_HUB_NAME

La IOCTL_USB_GET_ROOT_HUB_NAME richiesta di controllo di I/O viene usata con la struttura USB_ROOT_HUB_NAME per recuperare il nome del collegamento simbolico dell'hub radice. IOCTL_USB_GET_ROOT_HUB_NAME è una richiesta di controllo di I/O in modalità utente.
IOCTL_USB_USER_REQUEST

La richiesta di controllo I/O IOCTL_USB_USER_REQUEST è disponibile sia per le applicazioni in modalità utente che per i driver in modalità kernel.

Enumerazioni

 
USB_USER_ERROR_CODE

L'enumerazione USB_USER_ERROR_CODE elenca i codici di errore segnalati da una richiesta in modalità utente USB in caso di errore.
WDMUSB_POWER_STATE

L'enumerazione WDMUSB_POWER_STATE indica lo stato di alimentazione di un controller host o di un hub radice.

Funzioni

 
WinUsb_AbortPipe

La funzione WinUsb_AbortPipe interrompe tutti i trasferimenti in sospeso per una pipe. Si tratta di un'operazione sincrona.
WinUsb_ControlTransfer

La funzione WinUsb_ControlTransfer trasmette i dati di controllo su un endpoint di controllo predefinito.
WinUsb_FlushPipe

La funzione WinUsb_FlushPipe elimina tutti i dati memorizzati nella cache in una pipe. Si tratta di un'operazione sincrona.
WinUsb_Free

La funzione WinUsb_Free rilascia tutte le risorse WinUsb_Initialize allocate. Si tratta di un'operazione sincrona.
WinUsb_GetAdjustedFrameNumber

La funzione WinUsb_GetAdjustedFrameNumber calcola il numero di frame USB corrente in base al valore del numero di fotogramma e al timestamp.
WinUsb_GetAssociatedInterface

La funzione WinUsb_GetAssociatedInterface recupera un handle per un'interfaccia associata. Si tratta di un'operazione sincrona.
WinUsb_GetCurrentAlternateSetting

La funzione WinUsb_GetCurrentAlternateSetting ottiene l'impostazione dell'interfaccia alternativa corrente per un'interfaccia. Si tratta di un'operazione sincrona.
WinUsb_GetCurrentFrameNumber

La funzione WinUsb_GetCurrentFrameNumber ottiene il numero di fotogramma corrente per l'autobus.
WinUsb_GetCurrentFrameNumberAndQpc

La funzione WinUsb_GetCurrentFrameNumberAndQpc recupera il valore QPC (System Query Performance Counter) sincronizzato con il frame e il microframe.
WinUsb_GetDescriptor

La funzione WinUsb_GetDescriptor restituisce il descrittore richiesto. Si tratta di un'operazione sincrona.
WinUsb_GetOverlappedResult

La funzione WinUsb_GetOverlappedResult recupera i risultati di un'operazione sovrapposta nel file specificato.
WinUsb_GetPipePolicy

La funzione WinUsb_GetPipePolicy recupera i criteri per una pipe specifica associata a un endpoint nel dispositivo. Si tratta di un'operazione sincrona.
WinUsb_GetPowerPolicy

La funzione WinUsb_GetPowerPolicy recupera i criteri di alimentazione per un dispositivo. Si tratta di un'operazione sincrona.
WinUsb_Initialize

La funzione WinUsb_Initialize crea un handle WinUSB per il dispositivo specificato da un handle di file.
WinUsb_QueryDeviceInformation

La funzione WinUsb_QueryDeviceInformation ottiene informazioni sul dispositivo fisico associato a un handle di interfaccia WinUSB.
WinUsb_QueryInterfaceSettings

La funzione WinUsb_QueryInterfaceSettings recupera il descrittore dell'interfaccia per le impostazioni di interfaccia alternative specificate per un handle di interfaccia specifico.
WinUsb_QueryPipe

La funzione WinUsb_QueryPipe recupera informazioni sull'endpoint specificato e sulla pipe associata per un'interfaccia.
WinUsb_QueryPipeEx

La funzione WinUsb_QueryPipeEx recupera informazioni estese sull'endpoint specificato e sulla pipe associata per un'interfaccia.
WinUsb_ReadIsochPipe

La funzione WinUsb_ReadIsochPipe legge i dati da un endpoint OUT isochronous.
WinUsb_ReadIsochPipeAsap

La funzione WinUsb_ReadIsochPipeAsap invia una richiesta che legge i dati da un endpoint OUT isochronous.
WinUsb_ReadPipe

La funzione WinUsb_ReadPipe legge i dati dalla pipe specificata.
WinUsb_RegisterIsochBuffer

La funzione WinUsb_RegisterIsochBuffer registra un buffer da usare per i trasferimenti isochronous.
WinUsb_ResetPipe

La funzione WinUsb_ResetPipe reimposta l'interruttore dei dati e cancella la condizione di stalla su una pipe.
WinUsb_SetCurrentAlternateSetting

La funzione WinUsb_SetCurrentAlternateSetting imposta l'impostazione alternativa di un'interfaccia.
WinUsb_SetPipePolicy

La funzione WinUsb_SetPipePolicy imposta i criteri per una pipe specifica associata a un endpoint nel dispositivo. Si tratta di un'operazione sincrona.
WinUsb_SetPowerPolicy

La funzione WinUsb_SetPowerPolicy imposta i criteri di alimentazione per un dispositivo.
WinUsb_StartTrackingForTimeSync

La funzione WinUsb_StartTrackingForTimeSync avvia la funzionalità di sincronizzazione dell'ora nello stack di driver USB che ottiene il tempo QPC del sistema associato per i fotogrammi e i microframe del bus USB.
WinUsb_StopTrackingForTimeSync

La funzione WinUsb_StopTrackingForTimeSync top la funzionalità di sincronizzazione dell'ora nello stack di driver USB che ottiene il tempo QPC del sistema associato per i fotogrammi del bus USB e i microframe.
WinUsb_UnregisterIsochBuffer

La funzione WinUsb_UnregisterIsochBuffer rilascia tutte le risorse WinUsb_RegisterIsochBuffer allocate per i trasferimenti isochrono. Si tratta di un'operazione sincrona.
WinUsb_WriteIsochPipe

La funzione WinUsb_WriteIsochPipe scrive il contenuto di un buffer fornito dal chiamante in un endpoint OUT isochronous, a partire da un numero di frame specificato.
WinUsb_WriteIsochPipeAsap

Il WinUsb_WriteIsochPipeAsap invia una richiesta per scrivere il contenuto di un buffer in un endpoint OUT isochronous.
WinUsb_WritePipe

La funzione WinUsb_WritePipe scrive i dati in una pipe.

Strutture

 
USB_BANDWIDTH_INFO

La struttura USB_BANDWIDTH_INFO viene usata con la richiesta di controllo I/O di IOCTL_USB_USER_REQUEST per recuperare informazioni sulla larghezza di banda allocata.
USB_BUS_STATISTICS_0

La struttura USB_BUS_STATISTICS_0 viene usata con la richiesta di controllo I/O di IOCTL_USB_USER_REQUEST per recuperare le statistiche del bus.
USB_CLOSE_RAW_DEVICE_PARAMETERS

Questa struttura non è supportata. La struttura USB_CLOSE_RAW_DEVICE_PARAMETERS viene usata con la richiesta di controllo I/O di IOCTL_USB_USER_REQUEST per chiudere l'accesso non elaborato ai dispositivi sul bus.
USB_CONTROLLER_INFO_0

La struttura USB_CONTROLLER_INFO_0 viene usata con la richiesta di controllo di I/O di IOCTL_USB_USER_REQUEST per recuperare informazioni sul controller host USB.
USB_DRIVER_VERSION_PARAMETERS

La struttura USB_DRIVER_VERSION_PARAMETERS viene usata con la richiesta di controllo I/O di IOCTL_USB_USER_REQUEST per recuperare le informazioni sulla versione.
USB_PASS_THRU_PARAMETERS

La struttura USB_PASS_THRU_PARAMETERS viene usata con la richiesta di controllo I/O di IOCTL_USB_USER_REQUEST per passare un comando specifico del fornitore al driver miniport del controller host.
USB_POWER_INFO

La struttura USB_POWER_INFO viene usata con la richiesta di controllo I/O di IOCTL_USB_USER_REQUEST per recuperare lo stato di alimentazione del controller host specificato per lo stato di alimentazione del sistema indicato.
USB_UNICODE_NAME

La struttura USB_UNICODE_NAME contiene una stringa Unicode che specifica un nome di collegamento simbolico.
USBUSER_BANDWIDTH_INFO_REQUEST

La struttura USBUSER_BANDWIDTH_INFO_REQUEST viene usata con la richiesta di controllo I/O di IOCTL_USB_USER_REQUEST per recuperare informazioni sulla larghezza di banda allocata.
USBUSER_BUS_STATISTICS_0_REQUEST

La struttura USBUSER_BUS_STATISTICS_0_REQUEST viene usata con la richiesta di controllo I/O di IOCTL_USB_USER_REQUEST per recuperare le statistiche del bus.
USBUSER_CONTROLLER_UNICODE_NAME

La struttura USBUSER_CONTROLLER_UNICODE_NAME viene usata insieme alla richiesta di controllo I/O di IOCTL_USB_USER_REQUEST per recuperare il nome della chiave chiave del driver del controller host USB.
USBUSER_GET_DRIVER_VERSION

La struttura USBUSER_GET_DRIVER_VERSION viene usata con la richiesta di controllo I/O di IOCTL_USB_USER_REQUEST per leggere le informazioni sulla versione del driver e dell'interfaccia.
USBUSER_PASS_THRU_REQUEST

La struttura USBUSER_PASS_THRU_REQUEST viene usata insieme alla richiesta di controllo I/O di IOCTL_USB_USER_REQUEST per inviare un comando specifico del fornitore al driver miniport del controller host.
USBUSER_POWER_INFO_REQUEST

La struttura USBUSER_POWER_INFO_REQUEST viene usata insieme alla richiesta di controllo I/O di IOCTL_USB_USER_REQUEST per recuperare le informazioni sui criteri di alimentazione relative alla relazione di uno stato di sistema specifico allo stato di alimentazione del controller host e dell'hub radice.
USBUSER_REQUEST_HEADER

La struttura USBUSER_REQUEST_HEADER viene usata con la richiesta di controllo I/O di IOCTL_USB_USER_REQUEST per inviare una richiesta in modalità utente al driver del controller host USB.
WINUSB_PIPE_INFORMATION

La struttura WINUSB_PIPE_INFORMATION contiene informazioni sulla pipe recuperate dalla routine WinUsb_QueryPipe.
WINUSB_PIPE_INFORMATION_EX

La struttura WINUSB_PIPE_INFORMATION_EX contiene informazioni sulla pipe recuperate dalla routine WinUsb_QueryPipeEx.
WINUSB_SETUP_PACKET

La struttura WINUSB_SETUP_PACKET descrive un pacchetto di configurazione USB.