struttura NDIS_MINIPORT_DRIVER_CHARACTERISTICS (ndis.h)

Un driver NDIS inizializza una struttura NDIS_MINIPORT_DRIVER_CHARACTERISTICS per definire le caratteristiche del driver miniport, inclusi i punti di ingresso per le funzioni MiniportXxx .

Sintassi

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;

Members

Header

Struttura NDIS_OBJECT_HEADER per la struttura NDIS_MINIPORT_DRIVER_CHARACTERISTICS . Impostare il membro Type della struttura specificata da Header su NDIS_OBJECT_TYPE_MINIPORT_DRIVER_CHARACTERISTICS.

Per indicare la versione della struttura NDIS_MINIPORT_DRIVER_CHARACTERISTICS , impostare il membro Revision su uno dei valori seguenti:

NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_3

Aggiunto il membro SynchronousOidRequestHandler per NDIS 6.80.

Impostare il membro Size su NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_3.

NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_2

Sono stati aggiunti i membri DirectOidRequestHandler e CancelDirectOidRequestHandler per NDIS 6.1.

Impostare il membro Size su NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_2.

NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_1

Versione originale per NDIS 6.0.

Impostare il membro Size su NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_1.

MajorNdisVersion

La versione principale della libreria NDIS usata dal driver. Il valore corrente è 0x06.

MinorNdisVersion

Versione secondaria di NDIS. Di seguito sono riportate le impostazioni del valore della versione secondaria disponibili.

Valore Significato
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

MajorDriverVersion

Riservato per il numero di versione principale del driver. I driver Miniport possono specificare qualsiasi valore necessario.

MinorDriverVersion

Riservato per il numero di versione secondaria del driver. I driver Miniport possono specificare qualsiasi valore necessario.

Flags

Maschera di bit che può essere impostata su zero o su uno qualsiasi dei flag seguenti, combinati con OR bit per bit:

NDIS_INTERMEDIATE_DRIVER

Impostare se il chiamante è un driver intermedio NDIS.

NDIS_WDM_DRIVER

Impostare se il chiamante è un driver miniport NDIS-WDM.

SetOptionsHandler

Punto di ingresso per la funzione MiniportSetOptions del chiamante.

Obbligatorio per Co-NDIS. Consigliato per i driver miniport Ethernet che supportano RSS usando MSI-C su PCI.

InitializeHandlerEx

Obbligatorio. Punto di ingresso per l'oggetto Funzione MiniportInitializeEx .

HaltHandlerEx

Obbligatorio. Punto di ingresso per la funzione MiniportHaltEx .

UnloadHandler

Obbligatorio. Punto di ingresso per l'oggetto Funzione MiniportDriverUnload .

PauseHandler

Obbligatorio. Punto di ingresso per la funzione MiniportPause .

RestartHandler

Obbligatorio. Punto di ingresso per la funzione MiniportRestart .

OidRequestHandler

Punto di ingresso per la funzione MiniportOidRequest . Obbligatorio per tutti i driver miniport senza connessione, inclusi tutti i driver Ethernet, WLAN e IM. Facoltativo per alcuni driver miniport CoNDIS.

SendNetBufferListsHandler

Obbligatorio. Punto di ingresso per l'oggetto Funzione MiniportSendNetBufferLists .

ReturnNetBufferListsHandler

Obbligatorio. Punto di ingresso per l'oggetto Funzione MiniportReturnNetBufferLists .

CancelSendHandler

Obbligatorio. Punto di ingresso per la funzione MiniportCancelSend .

CheckForHangHandlerEx

facoltativo. Punto di ingresso per l'oggetto Funzione MiniportCheckForHangEx .

MiniportCheckForHangEx non è necessario per i driver intermedi o i miniport virtuali perché non sono dispositivi fisici che possono bloccarsi, quindi devono impostare questo punto di ingresso su NULL.

MiniportCheckForHangEx è vietato su qualsiasi dispositivo AOAC a causa dell'impatto sulla durata della batteria, quindi i driver miniport per questi dispositivi devono impostare questo punto di ingresso su NULL.

MiniportCheckForHangEx è sconsigliato per i driver miniport che devono essere installati in dispositivi non AOAC, a batteria a causa dell'impatto sulla durata della batteria, quindi devono impostare questo punto di ingresso su NULL.

MiniportCheckForHangEx è consentito ma non è necessario per i driver miniport che devono essere installati in dispositivi basati su linea (basati su mains). Per i driver destinati a NDIS 6.30 e versioni successive, è consigliabile usare invece NdisMResetMiniport .

ResetHandlerEx

Facoltativo (obbligatorio se si specifica CheckForHangHandlerEx). Punto di ingresso per la funzione MiniportResetEx . MiniportResetEx non è necessario per i driver intermedi, quindi devono impostare questo punto di ingresso su NULL.

DevicePnPEventNotifyHandler

Obbligatorio. Punto di ingresso per l'oggetto Funzione MiniportDevicePnPEventNotify .

ShutdownHandlerEx

Obbligatorio. Punto di ingresso per la funzione MiniportShutdownEx .

CancelOidRequestHandler

Obbligatorio. Punto di ingresso per l'oggetto Funzione MiniportCancelOidRequest .

DirectOidRequestHandler

Punto di ingresso per l'oggetto Funzione MiniportDirectOidRequest . Si tratta di un punto di ingresso facoltativo. Impostare questo membro su NULL se il driver miniport non gestisce le richieste OID dirette.

Facoltativo per Ethernet; tuttavia, se ne viene fornito uno, entrambi devono essere forniti.

Obbligatorio per miniport WLAN e Ethernet che implementano l'offload RDMA o IPSec.

CancelDirectOidRequestHandler

Punto di ingresso per l'oggetto Funzione MiniportCancelDirectOidRequest . Si tratta di un punto di ingresso facoltativo. Impostare questo membro su NULL se il driver miniport non gestisce le richieste OID dirette.

Facoltativo per Ethernet; tuttavia, se ne viene fornito uno, entrambi devono essere forniti.

Obbligatorio per miniport WLAN e Ethernet che implementano l'offload RDMA o IPSec.

SynchronousOidRequestHandler

Punto di ingresso per l'oggetto Funzione MiniportSynchronousOidRequest . Si tratta di un punto di ingresso facoltativo. Impostare questo membro su NULL se il driver miniport non gestisce le richieste OID sincrone.

Obbligatorio per miniport WLAN e Ethernet che implementano RSSv2.

Commenti

Un driver NDIS passa un puntatore alla relativa struttura NDIS_MINIPORT_DRIVER_CHARACTERISTICS nel parametro MiniportDriverCharacteristics del Funzione NdisMRegisterMiniportDriver . Un driver miniport chiama NdisMRegisterMiniportDriver dalla routine DriverEntry (vedere anche DriverEntry dei driver miniport NDIS).

Requisiti

Requisito Valore
Client minimo supportato Supportato in NDIS 6.0 e versioni successive.
Intestazione ndis.h (include Ndis.h)

Vedi anche

DriverEntry

MiniportCancelDirectOidRequest

MiniportCancelOidRequest

MiniportCancelSend

MiniportCheckForHangEx

MiniportDevicePnPEventNotify

MiniportDirectOidRequest

MiniportDriverUnload

MiniportHaltEx

MiniportInitializeEx

MiniportOidRequest

MiniportPause

MiniportResetEx

MiniportRestart

MiniportReturnNetBufferLists

MiniportSendNetBufferLists

MiniportSetOptions

MiniportShutdownEx

NdisMRegisterMiniportDriver