função de retorno de chamada EVT_UDECX_USB_DEVICE_SET_FUNCTION_SUSPEND_AND_WAKE (udecxusbdevice.h)

A extensão de classe de emulação de dispositivo USB (UdeCx) invoca essa função de retorno de chamada quando obtém uma solicitação para alterar o estado de função da interface especificada do dispositivo USB 3.0 virtual.

Sintaxe

EVT_UDECX_USB_DEVICE_SET_FUNCTION_SUSPEND_AND_WAKE EvtUdecxUsbDeviceSetFunctionSuspendAndWake;

NTSTATUS EvtUdecxUsbDeviceSetFunctionSuspendAndWake(
  [in] WDFDEVICE UdecxWdfDevice,
  [in] UDECXUSBDEVICE UdecxUsbDevice,
  [in] ULONG Interface,
  [in] UDECX_USB_DEVICE_FUNCTION_POWER FunctionPower
)
{...}

Parâmetros

[in] UdecxWdfDevice

Um identificador para um objeto de dispositivo de estrutura que representa o controlador ao qual o dispositivo USB está anexado. O driver do cliente inicializou esse objeto em uma chamada anterior para UdecxWdfDeviceAddUsbDeviceEmulation.

[in] UdecxUsbDevice

Um identificador para o objeto do dispositivo UDE. O driver cliente criou esse objeto em uma chamada anterior para UdecxUsbDeviceCreate.

[in] Interface

Esse valor é o bInterfaceNumber da interface que está acordando.

[in] FunctionPower

Um valor de tipo UDECX_USB_DEVICE_FUNCTION_POWER que indica se a interface pode suspender e enviar o sinal de ativação para o controlador host.

Retornar valor

Se a operação for bem-sucedida, a função de retorno de chamada deverá retornar STATUS_SUCCESS ou outro valor status para o qual NT_SUCCESS(status) é igual a TRUE.

Comentários

O driver cliente registrou a função em uma chamada anterior para UdecxUsbDeviceInitSetStateChangeCallbacks fornecendo um ponteiro de função para sua implementação.

Na implementação do retorno de chamada, espera-se que o driver do cliente para o dispositivo USB execute etapas para entrar no estado de trabalho.

Essa função de retorno de chamada de evento se aplica a dispositivos USB 3.0+. O UdeCx invoca essa função para notificar o driver cliente de uma solicitação para alterar o estado de energia de uma função específica. Ele também informa ao driver se a função pode ou não ser ativada do novo estado.

A solicitação de energia pode ser concluída de forma assíncrona retornando STATUS_PENDING e, posteriormente, concluindo-a chamando UdecxUsbDeviceSetFunctionSuspendAndWakeComplete com o código de conclusão real.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 10
Servidor mínimo com suporte Windows Server 2016
Plataforma de Destino Windows
Versão mínima do KMDF 1.15
Cabeçalho udecxusbdevice.h (inclua Udecx.h)
IRQL <=DISPATCH_LEVEL

Confira também

Arquitetura: UDE (Emulação de Dispositivo USB)

Escrever um driver de cliente UDE