NDIS_MINIPORT_DRIVER_CHARACTERISTICS struttura (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
Aggiunta dei 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 che usa il driver. Il valore corrente è 0x06.
MinorNdisVersion
Versione NDIS secondaria. 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 richiesto.
MinorDriverVersion
Riservato per il numero di versione secondaria del driver. I driver miniport possono specificare qualsiasi valore richiesto.
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. Suggerito 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 essere impostati 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 su dispositivi non AOAC, basati su batteria a causa dell'impatto sulla durata della batteria, in modo da impostare questo punto di ingresso su NULL.
MiniportCheckForHangEx è consentito ma non richiesto per i driver miniport che devono essere installati nei dispositivi con alimentazione linea (con alimentazione principale). Per i driver destinati a NDIS 6.30 e versioni successive, prendere in considerazione l'uso di NdisMResetMiniport .
ResetHandlerEx
Facoltativo (obbligatorio se si specifica CheckForHangHandlerEx). Punto di ingresso per la funzione MiniportResetEx . MiniportResetEx non è obbligatorio 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 di NDIS_MINIPORT_DRIVER_CHARACTERISTICS nel parametro MiniportDriverCharacteristics dell'oggetto Funzione NdisMRegisterMiniportDriver . Un driver miniport chiama NdisMRegisterMiniportDriver dalla sua routine DriverEntry (vedere anche DriverEntry of NDIS Miniport Drivers).
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Supportato in NDIS 6.0 e versioni successive. |
Intestazione | ndis.h (includere Ndis.h) |