Partager via


Traitement des interrogations et définitions OID_PNP_Xxx

Le miniport virtuel d’un pilote intermédiaire doit exporter la fonction MiniportOidRequest. NDIS appelle la fonction MiniportOidRequest du pilote intermédiaire lorsqu’un pilote supérieur lié au miniport virtuel du pilote intermédiaire appelle NdisOidRequest pour interroger ou définir des objets d’informations (OID_Xxx). NDIS peut également appeler MiniportOidRequest pour son propre compte. Pour en savoir plus sur la gestion des pilotes de miniport de définitions et interrogations pour des objets d’informations, consultez Obtenir et définir des informations sur les pilotes de miniport et prise en charge de NDIS pour WMI.

Le pilote intermédiaire doit conserver des informations sur les fonctionnalités des adaptateurs miniport sous-jacents qu’il reçoit dans la fonction ProtocolBindAdapterEx. Si l’adaptateur de miniport n’est pas compatible avec la gestion de l’alimentation, NDIS définit le membre PowerManagementCapabilities de NDIS_BIND_PARAMETERS sur NULL.

Le pilote intermédiaire peut interroger ou définir un OID_Xxx géré par le pilote de miniport sous-jacent. Il le fait avec NdisOidRequest(si le pilote intermédiaire a un bord inférieur sans connexion) ou avec NdisCoOidRequest(si le pilote intermédiaire a un bord inférieur orienté connexion).

Un pilote intermédiaire doit gérer les interrogations et les définitions comme suit :

  • OID_PNP_CAPABILITIES

    En réponse à cette requête OID, les pilotes intermédiaires doivent signaler les fonctionnalités PnP des adaptateurs de miniport physiques sous-jacents. Il convient de noter que les adaptateurs de miniport pour les appareils physiques ne reçoivent pas cette requête OID.

    Le pilote intermédiaire reçoit les fonctionnalités PnP des adaptateurs de miniport sous-jacents dans les paramètres de liaison. Il doit les transmettre à des pilotes supérieurs selon les besoins de l’utilisation prévue du pilote intermédiaire. Les pilotes intermédiaires et les pilotes de miniport signalent les fonctionnalités PnP dans les attributs de l’adaptateur de miniport. Le pilote intermédiaire n’émet pas de requêtes OID_PNP_CAPABILITIES au pilote de miniport sous-jacent. Si l’adaptateur de miniport sous-jacent prend en charge la gestion de l’alimentation, dans la structure NDIS_PM_WAKE_UP_CAPABILITIES des attributs du miniport virtuel, le pilote intermédiaire doit spécifier un état d’alimentation de l’appareil de NdisDeviceStateUnspecified pour chaque fonctionnalité de sortie de veille :

    • MinMagicPacketWakeUp
    • MinPatternWakeUp
    • MinLinkChangeWakeUp

    Cette configuration indique que le pilote intermédiaire prend en charge la gestion de l’alimentation, mais ne peut pas sortir le système de la veille.

  • OID_PNP_QUERY_POWER et OID_PNP_SET_POWER

    Le pilote intermédiaire doit toujours renvoyer NDIS_STATUS_SUCCESS à une requête d’OID_PNP_QUERY_POWER ou à une définition d’OID_PNP_SET_POWER. Le pilote intermédiaire ne doit jamais propager l’une de ces requêtes OID au pilote de miniport sous-jacent.

  • « OIDs de sortie de veille »

    Si une carte d’interface réseau sous-jacente prend en charge la gestion de l’alimentation, le pilote intermédiaire doit transmettre au pilote de miniport sous-jacent (en appelant NdisOidRequest ou NdisCoOidRequest) les OID_PNP_Xxx suivants liés aux événements de sortie de veille :

    OID_PNP_ENABLE_WAKE_UP

    OID_PNP_ADD_WAKE_UP_PATTERN

    OID_PNP_REMOVE_WAKE_UP_PATTERN

    OID_PNP_WAKE_UP_PATTERN_LIST

    OID_PNP_WAKE_UP_ERROR

    OID_PNP_WAKE_UP_OK

Le pilote intermédiaire doit également propager la réponse du pilote de miniport sous-jacent à ces OID pour les pilotes de protocole sur-jacents.

Si l’adaptateur de miniport sous-jacent ne prend pas en charge la gestion de l’alimentation, le pilote de miniport définit le membre PowerManagementCapabilities de NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES sur NULL et NDIS définit le membre PowerManagementCapabilities de NDIS_BIND_PARAMETERS sur NULL.

Si un adaptateur miniport sous-jacent ne prend pas en charge la gestion de l’alimentation, le pilote intermédiaire doit renvoyer NDIS_STATUS_NOT_SUPPORTED en réponse à une interrogation ou à une définition de ces OID.