Поделиться через


Работа с USB-интерфейсами

Платформа представляет каждый USB-интерфейс в виде объекта USB-интерфейса платформы. Когда драйвер создает объект USB-устройства платформы, платформа создает объект USB-интерфейса платформы для каждого USB-интерфейса, который содержит первая конфигурация USB устройства.

Большинство USB-устройств имеют только один интерфейс, и интерфейс имеет только один альтернативный параметр. Драйверы для таких устройств обычно не должны использовать методы объекта, определяемые объектом USB-интерфейса платформы.

Если драйвер поддерживает USB-устройства, предоставляющие несколько интерфейсов или альтернативные параметры, методы объекта интерфейса позволяют драйверу выполнять следующие операции:

Получение сведений об интерфейсе

После того как драйвер вызвал WdfUsbTargetDeviceCreateWithParameters, он может вызвать WdfUsbTargetDeviceGetInterface, чтобы получить дескриптор объекта USB-интерфейса фреймворка, представляющего один из USB-интерфейсов устройства. Затем драйвер может вызвать несколько методов, которые определяет объект USB-интерфейса для получения сведений об USB-интерфейсе.

Драйвер может вызывать следующие методы в любое время после вызова WdfUsbTargetDeviceCreateWithParameters:

WdfUsbInterfaceGetInterfaceNumber
Возвращает номер USB-интерфейса, связанный с объектом USB-интерфейса.

WdfUsbInterfaceGetDescriptor
Извлекает дескриптор USB-интерфейса, связанный с одним из альтернативных параметров USB-интерфейса.

WdfUsbInterfaceGetNumEndpoints
Возвращает количество конечных точек, связанных с одним из альтернативных параметров USB-интерфейса.

WdfUsbInterfaceGetEndpointInformation
Извлекает сведения о конечной точке и связанном канале.

Драйвер может вызывать следующие методы после вызова WdfUsbTargetDeviceSelectConfig:

WdfUsbInterfaceGetConfiguredSettingIndex
Возвращает значение индекса, определяющее альтернативный параметр, выбранный в настоящее время для USB-интерфейса.

WdfUsbInterfaceGetNumConfiguredPipes
Возвращает количество каналов, настроенных для указанного интерфейса USB-устройства.

WdfUsbInterfaceGetConfiguredPipe
Возвращает дескриптор объекта канала фреймворка, связанного с указанным интерфейсом USB-устройства и индексом канала.

Выбор альтернативного параметра для USB-интерфейса

После вызова драйвера WdfUsbTargetDeviceCreateWithParameters драйвер может вызвать WdfUsbInterfaceGetNumSettings , чтобы получить количество альтернативных параметров, поддерживаемых USB-интерфейсом.

После вызова драйвера WdfUsbTargetDeviceSelectConfig для выбора конфигурации usb-устройства драйвер может вызвать WdfUsbInterfaceSelectSetting , чтобы выбрать альтернативный параметр для одного из USB-интерфейсов конфигурации.

Альтернативные параметры устройства должны быть нумерованы последовательно, начиная с нуля.

Дополнительные сведения см. в статье "Выбор альтернативного параметра в USB-интерфейсе".