Freigeben über


MINIPORT_CANCEL_OID_REQUEST Rückruffunktion (ndis.h)

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

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

Syntax

MINIPORT_CANCEL_OID_REQUEST MiniportCancelOidRequest;

void MiniportCancelOidRequest(
  [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 NDIS_OID_REQUEST Strukturen an, die abgebrochen werden.

Rückgabewert

Keine

Bemerkungen

Ein Treiber gibt den Einstiegspunkt MiniportCancelOidRequest an, wenn er die NdisMRegisterMiniportDriver-Funktion .

Wenn NDIS MiniportCancelOidRequest aufruft, sollte der Miniporttreiber versuchen, die NdisMOidRequestComplete-Funktion so schnell wie möglich aufzurufen.

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

NDIS ruft MiniportCancelOidRequest auf, entweder wenn der Absender der Anforderung die Anforderung abbricht oder wenn das timeout angegebene Timeout abläuft.

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

NDIS ruft MiniportCancelOidRequest unter IRQL <= DISPATCH_LEVEL auf.

Beispiele

Um eine MiniportCancelOidRequest-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 MiniportCancelOidRequest-Funktion mit dem Namen "MyCancelOidRequest" zu definieren, 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 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_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.0 und höher.
Zielplattform Windows
Kopfzeile ndis.h (einschließlich Ndis.h)
IRQL <= DISPATCH_LEVEL

Weitere Informationen

MiniportInitializeEx

NDIS_OID_REQUEST

NdisCancelOidRequest

NdisMOidRequestComplete

NdisMRegisterMiniportDriver