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