NdisReadConfiguration, fonction (ndis.h)

La fonction NdisReadConfiguration retourne la valeur d’une entrée nommée du type spécifié à partir du Registre, en fonction du handle d’une clé de Registre ouverte. Cette fonction doit être appelée en série par rapport à elle-même et à la fonction NdisWriteConfiguration .

Syntaxe

void NdisReadConfiguration(
  [out] PNDIS_STATUS                  Status,
  [out] PNDIS_CONFIGURATION_PARAMETER *ParameterValue,
  [in]  NDIS_HANDLE                   ConfigurationHandle,
  [in]  PNDIS_STRING                  Keyword,
  [in]  NDIS_PARAMETER_TYPE           ParameterType
);

Paramètres

[out] Status

Pointeur vers une variable fournie par l’appelant dans laquelle cette fonction retourne la status de l’appel comme l’une des valeurs suivantes.

Valeur Signification
NDIS_STATUS_SUCCESS
La mémoire tampon dans ParameterValue contient les informations de configuration retournées.
NDIS_STATUS_RESOURCES
NDIS n’a pas pu allouer de ressources, généralement suffisamment de mémoire, pour retourner les informations demandées.
NDIS_STATUS_FAILURE
Les informations demandées sont introuvables sous la clé de Registre ouverte désignée par configurationHandle.

[out] ParameterValue

Pointeur vers un emplacement de mémoire où NDIS fournit un pointeur vers un NDIS_CONFIGURATION_PARAMETER structure si l’appel à NdisReadConfiguration réussit. NDIS alloue de la mémoire pour le NDIS_CONFIGURATION_PARAMETER structure.

[in] ConfigurationHandle

Handle d’une clé de Registre qui a été retournée par NdisOpenConfigurationEx, NdisOpenConfigurationKeyByIndex, ou Fonction NdisOpenConfigurationKeyByName .

[in] Keyword

Pointeur vers un type de NDIS_STRING fourni par l’appelant décrivant une chaîne comptée, dans le jeu de caractères par défaut du système, en spécifiant le nom de l’entrée sous la clé de Registre ouverte pour laquelle retourner la valeur.

Vous pouvez également pointer vers un NDIS_STRING_CONSTANT fourni par l’appelant en spécifiant l’un des noms d’entrée prédéfinis suivants avec des valeurs de retour prédéfinies :

Nom de l’entrée prédéfinie Valeurs de retour prédéfinies
ProcessorType
  • NdisProcessorX86
  • NdisProcessorAmd64
  • NdisProcessorIA64
  • NdisProcessorAlpha
Les éléments suivants sont possibles uniquement si un ancien pilote (pré-NDIS 6.0) :
  • NdisProcessorMips
  • NdisProcessorPpc
NdisVersion 0xMMMMmmmmmm, où MMMM est la version principale et mmmm est le numéro de version secondaire. Par exemple, 0x00050000 indique que la version NDIS la plus élevée prise en charge par le système est la version majeure 5, la version mineure 0.

[in] ParameterType

Type de l’entrée de valeur spécifiée comme l’une des valeurs d’énumération NDIS_PARAMETER_TYPE . Ce paramètre est ignoré dans Windows NT et les versions ultérieures.

Valeur de retour

None

Remarques

Dans le registre de configuration de Windows 2000 et versions ultérieures, un mot clé NDIS est synonyme d’un nom d’entrée de valeur. Un tel nom est une séquence comptée de caractères Unicode, terminée par une valeur NULL.

Chaque pilote NDIS peut configurer les informations de configuration dans le Registre pour lui-même à l’aide de la directive AddReg dans son fichier INF. Par exemple, un pilote de protocole peut stocker son propre nom en tant qu’entrée avec une valeur de chaîne préformatée qui peut être passée dans les appels à Fonction NdisRegisterProtocolDriver . Pour plus d’informations, consultez Add-registry-sections in a Network INF File.

Chaque pilote miniport a également des entrées de valeur associées dans le Registre. Les entrées de valeur pour n’importe quel pilote miniport particulier peuvent être dépendantes du périphérique par nature. Par exemple, un pilote miniport peut avoir des mots clés tels que *FlowControl, *SpeedDuplex et *InterruptModeration. La valeur associée à un tel mot clé NDIS peut être un entier (type ULONG) ou une chaîne (NDIS_STRING-type). Par exemple, l’ensemble des valeurs possibles pour l’entrée *FlowControl déjà mentionnée peut être les valeurs NdisParameterInteger 0, 1, 2 ou 3, ou les valeurs équivalentes en hexadécimales en tant que valeurs NdisParameterHexInteger .

NdisReadConfiguration met en mémoire tampon et copie la chaîne fournie par l’appelant dans Mot clé et libère le stockage qu’il alloue pour cette copie avant qu’il ne retourne le contrôle à l’appelant. Mémoire qu’il alloue pour le NDIS_CONFIGURATION_PARAMETER structure est libérée lorsque le pilote libère configurationHandle avec la fonction NdisCloseConfiguration . L’appelant de NdisReadConfiguration est chargé de libérer la chaîne mise en mémoire tampon sur Mot clé.

Notez que NDIS ne valide pas les valeurs qu’un pilote lit dans le Registre. L’appelant de NdisReadConfiguration ne doit donc pas faire d’hypothèses sur ces valeurs et doit valider chaque valeur lue dans le Registre. Si l’appelant détermine qu’une valeur est hors limites, il doit utiliser une valeur par défaut à la place.

Pour plus d’informations sur les fichiers d’installation et d’installation, consultez Vue d’ensemble de l’installation des appareils.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Pris en charge pour les pilotes NDIS 6.0 et NDIS 5.1 (voir NdisReadConfiguration (NDIS 5.1)) dans Windows Vista. Pris en charge pour les pilotes NDIS 5.1 (voir NdisReadConfiguration (NDIS 5.1)) dans Windows XP.
Plateforme cible Universal
En-tête ndis.h (inclure Ndis.h)
Bibliothèque Ndis.lib
IRQL PASSIVE_LEVEL
Règles de conformité DDI Irql_Miscellaneous_Function(ndis)

Voir aussi

ANSI_STRING

NDIS_CONFIGURATION_PARAMETER

NDIS_PARAMETER_TYPE

NdisAnsiStringToUnicodeString

NdisCloseConfiguration

NdisFreeString

NdisInitAnsiString

NdisInitUnicodeString

NdisInitializeString

NdisOpenConfigurationEx

NdisOpenConfigurationKeyByIndex NdisOpenConfigurationKeyByName

NdisReadNetworkAddress

NdisUnicodeStringToAnsiString

NdisWriteConfiguration

UNICODE_STRING