NdisMRegisterMiniportDriver, fonction (ndis.h)

Un pilote miniport appelle la fonction NdisMRegisterMiniportDriver pour inscrire les points d’entrée MiniportXxx avec NDIS comme première étape de l’initialisation.

Syntaxe

NDIS_STATUS NdisMRegisterMiniportDriver(
  [in]           PDRIVER_OBJECT                        DriverObject,
  [in]           PUNICODE_STRING                       RegistryPath,
  [in, optional] NDIS_HANDLE                           MiniportDriverContext,
  [in]           PNDIS_MINIPORT_DRIVER_CHARACTERISTICS MiniportDriverCharacteristics,
  [out]          PNDIS_HANDLE                          NdisMiniportDriverHandle
);

Paramètres

[in] DriverObject

Pointeur vers un objet pilote opaque que le pilote miniport a reçu dans sa routine DriverEntry au niveau du paramètre Argument1 (voir DriverEntry des pilotes miniport NDIS).

[in] RegistryPath

Pointeur vers un chemin de Registre opaque que le pilote miniport a reçu dans sa routine DriverEntry au niveau du paramètre Argument2 .

[in, optional] MiniportDriverContext

Handle vers une zone de contexte allouée par le pilote où le pilote conserve les informations d’état et de configuration.

[in] MiniportDriverCharacteristics

Pointeur vers un NDIS_MINIPORT_DRIVER_CHARACTERISTICS structure que l’appelant a initialisée.

[out] NdisMiniportDriverHandle

Pointeur vers une variable de handle fournie par l’appelant. NDIS écrit un handle dans cette variable qui identifie de manière unique ce pilote. Le pilote doit enregistrer ce handle pour l’utiliser dans les appels de fonction NdisXxx suivants.

Valeur retournée

NdisMRegisterMiniportDriver retourne l’une des valeurs status suivantes :

Code de retour Description
NDIS_STATUS_SUCCESS

NdisMRegisterMiniportDriver a inscrit le pilote miniport avec succès.

NDIS_STATUS_BAD_CHARACTERISTICS
Le paramètre CharacteristicsLength n’est pas correct pour la version NDIS spécifiée au niveau du membre MajorNdisVersion dans la structure de MiniportDriverCharacteristics .
NDIS_STATUS_BAD_VERSION
La MajorNdisVersion ou MinorNdisVersion spécifiée dans la structure des caractéristiques n’est pas valide.
NDIS_STATUS_RESOURCES
Une pénurie de ressources, éventuellement de mémoire, a empêché NDIS d’inscrire l’appelant.
NDIS_STATUS_FAILURE
Il s’agit d’une erreur par défaut status, retournée quand aucune des erreurs précédentes n’a provoqué l’échec de l’inscription.

Remarques

Un pilote NDIS appelle NdisMRegisterMiniportDriver à partir de sa routine DriverEntry . Pour plus d’informations, consultez DriverEntry of NDIS Miniport Drivers.

Chaque pilote miniport exporte un ensemble de fonctions MiniportXxx standard en configurant la structure des caractéristiques et en appelant NdisMRegisterMiniportDriver. NDIS copie la structure des caractéristiques dans le stockage interne NDIS. Par conséquent, une fois inscrit, un pilote ne peut pas modifier ses points d’entrée MiniportXxx .

Pour inscrire son interface miniport virtuelle, un pilote intermédiaire NDIS doit appeler NdisMRegisterMiniportDriver avec l’indicateur NDIS_INTERMEDIATE_DRIVER défini dans la structure sur MiniportDriverCharacteristics . Les pilotes NDIS qui ont un bord inférieur WDM doivent appeler NdisMRegisterMiniportDriver avec l’indicateur NDIS_WDM_DRIVER défini dans la structure sur MiniportDriverCharacteristics .

Les pilotes peuvent s’inscrire en tant que pilote miniport et pilote intermédiaire combiné. Pour inscrire son pilote de miniport physique, un pilote miniport intermédiaire appelle NdisMRegisterMiniportDriver avec les paramètres appropriés comme pour tout pilote miniport. Pour inscrire son interface miniport virtuelle, le pilote appelle à nouveau NdisMRegisterMiniportDriver , mais avec l’indicateur NDIS_INTERMEDIATE_DRIVER défini dans le paramètre MiniportDriverCharacteristics .

Pour permettre aux pilotes miniport d’inscrire des services facultatifs, NDIS appelle la fonction MiniportSetOptions dans le contexte de NdisMRegisterMiniportDriver.

Une fois qu’un pilote appelle NdisMRegisterMiniportDriver, le pilote doit être prêt à être rappelé à la fonction MiniportInitializeEx spécifiée dans le paramètre MiniportDriverCharacteristics à tout moment après le retour de DriverEntry.

Si une erreur se produit dans DriverEntry après le retour de NdisMRegisterMiniportDriver , le pilote doit appeler le Fonction NdisMDeregisterMiniportDriver avant le retour de DriverEntry . Si DriverEntry réussit, le pilote doit appeler NdisMDeregisterMiniportDriver à partir de sa fonction MiniportDriverUnload .

Configuration requise

Condition requise Valeur
Client minimal pris en charge Pris en charge dans NDIS 6.0 et versions ultérieures.
Plateforme cible Universal
En-tête ndis.h (inclure Ndis.h)
Bibliothèque Ndis.lib
IRQL PASSIVE_LEVEL
Règles de conformité DDI Irql_Miniport_Driver_Function(ndis)

Voir aussi

Initialisation d’un pilote Miniport

DriverEntry

MiniportDriverUnload

MiniportInitializeEx

MiniportSetOptions

NDIS_MINIPORT_DRIVER_CHARACTERISTICS NdisMDeregisterMiniportDriver