Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Quando MiniportIdleNotification é chamado, o driver de miniporta USB chama IoCallDriver para emitir um pacote de solicitação de E/S (IRP) para um pedido de inatividade USB (IOCTL_INTERNAL_USB_SUBMIT_IDLE_NOTIFICATION) para o driver de barramento USB subjacente. O driver de miniporta emite este IRP para informar o controlador de barramento USB que o adaptador de rede está ocioso e necessita ser suspenso.
O driver de miniporta USB deve fornecer uma rotina de retorno de chamada IRP para o IRP de solicitação ociosa USB. O driver de barramento USB chama essa rotina quando determina que o adaptador de rede pode ser suspenso e transferido para um estado de baixo consumo de energia.
Observação Depois que o driver de barramento USB lida com o IRP de solicitação inativa USB, ele invoca a rotina de retorno de chamada de forma síncrona no contexto da chamada para IoCallDriver ou de forma assíncrona após MiniportIdleNotification retornar.
A rotina de retorno de chamada só precisa chamar NdisMIdleNotificationConfirm para notificar o NDIS de que ele pode continuar com a transição de estado de baixo consumo de energia do adaptador de rede. Quando o driver chama NdisMIdleNotificationConfirm, ele também deve especificar o estado de energia mais baixo do dispositivo para o qual o adaptador de rede pode fazer a transição.
No contexto da chamada para NdisMIdleNotificationConfirm, o NDIS executa as etapas necessárias para fazer a transição do adaptador de rede para um estado de baixo consumo de energia. Para obter mais informações, consulte Tratamento da notificação de inatividade da suspensão seletiva do NDIS.
A seguir está um exemplo de uma rotina de retorno de chamada para um IRP de solicitação ociosa USB.
//
// MiniportUsbIdleRequestCallback()
//
// This is the USB selective suspend idle notification. All that is
// needed is to inform NDIS that the USB stack is ready to go to a
// low-power state. Be aware that USB devices will always be requested
// to transition to a power state of NdisDeviceStateD2.
//
VOID MiniportUsbIdleRequestCallback(PVOID AdapterContext)
{
NdisMIdleNotificationConfirm(
AdapterContext->MiniportAdapterHandle,
NdisDeviceStateD2
);
return;
}
Para mais informações sobre a rotina de retorno de chamada IRP de solicitação ociosa USB, consulte a Rotina de Retorno de Chamada de Solicitação Ociosa USB.