NDIS_PROTOCOL_DRIVER_CHARACTERISTICS-Struktur (ndis.h)

Um seine Treibereigenschaften anzugeben, initialisiert ein Protokolltreiber eine NDIS_PROTOCOL_DRIVER_CHARACTERISTICS-Struktur und übergibt sie an NDIS.

Syntax

typedef struct _NDIS_PROTOCOL_DRIVER_CHARACTERISTICS {
  NDIS_OBJECT_HEADER                     Header;
  UCHAR                                  MajorNdisVersion;
  UCHAR                                  MinorNdisVersion;
  UCHAR                                  MajorDriverVersion;
  UCHAR                                  MinorDriverVersion;
  ULONG                                  Flags;
  NDIS_STRING                            Name;
  SET_OPTIONS_HANDLER                    SetOptionsHandler;
  BIND_HANDLER_EX                        BindAdapterHandlerEx;
  UNBIND_HANDLER_EX                      UnbindAdapterHandlerEx;
  OPEN_ADAPTER_COMPLETE_HANDLER_EX       OpenAdapterCompleteHandlerEx;
  CLOSE_ADAPTER_COMPLETE_HANDLER_EX      CloseAdapterCompleteHandlerEx;
  NET_PNP_EVENT_HANDLER                  NetPnPEventHandler;
  UNINSTALL_PROTOCOL_HANDLER             UninstallHandler;
  OID_REQUEST_COMPLETE_HANDLER           OidRequestCompleteHandler;
  STATUS_HANDLER_EX                      StatusHandlerEx;
  RECEIVE_NET_BUFFER_LISTS_HANDLER       ReceiveNetBufferListsHandler;
  SEND_NET_BUFFER_LISTS_COMPLETE_HANDLER SendNetBufferListsCompleteHandler;
  DIRECT_OID_REQUEST_COMPLETE_HANDLER    DirectOidRequestCompleteHandler;
} NDIS_PROTOCOL_DRIVER_CHARACTERISTICS, *PNDIS_PROTOCOL_DRIVER_CHARACTERISTICS;

Member

Header

Die NDIS_OBJECT_HEADER-Struktur für die NDIS_PROTOCOL_DRIVER_CHARACTERISTICS-Struktur . Legen Sie das Type-Element der Struktur, die Header angibt, auf NDIS_OBJECT_TYPE_PROTOCOL_DRIVER_CHARACTERISTICS fest.

Um die Version der NDIS_PROTOCOL_DRIVER_CHARACTERISTICS-Struktur anzugeben, legen Sie den Revisionsmember auf einen der folgenden Werte fest:

NDIS_PROTOCOL_DRIVER_CHARACTERISTICS_REVISION_2

Das DirectOidRequestCompleteHandler-Element für NDIS 6.1 wurde hinzugefügt.

Legen Sie das Element Größe auf NDIS_SIZEOF_PROTOCOL_DRIVER_CHARACTERISTICS_REVISION_2 fest.

NDIS_PROTOCOL_DRIVER_CHARACTERISTICS_REVISION_1

Ursprüngliche Version für NDIS 6.0.

Legen Sie das Element Größe auf NDIS_SIZEOF_PROTOCOL_DRIVER_CHARACTERISTICS_REVISION_1 fest.

MajorNdisVersion

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

MinorNdisVersion

Die nebenstehende NDIS-Version. Im Folgenden sind die verfügbaren Nebenversionswerteinstellungen aufgeführt.

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 Protokolltreibers. Protokolltreiber können jeden wert angeben, den sie benötigen.

MinorDriverVersion

Reserviert für die Nebenversionsnummer des Protokolltreibers. Protokolltreiber können jeden wert angeben, den sie benötigen.

Flags

Das folgende Flag wird in NDIS 6.89 und höher unterstützt:

Wert Bedeutung
NDIS_PROTOCOL_DRIVER_UDP_RSC_NOT_SUPPORTED 0x00000008 Der Treiber deaktiviert die URO-Unterstützung.

In NDIS 6.88 und niedriger sind Flags für NDIS reserviert. Protokolltreiber sollten diesen Member auf 0 festlegen.

Name

Eine Unicode-Zeichenfolge, die der Dienstname des Protokolltreibers ist.

SetOptionsHandler

Der Einstiegspunkt für die ProtocolSetOptions-Funktion .

BindAdapterHandlerEx

Der Einstiegspunkt für die ProtocolBindAdapterEx-Funktion .

UnbindAdapterHandlerEx

Der Einstiegspunkt für die ProtocolUnbindAdapterEx-Funktion .

OpenAdapterCompleteHandlerEx

Der Einstiegspunkt für die ProtocolOpenAdapterCompleteEx-Funktion .

CloseAdapterCompleteHandlerEx

Der Einstiegspunkt für die ProtocolCloseAdapterCompleteEx-Funktion .

NetPnPEventHandler

Der Einstiegspunkt der ProtocolNetPnPEvent-Funktion des Aufrufers.

UninstallHandler

Der Einstiegspunkt der ProtocolUninstall-Funktion des Aufrufers, falls vorhanden, oder NULL.

OidRequestCompleteHandler

Der Einstiegspunkt des Aufrufers ProtocolOidRequestComplete-Funktion .

StatusHandlerEx

Der Einstiegspunkt der ProtocolStatusEx-Funktion des Aufrufers, falls vorhanden, oder NULL.

ReceiveNetBufferListsHandler

Der Einstiegspunkt für die ProtocolReceiveNetBufferLists-Funktion .

SendNetBufferListsCompleteHandler

Der Einstiegspunkt für die ProtocolSendNetBufferListsComplete-Funktion .

DirectOidRequestCompleteHandler

Der Einstiegspunkt des Aufrufers ProtocolDirectOidRequestComplete-Funktion . Dies ist eine optionale Funktion. Legen Sie diesen Einstiegspunkt auf NULL fest, wenn der Protokolltreiber die direkte OID-Anforderungsschnittstelle nicht unterstützt.

Hinweise

Ein Protokolltreiber ruft die NdisRegisterProtocolDriver-Funktion , um ihre Merkmale zu registrieren, einschließlich der Standardeinstiegspunkte für ihre Protokolltreiberfunktionen (ProtocolXxx). Der Protokolltreiber initialisiert eine NDIS_PROTOCOL_DRIVER_CHARACTERISTICS-Struktur und übergibt einen Zeiger auf diese Struktur im ProtocolCharacteristics-Parameter von NdisRegisterProtocolDriver.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Unterstützt in NDIS 6.0 und höher.
Kopfzeile ndis.h (einschließlich Ndis.h)

Weitere Informationen

NdisRegisterProtocolDriver

ProtocolBindAdapterEx

ProtocolCloseAdapterCompleteEx ProtocolDirectOidRequestComplete

ProtocolNetPnPEvent

ProtocolOidRequestComplete

ProtocolOpenAdapterCompleteEx ProtocolReceiveNetBufferLists ProtocolSendNetBufferListsComplete

ProtocolSetOptions

ProtocolStatusEx

ProtocolUnbindAdapterEx

ProtocolUninstall