Condividi tramite


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;

Membri

Header

Struttura NDIS_OBJECT_HEADER per la struttura NDIS_MINIPORT_DRIVER_CHARACTERISTICS. Impostare il membro Type della struttura che Header specifica su NDIS_OBJECT_TYPE_MINIPORT_DRIVER_CHARACTERISTICS.

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

NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_3

Aggiunta del membro SynchronousOidRequestHandler per NDIS 6.80.

Impostare il membro Dimensioni su NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_3.

NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_2

Aggiunta del DirectOidRequestHandlere CancelDirectOidRequestHandler membri per NDIS 6.1.

Impostare il membro dimensioni su NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_2.

NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_1

Versione originale per NDIS 6.0.

Impostare il membro dimensioni 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 relative al valore della versione secondaria disponibile.

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
87 NDIS 6.87
88 NDIS 6.88
89 NDIS 6.89

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

Opzionale. Punto di ingresso per l'oggetto funzione MiniportCheckForHangEx.

miniportCheckForHangEx non è necessario per driver intermedi o 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 destinati a essere installati in dispositivi non AOAC, 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 con tecnologia line (con tecnologia mains). Per i driver destinati a NDIS 6.30 e versioni successive, è consigliabile usare NdisMResetMiniport.

ResetHandlerEx

Facoltativo (obbligatorio se si specifica CheckForHangHandlerEx). Punto di ingresso per la funzione miniportResetEx. MiniportResetEx non è necessario per i driver intermedi, pertanto è consigliabile 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.

Osservazioni

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

Fabbisogno

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

Vedere anche

DriverEntry

MiniportCancelDirectOidRequest

MiniportCancelOidRequest

MiniportCancelSend

MiniportCheckForHangEx

MiniportDevicePnPEventNotify

miniportDirectOidRequest

MiniportDriverUnload

MiniportHaltEx

MiniportInitializeEx

MiniportOidRequest

miniportPause

MiniportResetEx

MiniportRestart

miniportReturnNetBufferLists

miniportSendNetBufferLists

miniportSetOptions

MiniportShutdownEx

NdisMRegisterMiniportDriver