Compartir a través de


estructura NDIS_PROTOCOL_DRIVER_CHARACTERISTICS (ndis.h)

Para especificar sus características de controlador, un controlador de protocolo inicializa una estructura de NDIS_PROTOCOL_DRIVER_CHARACTERISTICS y la pasa a NDIS.

Sintaxis

typedef struct _NDIS_PROTOCOL_DRIVER_CHARACTERISTICS {
  NDIS_OBJECT_HEADER                     Header;
  UCHAR                                  MajorNdisVersion;
  UCHAR                                  MinorNdisVersion;
  UCHAR                                  MajorDriverVersion;
  UCHAR                                  MinorDriverVersion;
  ULONG                                  Flags;
  NDIS_STRING                            Name;
  SET_OPTIONS_HANDLER                    SetOptionsHandler;
  BIND_HANDLER_EX                        BindAdapterHandlerEx;
  UNBIND_HANDLER_EX                      UnbindAdapterHandlerEx;
  OPEN_ADAPTER_COMPLETE_HANDLER_EX       OpenAdapterCompleteHandlerEx;
  CLOSE_ADAPTER_COMPLETE_HANDLER_EX      CloseAdapterCompleteHandlerEx;
  NET_PNP_EVENT_HANDLER                  NetPnPEventHandler;
  UNINSTALL_PROTOCOL_HANDLER             UninstallHandler;
  OID_REQUEST_COMPLETE_HANDLER           OidRequestCompleteHandler;
  STATUS_HANDLER_EX                      StatusHandlerEx;
  RECEIVE_NET_BUFFER_LISTS_HANDLER       ReceiveNetBufferListsHandler;
  SEND_NET_BUFFER_LISTS_COMPLETE_HANDLER SendNetBufferListsCompleteHandler;
  DIRECT_OID_REQUEST_COMPLETE_HANDLER    DirectOidRequestCompleteHandler;
} NDIS_PROTOCOL_DRIVER_CHARACTERISTICS, *PNDIS_PROTOCOL_DRIVER_CHARACTERISTICS;

Miembros

Header

Estructura NDIS_OBJECT_HEADER de la estructura NDIS_PROTOCOL_DRIVER_CHARACTERISTICS . Establezca el miembro Type de la estructura que Header especifica para NDIS_OBJECT_TYPE_PROTOCOL_DRIVER_CHARACTERISTICS.

Para indicar la versión de la estructura NDIS_PROTOCOL_DRIVER_CHARACTERISTICS , establezca el miembro Revision en uno de los siguientes valores:

NDIS_PROTOCOL_DRIVER_CHARACTERISTICS_REVISION_2

Se agregó el miembro DirectOidRequestCompleteHandler para NDIS 6.1.

Establezca el miembro Size en NDIS_SIZEOF_PROTOCOL_DRIVER_CHARACTERISTICS_REVISION_2.

NDIS_PROTOCOL_DRIVER_CHARACTERISTICS_REVISION_1

Versión original de NDIS 6.0.

Establezca el miembro Size en NDIS_SIZEOF_PROTOCOL_DRIVER_CHARACTERISTICS_REVISION_1.

MajorNdisVersion

La versión principal de la biblioteca NDIS que usa el controlador de protocolo. 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 de protocolo. Los controladores de protocolo pueden especificar cualquier valor que necesiten.

MinorDriverVersion

Reservado para el número de versión secundaria del controlador de protocolo. Los controladores de protocolo pueden especificar cualquier valor que necesiten.

Flags

La marca siguiente se admite en NDIS 6.89 y versiones posteriores:

Valor Significado
NDIS_PROTOCOL_DRIVER_UDP_RSC_NOT_SUPPORTED 0x00000008 El controlador opta por no participar en la compatibilidad con URO.

En NDIS 6.88 y versiones posteriores, Flags está reservado para NDIS. Los controladores de protocolo deben establecer este miembro en cero.

Name

Cadena Unicode que es el nombre de servicio del controlador de protocolo.

SetOptionsHandler

Punto de entrada de la función ProtocolSetOptions .

BindAdapterHandlerEx

El punto de entrada del Función ProtocolBindAdapterEx .

UnbindAdapterHandlerEx

El punto de entrada del Función ProtocolUnbindAdapterEx .

OpenAdapterCompleteHandlerEx

El punto de entrada del Función ProtocolOpenAdapterCompleteEx .

CloseAdapterCompleteHandlerEx

El punto de entrada del Función ProtocolCloseAdapterCompleteEx .

NetPnPEventHandler

Punto de entrada de la función ProtocolNetPnPEvent del autor de la llamada.

UninstallHandler

Punto de entrada de la función ProtocolUninstall del autor de la llamada, si existe o NULL.

OidRequestCompleteHandler

El punto de entrada del autor de la llamada Función ProtocolOidRequestComplete .

StatusHandlerEx

Punto de entrada de la función ProtocolStatusEx del autor de la llamada, si existe, o NULL.

ReceiveNetBufferListsHandler

El punto de entrada del Función ProtocolReceiveNetBufferLists .

SendNetBufferListsCompleteHandler

El punto de entrada del Función ProtocolSendNetBufferListsComplete .

DirectOidRequestCompleteHandler

El punto de entrada del autor de la llamada Función ProtocolDirectOidRequestComplete . Se trata de una función opcional. Establezca este punto de entrada en NULL si el controlador de protocolo no admite la interfaz de solicitud OID directa.

Comentarios

Un controlador de protocolo llama a Función NdisRegisterProtocolDriver para registrar sus características, incluidos los puntos de entrada predeterminados para sus funciones de controlador de protocolo (ProtocolXxx). El controlador de protocolo inicializa una estructura NDIS_PROTOCOL_DRIVER_CHARACTERISTICS y pasa un puntero a esta estructura en el parámetro ProtocolCharacteristics de NdisRegisterProtocolDriver.

Requisitos

Requisito Value
Cliente mínimo compatible Se admite en NDIS 6.0 y versiones posteriores.
Encabezado ndis.h (incluya Ndis.h)

Consulte también

NdisRegisterProtocolDriver

ProtocolBindAdapterEx

ProtocolCloseAdapterCompleteEx ProtocolDirectOidRequestComplete

ProtocolNetPnPEvent

ProtocolOidRequestComplete

ProtocolOpenAdapterCompleteEx ProtocolReceiveNetBufferLists ProtocolSendNetBufferListsComplete

ProtocolSetOptions

ProtocolStatusEx

ProtocolUnbindAdapterEx

ProtocolUninstall