NdisOpenAdapterEx, fonction (ndis.h)
Un pilote de protocole appelle la fonction NdisOpenAdapterEx à partir de sa fonction ProtocolBindAdapterEx pour configurer une liaison entre le pilote de protocole et un pilote sous-jacent.
Syntaxe
NDIS_STATUS NdisOpenAdapterEx(
[in] NDIS_HANDLE NdisProtocolHandle,
[in] NDIS_HANDLE ProtocolBindingContext,
[in] PNDIS_OPEN_PARAMETERS OpenParameters,
[in] NDIS_HANDLE BindContext,
[out] PNDIS_HANDLE NdisBindingHandle
);
Paramètres
[in] NdisProtocolHandle
Handle retourné par le Fonction NdisRegisterProtocolDriver .
[in] ProtocolBindingContext
Handle pour une zone de contexte fournie par l’appelant dans laquelle le pilote de protocole conserve les informations d’état pour cette liaison.
[in] OpenParameters
Pointeur vers une structure NDIS_OPEN_PARAMETERS configurée par l’appelant.
[in] BindContext
Handle qui identifie la zone de contexte NDIS pour l’opération de liaison. NDIS a passé ce handle au paramètre BindContext de la fonction ProtocolBindAdapterEx .
[out] NdisBindingHandle
Pointeur vers une variable fournie par l’appelant. NDIS écrit un handle dans NdisBindingHandle qui identifie la liaison entre l’appelant et l’adaptateur miniport spécifié dans le membre AdapterName sur OpenParameters . L’appelant utilise ce handle dans les appels suivants aux fonctions NdisXxx .
Valeur retournée
NdisOpenAdapterEx retourne l’une des valeurs de status suivantes :
Code de retour | Description |
---|---|
|
NdisOpenAdapterEx a réussi l’opération d’ouverture. |
|
NdisOpenAdapterEx n’a pas terminé l’opération d’ouverture. NDIS appelle ultérieurement le pilote de protocole Fonction ProtocolOpenAdapterCompleteEx pour terminer l’opération d’ouverture. |
|
NdisOpenAdapterEx a échoué en raison de ressources insuffisantes. |
|
Échec de NdisOpenAdapterEx , car un adaptateur miniport spécifié dans le membre AdapterName sur OpenParameters est introuvable. |
|
Échec de NdisOpenAdapterEx , car le tableau spécifié dans le membre MediumArray dans OpenParameters n’incluait pas un type de support pris en charge par NDIS ou le pilote sous-jacent. |
|
Échec de NdisOpenAdapterEx pour d’autres raisons que celles de la liste précédente. |
Remarques
Un pilote de protocole doit appeler NdisOpenAdapterEx à partir de sa fonction ProtocolBindAdapterEx . NDIS échoue à toute tentative d’appel de NdisOpenAdapterEx en dehors du contexte de ProtocolBindAdapterEx.
Si NdisOpenAdapterEx retourne NDIS_STATUS_PENDING, l’appelant ne doit pas utiliser les valeurs de NdisBindingHandle et du membre SelectedMediumIndex dans OpenParameters tant que NDIS n’appelle pas le Fonction ProtocolOpenAdapterCompleteEx .
La chaîne dans AdapterName doit rester valide uniquement jusqu’à ce que NdisOpenAdapterEx soit retourné. Par conséquent, dans le cas où NdisOpenAdapterEx retourne NDIS_STATUS_PENDING, le pilote n’est pas obligé de continuer à conserver cette chaîne après le retour de NdisOpenAdapterEx .
Une fois l’opération d’ouverture terminée, l’appelant peut utiliser la valeur que NDIS a retournée dans le NdisBindingHandle dans les appels suivants aux fonctions NdisXxx . L’appelant peut utiliser le membre SelectedMediumIndex du paramètre OpenParameters pour déterminer comment il doit interagir avec le pilote sous-jacent.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Pris en charge dans NDIS 6.0 et versions ultérieures. |
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | ndis.h (inclure Ndis.h) |
Bibliothèque | Ndis.lib |
IRQL | PASSIVE_LEVEL |
Règles de conformité DDI | Irql_Protocol_Driver_Function(ndis) |
Voir aussi
ProtocolOpenAdapterCompleteExCommentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour