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 du bus d’exploitation.
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 USBFN_DEVICE_STATE-typé qui indique l’état de l’appareil.
[in] BusSpeed
Indicateur USBFN_BUS_SPEED-typé qui indique la vitesse du bus.
Valeur de retour
Si l’opération réussit, la fonction de rappel doit retourner STATUS_SUCCESS, ou une autre valeur d’état pour laquelle NT_SUCCESS(status) a la valeur TRUE. Sinon, il doit retourner une valeur d’état pour laquelle NT_SUCCESS(status) a la valeur 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 inscrit également son implémentation de cette fonction de rappel. Pour plus d’informations, consultez pilote de filtre USB pour prendre en charge les 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 la notification des modifications d’état de l’appareil pour configurer correctement la charge lorsqu’elle est attachée à un hôte, ou dans les scénarios de laboratoire où la charge via USB doit être désactivée.
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;
}
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Windows |
version minimale de KMDF | 1.0 |
version minimale de UMDF | 2.0 |
d’en-tête | usbfnattach.h |
IRQL | PASSIVE_LEVEL |
Voir aussi
pilote de filtre USB pour prendre en charge les chargeurs propriétaires