Compartir a través de


estructura NDIS_MINIPORT_DRIVER_CHARACTERISTICS (ndis.h)

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)

Consulte también

DriverEntry de

miniportCancelDirectOidRequest

miniportCancelOidRequest

MiniportCancelSend

MiniportCheckForHangEx

miniportDevicePnPEventNotify

MiniportDirectOidRequest

miniportDriverUnload

MiniportHaltEx

MiniportInitializeEx

MiniportOidRequest

miniportpause

miniportResetEx

miniportRestart

miniportReturnNetBufferLists

miniportSendNetBufferLists

MiniportSetOptions

MiniportShutdownEx

NdisMRegisterMiniportDriver