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) |