Compartilhar via


OID_PNP_CAPABILITIES

O OID_PNP_CAPABILITIES OID solicita que um driver de miniporto retorne os recursos de ativação de seu adaptador de rede ou solicita que um driver intermediário retorne os recursos de ativação do driver intermediário. As funcionalidades de ativação são formatadas como uma estrutura NDIS_PNP_CAPABILITIES , que é definida da seguinte maneira:

    typedef struct _NDIS_PNP_CAPABILITIES {
         ULONG Flags;
         NDIS_PM_WAKE_UP_CAPABILITIES WakeUpCapabilities;
    } NDIS_PNP_CAPABILITIES, *PNDIS_PNP_CAPABILITIES;  

Os membros dessa estrutura contêm as seguintes informações:

Sinalizadores
NDIS_DEVICE_WAKE_UP_ENABLE

O NDIS define esse sinalizador se o driver de miniporto subjacente der suporte a uma ou mais funcionalidades de ativação. Os drivers de protocolo podem testar esse sinalizador para determinar se um driver de miniporta subjacente tem funcionalidades de ativação. Os drivers de miniporta não devem acessar esse sinalizador.

WakeUpCapabilities
Uma estrutura NDIS_PM_WAKE_UP_CAPABILITIES que especifica as funcionalidades de ativação do adaptador de rede do miniportor. A estrutura NDIS_PM_WAKE_UP_CAPABILITIES é definida da seguinte maneira:

typedef struct _NDIS_PM_WAKE_UP_CAPABILITIES {
         NDIS_DEVICE_POWER_STATE MinMagicPacketWakeUp;
         NDIS_DEVICE_POWER_STATE MinPatternWakeUp;
         NDIS_DEVICE_POWER_STATE MinLinkChangeWakeUp;
       } NDIS_PM_WAKE_UP_CAPABILITIES, *PNDIS_PM_WAKE_UP_CAPABILITIES;

Os membros dessa estrutura contêm as seguintes informações:

MinMagicPacketWakeUp
Especifica o estado de energia do dispositivo mais baixo do qual o adaptador de rede do miniportor pode sinalizar uma ativação no recebimento de um pacote mágico. (Um pacote mágico é um pacote que contém 16 cópias contíguas do endereço Ethernet do adaptador de rede receptor.) O estado de energia do dispositivo é especificado como um dos seguintes valores de NDIS_DEVICE_POWER_STATE :

NdisDeviceStateUnspecified
O adaptador de rede não dá suporte a ativações de pacote mágico.

NdisDeviceStateD0
O adaptador de rede pode sinalizar uma ativação de pacote mágico do estado de energia do dispositivo D0. Como D0 é o estado totalmente ligado, isso não causa uma ativação, mas pode ser usado como um evento em tempo de execução.

NdisDeviceStateD1
O adaptador de rede pode sinalizar uma ativação de pacote mágico dos estados de energia do dispositivo D1 e D0.

NdisDeviceStateD2
O adaptador de rede pode sinalizar uma ativação de pacote mágico dos estados do dispositivo D2, D1 e D0.

NdisDeviceStateD3
O adaptador de rede pode sinalizar uma ativação de pacote mágico dos estados de energia do dispositivo D3, D2, D1 e D0.

MinPatternWakeUp
Especifica o estado de energia do dispositivo mais baixo do qual o adaptador de rede do miniportor pode sinalizar um evento de ativação ao receber um quadro de rede que contém um padrão especificado pelo driver de protocolo. O estado de energia é especificado como um dos seguintes valores de NDIS_DEVICE_POWER_STATE :

NdisDeviceStateUnspecified
O adaptador de rede não dá suporte a ativações de correspondência de padrões.

NdisDeviceStateD0
O adaptador de rede pode sinalizar uma ativação de correspondência de padrões do estado de energia do dispositivo D0. Como D0 é o estado totalmente ligado, isso não causa uma ativação, mas pode ser usado como um evento em tempo de execução.

NdisDeviceStateD1
O adaptador de rede pode sinalizar uma ativação de correspondência de padrões dos estados de energia do dispositivo D1 e D0.

NdisDeviceStateD2
O adaptador de rede pode sinalizar uma ativação de correspondência de padrões dos estados de energia do dispositivo D2, D1 e D0.

NdisDeviceStateD3
O adaptador de rede pode sinalizar uma ativação de correspondência de padrões dos estados de energia do dispositivo D3, D2, D1 e D0.

