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.

Hinweis Sie müssen die Funktion mit dem MINIPORT_CANCEL_DIRECT_OID_REQUEST-Typ deklarieren. 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 für einen Kontextbereich, den der Miniporttreiber in seiner MiniportInitializeEx-Funktion zugeordnet hat. Der Miniporttreiber verwendet diesen Kontextbereich, um Zustandsinformationen für einen Miniportadapter zu verwalten.

[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

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 Die MiniportDirectOidRequest-Funktion muss auch MiniportCancelDirectOidRequest registrieren.

Wenn NDIS MiniportCancelDirectOidRequest aufruft, sollte der Miniporttreiber versuchen, aufzurufen. 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 MiniportCancelDirectOidRequest nicht auf, wenn das Timeout abläuft. (Das Timeout wird am Timeoutelement 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 die status auf NDIS_STATUS_REQUEST_ABORTED festgelegt ist.

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

NDIS ruft MiniportCancelDirectOidRequest unter IRQL <= DISPATCH_LEVEL auf.

Beispiele

Um eine MiniportCancelDirectOidRequest-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 MiniportCancelDirectOidRequest-Funktion mit dem Namen "MyCancelDirectOidRequest" zu definieren, 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 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 MINIPORT_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

Weitere Informationen

MiniportDirectOidRequest

MiniportInitializeEx

NDIS_OID_REQUEST

NdisCancelDirectOidRequest

NdisMDirectOidRequestComplete

NdisMRegisterMiniportDriver