IOCTL_INTERNAL_USB_SUBMIT_IDLE_NOTIFICATION IOCTL (usbioctl.h)
La richiesta di I/O IOCTL_INTERNAL_USB_SUBMIT_IDLE_NOTIFICATION viene usata dai driver per informare il driver del bus USB che un dispositivo è inattivo e può essere sospeso.
Quando si invia questo IOCTL, il chiamante deve fornire una routine di callback che esegue la sospensione effettiva del dispositivo. Il driver del bus USB chiamerà questa routine al PASSIVE_LEVEL quando è sicuro che il dispositivo venga spento. Se il dispositivo supporta la riattivazione remota e non dispone già di IRP di attesa/riattivazione in sospeso, la routine di callback deve inviare un IRP di attesa/riattivazione al driver del bus per il dispositivo, prima di spegnerlo.
Per altre informazioni, vedere Dispositivi di supporto con funzionalità di Wake-Up e sospensione selettiva USB.
IOCTL_INTERNAL_USB_SUBMIT_IDLE_NOTIFICATION è una richiesta di controllo I/O in modalità kernel. Questa richiesta è destinata all'hub USB PDO. Questa richiesta deve essere inviata a un IRQL di PASSIVE_LEVEL.
IRP_MJ_INTERNAL_DEVICE_CONTROL
Parameters.DeviceIoControl.Type3InputBuffer deve essere un puntatore a una struttura USB_IDLE_CALLBACK_INFO. Questa struttura deve contenere un puntatore alla routine di callback e un puntatore al contesto della routine di callback.
La struttura che contiene le informazioni di callback è definita in usbioctl.h come indicato di seguito:
typedef VOID (*USB_IDLE_CALLBACK)(PVOID Context);
typedef struct _USB_IDLE_CALLBACK_INFO
{
USB_IDLE_CALLBACK IdleCallback;
PVOID IdleContext;
} USB_IDLE_CALLBACK_INFO, *PUSB_IDLE_CALLBACK_INFO;
Dimensione di una struttura USB_IDLE_CALLBACK_INFO.
Nessuno.
Nessuno.
Il driver bus o porta imposta Irp->IoStatus.Status su STATUS_SUCCESS o sullo stato di errore appropriato.
Requisito | Valore |
---|---|
intestazione | usbioctl.h (include Usbioctl.h) |