NdisSynchronousOidRequest-Funktion (ndis.h)
Protokolltreiber rufen die NdisSynchronousOidRequest--Funktion auf, um eine neue synchrone OID-Anforderung zu erstellen und sie an zugrunde liegende Treiber ausstellen.
Syntax
NDIS_STATUS NdisSynchronousOidRequest(
[in] NDIS_HANDLE NdisBindingHandle,
[in] NDIS_OID_REQUEST *OidRequest
);
Parameter
[in] NdisBindingHandle
Der von der NdisOpenAdapterEx--Funktion zurückgegebene Handle, der den Ziel-Miniportadapter für die Bindung identifiziert.
[in] OidRequest
Ein Zeiger auf eine NDIS_OID_REQUEST Struktur, die den Vorgang angibt, der mit einem bestimmten OID_Xxx--Code angefordert wird. Die Struktur kann eine OID-Abfrage, einen Satz oder eine Methodenanforderung angeben.
Rückgabewert
Der zugrunde liegende Treiber bestimmt, welcher NDIS_STATUS_XXX- Code NdisSynchronousOidRequest zurückgibt, ist jedoch in der Regel einer der folgenden Werte:
Rückgabecode | Beschreibung |
---|---|
|
Der Anforderungsvorgang wurde erfolgreich abgeschlossen. |
|
Der OID_Xxx- Code, der im Oid- Mitglied des NDIS_OID_REQUEST-strukturierten Puffers bei OidRequest- angegeben wurde, wurde vom zugrunde liegenden Treiber ungültig oder nicht unterstützt. |
|
Der wert, der im InformationBufferLength Member des NDIS_OID_REQUEST strukturierten Puffers bei OidRequest- angegeben wurde, stimmte nicht mit den Anforderungen für den angegebenen OID_Xxx--Code überein. Wenn der Informationspuffer zu klein war, enthält das BytesNeededed Member den richtigen Wert für InformationBufferLength für die Rückgabe von NdisSynchronousOidRequest. |
|
Die Daten, die bei InformationBuffer- in der angegebenen NDIS_OID_REQUEST Struktur bereitgestellt wurden, waren für den angegebenen OID_Xxx--Code ungültig. |
|
Der zugrunde liegende Treiber unterstützt den angeforderten Vorgang nicht. |
|
Die Anforderung konnte aufgrund eines Ressourcenmangels nicht erfüllt werden. In der Regel gibt dieser Rückgabewert an, dass ein Versuch, Arbeitsspeicher zuzuweisen, nicht erfolgreich war, aber nicht notwendigerweise darauf hinweist, dass dieselbe Anforderung, die später übermittelt wird, aus demselben Grund fehlgeschlagen ist. |
|
Der zugrunde liegende Treiber hat versucht, den angeforderten Vorgang auszuführen, in der Regel ein Satz für eine NIC, aber er ist fehlgeschlagen. Beispielsweise kann ein Versuch, zu viele Multicastadressen festzulegen, dazu führen, dass dieser Wert zurückgegeben wird. |
|
Der zugrunde liegende Treiber hat den angeforderten Vorgang fehlgeschlagen, da ein Abschlussvorgang ausgeführt wird. |
|
Der zugrunde liegende Miniporttreiber kann die Anforderung zu diesem Zeitpunkt nicht erfüllen, da die betroffene NIC derzeit zurückgesetzt wird. Die ProtocolStatusEx-Funktion des Aufrufers wurde oder wird mit NDIS_STATUS_RESET_START aufgerufen, um anzugeben, dass eine Zurücksetzung ausgeführt wird. Dieser Rückgabewert gibt nicht unbedingt an, dass dieselbe Anforderung, die später übermittelt wird, aus demselben Grund fehlgeschlagen ist. |
|
Dieser Wert ist in der Regel ein nicht spezifischer Standardwert, der zurückgegeben wird, wenn keines der spezifischeren NDIS_STATUS_Xxx- Werte dazu führte, dass der zugrunde liegende Treiber die Anforderung fehlschlug. |
Bemerkungen
Die NdisSynchronousOidRequest Funktion kann nicht für allgemeine OID-Anforderungen verwendet werden. Verwenden Sie für allgemeine OID-Anforderungen stattdessen die NdisOidRequest Funktion. NdisSynchronousOidRequest- kann nur für OIDs verwendet werden, die NDIS für die Verwendung mit der synchronen OID-Schnittstelle unterstützt. Die meisten Protokolltreiber müssen nicht NdisSynchronousOidRequest-
Protokolltreiber dürfen die Adapterbindung erst schließen, wenn synchrone OID-Anforderungen, die vom Protokolltreiber stammen, abgeschlossen sind.
Protokolltreiber sind nicht erforderlich, um ProtocolOidRequestComplete oder ProtocolDirectOidRequestComplete- zu implementieren, um NdisSynchronousOidRequest-aufzurufen. Wie der Name schon sagt, wird eine synchrone OID-Anforderung immer synchron abgeschlossen, sodass kein asynchroner Rückruf vorhanden ist.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 10, Version 1709 |
Zielplattform- | Universal |
Header- | ndis.h (include Ndis.h) |
Library | Ndis.lib |
IRQL- | <= DISPATCH_LEVEL |