estructura NDIS_FILTER_DRIVER_CHARACTERISTICS (ndis.h)

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

Sintaxis

typedef struct _NDIS_FILTER_DRIVER_CHARACTERISTICS {
  NDIS_OBJECT_HEADER                              Header;
  UCHAR                                           MajorNdisVersion;
  UCHAR                                           MinorNdisVersion;
  UCHAR                                           MajorDriverVersion;
  UCHAR                                           MinorDriverVersion;
  ULONG                                           Flags;
  NDIS_STRING                                     FriendlyName;
  NDIS_STRING                                     UniqueName;
  NDIS_STRING                                     ServiceName;
  SET_OPTIONS_HANDLER                             SetOptionsHandler;
  FILTER_SET_FILTER_MODULE_OPTIONS_HANDLER        SetFilterModuleOptionsHandler;
  FILTER_ATTACH_HANDLER                           AttachHandler;
  FILTER_DETACH_HANDLER                           DetachHandler;
  FILTER_RESTART_HANDLER                          RestartHandler;
  FILTER_PAUSE_HANDLER                            PauseHandler;
  FILTER_SEND_NET_BUFFER_LISTS_HANDLER            SendNetBufferListsHandler;
  FILTER_SEND_NET_BUFFER_LISTS_COMPLETE_HANDLER   SendNetBufferListsCompleteHandler;
  FILTER_CANCEL_SEND_HANDLER                      CancelSendNetBufferListsHandler;
  FILTER_RECEIVE_NET_BUFFER_LISTS_HANDLER         ReceiveNetBufferListsHandler;
  FILTER_RETURN_NET_BUFFER_LISTS_HANDLER          ReturnNetBufferListsHandler;
  FILTER_OID_REQUEST_HANDLER                      OidRequestHandler;
  FILTER_OID_REQUEST_COMPLETE_HANDLER             OidRequestCompleteHandler;
  FILTER_CANCEL_OID_REQUEST_HANDLER               CancelOidRequestHandler;
  FILTER_DEVICE_PNP_EVENT_NOTIFY_HANDLER          DevicePnPEventNotifyHandler;
  FILTER_NET_PNP_EVENT_HANDLER                    NetPnPEventHandler;
  FILTER_STATUS_HANDLER                           StatusHandler;
  FILTER_DIRECT_OID_REQUEST_HANDLER               DirectOidRequestHandler;
  FILTER_DIRECT_OID_REQUEST_COMPLETE_HANDLER      DirectOidRequestCompleteHandler;
  FILTER_CANCEL_DIRECT_OID_REQUEST_HANDLER        CancelDirectOidRequestHandler;
  FILTER_SYNCHRONOUS_OID_REQUEST_HANDLER          SynchronousOidRequestHandler;
  FILTER_SYNCHRONOUS_OID_REQUEST_COMPLETE_HANDLER SynchronousOidRequestCompleteHandler;
} NDIS_FILTER_DRIVER_CHARACTERISTICS, *PNDIS_FILTER_DRIVER_CHARACTERISTICS;

Miembros

Header

Estructura NDIS_OBJECT_HEADER para la estructura de características del controlador de filtro (NDIS_FILTER_DRIVER_CHARACTERISTICS). Establezca el miembro Type de la estructura que Header especifica para NDIS_OBJECT_TYPE_FILTER_DRIVER_CHARACTERISTICS.

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

NDIS_FILTER_CHARACTERISTICS_REVISION_3

Se agregaron los miembros SynchronousOidRequestHandler y SynchronousOidRequestCompleteHandler para NDIS 6.80.

Establezca el miembro Size en NDIS_SIZEOF_FILTER_DRIVER_CHARACTERISTICS_REVISION_3.

NDIS_FILTER_CHARACTERISTICS_REVISION_2

Se agregaron los miembros DirectOidRequestHandler, DirectOidRequestCompleteHandler y CancelDirectOidRequestHandler para NDIS 6.1.

Establezca el miembro Size en NDIS_SIZEOF_FILTER_DRIVER_CHARACTERISTICS_REVISION_2.

NDIS_FILTER_CHARACTERISTICS_REVISION_1

Versión original.

Establezca el miembro Size en NDIS_SIZEOF_FILTER_DRIVER_CHARACTERISTICS_REVISION_1.

MajorNdisVersion

La versión principal de NDIS que usa el controlador. El valor actual es 0x06.

MinorNdisVersion

La 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

MajorDriverVersion

Reservado para el número de versión principal del controlador de filtro. Los controladores de filtro pueden especificar cualquier valor que requieran.

MinorDriverVersion

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

Flags

Reservado para NDIS.

FriendlyName

Cadena Unicode que representa la descripción legible por el usuario del controlador de filtro.

UniqueName

