MINIPORT_CANCEL_OID_REQUEST Rückruffunktion (ndis.h)
NDIS ruft die MiniportCancelOidRequest Funktion eines Miniporttreibers auf, um eine OID-Anforderung abzubrechen.
Syntax
MINIPORT_CANCEL_OID_REQUEST MiniportCancelOidRequest;
void MiniportCancelOidRequest(
[in] NDIS_HANDLE MiniportAdapterContext,
[in] PVOID RequestId
)
{...}
Parameter
[in] MiniportAdapterContext
Ein Handle zu einem Kontextbereich, den der Miniporttreiber in seiner MiniportInitializeEx--Funktion zugewiesen hat. Der Miniporttreiber verwendet diesen Kontextbereich, um Zustandsinformationen für einen Miniportadapter beizubehalten.
[in] RequestId
Eine Abbruch-ID für die Anforderung. Dieser Bezeichner gibt die NDIS_OID_REQUEST Strukturen an, die abgebrochen werden.
Rückgabewert
Nichts
Bemerkungen
Ein Treiber gibt den MiniportCancelOidRequest Einstiegspunkt an, wenn er die NdisMRegisterMiniportDriver Funktion.
Wenn NDIS MiniportCancelOidRequestaufruft, sollte der Miniporttreiber versuchen, NdisMOidRequestComplete-Funktion so schnell wie möglich aufzurufen.
Die Anforderungsparameter werden in der NDIS_OID_REQUEST Struktur bei OidRequest- definiert.
NDIS ruft MiniportCancelOidRequest entweder ab, wenn der Absender der Anforderung die Anforderung abbricht oder wenn das Timeout, das beim Timeout Mitglied angegeben ist, abläuft.
Wenn die Anforderungsverarbeitung in einem Miniporttreiber noch nicht abgeschlossen ist, ruft der Treiber die funktion NdisMOidRequestComplete auf, wobei der Status auf NDIS_STATUS_REQUEST_ABORTED festgelegt ist.
Wenn die Anforderungsverarbeitung in einem Zwischentreiber noch nicht abgeschlossen ist und die Anforderung an einen zugrunde liegenden Treiber weitergegeben wurde, ruft der Zwischentreiber die NdisCancelOidRequest--Funktion auf, wobei der OidRequest Parameter auf den Wert festgelegt wurde, den er an den zugrunde liegenden Treiber gesendet hat.
NDIS ruft MiniportCancelOidRequest bei IRQL-<= DISPATCH_LEVEL auf.
beispiele für
Um eine MiniportCancelOidRequest--Funktion zu definieren, müssen Sie zuerst eine Funktionsdeklaration bereitstellen, die den Typ der Funktion identifiziert, die Sie definieren. Windows stellt eine Reihe von Funktionstypen für Treiber bereit. Durch das Deklarieren einer Funktion mithilfe der Funktionstypen können Codeanalyse für Treiber, statische Treiberüberprüfung (SDV) und andere Überprüfungstools Fehler finden, und es ist eine Anforderung zum Schreiben von Treibern für das Windows-Betriebssystem.Um beispielsweise eine MiniportCancelOidRequest--Funktion zu definieren, die den Namen "MyCancelOidRequest" hat, verwenden Sie den MINIPORT_CANCEL_OID_REQUEST Typ, wie in diesem Codebeispiel gezeigt:
MINIPORT_CANCEL_DIRECT_OID_REQUEST MyCancelOidRequest;
Implementieren Sie dann Ihre Funktion wie folgt:
_Use_decl_annotations_
VOID
MyCancelRequest(
NDIS_HANDLE MiniportAdapterContext,
PVOID RequestId
)
{...}
Der MINIPORT_CANCEL_OID_REQUEST Funktionstyp wird in der Ndis.h-Headerdatei definiert. Um Fehler genauer zu identifizieren, wenn Sie die Codeanalysetools ausführen, müssen Sie der Funktionsdefinition die Use_decl_annotations Anmerkung hinzufügen. Die Use_decl_annotations Anmerkung stellt sicher, dass die Anmerkungen, die auf den funktionstyp MINIPORT_CANCEL_OID_REQUEST in der Headerdatei angewendet werden, verwendet werden. Weitere Informationen zu den Anforderungen für Funktionsdeklarationen finden Sie unter Deklarieren von Funktionen mithilfe von Funktionsrollentypen für NDIS-Treiber.
Informationen zu Use_decl_annotationsfinden Sie unter Annotating Function Behavior.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Unterstützt in NDIS 6.0 und höher. |
Zielplattform- | Fenster |
Header- | ndis.h (include Ndis.h) |
IRQL- | <= DISPATCH_LEVEL |