MinLinkChangeWakeUp
Reservado. O NDIS ignora esse membro.

Para drivers de miniporta

Depois que o driver de miniporto concluir a inicialização, o driver de protocolo e o NDIS poderão consultar o driver de miniporto com esse OID para determinar o seguinte:

  • Se o driver de miniporta tem reconhecimento de PM.

  • Os recursos do adaptador de rede de indicar eventos de ativação de rede.

Se o driver de miniporto retornar NDIS_STATUS_SUCCESS a uma consulta de OID_PNP_CAPABILITIES, o NDIS considerará o driver de miniporto como com reconhecimento de PM. Se o driver de miniporta retornar NDIS_STATUS_NOT_SUPPORTED, o NDIS considerará o driver de miniporto como um driver de miniporto herdado que não tem reconhecimento de PM.

Ao chamar NdisMSetAttributesEx, um driver de miniporta que não dá suporte a recursos de ativação, mas que pode salvar e restaurar seu estado de adaptador de rede em uma transição de estado de energia pode definir o sinalizador NDIS_ATTRIBUTE_NO_HALT_ON_SUSPEND . Definir esse sinalizador impede que o NDIS chame a função MiniportHalt do driver antes que o sistema faça a transição para um estado de baixa potência (em suspensão). No entanto, se o driver de miniporto retornar NDIS_STATUS_NOT_SUPPORTED em resposta a uma OID_PNP_CAPABILITIES de consulta, o NDIS ignorará o sinalizador NDIS_ATTRIBUTE_NO_HALT_ON_SUSPEND e interromperá o adaptador de rede se o sistema entrar em um estado de baixa potência.

O adaptador de rede de um miniportor pode dar suporte a qualquer combinação de eventos de ativação, incluindo nenhum evento de ativação. Um driver de miniporta ainda pode dar suporte ao gerenciamento de energia mesmo que seu adaptador de rede não possa sinalizar eventos de ativação. Nesse caso, os únicos OIDs de gerenciamento de energia aos quais o driver de miniporto dá suporte, além de OID_PNP_CAPABILITIES, são OID_PNP_QUERY_POWER e OID_PNP_SET_POWER.

Se o adaptador de rede de um miniportor não der suporte a um evento de ativação específico, o driver de miniporto deverá indicar um valor NDIS_DEVICE_POWER_STATE de NdisDeviceStateUnspecified para o evento de ativação na estrutura NDIS_PM_WAKE_UP_CAPABILITIES .

OID_PNP_CAPABILITIES indica apenas os recursos de ativação do adaptador de rede de um miniportor; ele não habilita esses recursos. OID_PNP_ENABLE_WAKE_UP é usado para habilitar os recursos de ativação de um adaptador de rede.

Para drivers intermediários

Se o adaptador de rede subjacente tiver reconhecimento de PM, o driver intermediário deverá retornar NDIS_STATUS_SUCCESS a uma consulta de OID_PNP_CAPABILITIES. Na estrutura NDIS_PM_WAKE_UP_CAPABILITIES retornada por esse OID, o driver intermediário deve especificar um estado de energia do dispositivo de NdisDeviceStateUnspecified para cada funcionalidade de ativação ( MinMagicPacketWakeUp ou MinPatternWakeUp). Essa resposta indica que o driver intermediário tem reconhecimento de PM, mas não gerencia um dispositivo físico.

Se o adaptador de rede subjacente não tiver reconhecimento de PM, o driver intermediário deverá retornar NDIS_STATUS_NOT_SUPPORTED a uma consulta de OID_PNP_CAPABILITIES.

Nota Para obter informações sobre como os drivers de miniporto NDIS 6.20 e posteriores relatam recursos de gerenciamento de energia, consulte Reporting Power Management Capabilities.

Requisitos

Versão

Com suporte no NDIS 6.0 e NDIS 6.1. Para o NDIS 6.20 e posterior, use OID_PM_CURRENT_CAPABILITIES .

Cabeçalho

Ntddndis.h (inclua Ndis.h)

Confira também

NDIS_DEVICE_POWER_STATE

NdisMSetAttributesEx

OID_PM_CURRENT_CAPABILITIES

OID_PNP_ENABLE_WAKE_UP

OID_PNP_QUERY_POWER

OID_PNP_SET_POWER

Recursos de gerenciamento de energia de relatórios