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 |
---|---|
|
Der Anforderungsvorgang wurde erfolgreich abgeschlossen. |
|
Die Anforderung wird asynchron verarbeitet, und NDIS ruft die des Aufrufers auf. ProtocolCoOidRequestComplete-Funktion , wenn die Anforderung abgeschlossen ist. |
|
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. |
|
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. |
|
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 Clienttreiber 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, fehlgeschlagen ist, aber er muss nicht unbedingt darauf hindeuten, dass dieselbe Anforderung, wenn sie später übermittelt wird, aus demselben Grund fehlschlägt. |
|
Dieser Wert ist in der Regel ein unspezifischer Standardwert, der zurückgegeben wird, wenn keiner der spezifischeren NDIS_STATUS_XXX-status-Codes zutrifft. |
|
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) |