Freigeben über


NdisReadConfiguration-Funktion (ndis.h)

Die NdisReadConfiguration-Funktion gibt den Wert eines benannten Eintrags des angegebenen Typs aus der Registrierung zurück, wobei das Handle für einen geöffneten Registrierungsschlüssel angegeben wird. Diese Funktion muss in Bezug auf sich selbst und die NdisWriteConfiguration-Funktion seriell aufgerufen werden.

Syntax

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

Parameter

[out] Status

Ein Zeiger auf eine vom Aufrufer bereitgestellte Variable, in der diese Funktion den status des Aufrufs als einen der folgenden Werte zurückgibt.

Wert Bedeutung
NDIS_STATUS_SUCCESS
Der Puffer bei ParameterValue enthält die zurückgegebenen Konfigurationsinformationen.
NDIS_STATUS_RESOURCES
NDIS konnte keine Ressourcen (in der Regel genug Arbeitsspeicher) zuweisen, um die angeforderten Informationen zurückzugeben.
NDIS_STATUS_FAILURE
Die angeforderten Informationen konnten nicht unter dem geöffneten Registrierungsschlüssel gefunden werden, der von ConfigurationHandle festgelegt wurde.

[out] ParameterValue

Ein Zeiger auf einen Speicherstandort, an dem NDIS einen Zeiger auf ein NDIS_CONFIGURATION_PARAMETER Struktur, wenn der Aufruf von NdisReadConfiguration erfolgreich ist. NDIS weist Arbeitsspeicher für die NDIS_CONFIGURATION_PARAMETER Struktur.

[in] ConfigurationHandle

Das Handle für einen Registrierungsschlüssel, der von NdisOpenConfigurationEx zurückgegeben wurde, NdisOpenConfigurationKeyByIndex oder NdisOpenConfigurationKeyByName-Funktion .

[in] Keyword

Ein Zeiger auf einen vom Aufrufer bereitgestellten NDIS_STRING Typ, der eine gezählte Zeichenfolge im Systemstandardzeichensatz beschreibt und den Namen des Eintrags unter dem geöffneten Registrierungsschlüssel angibt, für den der Wert zurückgegeben werden soll.

Alternativ können Sie auf einen vom Aufrufer bereitgestellten NDIS_STRING_CONSTANT zeigen, der einen der folgenden vordefinierten Eintragsnamen zusammen mit vordefinierten Rückgabewerten angibt:

Vordefinierter Eintragsname Vordefinierte Rückgabewerte
ProcessorType
  • NdisProcessorX86
  • NdisProcessorAmd64
  • NdisProcessorIA64
  • NdisProcessorAlpha
Folgendes ist nur möglich, wenn ein alter Treiber (vor NDIS 6.0) vorhanden ist:
  • NdisProcessorMips
  • NdisProcessorPpc
NdisVersion 0xMMMMmmmm, wobei MMMM die Hauptversion und mmmm die Nebenversionsnummer ist. Beispielsweise gibt 0x00050000 an, dass die höchste vom System unterstützte NDIS-Version Hauptversion 5 und Nebenversion 0 ist.

[in] ParameterType

Der Typ des Werteintrags, der als einer der NDIS_PARAMETER_TYPE Enumerationswerte angegeben wird. Dieser Parameter wird in Windows NT und höheren Versionen ignoriert.

Rückgabewert

Keine

Bemerkungen

In der Konfigurationsregistrierung von Windows 2000 und höheren Versionen ist eine NDIS-Schlüsselwort (keyword) ein Synonym für einen Werteintragsnamen. Ein solcher Name ist eine gezählte Sequenz von Unicode-Zeichen, die mit NULL beendet wird.

Jeder NDIS-Treiber kann Konfigurationsinformationen in der Registrierung für sich selbst mithilfe der AddReg-Anweisung in seiner INF-Datei einrichten. Beispielsweise kann ein Protokolltreiber seinen eigenen Namen als Eintrag mit einem vorformatierten Zeichenfolgenwert speichern, der in Aufrufen an die übergeben werden kann. NdisRegisterProtocolDriver-Funktion . Weitere Informationen finden Sie unter Add-registry-sections in a Network INF File.

Jeder Miniporttreiber verfügt auch über zugeordnete Werteinträge in der Registrierung. Die Werteinträge für einen bestimmten Miniporttreiber können geräteabhängig sein. Ein Miniporttreiber kann beispielsweise Schlüsselwörter wie *FlowControl, *SpeedDuplex und *InterruptModeration aufweisen. Der Einer solchen NDIS-Schlüsselwort (keyword) zugeordnete Wert kann entweder eine ganze Zahl (ULONG-Type) oder eine Zeichenfolge (NDIS_STRING-type) sein. Der Satz möglicher Werte für den bereits erwähnten *FlowControl-Eintrag kann beispielsweise NdisParameterInteger-Werte 0, 1, 2 oder 3 oder die Entsprechungen im Hexadezimalwert als NdisParameterHexInteger-Werte sein.

NdisReadConfiguration puffert und kopiert die vom Aufrufer bereitgestellte Zeichenfolge unter Schlüsselwort und gibt den Speicher frei, den es für diese Kopie zugewiesen hat, bevor die Steuerung an den Aufrufer zurückgegeben wird. Der Arbeitsspeicher, den er für die NDIS_CONFIGURATION_PARAMETER Struktur wird freigegeben, wenn der Treiber ConfigurationHandle mit der NdisCloseConfiguration-Funktion freigibt . Der Aufrufer von NdisReadConfiguration ist für die Freigabe der gepufferten Zeichenfolge unter Schlüsselwort verantwortlich.

Beachten Sie, dass NDIS keine Werte überprüft, die ein Treiber aus der Registrierung liest. Der Aufrufer von NdisReadConfiguration darf daher keine Annahmen zu solchen Werten treffen und muss jeden aus der Registrierung gelesenen Wert überprüfen. Wenn der Aufrufer feststellt, dass ein Wert außerhalb der Grenzen liegt, sollte er stattdessen einen Standardwert verwenden.

Weitere Informationen zu Setup- und Installationsdateien finden Sie unter Übersicht über die Geräteinstallation.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Unterstützt für NDIS 6.0- und NDIS 5.1-Treiber (siehe NdisReadConfiguration (NDIS 5.1)) in Windows Vista. Unterstützt für NDIS 5.1-Treiber (siehe NdisReadConfiguration (NDIS 5.1)) in Windows XP.
Zielplattform Universell
Header ndis.h (einschließlich Ndis.h)
Bibliothek Ndis.lib
IRQL PASSIVE_LEVEL
DDI-Complianceregeln Irql_Miscellaneous_Function(ndis)

Weitere Informationen

ANSI_STRING

NDIS_CONFIGURATION_PARAMETER

NDIS_PARAMETER_TYPE

NdisAnsiStringToUnicodeString

NdisCloseConfiguration

NdisFreeString

NdisInitAnsiString

NdisInitUnicodeString

NdisInitializeString

NdisOpenConfigurationEx

NdisOpenConfigurationKeyByIndex NdisOpenConfigurationKeyByName

NdisReadNetworkAddress

NdisUnicodeStringToAnsiString

NdisWriteConfiguration

UNICODE_STRING