Справочник по usb-драйверам
Обзор эталонной технологии драйвера USB.
Для разработки справочника по usb-драйверу требуются следующие заголовки:
Рекомендации по программированию для этой технологии см. в следующих разделах:
Функции IOCTL
IOCTL_GENERICUSBFN_ACTIVATE_USB_BUS Этот код управления вводом-выводом (IOCTL) отправляется службой или приложением пользовательского режима, чтобы уведомить GenericUSBFn.sys об активации универсальной последовательной шины (USB). После активации автобус готовится к обработке событий в шине и обработке трафика. |
IOCTL_GENERICUSBFN_BUS_EVENT_NOTIFICATION Этот код управления вводом-выводом (IOCTL) отправляется службой или приложением пользовательского режима для регистрации события универсальной последовательной шины (USB). |
IOCTL_GENERICUSBFN_CONTROL_STATUS_HANDSHAKE_IN Этот код элемента управления вводом-выводом (IOCTL) отправляется службой или приложением пользовательского режима для запроса подтверждения состояния элемента управления нулевой длины на конечной точке 0 в направлении IN. |
IOCTL_GENERICUSBFN_CONTROL_STATUS_HANDSHAKE_OUT Этот код элемента управления ввода-вывода (IOCTL) отправляется службой или приложением пользовательского режима для завершения подтверждения состояния элемента управления нулевой длины на конечной точке 0 в направлении OUT. |
IOCTL_GENERICUSBFN_DEACTIVATE_USB_BUS Этот код IOCTL поддерживается невтот. |
IOCTL_GENERICUSBFN_GET_CLASS_INFO Этот код управления вводом-выводом (IOCTL) отправляется службой или приложением пользовательского режима для получения сведений о доступных каналах устройства, настроенных в реестре. |
IOCTL_GENERICUSBFN_GET_CLASS_INFO_EX Этот код управления вводом-выводом (IOCTL) отправляется службой или приложением пользовательского режима для получения сведений о доступных каналах устройства, настроенных в реестре. |
IOCTL_GENERICUSBFN_GET_INTERFACE_DESCRIPTOR_SET Этот управляющий код ввода-вывода (IOCTL) отправляется службой или приложением пользовательского режима, чтобы получить весь набор дескрипторов интерфейса для функции на устройстве. Этот запрос IOCTL не получает дескриптор интерфейса, заданный для всего устройства. Дескриптор интерфейса USB, заданный для функции на устройстве. |
IOCTL_GENERICUSBFN_GET_PIPE_STATE Этот код управления вводом-выводом (IOCTL) отправляется службой или приложением пользовательского режима для получения состояния указанного канала УНИВЕРСАЛЬНОй последовательной шины (USB). |
IOCTL_GENERICUSBFN_REGISTER_USB_STRING Этот управляющий код ввода-вывода (IOCTL) отправляется службой или приложением пользовательского режима для регистрации дескриптора строки. Дескриптор строки универсальной последовательной шины (USB). |
IOCTL_GENERICUSBFN_SET_PIPE_STATE Этот код управления вводом-выводом (IOCTL) отправляется службой или приложением пользовательского режима для установки состояния указанного канала УНИВЕРСАЛЬНОй последовательной шины (USB). |
IOCTL_GENERICUSBFN_TRANSFER_IN Этот код управления вводом-выводом (IOCTL) отправляется службой или приложением пользовательского режима для выдачи передачи направления IN на конечной точке, которая соответствует указанному идентификатору канала во входном буфере. (IOCTL_GENERICUSBFN_TRANSFER_IN) |
IOCTL_GENERICUSBFN_TRANSFER_IN_APPEND_ZERO_PKT Этот код управления вводом-выводом (IOCTL) отправляется службой или приложением пользовательского режима для выдачи передачи направления IN на конечной точке, которая соответствует указанному идентификатору канала во входном буфере. (IOCTL_GENERICUSBFN_TRANSFER_IN_APPEND_ZERO_PKT) |
IOCTL_GENERICUSBFN_TRANSFER_OUT Этот управляющий код ввода-вывода (IOCTL) отправляется службой или приложением пользовательского режима для передачи направления OUT на конечной точке, соответствующей указанному идентификатору канала во входном буфере. |
IOCTL_GET_HCD_DRIVERKEY_NAME Запрос IOCTL_GET_HCD_DRIVERKEY_NAME управления вводом-выводом получает имя ключа драйвера в реестре для драйвера usb-контроллера узла. |
IOCTL_USB_DIAGNOSTIC_MODE_OFF Элемент управления IOCTL_USB_DIAGNOSTIC_MODE_OFF ввода-вывода устарел. Не используйте. |
IOCTL_USB_DIAGNOSTIC_MODE_ON Элемент управления IOCTL_USB_DIAGNOSTIC_MODE_ON ввода-вывода устарел. Не используйте. |
IOCTL_USB_GET_ROOT_HUB_NAME Запрос IOCTL_USB_GET_ROOT_HUB_NAME управления вводом-выводом используется со структурой USB_ROOT_HUB_NAME для получения символьного имени ссылки корневого концентратора. IOCTL_USB_GET_ROOT_HUB_NAME — это запрос на управление вводом-выводом в пользовательском режиме. |
IOCTL_USB_USER_REQUEST Запрос IOCTL_USB_USER_REQUEST управления вводом-выводом доступен как для приложений в пользовательском режиме, так и для драйверов режима ядра. |
Перечисления
USB_USER_ERROR_CODE Перечисление USB_USER_ERROR_CODE содержит коды ошибок, которые сообщает запрос в пользовательском режиме USB при сбое. |
WDMUSB_POWER_STATE Перечисление WDMUSB_POWER_STATE указывает состояние питания контроллера узла или корневого концентратора. |
Функции
WinUsb_AbortPipe Функция WinUsb_AbortPipe прерывает все ожидающие передачи для канала. Это синхронная операция. |
WinUsb_ControlTransfer Функция WinUsb_ControlTransfer передает данные управления через конечную точку управления по умолчанию. |
WinUsb_FlushPipe Функция WinUsb_FlushPipe удаляет все данные, кэшированные в канале. Это синхронная операция. |
WinUsb_Free Функция WinUsb_Free освобождает все ресурсы, которые WinUsb_Initialize выделены. Это синхронная операция. |
WinUsb_GetAdjustedFrameNumber Функция WinUsb_GetAdjustedFrameNumber вычисляет текущий номер кадра USB на основе значения номера кадра и метки времени. |
WinUsb_GetAssociatedInterface Функция WinUsb_GetAssociatedInterface извлекает дескриптор для связанного интерфейса. Это синхронная операция. |
WinUsb_GetCurrentAlternateSetting Функция WinUsb_GetCurrentAlternateSetting получает текущий параметр альтернативного интерфейса для интерфейса. Это синхронная операция. |
WinUsb_GetCurrentFrameNumber Функция WinUsb_GetCurrentFrameNumber получает текущий номер кадра для шины. |
WinUsb_GetCurrentFrameNumberAndQpc Функция WinUsb_GetCurrentFrameNumberAndQpc извлекает значение счетчика производительности системных запросов (QPC), синхронизированное с кадром и микрофреймом. |
WinUsb_GetDescriptor Функция WinUsb_GetDescriptor возвращает запрошенный дескриптор. Это синхронная операция. |
WinUsb_GetOverlappedResult Функция WinUsb_GetOverlappedResult извлекает результаты перекрываемой операции с указанным файлом. |
WinUsb_GetPipePolicy Функция WinUsb_GetPipePolicy извлекает политику для определенного канала, связанного с конечной точкой на устройстве. Это синхронная операция. |
WinUsb_GetPowerPolicy Функция WinUsb_GetPowerPolicy извлекает политику питания для устройства. Это синхронная операция. |
WinUsb_Initialize Функция WinUsb_Initialize создает дескриптор WinUSB для устройства, указанного дескриптором файла. |
WinUsb_QueryDeviceInformation Функция WinUsb_QueryDeviceInformation получает сведения о физическом устройстве, связанном с дескриптором интерфейса WinUSB. |
WinUsb_QueryInterfaceSettings Функция WinUsb_QueryInterfaceSettings извлекает дескриптор интерфейса для указанных альтернативных параметров интерфейса для определенного дескриптора интерфейса. |
WinUsb_QueryPipe Функция WinUsb_QueryPipe извлекает сведения о указанной конечной точке и связанном канале для интерфейса. |
WinUsb_QueryPipeEx Функция WinUsb_QueryPipeEx извлекает расширенные сведения о указанной конечной точке и связанном канале для интерфейса. |
WinUsb_ReadIsochPipe Функция WinUsb_ReadIsochPipe считывает данные из изохронной конечной точки OUT. |
WinUsb_ReadIsochPipeAsap Функция WinUsb_ReadIsochPipeAsap отправляет запрос, который считывает данные из изохронной конечной точки OUT. |
WinUsb_ReadPipe Функция WinUsb_ReadPipe считывает данные из указанного канала. |
WinUsb_RegisterIsochBuffer Функция WinUsb_RegisterIsochBuffer регистрирует буфер, используемый для изохронной передачи. |
WinUsb_ResetPipe Функция WinUsb_ResetPipe сбрасывает переключатель данных и очищает состояние остановки в канале. |
WinUsb_SetCurrentAlternateSetting Функция WinUsb_SetCurrentAlternateSetting задает альтернативный параметр интерфейса. |
WinUsb_SetPipePolicy Функция WinUsb_SetPipePolicy задает политику для определенного канала, связанного с конечной точкой на устройстве. Это синхронная операция. |
WinUsb_SetPowerPolicy Функция WinUsb_SetPowerPolicy задает политику питания для устройства. |
WinUsb_StartTrackingForTimeSync Функция WinUsb_StartTrackingForTimeSync запускает функцию синхронизации времени в стеке драйверов USB, которая получает связанное системное время QPC для кадров и микрофреймов шины USB. |
WinUsb_StopTrackingForTimeSync Функция WinUsb_StopTrackingForTimeSync выполняет функцию синхронизации времени в стеке драйверов USB, которая получает связанное системное время QPC для кадров и микрофреймов шины USB. |
WinUsb_UnregisterIsochBuffer Функция WinUsb_UnregisterIsochBuffer освобождает все ресурсы, которые WinUsb_RegisterIsochBuffer выделены для изохронной передачи. Это синхронная операция. |
WinUsb_WriteIsochPipe Функция WinUsb_WriteIsochPipe записывает содержимое буфера, предоставленного вызывающим объектом, в изохронную конечную точку OUT, начиная с указанного номера кадра. |
WinUsb_WriteIsochPipeAsap WinUsb_WriteIsochPipeAsap отправляет запрос на запись содержимого буфера в изохронную конечную точку OUT. |
WinUsb_WritePipe Функция WinUsb_WritePipe записывает данные в канал. |
Структуры
USB_BANDWIDTH_INFO Структура USB_BANDWIDTH_INFO используется с запросом управления IOCTL_USB_USER_REQUEST ввода-вывода для получения сведений о выделенной пропускной способности. |
USB_BUS_STATISTICS_0 Структура USB_BUS_STATISTICS_0 используется с запросом управления IOCTL_USB_USER_REQUEST ввода-вывода для получения статистики по шине. |
USB_CLOSE_RAW_DEVICE_PARAMETERS Эта структура не поддерживается. Структура USB_CLOSE_RAW_DEVICE_PARAMETERS используется с запросом управления IOCTL_USB_USER_REQUEST ввода-вывода для закрытия необработанного доступа к устройствам в шине. |
USB_CONTROLLER_INFO_0 Структура USB_CONTROLLER_INFO_0 используется с запросом управления IOCTL_USB_USER_REQUEST ввода-вывода для получения сведений о контроллере узла USB. |
USB_DRIVER_VERSION_PARAMETERS Структура USB_DRIVER_VERSION_PARAMETERS используется с запросом управления IOCTL_USB_USER_REQUEST ввода-вывода для получения сведений о версии. |
USB_PASS_THRU_PARAMETERS Структура USB_PASS_THRU_PARAMETERS используется с запросом на управление IOCTL_USB_USER_REQUEST ввода-вывода для передачи конкретной команды поставщика драйверу мини-порта контроллера узла. |
USB_POWER_INFO Структура USB_POWER_INFO используется с запросом управления IOCTL_USB_USER_REQUEST ввода-вывода для получения состояния питания устройства, указанного политикой питания контроллера узла для указанного состояния системы. |
USB_UNICODE_NAME Структура USB_UNICODE_NAME содержит строку в Юникоде, указывающую символьное имя ссылки. |
USBUSER_BANDWIDTH_INFO_REQUEST Структура USBUSER_BANDWIDTH_INFO_REQUEST используется с запросом управления IOCTL_USB_USER_REQUEST ввода-вывода для получения сведений о выделенной пропускной способности. |
USBUSER_BUS_STATISTICS_0_REQUEST Структура USBUSER_BUS_STATISTICS_0_REQUEST используется с запросом управления IOCTL_USB_USER_REQUEST ввода-вывода для получения статистики по шине. |
USBUSER_CONTROLLER_UNICODE_NAME Структура USBUSER_CONTROLLER_UNICODE_NAME используется в сочетании с запросом управления IOCTL_USB_USER_REQUEST ввода-вывода для получения имени ключа драйвера контроллера узла USB. |
USBUSER_GET_DRIVER_VERSION Структура USBUSER_GET_DRIVER_VERSION используется с запросом управления IOCTL_USB_USER_REQUEST ввода-вывода для чтения сведений о версии драйвера и интерфейса. |
USBUSER_PASS_THRU_REQUEST Структура USBUSER_PASS_THRU_REQUEST используется в сочетании с запросом IOCTL_USB_USER_REQUEST управления вводом-выводом для отправки команды конкретного поставщика в драйвер мини-порта хост-контроллера. |
USBUSER_POWER_INFO_REQUEST Структура USBUSER_POWER_INFO_REQUEST используется в сочетании с запросом IOCTL_USB_USER_REQUEST управления вводом-выводом для получения сведений о политике управления питанием, касающихся связи конкретного состояния системы с состоянием питания контроллера узла и корневого концентратора. |
USBUSER_REQUEST_HEADER Структура USBUSER_REQUEST_HEADER используется с запросом IOCTL_USB_USER_REQUEST управления вводом-выводом для отправки запроса в пользовательском режиме в драйвер usb-контроллера узла. |
WINUSB_PIPE_INFORMATION Структура WINUSB_PIPE_INFORMATION содержит сведения о канале, которые извлекает подпрограмма WinUsb_QueryPipe. |
WINUSB_PIPE_INFORMATION_EX Структура WINUSB_PIPE_INFORMATION_EX содержит сведения о канале, которые извлекает подпрограмма WinUsb_QueryPipeEx. |
WINUSB_SETUP_PACKET Структура WINUSB_SETUP_PACKET описывает пакет настройки USB. |