FILTER_CANCEL_DIRECT_OID_REQUEST Rückruffunktion (ndis.h)

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

Hinweis Sie müssen die Funktion mit dem FILTER_CANCEL_DIRECT_OID_REQUEST-Typ deklarieren. Weitere Informationen finden Sie im folgenden Abschnitt Beispiele.
 

Syntax

FILTER_CANCEL_DIRECT_OID_REQUEST FilterCancelDirectOidRequest;

void FilterCancelDirectOidRequest(
  [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 direkten OID-Anforderungen an, die mit diesem Wert im RequestId-Member der NDIS_OID_REQUEST-Struktur übereinstimmen.

Rückgabewert

Keine

Bemerkungen

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

Wenn NDIS FilterCancelDirectOidRequest aufruft, sollte der Filtertreiber versuchen, aufzurufen. NdisFDirectOidRequestComplete-Funktion so schnell wie möglich.

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

NDIS ruft die FilterCancelDirectOidRequest-Funktion auf, wenn der Absender der Anforderung die Anforderung abbricht.

Wenn die Anforderungsverarbeitung in einem Filtertreiber immer noch nicht abgeschlossen ist, ruft der Treiber die NdisFDirectOidRequestComplete-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 NdisFCancelDirectOidRequest-Funktion , wobei der OidRequest-Parameter auf den Wert festgelegt ist, den sie an den zugrunde liegenden Treiber gesendet hat.

NDIS ruft FilterCancelDirectOidRequest unter IRQL <= DISPATCH_LEVEL auf.

Beispiele

Um eine FilterCancelDirectOidRequest-Funktion zu definieren, müssen Sie zuerst eine Funktionsdeklaration bereitstellen, die den Typ der zu definierenden Funktion identifiziert. Windows stellt eine Reihe von Funktionstypen für Treiber bereit. 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 Anforderung zum Schreiben von Treibern für das Windows-Betriebssystem.

Um beispielsweise eine FilterCancelDirectOidRequest-Funktion mit dem Namen "MyCancelDirectOidRequest" zu definieren, verwenden Sie den FILTER_CANCEL_DIRECT_OID_REQUEST-Typ , wie in diesem Codebeispiel gezeigt:

FILTER_CANCEL_DIRECT_OID_REQUEST MyCancelDirectOidRequest;

Implementieren Sie dann Ihre Funktion wie folgt:

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

Der FILTER_CANCEL_DIRECT_OID_REQUEST Funktionstyp ist in der Headerdatei Ndis.h definiert. Um Fehler beim Ausführen der Codeanalysetools genauer zu identifizieren, fügen Sie der Funktionsdefinition die Use_decl_annotations Anmerkung hinzu. Die Use_decl_annotations Anmerkung stellt sicher, dass die Anmerkungen verwendet werden, die auf den FILTER_CANCEL_DIRECT_OID_REQUEST Funktionstyp 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.1 und höher.
Zielplattform Windows
Kopfzeile ndis.h (einschließlich Ndis.h)
IRQL <= DISPATCH_LEVEL
DDI-Complianceregeln SpinLock(ndis), SpinLockBalanced(ndis), SpinLockDpr(ndis)

Weitere Informationen

FilterAttach

NDIS_OID_REQUEST

NdisFCancelDirectOidRequest

NdisFDirectOidRequestComplete

NdisFRegisterFilterDriver