Compartilhar via


USBFN_SET_DEVICE_STATE função de retorno de chamada (usbfnattach.h)

A implementação do driver de filtro para definir o estado do dispositivo e a velocidade do barramento operacional.

Sintaxe

USBFN_SET_DEVICE_STATE UsbfnSetDeviceState;

NTSTATUS UsbfnSetDeviceState(
  [in] PVOID Context,
  [in] USBFN_DEVICE_STATE DeviceState,
  [in] USBFN_BUS_SPEED BusSpeed
)
{...}

Parâmetros

[in] Context

Um ponteiro para um contexto definido pelo driver.

[in] DeviceState

Um sinalizador do tipo USBFN_DEVICE_STATE que indica o estado do dispositivo.

[in] BusSpeed

Um sinalizador do tipo USBFN_BUS_SPEED que indica a velocidade do ônibus.

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. Caso contrário, ele deverá retornar um valor status para o qual NT_SUCCESS(status) é igual a FALSE.

Comentários

Para dar suporte à detecção de anexação e desanexação, o driver de filtro inferior USB deve publicar seu suporte. Durante o processo de publicação, o driver também registra sua implementação dessa função de retorno de chamada. Para obter mais informações, consulte Driver de filtro USB para dar suporte a carregadores proprietários.

O driver de filtro inferior poderá implementar uma função de retorno de chamada USBFN_SET_DEVICE_STATE mesmo se exigir a notificação de alterações de estado do dispositivo para configurar corretamente o carregamento quando anexado a um host ou em cenários de laboratório em que o carregamento via USB deve ser desabilitado.

Exemplos

NTSTATUS
UsbLowerFilter_SetDeviceState(
    _In_ PVOID Context,
    _In_ USBFN_DEVICE_STATE DeviceState,
    _In_ USBFN_BUS_SPEED BusSpeed
    )
{
    PPDCP_CONTEXT PdcpContext = NULL;

    PAGED_CODE();

    // Get our context
    PdcpContext = DeviceGetUsbLowerFilterContext((WDFDEVICE)Context);

    PdcpContext->CurrentDeviceState = DeviceState;
    PdcpContext->BusSpeed = BusSpeed;

    return STATUS_SUCCESS;
}

Requisitos

Requisito Valor
Plataforma de Destino Windows
Versão mínima do KMDF 1.0
Versão mínima do UMDF 2,0
Cabeçalho usbfnattach.h
IRQL PASSIVE_LEVEL

Confira também

Driver de filtro USB para dar suporte a carregadores proprietários