NdisSynchronousOidRequest-Funktion (ndis.h)
Protokolltreiber rufen die NdisSynchronousOidRequest-Funktion auf, um eine neue synchrone OID-Anforderung zu erstellen und an zugrunde liegende Treiber ausstellen zu können.
Syntax
NDIS_STATUS NdisSynchronousOidRequest(
[in] NDIS_HANDLE NdisBindingHandle,
[in] NDIS_OID_REQUEST *OidRequest
);
Parameter
[in] NdisBindingHandle
Das von der NdisOpenAdapterEx-Funktion zurückgegebene Handle, das 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 angegebenen 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-CodeNdisSynchronousOidRequest zurückgibt, aber in der Regel handelt es sich um einen der folgenden Werte:
Rückgabecode | Beschreibung |
---|---|
|
Der Anforderungsvorgang wurde erfolgreich abgeschlossen. |
|
Der OID_Xxx-Code , der im Oid-Member des NDIS_OID_REQUEST strukturierten Puffers bei OidRequest angegeben wurde, war ungültig oder vom zugrunde liegenden Treiber nicht unterstützt. |
|
Der Wert, der im InformationBufferLength-Member des NDIS_OID_REQUEST strukturierten Puffers bei OidRequest angegeben wurde, entsprach nicht den Anforderungen für den angegebenen OID_Xxx-Code . Wenn der Informationspuffer zu klein war, enthält das BytesNeeded-Element bei Rückgabe von NdisSynchronousOidRequest den richtigen Wert für InformationBufferLength. |
|
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 der Versuch, Arbeitsspeicher zuzuweisen, nicht unbedingt darauf hinweist, dass dieselbe Anforderung, die später übermittelt wird, aus demselben Grund fehlschlägt. |
|
Der zugrunde liegende Treiber hat den angeforderten Vorgang versucht, in der Regel auf einer NIC festgelegt, aber er ist fehlgeschlagen. Beispielsweise kann ein Versuch, zu viele Multicastadressen festzulegen, dazu führen, dass dieser Wert zurückgegeben wird. |
|
Beim zugrunde liegenden Treiber ist der angeforderte Vorgang fehlgeschlagen, da ein Schließenvorgang ausgeführt wird. |
|
Der zugrunde liegende Miniporttreiber kann die Anforderung derzeit 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 fehlschlägt. |
|
Dieser Wert ist in der Regel ein nicht bestimmter Standardwert, der zurückgegeben wird, wenn keiner der spezifischeren NDIS_STATUS_Xxx-Werte dazu geführt hat, dass der zugrunde liegende Treiber die Anforderung fehlschlägt. |
Hinweise
Die NdisSynchronousOidRequest-Funktion kann nicht für allgemeine OID-Anforderungen verwendet werden. Verwenden Sie für allgemeine OID-Anforderungen stattdessen die Funktion NdisOidRequest . NdisSynchronousOidRequest kann nur für OIDs verwendet werden, die von NDIS für die Verwendung mit der synchronen OID-Schnittstelle unterstützt werden. Die meisten Protokolltreiber müssen NdisSynchronousOidRequest nicht aufrufen.
Protokolltreiber dürfen die Adapterbindung erst schließen, wenn vom Protokolltreiber ausgehende synchrone OID-Anforderungen 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 erfolgt.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 10, Version 1709 |
Zielplattform | Universell |
Header | ndis.h (include Ndis.h) |
Bibliothek | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |