structure NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES (ndis.h)

Un pilote miniport NDIS configure une structure NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES pour définir les attributs d’inscription associés à un adaptateur miniport.

Syntaxe

typedef struct _NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES {
  NDIS_OBJECT_HEADER  Header;
  NDIS_HANDLE         MiniportAdapterContext;
  ULONG               AttributeFlags;
  UINT                CheckForHangTimeInSeconds;
  NDIS_INTERFACE_TYPE InterfaceType;
} NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES, *PNDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES;

Membres

Header

Type, révision et taille de la structure NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES . Ce membre est mis en forme en tant que structure NDIS_OBJECT_HEADER .

Le pilote miniport doit définir le membre Type de l’en-tête sur NDIS_OBJECT_TYPE_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES. Pour spécifier la version de la structure NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES , le pilote doit définir le membre Révision de l’en-tête sur l’une des valeurs suivantes :

NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_2

Ajout d’indicateurs AttributeFlags pour NDIS 6.30.

Définissez le membre Size sur NDIS_SIZEOF_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_2.

NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_1

Version d’origine pour NDIS 6.0.

Définissez le membre Size sur NDIS_SIZEOF_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_1.

MiniportAdapterContext

Handle à une zone de contexte que le pilote miniport a allouée dans sa fonction MiniportInitializeEx . Le pilote miniport utilise cette zone de contexte pour conserver les informations d’état d’un adaptateur miniport.

AttributeFlags

Masque de bits d’indicateurs combinés à un OR au niveau du bit. Les pilotes miniportS NDIS doivent définir un ou plusieurs des indicateurs suivants :

NDIS_MINIPORT_ATTRIBUTES_HARDWARE_DEVICE

Définissez si le pilote miniport contrôle directement un appareil physique. L’appareil physique se voit attribuer des ressources matérielles telles que des interruptions, des ports d’E/S, des E/S mappées en mémoire ou des canaux DMA que le pilote miniport doit réclamer à partir du Fonction MiniportInitializeEx .

NDIS_MINIPORT_ATTRIBUTES_NDIS_WDM

Définissez si l’interface de niveau inférieur de l’adaptateur miniport est un pilote de bus WDM tel qu’USB ou IEEE 1394. Dans ce cas, le pilote miniport n’alloue pas de ressources matérielles telles que les ports d’E/S, les interruptions, les E/S mappées en mémoire ou les canaux DMA. Au lieu de cela, le pilote communique avec l’appareil via l’interface WDM du pilote de bus sous-jacent.

NDIS_MINIPORT_ATTRIBUTES_BUS_MASTER

Définissez si la carte réseau de l’appelant est un appareil DMA master bus.

NDIS_MINIPORT_ATTRIBUTES_NO_HALT_ON_SUSPEND

Définissez si NDIS ne doit pas appeler la fonction MiniportHaltEx d’un pilote miniport avant que le système passe à un état de faible consommation (mise en veille). Les pilotes qui s’appuient sur un état géré par le matériel ne doivent pas définir cet indicateur.

NDIS_MINIPORT_ATTRIBUTES_SURPRISE_REMOVE_OK

Définissez si le pilote miniport peut gérer la suppression de sa carte réseau sans notification utilisateur. Les pilotes NDIS reçoivent des notifications de suppression surprise au Fonction MiniportDevicePnPEventNotify .

NDIS_MINIPORT_ATTRIBUTES_NOT_CO_NDIS

Défini par un pilote miniport qui peut prendre en charge les appareils orientés connexion et sans connexion pour indiquer que l’appareil est un appareil sans connexion.

NDIS_MINIPORT_ATTRIBUTES_DO_NOT_BIND_TO_ALL_CO

Défini par un pilote miniport CoNDIS qui ne fournit pas de services TAPI. La définition de NDIS_MINIPORT_ATTRIBUTES_DO_NOT_BIND_TO_ALL_CO empêche NDIS de lier le pilote miniport au pilote proxy TAPI NDIS (NDPROXY). Par défaut, NDIS lie NDPROXY à tous les pilotes miniport CoNDIS.

NDIS_MINIPORT_ATTRIBUTES_CONTROLS_DEFAULT_PORT

Défini par un pilote miniport qui appelle la fonction NdisMNetPnPEvent pour activer son port par défaut. Si NDIS_MINIPORT_ATTRIBUTES_CONTROLS_DEFAULT_PORT n’est pas défini, le port par défaut est actif. NDIS ne lie pas les pilotes de protocole et n’attache pas de modules de filtre à un adaptateur miniport si son port par défaut n’est pas actif.

NDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND

À compter de NDIS 6.30, cet indicateur est défini si le pilote miniport peut passer à un état de faible puissance sans être suspendu.

Pour plus d’informations sur cet indicateur, consultez la section Remarques.

NDIS_MINIPORT_ATTRIBUTES_REGISTER_BUGCHECK_CALLBACK

À compter des miniports NDIS 6.30, NDIS n’appellera pas le gestionnaire MiniportShutdownEx du miniport pendant un BugCheck, sauf si cet indicateur est défini. La plupart des miniports ne doivent pas définir cet indicateur.

CheckForHangTimeInSeconds

