Freigeben über


NDIS_MINIPORT_DRIVER_CHARACTERISTICS Struktur (ndis.h)

Ein NDIS-Treiber initialisiert eine NDIS_MINIPORT_DRIVER_CHARACTERISTICS Struktur, um seine Miniporttreibereigenschaften zu definieren, einschließlich der Einstiegspunkte für seine MiniportXxx--Funktionen.

Syntax

typedef struct _NDIS_MINIPORT_DRIVER_CHARACTERISTICS {
  NDIS_OBJECT_HEADER                         Header;
  UCHAR                                      MajorNdisVersion;
  UCHAR                                      MinorNdisVersion;
  UCHAR                                      MajorDriverVersion;
  UCHAR                                      MinorDriverVersion;
  ULONG                                      Flags;
  SET_OPTIONS_HANDLER                        SetOptionsHandler;
  MINIPORT_INITIALIZE_HANDLER                InitializeHandlerEx;
  MINIPORT_HALT_HANDLER                      HaltHandlerEx;
  MINIPORT_DRIVER_UNLOAD                     UnloadHandler;
  MINIPORT_PAUSE_HANDLER                     PauseHandler;
  MINIPORT_RESTART_HANDLER                   RestartHandler;
  MINIPORT_OID_REQUEST_HANDLER               OidRequestHandler;
  MINIPORT_SEND_NET_BUFFER_LISTS_HANDLER     SendNetBufferListsHandler;
  MINIPORT_RETURN_NET_BUFFER_LISTS_HANDLER   ReturnNetBufferListsHandler;
  MINIPORT_CANCEL_SEND_HANDLER               CancelSendHandler;
  MINIPORT_CHECK_FOR_HANG_HANDLER            CheckForHangHandlerEx;
  MINIPORT_RESET_HANDLER                     ResetHandlerEx;
  MINIPORT_DEVICE_PNP_EVENT_NOTIFY_HANDLER   DevicePnPEventNotifyHandler;
  MINIPORT_SHUTDOWN_HANDLER                  ShutdownHandlerEx;
  MINIPORT_CANCEL_OID_REQUEST_HANDLER        CancelOidRequestHandler;
  MINIPORT_DIRECT_OID_REQUEST_HANDLER        DirectOidRequestHandler;
  MINIPORT_CANCEL_DIRECT_OID_REQUEST_HANDLER CancelDirectOidRequestHandler;
  MINIPORT_SYNCHRONOUS_OID_REQUEST_HANDLER   SynchronousOidRequestHandler;
} NDIS_MINIPORT_DRIVER_CHARACTERISTICS, *PNDIS_MINIPORT_DRIVER_CHARACTERISTICS;

Angehörige

Header

Die NDIS_OBJECT_HEADER Struktur für die NDIS_MINIPORT_DRIVER_CHARACTERISTICS Struktur. Legen Sie das element Type der Struktur fest, das Header- angibt, NDIS_OBJECT_TYPE_MINIPORT_DRIVER_CHARACTERISTICS.

Wenn Sie die Version der NDIS_MINIPORT_DRIVER_CHARACTERISTICS Struktur angeben möchten, legen Sie das element Revision auf einen der folgenden Werte fest:

NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_3

Der SynchronousOidRequestHandler Member für NDIS 6.80 wurde hinzugefügt.

Legen Sie den Size Member auf NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_3 fest.

NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_2

Die DirectOidRequestHandlerund CancelDirectOidRequestHandler Member für NDIS 6.1 hinzugefügt.

Legen Sie den Size Member auf NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_2 fest.

NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_1

Originalversion für NDIS 6.0.

Legen Sie das element Größe auf NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_1 fest.

MajorNdisVersion

Die Hauptversion der NDIS-Bibliothek, die der Treiber verwendet. Der aktuelle Wert ist 0x06.

MinorNdisVersion

Die Nebenversion NDIS. Nachfolgend finden Sie die verfügbaren Einstellungen für Nebenversionswerte.

Wert Bedeutung
0 NDIS 6
20 NDIS 6.20
30 NDIS 6.30
40 NDIS 6.40
50 NDIS 6.50
51 NDIS 6.51
60 NDIS 6.60
70 NDIS 6.70
80 NDIS 6.80
81 NDIS 6.81
82 NDIS 6.82
83 NDIS 6.83
84 NDIS 6.84
85 NDIS 6.85
86 NDIS 6.86
87 NDIS 6.87
88 NDIS 6.88
89 NDIS 6.89

MajorDriverVersion

Reserviert für die Hauptversionsnummer des Treibers. Miniport-Treiber können einen beliebigen Wert angeben, den sie benötigen.

MinorDriverVersion

Reserviert für die Nebenversionsnummer des Treibers. Miniport-Treiber können einen beliebigen Wert angeben, den sie benötigen.

Flags

Eine Bitmaske, die auf Null oder eine der folgenden Flags festgelegt werden kann, kombiniert mit bitweiseM ODER:

NDIS_INTERMEDIATE_DRIVER

Legen Sie fest, ob der Anrufer ein NDIS-Zwischentreiber ist.

NDIS_WDM_DRIVER

Legen Sie fest, ob der Anrufer ein NDIS-WDM Miniporttreiber ist.

SetOptionsHandler

Der Einstiegspunkt für die MiniportSetOptions-funktion des Aufrufers.

Erforderlich für Co-NDIS. Vorgeschlagen für Ethernet-Miniporttreiber, die RSS mithilfe von MSI-C über PCI unterstützen.

InitializeHandlerEx

Erforderlich. Der Einstiegspunkt für die MiniportInitializeEx Funktion.

