Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Quando MiniportIdleNotification é chamado, o driver de miniporta USB chama IoCallDriver para emitir um pacote de pedido de I/O (IRP) para uma solicitação ociosa USB (IOCTL_INTERNAL_USB_SUBMIT_IDLE_NOTIFICATION) para o driver do barramento USB subjacente. O driver de miniporta emite esse IRP para informar ao controlador do barramento USB que o adaptador de rede está ocioso e deve ser suspenso.
O driver de miniporta USB deve fornecer uma rotina de retorno de chamada IRP para a requisição de inatividade USB. O driver do barramento USB chama essa rotina quando determina que o adaptador de rede pode ser suspenso e transitado a um estado de baixa potência.
Observação Depois de o driver de barramento USB manipular a solicitação IRP ocioso do USB, ele chama a rotina de retorno de chamada de forma síncrona no contexto da chamada para IoCallDriver ou de forma assíncrona após MiniportIdleNotification voltar.
A rotina de retorno de chamada só precisa executar NdisMIdleNotificationConfirm para notificar o NDIS de que pode continuar com a transição para o estado de baixa potência do adaptador de rede. Quando o driver chama NdisMIdleNotificationConfirm, ele também deve especificar o menor estado de energia 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 baixa potência. Para obter mais informações, consulte Lidar com a notificação de ociosidade de suspensão seletiva do NDIS.
A seguir, um exemplo de uma rotina de retorno de chamada para a IRP de solicitação de inatividade do 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 obter mais informações sobre a rotina de retorno de chamada de solicitação de inatividade USB, consulte a Rotina de retorno de chamada de IRP da Solicitação de Inatividade USB.