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


Функция UfxDevicePortDetectCompleteEx (ufxclient.h)

Уведомляет UFX об обнаруженном типе порта и при необходимости запрашивает действие.

Синтаксис

void UfxDevicePortDetectCompleteEx(
  [in] UFXDEVICE       UfxDevice,
  [in] USBFN_PORT_TYPE PortType,
  [in] USBFN_ACTION    Action
);

Параметры

[in] UfxDevice

Дескриптор объекта устройства UFX, созданного драйвером путем вызова UfxDeviceCreate.

[in] PortType

Содержит значение перечисления типа USBFN_PORT_TYPE.

[in] Action

Содержит значение перечисления типа USBFN_ACTION.

Возвращаемое значение

None

Remarks

Драйвер клиента вызывает UfxDevicePortDetectCompleteEx после завершения обнаружения порта, как правило, из функции обратного вызова EVT_UFX_DEVICE_PORT_DETECT . На некоторых платформах UFX может использовать указанный тип порта для уведомления диспетчера батареи о максимальном значении текущего тока, который он может получить из USB-порта.

Если для параметра Action задано значение UsbfnActionNoCad, UFX вообще не уведомляет диспетчер батареи.

Если параметр Action имеет значение UsbfnActionDetectProprietaryCharger, UFX запрашивает, чтобы драйвер клиента инициировал обнаружение собственного зарядного устройства, вызвав функцию обратного вызова EVT_UFX_DEVICE_DETECT_PROPRIETARY_CHARGER драйвера клиента.

В следующем фрагменте кода показано, как драйвер клиента вызывает UfxDevicePortDetectCompleteEx.

    switch (OnAttach.AttachAction) {
    case UsbfnPortDetected:
        TraceInformation("Port Detected");
        UfxDevicePortDetectComplete(
            ControllerData->UfxDevice,
            OnAttach.PortType);

        break;

    case UsbfnPortDetectedNoCad:
        TraceInformation("Port Detected No CAD");
        UfxDevicePortDetectCompleteEx(
            ControllerData->UfxDevice,
            OnAttach.PortType,
            UsbfnActionNoCad);

        break;


Требования

Требование Значение
Минимальная версия клиента Windows 10
Целевая платформа Windows
Header ufxclient.h
Библиотека ufxstub.lib
IRQL DISPATCH_LEVEL