Intervalle de délai d’attente, en secondes, auquel NDIS doit appeler le Fonction MiniportCheckForHangEx . Si un pilote miniport n’a pas répondu à une requête OID ou à une demande d’envoi au cours de deux appels successifs à MiniportCheckForHangEx, NDIS peut appeler la fonction MiniportResetEx du pilote miniport.

L’intervalle utilisé par NDIS lors de l’appel de MiniportCheckForHangEx est toujours un multiple de 2 secondes. Par exemple, si vous spécifiez 5 secondes, l’intervalle sera d’environ 4 secondes.

Si ce membre est 0, l’intervalle de délai d’attente par défaut est de 2 secondes.

Note L’intervalle de délai d’attente doit être supérieur au temps d’initialisation de votre pilote miniport. Pour plus d’informations, consultez Miniport Adapter Check-for-Hang and Reset Operations.
 

InterfaceType

Type d’interface de bus d’E/S de l’adaptateur miniport. Il s’agit généralement du type de bus d’E/S sur lequel l’adaptateur miniport est connecté. Les valeurs suivantes sont prises en charge dans NDIS 6.0 :

NdisInterfaceInternal

Spécifie une interface interne spécifique à l’hôte.

NdisInterfaceIsa

Spécifie l’interface ISA.

NdisInterfaceEisa

Spécifie l’interface ISA étendue (EISA). Ce type d’interface n’est pas pris en charge dans NDIS 6.0 et versions ultérieures.

NdisInterfaceMca

Fait référence au bus MCA, qui n’est plus pris en charge. Ce type d’interface n’est pas pris en charge dans NDIS 6.0 et versions ultérieures.

NdisInterfaceTurboChannel

Spécifie l’interface Turbo Channel.

NdisInterfacePci

Spécifie l’interface PCI (Peripheral Component Interconnect).

NdisInterfacePcMcia

Spécifie l’interface Personal Computer Memory Card International Association (CARTE PC).

NdisInterfaceCBus

Spécifie le CBus.

NdisInterfaceMPIBus

Spécifie le MPIBus.

NdisInterfaceMPSABus

Spécifie le MPSABus.

NdisInterfaceProcessorInternal

Spécifie le bus interne du processeur.

NdisInterfaceInternalPowerBus

Spécifie le bus d’alimentation interne.

NdisInterfacePNPISABus

Spécifie le PNPISABus.

NdisInterfacePNPBus

Spécifie le PNPBus.

Ce paramètre n’est pas pertinent pour les pilotes intermédiaires, qui doivent spécifier 0 pour ce membre.

Remarques

Un pilote miniport transmet un pointeur vers une structure de NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES dans le paramètre MiniportAttributes du Fonction NdisMSetMiniportAttributes . Un pilote miniport appelle NdisMSetMiniportAttributes à partir de sa fonction MiniportInitializeEx pendant l’initialisation.

Les pilotes miniport doivent définir les attributs dans NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES dès que possible dans MiniportInitializeEx. La définition de ces attributs est obligatoire.

indicateur NDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND

NDIS émet une requête OID de OID_PNP_SET_POWER au pilote miniport avant que l’adaptateur miniport sous-jacent ne soit passé à un état de faible consommation D1, D2 ou D3. Lorsque le pilote gère cet OID, il doit préparer l’adaptateur miniport pour la transition vers l’état d’alimentation inférieur et ne doit pas attendre l’achèvement des indications de paquet de réception en attente.

Dans certains cas, avant que NDIS n’envoie la requête OID de OID_PNP_SET_POWER au pilote miniport, NDIS appelle la fonction MiniportPause du pilote miniport comme décrit ci-dessous :

  • Si l’indicateur NDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND n’est pas défini, NDIS appelle la fonction MiniportPause du pilote miniport avant que la demande OID de OID_PNP_SET_POWER soit émise au pilote. Dans le contexte de l’appel MiniportPause , le pilote doit attendre la fin des indications de paquet de réception en attente.
  • Si l’indicateur NDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND est défini, NDIS n’appelle pas la fonction MiniportPause du pilote miniport avant l’émission de la demande OID de OID_PNP_SET_POWER au pilote. Lorsque le pilote miniport gère la requête OID, il ne doit pas supposer qu’elle avait été précédemment suspendue lors de la préparation de l’adaptateur miniport pour la transition vers un état de faible consommation.
    Note L’exception à cela se produit lorsqu’un pilote de protocole ou de filtre prenant en charge NDIS 6.20 ou les versions antérieures de NDIS est lié ou attaché à l’adaptateur miniport. Dans ce cas, NDIS appelle la fonction MiniportPause du pilote miniport , que le pilote miniport définisse ou non l’indicateur NDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND .
     

Configuration requise

Condition requise Valeur
Client minimal pris en charge Pris en charge dans NDIS 6.0 et versions ultérieures.
En-tête ndis.h (inclure Ndis.h)

Voir aussi

Opérations de vérification et de réinitialisation de l’adaptateur miniport

MiniportCheckForHangEx

MiniportDevicePnPEventNotify

MiniportHaltEx

MiniportInitializeEx

MiniportPause

MiniportResetEx

NDIS_OBJECT_HEADER

NdisMNetPnPEvent

NdisMSetMiniportAttributes

OID_PNP_SET_POWER