FILTER_CANCEL_OID_REQUEST Rückruffunktion (ndis.h)

NDIS ruft die FilterCancelOidRequest-Funktion eines Filtertreibers auf, um eine OID-Anforderung abzubrechen.

Hinweis Sie müssen die Funktion mit dem typ FILTER_CANCEL_OID_REQUEST deklarieren. Weitere Informationen finden Sie im folgenden Abschnitt Beispiele.
 

Syntax

FILTER_CANCEL_OID_REQUEST FilterCancelOidRequest;

void FilterCancelOidRequest(
  [in] NDIS_HANDLE FilterModuleContext,
  [in] PVOID RequestId
)
{...}

Parameter

[in] FilterModuleContext

Ein Handle für den Kontextbereich für das Filtermodul, das das Ziel dieser Anforderung ist. Der Filtertreiber hat diesen Kontextbereich in der FilterAttach-Funktion erstellt und initialisiert.

[in] RequestId

Ein Abbruchbezeichner für die Anforderung. Dieser Bezeichner gibt die NDIS_OID_REQUEST Strukturen an, die abgebrochen werden.

Rückgabewert

Keine

Bemerkungen

FilterCancelOidRequest ist eine optionale Funktion. Wenn ein Filtertreiber keine OID-Anforderungen verwendet, kann er den Einstiegspunkt für diese Funktion auf NULL festlegen, wenn er die NdisFRegisterFilterDriver-Funktion .

Wenn NDIS FilterCancelOidRequest aufruft, sollte der Filtertreiber versuchen, die NdisFOidRequestComplete-Funktion so schnell wie möglich aufzurufen.

Die Anforderungsparameter werden in der NDIS_OID_REQUEST-Struktur unter OidRequest definiert.

Wenn ein Filtertreiber keine OID-Anforderungen in die Warteschlange stellt, muss der Treiber keine FilterCancelOidRequest-Funktion bereitstellen. Wenn der Filtertreiber keinen FilterCancelOidRequest-Einstiegspunkt angibt, ruft NDIS die OID-Anforderungsfunktion abbrechen des zugrunde liegenden Treibers auf.

NDIS ruft die FilterCancelOidRequest-Funktion auf, entweder wenn der Absender der Anforderung die Anforderung abbricht oder wenn das timeout-Element abläuft.

Wenn die Anforderungsverarbeitung in einem Filtertreiber immer noch nicht abgeschlossen ist, ruft der Treiber die NdisFOidRequestComplete-Funktion auf, wobei die status auf NDIS_STATUS_REQUEST_ABORTED festgelegt ist.

Wenn der Filtertreiber die Anforderung an einen zugrunde liegenden Treiber weitergeleitet hat und die Verarbeitung immer noch nicht abgeschlossen ist, ruft der Filtertreiber die NdisFCancelOidRequest-Funktion auf, wobei der OidRequest-Parameter auf den Wert festgelegt ist, den er an den zugrunde liegenden Treiber gesendet hat.

NDIS ruft FilterCancelOidRequest unter IRQL <= DISPATCH_LEVEL auf.

Beispiele

Um eine FilterCancelOidRequest-Funktion zu definieren, müssen Sie zunächst eine Funktionsdeklaration bereitstellen, die den Typ der zu definierenden Funktion identifiziert. Windows bietet eine Reihe von Funktionstypen für Treiber. Das Deklarieren einer Funktion mithilfe der Funktionstypen hilft der Codeanalyse für Treiber, der statischen Treiberüberprüfung (Static Driver Verifier , SDV) und anderen Überprüfungstools, Fehler zu finden, und es ist eine Voraussetzung für das Schreiben von Treibern für das Windows-Betriebssystem.

Um beispielsweise eine FilterCancelOidRequest-Funktion mit dem Namen "MyCancelOidRequest" zu definieren, verwenden Sie den typ FILTER_CANCEL_OID_REQUEST , wie in diesem Codebeispiel gezeigt:

FILTER_CANCEL_OID_REQUEST MyCancelOidRequest;

Implementieren Sie dann Ihre Funktion wie folgt:

_Use_decl_annotations_
VOID
 MyCancelOidRequest(
    NDIS_HANDLE  FilterModuleContext,
    PVOID  RequestId
    )
  {...}

Der FILTER_CANCEL_OID_REQUEST Funktionstyp ist in der Headerdatei Ndis.h definiert. Um Fehler beim Ausführen der Codeanalysetools genauer zu identifizieren, müssen Sie der Funktionsdefinition die anmerkung Use_decl_annotations hinzufügen. Die Use_decl_annotations-Anmerkung stellt sicher, dass die Anmerkungen verwendet werden, die auf den funktionstyp FILTER_CANCEL_OID_REQUEST in der Headerdatei angewendet 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_annotations finden Sie unter Verhalten von Funktionen mit Anmerkungen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Unterstützt in NDIS 6.0 und höher.
Zielplattform Windows
Kopfzeile ndis.h (include Ndis.h)
IRQL <= DISPATCH_LEVEL

Weitere Informationen

FilterAttach

NDIS_OID_REQUEST

NdisFCancelOidRequest

NdisFOidRequestComplete

NdisFRegisterFilterDriver