Функция WdfUsbTargetDeviceResetPortSynchronously (wdfusb.h)
[Относится к KMDF и UMDF]
Метод WdfUsbTargetDeviceResetPortSynchronously сбрасывает USB-порт, связанный с указанным USB-устройством.
Синтаксис
NTSTATUS WdfUsbTargetDeviceResetPortSynchronously(
[in] WDFUSBDEVICE UsbDevice
);
Параметры
[in] UsbDevice
Дескриптор объекта USB-устройства, полученный при предыдущем вызове WdfUsbTargetDeviceCreateWithParameters.
Возвращаемое значение
WdfUsbTargetDeviceResetPortSynchronously возвращает значение состояния завершения целевого объекта ввода-вывода USB, если операция выполнена успешно. В противном случае этот метод может вернуть одно из следующих значений:
Код возврата | Описание |
---|---|
|
IrQL вызывающего абонента был недопустим. |
Этот метод также может возвращать другие значения NTSTATUS.
Ошибка проверка возникает, если драйвер предоставляет недопустимый дескриптор объекта.
Комментарии
Метод WdfUsbTargetDeviceResetPortSynchronously сбрасывает USB-порт, отправляя запрос IOCTL_INTERNAL_USB_RESET_PORT .
Перед сбросом USB-порта целевого объекта ввода-вывода платформа отменяет все запросы ввода-вывода, которые остаются в очереди целевого объекта ввода-вывода. Драйвер не должен отправлять дополнительные запросы ввода-вывода в целевой объект ввода-вывода до тех пор, пока не будет возвращено значение WdfUsbTargetDeviceResetPortSynchronously .
Драйвер должен вызвать WdfIoTargetStop , прежде чем вызывать WdfUsbTargetDeviceResetPortSynchronously. После возврата WdfUsbTargetDeviceResetPortSynchronously драйвер может вызвать WdfIoTargetStart.
После успешной операции сброса драйвер шины повторно выберите конфигурацию и все альтернативные параметры интерфейса, которые были у устройства до операции сброса.
Дополнительные сведения о методе WdfUsbTargetDeviceResetPortSynchronously и целевых объектах USB-ввода-вывода см. в разделе Целевые объекты ввода-вывода USB.
Примеры
В следующем примере кода выполняется сброс USB-порта указанного устройства.
NTSTATUS status;
status = WdfUsbTargetDeviceResetPortSynchronously(UsbDevice);
Требования
Требование | Значение |
---|---|
Целевая платформа | Универсальное |
Минимальная версия KMDF | 1,0 |
Минимальная версия UMDF | 2,0 |
Верхняя часть | wdfusb.h (включая Wdfusb.h) |
Библиотека | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | PASSIVE_LEVEL |
Правила соответствия DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), UsbKmdfIrql(kmdf), UsbKmdfIrql2(kmdf), UsbKmdfIrqlExplicit(kmdf) |