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_STATEtipizzato che indica lo stato del dispositivo.
[in] BusSpeed
Flag USBFN_BUS_SPEEDtipizzato 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.
Osservazioni
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 supportare i caricabatterie proprietari.
Il driver di filtro inferiore potrebbe implementare una funzione di callback USBFN_SET_DEVICE_STATE anche se richiede la notifica delle modifiche dello stato del dispositivo per configurare correttamente l'addebito quando è collegato a un host o in scenari di laboratorio in cui la ricarica tramite USB deve essere disabilitata.
Esempi
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;
}
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Finestre |
versione minima di KMDF | 1.0 |
versione minima di UMDF | 2.0 |
intestazione | usbfnattach.h |
IRQL | PASSIVE_LEVEL |
Vedere anche
driver di filtro USB per supportare i caricabatterie proprietari