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


функция обратного вызова EVT_UFX_DEVICE_PORT_CHANGE (ufxclient.h)

Реализация драйвера клиента для обновления типа нового порта, к которому подключено USB-устройство.

Синтаксис

EVT_UFX_DEVICE_PORT_CHANGE EvtUfxDevicePortChange;

void EvtUfxDevicePortChange(
  [in] UFXDEVICE unnamedParam1,
  [in] USBFN_PORT_TYPE unnamedParam2
)
{...}

Параметры

[in] unnamedParam1

Дескриптор объекта USB-устройства, который драйвер клиента получил при предыдущем вызове UfxDeviceCreate.

[in] unnamedParam2

Флаг типа USBFN_PORT_STATE, указывающий тип нового порта.

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

None

Remarks

Драйвер клиента для контроллера узла функции регистрирует свою реализацию EVT_UFX_DEVICE_PORT_CHANGE с расширением класса функций USB (UFX), вызывая метод UfxDeviceCreate .

UFX вызывает этот обратный вызов события, чтобы сообщить драйверу клиента о новом состоянии устройства.

Драйвер клиента указывает на завершение этого события путем вызова метода UfxDeviceEventComplete .

Примеры


EVT_UFX_DEVICE_PORT_CHANGE UfxDevice_EvtDevicePortChange;

VOID
UfxDevice_EvtDevicePortChange (
    _In_        UFXDEVICE UfxDevice,
    _In_        USBFN_PORT_TYPE NewPort
    )
/*++

Routine Description:

    EvtDevicePortChange handler for the UFXDEVICE object.
    Caches the new port type, and stops or resumes idle as needed.

Arguments:

    UfxDevice - UFXDEVICE object representing the device.

    NewPort - New port type

--*/
{
    NTSTATUS Status;
    PUFXDEVICE_CONTEXT Context;

    PAGED_CODE();

    TraceEntry();

    Context = UfxDeviceGetContext(UfxDevice);

    TraceInformation("New PORT: %d", NewPort);

    //
    //  #### TODO: Insert code to examine the device USB state and port type 
    //      and determine if it needs to stop or resume idle.


    UfxDeviceEventComplete(UfxDevice, STATUS_SUCCESS);
    TraceExit();
}

Требования

Требование Значение
Целевая платформа Windows
Минимальная версия KMDF 1,0
Минимальная версия UMDF 2,0
Верхняя часть ufxclient.h
IRQL PASSIVE_LEVEL

См. также раздел

UfxDeviceCreate

UfxDeviceEventComplete