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