Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
[Применимо к KMDF и UMDF]
Метод WdfUsbTargetDeviceResetPortSynchronous сбрасывает USB-порт, связанный с указанным USB-устройством.
Синтаксис
NTSTATUS WdfUsbTargetDeviceResetPortSynchronously(
[in] WDFUSBDEVICE UsbDevice
);
Параметры
[in] UsbDevice
Дескриптор объекта USB-устройства, полученный из предыдущего вызова WdfUsbTargetDeviceCreateWithParameters.
Возвращаемое значение
WdfUsbTargetDeviceResetPortSynchronous возвращает значение состояния завершения целевого объекта ввода-вывода USB в случае успешного выполнения операции. В противном случае этот метод может вернуть одно из следующих значений:
Возвращаемый код | Описание |
---|---|
|
IrQL вызывающего абонента был недопустим. |
Этот метод также может возвращать другие значения NTSTATUS.
Ошибка возникает, если драйвер предоставляет недопустимый дескриптор объекта.
Замечания
Метод WdfUsbTargetDeviceResetPortSynchronous сбрасывает USB-порт, отправив запрос IOCTL_INTERNAL_USB_RESET_PORT.
Перед сбросом USB-порта целевого объекта ввода-вывода платформа отменяет все запросы ввода-вывода, оставшиеся в очереди целевого объекта ввода-вывода. Драйвер не должен отправлять дополнительные запросы ввода-вывода в целевой объект ввода-вывода, пока WdfUsbTargetDeviceResetPortSynchronous.
Драйвер должен вызывать WdfIoTargetStop перед вызовом WdfUsbTargetDeviceResetPortSynchronous. После WdfUsbTargetDeviceResetPortSynchronous возвращается, драйвер может вызывать WdfIoTargetStart.
После успешной операции сброса драйвер шины переизбирает конфигурацию и любые альтернативные параметры интерфейса, которые устройство имело до операции сброса.
Дополнительные сведения о методе WdfUsbTargetDeviceResetPortSynchronous и целевых объектов USB-ввода-вывода см. в целевых объектов USB-ввода-вывода.
Примеры
В следующем примере кода сбрасывается USB-порт указанного устройства.
NTSTATUS status;
status = WdfUsbTargetDeviceResetPortSynchronously(UsbDevice);
Требования
Требование | Ценность |
---|---|
целевая платформа | Всеобщий |
минимальная версия KMDF | 1.0 |
минимальная версия UMDF | 2.0 |
заголовка | wdfusb.h (include 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) |