Partager via


USBFN_SET_DEVICE_STATE fonction de rappel (usbfnattach.h)

Implémentation du pilote de filtre pour définir l’état de l’appareil et la vitesse de fonctionnement du bus.

Syntaxe

USBFN_SET_DEVICE_STATE UsbfnSetDeviceState;

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

Paramètres

[in] Context

Pointeur vers un contexte défini par le pilote.

[in] DeviceState

Indicateur de type USBFN_DEVICE_STATE qui indique l’état de l’appareil.

[in] BusSpeed

Indicateur USBFN_BUS_SPEED typé qui indique la vitesse du bus.

Valeur retournée

Si l’opération réussit, la fonction de rappel doit retourner STATUS_SUCCESS, ou une autre valeur status pour laquelle NT_SUCCESS(status) est égal à TRUE. Sinon, elle doit retourner une valeur de status pour laquelle NT_SUCCESS(status) est false.

Remarques

Pour prendre en charge la détection d’attachement et de détachement, le pilote de filtre inférieur USB doit publier sa prise en charge. Pendant le processus de publication, le pilote enregistre également son implémentation de cette fonction de rappel. Pour plus d’informations, consultez Pilote de filtre USB pour la prise en charge des chargeurs propriétaires.

Le pilote de filtre inférieur peut implémenter une fonction de rappel USBFN_SET_DEVICE_STATE même si elle nécessite une notification des modifications de l’état de l’appareil pour configurer correctement le chargement lorsqu’il est attaché à un hôte, ou dans les scénarios de laboratoire où le chargement via USB doit être désactivé.

Exemples

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;
}

Configuration requise

Condition requise Valeur
Plateforme cible Windows
Version KMDF minimale 1.0
Version UMDF minimale 2.0
En-tête usbfnattach.h
IRQL PASSIVE_LEVEL

Voir aussi

Pilote de filtre USB pour la prise en charge des chargeurs propriétaires