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
FilterCancelDirectOidRequest FilterCancelSendNetBufferLists FilterDirectOidRequestComplete FilterSendNetBufferListsCompleteConfiguración del archivo INF para controladores de filtro
Inicialización de un controlador de filtro
NDIS_FILTER_PARTIAL_CHARACTERISTICSComentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de