HaltHandlerEx

Erforderlich. Der Einstiegspunkt für die funktion MiniportHaltEx.

UnloadHandler

Erforderlich. Der Einstiegspunkt für die MiniportDriverUnload Funktion.

PauseHandler

Erforderlich. Der Einstiegspunkt für die funktion MiniportPause.

RestartHandler

Erforderlich. Der Einstiegspunkt für die MiniportRestart--Funktion.

OidRequestHandler

Der Einstiegspunkt für die MiniportOidRequest--Funktion. Erforderlich für alle verbindungslosen Miniporttreiber, einschließlich aller Ethernet-, WLAN- und Chattreiber. Optional für einige CoNDIS-Miniporttreiber.

SendNetBufferListsHandler

Erforderlich. Der Einstiegspunkt für die MiniportSendNetBufferLists Funktion.

ReturnNetBufferListsHandler

Erforderlich. Der Einstiegspunkt für die MiniportReturnNetBufferLists Funktion.

CancelSendHandler

Erforderlich. Der Einstiegspunkt für die MiniportCancelSend Funktion.

CheckForHangHandlerEx

Wahlfrei. Der Einstiegspunkt für die MiniportCheckForHangEx Funktion.

MiniportCheckForHangEx- ist für Zwischentreiber oder virtuelle Miniports nicht erforderlich, da sie keine physischen Geräte sind, die hängen können, sodass sie diesen Einstiegspunkt auf NULL-festlegen müssen.

MiniportCheckForHangEx- ist aufgrund der Auswirkungen auf die Akkulaufzeit auf jedem AOAC-Gerät verboten, sodass Miniporttreiber für diese Geräte diesen Einstiegspunkt auf NULL-festlegen müssen.

MiniportCheckForHangEx- wird für Miniporttreiber abgeraten, die aufgrund der Auswirkungen auf die Akkulaufzeit auf Nicht-AOAC installiert werden sollen. Daher sollten sie diesen Einstiegspunkt auf NULL-festlegen.

MiniportCheckForHangEx- ist zulässig, aber nicht erforderlich für Miniporttreiber, die auf leitungsbetriebenen Geräten (netzbetrieben) installiert werden sollen. Für Treiber für NDIS 6.30 und höher sollten Sie stattdessen NdisMResetMiniport verwenden.

ResetHandlerEx

Optional (erforderlich, wenn Sie CheckForHangHandlerEx) bereitstellen. Der Einstiegspunkt für die MiniportResetEx--Funktion. MiniportResetEx- ist für Zwischentreiber nicht erforderlich, daher sollten sie diesen Einstiegspunkt auf NULL-festlegen.

DevicePnPEventNotifyHandler

Erforderlich. Der Einstiegspunkt für die MiniportDevicePnPEventNotify Funktion.

ShutdownHandlerEx

Erforderlich. Der Einstiegspunkt für die MiniportShutdownEx--Funktion.

CancelOidRequestHandler

Erforderlich. Der Einstiegspunkt für die MiniportCancelOidRequest Funktion.

DirectOidRequestHandler

Der Einstiegspunkt für die MiniportDirectOidRequest Funktion. Dies ist ein optionaler Einstiegspunkt. Legen Sie dieses Element auf NULL- fest, wenn der Miniporttreiber keine direkten OID-Anforderungen verarbeitet.

Optional für Ethernet; Wenn jedoch eine bereitgestellt wird, müssen beide bereitgestellt werden.

Erforderlich für WLAN- und Ethernet-Miniports, die RDMA- oder IPSec-Offload implementieren.

CancelDirectOidRequestHandler

Der Einstiegspunkt für die MiniportCancelDirectOidRequest Funktion. Dies ist ein optionaler Einstiegspunkt. Legen Sie dieses Element auf NULL- fest, wenn der Miniporttreiber keine direkten OID-Anforderungen verarbeitet.

Optional für Ethernet; Wenn jedoch eine bereitgestellt wird, müssen beide bereitgestellt werden.

Erforderlich für WLAN- und Ethernet-Miniports, die RDMA- oder IPSec-Offload implementieren.

SynchronousOidRequestHandler

Der Einstiegspunkt für die MiniportSynchronousOidRequest Funktion. Dies ist ein optionaler Einstiegspunkt. Legen Sie dieses Element auf NULL- fest, wenn der Miniporttreiber keine synchronen OID-Anforderungen verarbeitet.

Erforderlich für WLAN- und Ethernet-Miniports, die RSSv2 implementieren.

Bemerkungen

Ein NDIS-Treiber übergibt einen Zeiger an seine NDIS_MINIPORT_DRIVER_CHARACTERISTICS Struktur in der MiniportDriverCharacteristics Parameter des NdisMRegisterMiniportDriver Funktion. Ein Miniporttreiber ruft NdisMRegisterMiniportDriver aus seiner DriverEntry Routine auf (siehe auch DriverEntry von NDIS Miniport Drivers).

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Unterstützt in NDIS 6.0 und höher.
Header- ndis.h (include Ndis.h)

Siehe auch

DriverEntry-

MiniportCancelDirectOidRequest

MiniportCancelOidRequest

MiniportCancelSend

MiniportCheckForHangEx

MiniportDevicePnPEventNotify

MiniportDirectOidRequest-

MiniportDriverUnload-

MiniportHaltEx

MiniportInitializeEx-

MiniportOidRequest-

MiniportPause-

MiniportResetEx-

MiniportRestart-

MiniportReturnNetBufferLists

MiniportSendNetBufferLists

MiniportSetOptions-

MiniportShutdownEx

NdisMRegisterMiniportDriver-