NdisMCmOidRequest-Funktion (ndis.h)

Die NdisMCmOidRequest-Funktion sendet eine OID-Anforderung von einem MCM-Treiber (Miniport Call Manager) an einen CoNDIS-Client.

Syntax

NDIS_STATUS NdisMCmOidRequest(
  [in]           NDIS_HANDLE       NdisAfHandle,
  [in, optional] NDIS_HANDLE       NdisVcHandle,
  [in, optional] NDIS_HANDLE       NdisPartyHandle,
                 PNDIS_OID_REQUEST NdisOidRequest
);

Parameter

[in] NdisAfHandle

Ein Handle, das die Adressfamilie (AF) und implizit den Client identifiziert, an den die OID-Anforderung weitergeleitet wird. Der MCM-Treiber hat dieses Handle ursprünglich als Eingabeparameter für seine ProtocolCmOpenAf-Funktion abgerufen.

[in, optional] NdisVcHandle

Ein Handle, das die virtuelle Verbindung (VIRTUAL Connection, VC) identifiziert, für die der Aufrufer Informationen anfordert oder festlegt, wenn die Anforderung VC-spezifisch ist. Andernfalls ist dieser Parameter NULL, wenn diese Anforderung nicht VC-spezifisch ist. Für jede VC-spezifische Anforderung hat der Aufrufer dieses Handle ursprünglich abgerufen, als er den Vc mit der NdisMCmCreateVc-Funktion oder als Eingabeparameter für seine ProtocolCoCreateVc-Funktion erstellt hat.

[in, optional] NdisPartyHandle

Ein Handle, das die Partei auf einer Multipoint-VC identifiziert, für die der Aufrufer Informationen anfordert oder festlegt, wenn die Anforderung parteispezifisch ist. Andernfalls ist dieser Parameter NULL, wenn diese Anforderung nicht parteispezifisch ist. Für jede parteispezifische Anforderung hat der MCM-Treiber dieses Handle ursprünglich als Eingabeparameter für seine ProtocolCmAddParty-Funktion abgerufen.

NdisOidRequest

Ein Zeiger auf einen vom Aufrufer zugewiesenen Puffer, der eine NDIS_OID_REQUEST-Struktur enthält.

Rückgabewert

NdisMCmOidRequest gibt einen der folgenden Werte zurück:

Rückgabecode Beschreibung
NDIS_STATUS_SUCCESS
Der Anforderungsvorgang wurde erfolgreich abgeschlossen.
NDIS_STATUS_PENDING
Die Anforderung wird asynchron verarbeitet, und NDIS ruft die des Aufrufers auf. ProtocolCoOidRequestComplete-Funktion , wenn die Anforderung abgeschlossen ist.
NDIS_STATUS_INVALID_OID
Der OID_XXX-Code , der im Oid-Member der NDIS_OID_REQUEST-Struktur am OidRequest-Parameter angegeben wurde, ist ungültig oder wird vom zugrunde liegenden Treiber nicht unterstützt.
NDIS_STATUS_INVALID_LENGTH oder NDIS_STATUS_BUFFER_TOO_SHORT
Der Wert, der im InformationBufferLength-Member der NDIS_OID_REQUEST-Struktur bei OidRequest angegeben wurde, entspricht nicht den Anforderungen für den angegebenen OID_XXX-Code . Wenn der Informationspuffer zu klein ist, enthält das BytesNeeded-Element von NDIS_OID_REQUEST den richtigen Wert für InformationBufferLength, wenn NdisMCmOidRequest zurückgegeben wird.
NDIS_STATUS_INVALID_DATA
Die Daten, die bei InformationBuffer in der angegebenen NDIS_OID_REQUEST-Struktur bereitgestellt wurden, waren für den angegebenen OID_XXX-Code ungültig.
NDIS_STATUS_NOT_SUPPORTED oder NDIS_STATUS_NOT_RECOGNIZED
Der Clienttreiber unterstützt den angeforderten Vorgang nicht.
NDIS_STATUS_RESOURCES
Die Anforderung konnte aufgrund eines Ressourcenmangels nicht erfüllt werden. In der Regel gibt dieser Rückgabewert an, dass der Versuch, Arbeitsspeicher zuzuweisen, fehlgeschlagen ist, aber er muss nicht unbedingt darauf hindeuten, dass dieselbe Anforderung, wenn sie später übermittelt wird, aus demselben Grund fehlschlägt.
NDIS_STATUS_FAILURE
Dieser Wert ist in der Regel ein unspezifischer Standardwert, der zurückgegeben wird, wenn keiner der spezifischeren NDIS_STATUS_XXX-status-Codes zutrifft.
NDIS_STATUS_REQUEST_ABORTED
Der Zieltreiber hat die Verarbeitung der Anforderung beendet.

Hinweise

Um OID-Anforderungen an CoNDIS-Clients zu initiieren, rufen MCM-Treiber die NdisMCmOidRequest-Funktion auf. Bevor ein MCM-Treiber NdisMCmOidRequest aufruft, weist der Treiber Arbeitsspeicher für seine Anforderung zu und initialisiert eine NDIS_OID_REQUEST-Struktur . Der MCM legt den Oid-Member der NDIS_OID_REQUEST-Struktur mit einem CoNDIS-OID-Code fest.

Ein MCM-Treiber kann NdisMCmOidRequest aufrufen, um verbindungsorientierte Informationen zu kommunizieren, z. B. eine Änderung der Adressen an den Client, die der NdisAfHandle-Parameter identifiziert.

Nachdem der MCM NdisMCmOidRequest aufgerufen hat, ruft NDIS die ProtocolCoOidRequest-Funktion des Clients auf.

Wenn die Anforderung des MCM-Treibers VC-spezifisch oder parteispezifisch ist, übergibt der MCM-Treiber auch einen Wert ungleich NULL am Parameter NdisVcHandle bzw. NdisPartyHandle .

Wenn NdisMCmOidRequest NDIS_STATUS_PENDING zurückgibt, wird die Anforderung asynchron verarbeitet, und NDIS ruft den MCM auf. ProtocolCoOidRequestComplete-Funktion , wenn die Anforderung abgeschlossen ist. Wenn NdisMCmOidRequest eine andere status zurückgibt, ist die Anforderung abgeschlossen, wenn NdisMCmOidRequest zurückgibt und NDIS ProtocolCoOidRequestComplete nicht aufruft.

Weitere Informationen zu den OIDs, die für die Verwendung mit NdisMCmOidRequest definiert sind, finden Sie unter NDIS-OIDs.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Unterstützt in NDIS 6.0 und höher.
Zielplattform Desktop
Kopfzeile ndis.h (include Ndis.h)
Bibliothek Ndis.lib
IRQL <= DISPATCH_LEVEL
DDI-Complianceregeln Irql_MCM_Function(ndis)

Weitere Informationen

NDIS_OID_REQUEST

NdisMCmCreateVc

ProtocolCmAddParty

ProtocolCmOpenAf

ProtocolCoCreateVc

ProtocolCoOidRequest

ProtocolCoOidRequestComplete