Cadena Unicode que representa el nombre único del controlador de filtro. Esta cadena debe ser un GUID, entre llaves, por ejemplo "{5cbf81bd-5055-47cd-9055-a76b2b4e3697}". Este GUID debe coincidir con el de la entrada del archivo INF netCfgInstanceId en el archivo INF del controlador de filtro. Para obtener más información, vea Inf File Settings for Filter Drivers.

ServiceName

Cadena Unicode que representa el nombre del servicio del controlador de filtro. Esta cadena debe ser el nombre del servicio de la directiva AddService en el archivo INF del controlador de filtro. Para obtener más información, vea Inf File Settings for Filter Drivers.

SetOptionsHandler

Especifica el punto de entrada de la función FilterSetOptions del autor de la llamada.

SetFilterModuleOptionsHandler

Punto de entrada del autor de la llamada Función FilterSetModuleOptions .

AttachHandler

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

DetachHandler

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

RestartHandler

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

PauseHandler

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

SendNetBufferListsHandler

Punto de entrada del autor de la llamada Función FilterSendNetBufferLists . Para omitir esta función, establezca este miembro en NULL.

SendNetBufferListsCompleteHandler

Punto de entrada del autor de la llamada Función FilterSendNetBufferListsComplete . Para omitir esta función, establezca este miembro en NULL.

CancelSendNetBufferListsHandler

Punto de entrada del autor de la llamada Función FilterCancelSendNetBufferLists . Para omitir esta función, establezca este miembro en NULL.

ReceiveNetBufferListsHandler

Punto de entrada del autor de la llamada Función FilterReceiveNetBufferLists . Para omitir esta función, establezca este miembro en NULL.

ReturnNetBufferListsHandler

Punto de entrada del autor de la llamada Función FilterReturnNetBufferLists . Para omitir esta función, establezca este miembro en NULL.

OidRequestHandler

Punto de entrada de la función FilterOidRequest del autor de la llamada. Para omitir esta función, establezca este miembro en NULL.

OidRequestCompleteHandler

Punto de entrada del autor de la llamada Función FilterOidRequestComplete . Para omitir esta función, establezca este miembro en NULL.

CancelOidRequestHandler

Punto de entrada del autor de la llamada Función FilterCancelOidRequest . Para omitir esta función, establezca este miembro en NULL.

DevicePnPEventNotifyHandler

Punto de entrada del autor de la llamada Función FilterDevicePnPEventNotify . Para omitir esta función, establezca este miembro en NULL.

NetPnPEventHandler

Punto de entrada de la función FilterNetPnPEvent del autor de la llamada. Para omitir esta función, establezca este miembro en NULL.

StatusHandler

Punto de entrada de la función FilterStatus del autor de la llamada. Para omitir esta función, establezca este miembro en NULL.

DirectOidRequestHandler

El punto de entrada del autor de la llamada Función FilterDirectOidRequest . Para omitir esta función, establezca este miembro en NULL.

DirectOidRequestCompleteHandler

El punto de entrada del autor de la llamada Función FilterDirectOidRequestComplete . Para omitir esta función, establezca este miembro en NULL.

CancelDirectOidRequestHandler

El punto de entrada del autor de la llamada Función FilterCancelDirectOidRequest . Para omitir esta función, establezca este miembro en NULL.

SynchronousOidRequestHandler

Punto de entrada de la función FilterSynchronousOidRequest del autor de la llamada. Para omitir esta función, establezca este miembro en NULL.

SynchronousOidRequestCompleteHandler

Punto de entrada de la función FilterSynchronousOidRequestComplete del autor de la llamada. Para omitir esta función, establezca este miembro en NULL.

Comentarios

Un controlador de filtro llama a Función NdisFRegisterFilterDriver para registrar sus características, incluidos los puntos de entrada predeterminados para sus funciones de controlador de filtro (FilterXxx). El controlador de filtro inicializa una estructura de NDIS_FILTER_DRIVER_CHARACTERISTICS y pasa un puntero a esta estructura en el parámetro FilterCharacteristics de NdisFRegisterFilterDriver.

Requisitos

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

Consulte también

FilterAttach

FilterCancelDirectOidRequest

FilterCancelOidRequest

FilterCancelSendNetBufferLists

FilterDetach

FilterDevicePnPEventNotify

FilterDirectOidRequest

FilterDirectOidRequestComplete

FilterNetPnPEvent

FilterOidRequest

FilterOidRequestComplete

FilterPause

FilterReceiveNetBufferLists

FilterRestart

FilterReturnNetBufferLists

FilterSendNetBufferLists

FilterSendNetBufferListsComplete

FilterSetModuleOptions

FilterSetOptions

FilterStatus

Configuración del archivo INF para controladores de filtro

Inicialización de un controlador de filtro

NDIS_FILTER_PARTIAL_CHARACTERISTICS

NDIS_OBJECT_HEADER

NdisFRegisterFilterDriver