Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Un controlador NDIS inicializa una estructura NDIS_MINIPORT_DRIVER_CHARACTERISTICS para definir sus características del controlador de miniporte, incluidos los puntos de entrada de sus funciones de MiniportXxx.
Sintaxis
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;
Miembros
Header
Estructura NDIS_OBJECT_HEADER de la estructura NDIS_MINIPORT_DRIVER_CHARACTERISTICS. Establezca el miembro Type de la estructura que encabezado especifica para NDIS_OBJECT_TYPE_MINIPORT_DRIVER_CHARACTERISTICS.
Para indicar la versión de la estructura de NDIS_MINIPORT_DRIVER_CHARACTERISTICS, establezca el miembro Revision en uno de los siguientes valores:
NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_3
Se agregó el miembro synchronousOidRequestHandler para NDIS 6.80.
Establezca el miembro Size de en NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_3.
NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_2
Se han agregado los DirectOidRequestHandler y miembros de CancelDirectOidRequestHandler para NDIS 6.1.
Establezca el miembro tamaño de en NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_2.
NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_1
Versión original de NDIS 6.0.
Establezca el miembro Size en NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_1.
MajorNdisVersion
La versión principal de la biblioteca NDIS que usa el controlador. El valor actual es 0x06.
MinorNdisVersion
Versión secundaria de NDIS. A continuación se muestran los valores de valor de versión secundaria disponibles.
| Valor | Significado |
|---|---|
| 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
Reservado para el número de versión principal del controlador. Los controladores de miniport pueden especificar cualquier valor que necesiten.
MinorDriverVersion
Reservado para el número de versión secundaria del controlador. Los controladores de miniport pueden especificar cualquier valor que necesiten.
Flags
Máscara de bits que se puede establecer en cero o en cualquiera de las marcas siguientes, combinadas con OR bit a bit:
NDIS_INTERMEDIATE_DRIVER
Establezca si el autor de la llamada es un controlador intermedio NDIS.
NDIS_WDM_DRIVER
Establezca si el autor de la llamada es un controlador de miniporte NDIS-WDM.
SetOptionsHandler
El punto de entrada de la función MiniportSetOp tions del autor de la llamada.
Necesario para Co-NDIS. Se recomienda para los controladores de minipuerto Ethernet que admiten RSS mediante MSI-C a través de PCI.
InitializeHandlerEx
Obligatorio. El punto de entrada del objeto función miniportInitializeEx.
HaltHandlerEx
Obligatorio. Punto de entrada de la función MiniportHaltEx.
UnloadHandler
Obligatorio. El punto de entrada del objeto función MiniportDriverUnload.
PauseHandler
Obligatorio. Punto de entrada de la función MiniportPause.
RestartHandler
Obligatorio. Punto de entrada de la función MiniportRestart.
OidRequestHandler
Punto de entrada de la función MiniportOidRequest. Necesario para todos los controladores de miniporte sin conexión, incluidos todos los controladores Ethernet, WLAN y IM. Opcional para algunos controladores de miniporte coNDIS.
SendNetBufferListsHandler
Obligatorio. El punto de entrada del objeto función MiniportSendNetBufferLists.
ReturnNetBufferListsHandler
Obligatorio. El punto de entrada del objeto función MiniportReturnNetBufferLists.
CancelSendHandler
Obligatorio. Punto de entrada de la función MiniportCancelSend.
CheckForHangHandlerEx
Opcional. El punto de entrada del objeto función MiniportCheckForHangEx.
miniportCheckForHangEx no es necesario para controladores intermedios o miniportes virtuales porque no son dispositivos físicos que pueden bloquearse, por lo que deben establecer este punto de entrada en NULL.
MiniportCheckForHangEx está prohibido en cualquier dispositivo AOAC debido al impacto en la duración de la batería, por lo que los controladores de miniport para estos dispositivos deben establecer este punto de entrada en NULL.
miniportCheckForHangEx no se recomienda que los controladores de miniporte estén instalados en dispositivos que no sean AOAC, con batería debido al impacto en la duración de la batería, por lo que deben establecer este punto de entrada en NULL.
miniportCheckForHangEx está permitido, pero no es necesario para los controladores de miniporte que están diseñados para instalarse en dispositivos con tecnología de línea (con alimentación principal). En el caso de los controladores destinados a NDIS 6.30 y versiones posteriores, considere la posibilidad de usar NdisMResetMiniport en su lugar.
ResetHandlerEx
Opcional (obligatorio si proporciona CheckForHangHandlerEx). Punto de entrada de la función MiniportResetEx. MiniportResetEx no es necesario para los controladores intermedios, por lo que deben establecer este punto de entrada en NULL.
DevicePnPEventNotifyHandler
Obligatorio. El punto de entrada del objeto función MiniportDevicePnPEventNotify.
ShutdownHandlerEx
Obligatorio. Punto de entrada de la función MiniportShutdownEx.
CancelOidRequestHandler
Obligatorio. El punto de entrada del objeto función miniportCancelOidRequest.
DirectOidRequestHandler
El punto de entrada del objeto función miniportDirectOidRequest. Se trata de un punto de entrada opcional. Establezca este miembro en null si el controlador de miniporte no controla las solicitudes OID directas.
Opcional para Ethernet; sin embargo, si se proporciona uno, se deben proporcionar ambos.
Necesario para miniportes WLAN y Ethernet que implementan la descarga RDMA o IPSec.
CancelDirectOidRequestHandler
El punto de entrada del objeto función miniportCancelDirectOidRequest. Se trata de un punto de entrada opcional. Establezca este miembro en null si el controlador de miniporte no controla las solicitudes OID directas.
Opcional para Ethernet; sin embargo, si se proporciona uno, se deben proporcionar ambos.
Necesario para miniportes WLAN y Ethernet que implementan la descarga RDMA o IPSec.
SynchronousOidRequestHandler
El punto de entrada del objeto función MiniportSynchronousOidRequest. Se trata de un punto de entrada opcional. Establezca este miembro en NULL si el controlador de miniporte no controla las solicitudes de OID sincrónicas.
Necesario para miniportes WLAN y Ethernet que implementan RSSv2.
Observaciones
Un controlador NDIS pasa un puntero a su estructura de NDIS_MINIPORT_DRIVER_CHARACTERISTICS en el MiniportDriverCharacteristics parámetro del función NdisMRegisterMiniportDriver. Un controlador de miniporta llama a NdisMRegisterMiniportDriver desde su rutina de DriverEntry (consulte también DriverEntry of NDIS Miniport Drivers).
Requisitos
| Requisito | Valor |
|---|---|
| cliente mínimo admitido | Se admite en NDIS 6.0 y versiones posteriores. |
| encabezado de | ndis.h (incluya Ndis.h) |