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.
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
MiniportDevicePnPEventNotify