Freigeben über


MINIPORT_CANCEL_DIRECT_OID_REQUEST Rückruffunktion (ndis.h)

NDIS ruft die MiniportCancelDirectOidRequest Funktion eines Miniporttreibers auf, um eine direkte OID-Anforderung abzubrechen.

Note You must declare the function by using the MINIPORT_CANCEL_DIRECT_OID_REQUEST type. Weitere Informationen finden Sie im folgenden Abschnitt "Beispiele".
 

Syntax

MINIPORT_CANCEL_DIRECT_OID_REQUEST MiniportCancelDirectOidRequest;

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

Rückgabewert

Nichts

Bemerkungen

MiniportCancelDirectOidRequest ist eine optionale Funktion. Ein Miniporttreiber registriert diese Funktion, wenn er direkte OID-Anforderungen verarbeitet. Ein Treiber gibt den MiniportCancelDirectOidRequest Einstiegspunkt an, wenn er die NdisMRegisterMiniportDriver Funktion. Ein Miniporttreiber, der die MiniportDirectOidRequest Funktion muss auch MiniportCancelDirectOidRequestregistrieren.

Wenn NDIS MiniportCancelDirectOidRequest-aufruft, sollte der Miniporttreiber versuchen, den Aufruf durchzuführen. NdisMDirectOidRequestComplete funktion so schnell wie möglich.

NDIS ruft MiniportCancelDirectOidRequest auf, wenn der Absender der Anforderung die Anforderung abbricht. Bei direkten OID-Anforderungen ruft NDIS nicht MiniportCancelDirectOidRequest- auf, wenn das Timeout abläuft. (Das Timeout wird beim Timeout Member jeder NDIS_OID_REQUEST Struktur angegeben.)

Wenn die Anforderungsverarbeitung in einem Miniporttreiber immer noch nicht abgeschlossen ist, ruft der Treiber die NdisMDirectOidRequestComplete-Funktion auf, wobei der Status auf NDIS_STATUS_REQUEST_ABORTED festgelegt ist.

Wenn die Anforderungsverarbeitung noch nicht in einem Zwischentreiber abgeschlossen ist und die Anforderung an einen zugrunde liegenden Treiber weitergegeben wurde, ruft der Zwischentreiber die NdisCancelDirectOidRequest Funktion mit dem OidRequest Parameter auf den Wert festgelegt, den er an den zugrunde liegenden Treiber gesendet hat.

NDIS ruft MiniportCancelDirectOidRequest bei IRQL <= DISPATCH_LEVEL auf.

beispiele für

Um eine MiniportCancelDirectOidRequest--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 MiniportCancelDirectOidRequest Funktion zu definieren, die den Namen "MyCancelDirectOidRequest" hat, verwenden Sie den MINIPORT_CANCEL_DIRECT_OID_REQUEST Typ, wie in diesem Codebeispiel gezeigt:

MINIPORT_CANCEL_DIRECT_OID_REQUEST MyCancelDirectOidRequest;

Implementieren Sie dann Ihre Funktion wie folgt:

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

Der MINIPORT_CANCEL_DIRECT_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_DIRECT_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.1 und höher.
Zielplattform- Fenster
Header- ndis.h (include Ndis.h)
IRQL- <= DISPATCH_LEVEL

Siehe auch

MiniportDirectOidRequest-

MiniportInitializeEx-

NDIS_OID_REQUEST

NdisCancelDirectOidRequest

NdisMDirectOidRequestComplete-

NdisMRegisterMiniportDriver-