Visão geral das indicações de status do motivo de ativação do NDIS
A partir do NDIS 6.30, os drivers de miniporto emitem um motivo de ativação do NDIS status indicação (NDIS_STATUS_PM_WAKE_REASON) para notificar o NDIS e os drivers sobre o motivo de um evento de ativação do sistema. Se o adaptador de rede gerar um evento de ativação, o driver de miniporte emitirá imediatamente um NDIS status indicação de NDIS_STATUS_PM_WAKE_REASON quando o adaptador de rede for retomado para um estado de energia total.
Nota O suporte para o motivo da ativação do NDIS status indicações são opcionais para drivers de miniporta de Banda Larga Móvel (MB).
O driver de miniporta é configurado com parâmetros de PM (gerenciamento de energia) por meio de uma solicitação de conjunto de OID (identificador de objeto) de OID_PM_PARAMETERS. Essa solicitação OID especifica os parâmetros do PM por meio de uma estrutura NDIS_PM_PARAMETERS .
A estrutura NDIS_PM_PARAMETERS especifica os parâmetros para os seguintes tipos de eventos de ativação.
Eventos de ativação de pacote recebidos
O adaptador de rede gerará um evento de ativação se receber um pacote que corresponda a um padrão WOL (wake-on-LAN). Os padrões WOL incluem o seguinte:
Padrões WOL independentes de mídia, como pacotes mágicos ou padrões de dados TCP/IP dentro do conteúdo do pacote. Por exemplo, a estrutura NDIS_PM_PARAMETERS pode especificar um padrão WOL para um quadro TCP SYN.
Padrões WOL específicos da mídia, como um pacote de identificador de solicitação EAPOL ou mensagem SMS (Serviço de Mensagens Curtas) de banda larga móvel (MB).
Padrões curinga que correspondem a um filtro de recebimento especificado por meio de uma solicitação de conjunto de OID de OID_GEN_CURRENT_PACKET_FILTER.
Nota Para esse tipo de motivo de ativação status indicação, o adaptador de rede deve ser capaz de salvar o pacote recebido. O driver deve retornar o pacote recebido dentro da indicação status.
Os padrões WOL são especificados por meio do membro EnabledWoLPacketPatterns da estrutura NDIS_PM_PARAMETERS .
Eventos de ativação específicos da mídia
O adaptador de rede gera um evento de ativação devido a um motivo específico da mídia, como uma desassociação de um AP (ponto de acesso) 802.11 ou o recebimento de uma mensagem sms (serviço de mensagem curta) de banda larga móvel (MB).
Eventos de ativação desse tipo são especificados por meio do membro MediaSpecificWakeUpEvents da estrutura NDIS_PM_PARAMETERS .
Eventos de ativação independentes de mídia
O adaptador de rede gera um evento de ativação devido a um motivo independente de mídia, como conexão de mídia ou desconexão.
Eventos de ativação desse tipo são especificados por meio do membro WakeUpFlags da estrutura NDIS_PM_PARAMETERS .
O driver de miniporta deve seguir estas diretrizes para o motivo da ativação do NDIS status indicações:
Se o driver de miniporta der suporte à capacidade de emitir indicações de pacote de ativação, ele deverá relatar essa capacidade quando o NDIS chamar a função MiniportInitializeEx do driver. Para obter mais informações, consulte Reporting Wake Reason Status Indication Capabilities.
Nota O driver de miniporto não precisa relatar sua capacidade de emitir motivo de ativação do NDIS status indicações para eventos que não estão relacionados ao recebimento de um pacote WOL.
Quando o driver de miniporta emite uma indicação de pacote de ativação para um pacote WOL, ele deve incluir o pacote que causou o evento de ativação. Para obter mais informações, consulte Emitindo indicações de status de motivo de ativação do NDIS.
Se o adaptador de rede gerou um sinal de ativação, o driver de miniporta deverá emitir uma indicação NDIS_STATUS_PM_WAKE_REASON status. O driver faz isso enquanto está tratando a solicitação de conjunto de OID de OID_PNP_SET_POWER para a transição para um estado de energia total.
O driver de miniporta deve emitir uma indicação NDIS_STATUS_PM_WAKE_REASON status antes de emitir uma indicação de status relacionada ao evento de ativação. Por exemplo, se o evento de ativação foi devido a uma alteração no estado de conectividade de mídia, o driver de miniporto deve emitir um NDIS_STATUS_LINK_STATE status indicação depois de ter emitido a indicação NDIS_STATUS_PM_WAKE_REASON status.
O driver de miniporta deve inserir uma indicação NDIS_STATUS_PM_WAKE_REASON status somente para eventos de gerenciamento de energia que foram habilitados anteriormente por meio de uma solicitação de conjunto OID de OID_PM_PARAMETERS.
O driver de miniporta deve emitir uma indicação NDIS_STATUS_PM_WAKE_REASON status somente para eventos de ativação que foram gerados pelo adaptador de rede subjacente.