USBFN_SET_DEVICE_STATE funzione di callback (usbfnattach.h)
Implementazione del driver di filtro per impostare lo stato del dispositivo e la velocità del bus operativo.
Sintassi
USBFN_SET_DEVICE_STATE UsbfnSetDeviceState;
NTSTATUS UsbfnSetDeviceState(
[in] PVOID Context,
[in] USBFN_DEVICE_STATE DeviceState,
[in] USBFN_BUS_SPEED BusSpeed
)
{...}
Parametri
[in] Context
Puntatore a un contesto definito dal driver.
[in] DeviceState
Flag USBFN_DEVICE_STATE tipizzato che indica lo stato del dispositivo.
[in] BusSpeed
Flag USBFN_BUS_SPEED tipizzato che indica la velocità del bus.
Valore restituito
Se l'operazione ha esito positivo, la funzione di callback deve restituire STATUS_SUCCESS o un altro valore di stato per cui NT_SUCCESS(status) è TRUE. In caso contrario, deve restituire un valore di stato per il quale NT_SUCCESS(status) è uguale a FALSE.
Commenti
Per supportare il rilevamento di collegamento e scollegamento, il driver di filtro inferiore USB deve pubblicarne il supporto. Durante il processo di pubblicazione, il driver registra anche l'implementazione di questa funzione di callback. Per altre informazioni, vedere Driver di filtro USB per il supporto di caricatori proprietari.
Il driver di filtro inferiore potrebbe implementare un USBFN_SET_DEVICE_STATE anche una funzione di callback se richiede la notifica delle modifiche dello stato del dispositivo per configurare correttamente la ricarica quando è collegata a un host o in scenari di laboratorio in cui la ricarica tramite USB deve essere disabilitata.
Esempio
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;
}
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Windows |
Versione KMDF minima | 1.0 |
Versione UMDF minima | 2,0 |
Intestazione | usbfnattach.h |
IRQL | PASSIVE_LEVEL |