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