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. |