estrutura NDIS_FILTER_DRIVER_CHARACTERISTICS (ndis.h)
Para especificar suas características de driver, um driver de filtro inicializa uma estrutura NDIS_FILTER_DRIVER_CHARACTERISTICS e a passa para o NDIS.
Sintaxe
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;
Membros
Header
A estrutura NDIS_OBJECT_HEADER para a estrutura de características do driver de filtro (NDIS_FILTER_DRIVER_CHARACTERISTICS). Defina o membro Type da estrutura especificada por Header como NDIS_OBJECT_TYPE_FILTER_DRIVER_CHARACTERISTICS.
Para indicar a versão da estrutura NDIS_FILTER_DRIVER_CHARACTERISTICS, defina o membro Revision como um dos seguintes valores:
NDIS_FILTER_CHARACTERISTICS_REVISION_3
Os membros SynchronousOidRequestHandler e SynchronousOidRequestCompleteHandler foram adicionados ao NDIS 6.80.
Defina o membro Size como NDIS_SIZEOF_FILTER_DRIVER_CHARACTERISTICS_REVISION_3.
NDIS_FILTER_CHARACTERISTICS_REVISION_2
Os membros DirectOidRequestHandler, DirectOidRequestCompleteHandler e CancelDirectOidRequestHandler foram adicionados ao NDIS 6.1.
Defina o membro Size como NDIS_SIZEOF_FILTER_DRIVER_CHARACTERISTICS_REVISION_2.
NDIS_FILTER_CHARACTERISTICS_REVISION_1
Versão original.
Defina o membro Size como NDIS_SIZEOF_FILTER_DRIVER_CHARACTERISTICS_REVISION_1.
MajorNdisVersion
A versão principal do NDIS que o driver está usando. O valor atual é 0x06.
MinorNdisVersion
A versão secundária do NDIS. Veja a seguir as configurações de valor de versão secundária disponíveis.
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 o número de versão principal do driver de filtro. Os drivers de filtro podem especificar qualquer valor necessário.
MinorDriverVersion
Reservado para o número de versão secundária do driver de filtro. Os drivers de filtro podem especificar qualquer valor necessário.
Flags
Reservado para NDIS.
FriendlyName
Uma cadeia de caracteres Unicode que representa a descrição legível pelo usuário do driver de filtro.
UniqueName
Uma cadeia de caracteres Unicode que representa o nome exclusivo do driver de filtro. Essa cadeia de caracteres deve ser um GUID, entre chaves, por exemplo "{5cbf81bd-5055-47cd-9055-a76b2b4e3697}". Esse GUID deve corresponder ao da entrada de arquivo INF NetCfgInstanceId no arquivo INF do driver de filtro. Para obter mais informações, consulte Configurações de arquivo INF para drivers de filtro.
ServiceName
Uma cadeia de caracteres Unicode que representa o nome do serviço do driver de filtro. Essa cadeia de caracteres deve ser o nome do serviço da diretiva AddService no arquivo INF do driver de filtro. Para obter mais informações, consulte Configurações de arquivo INF para drivers de filtro.
SetOptionsHandler
Especifica o ponto de entrada da função FilterSetOptions do chamador.
SetFilterModuleOptionsHandler
O ponto de entrada do chamador Função FilterSetModuleOptions .
AttachHandler
O ponto de entrada da função FilterAttach do chamador.
DetachHandler
O ponto de entrada da função FilterDetach do chamador.
RestartHandler
O ponto de entrada da função FilterRestart do chamador .
PauseHandler
O ponto de entrada da função FilterPause do chamador.
SendNetBufferListsHandler
O ponto de entrada do chamador Função FilterSendNetBufferLists . Para ignorar essa função, defina esse membro como NULL.
SendNetBufferListsCompleteHandler
O ponto de entrada do chamador Função FilterSendNetBufferListsComplete . Para ignorar essa função, defina esse membro como NULL.
CancelSendNetBufferListsHandler
O ponto de entrada do chamador Função FilterCancelSendNetBufferLists . Para ignorar essa função, defina esse membro como NULL.
ReceiveNetBufferListsHandler
O ponto de entrada do chamador Função FilterReceiveNetBufferLists . Para ignorar essa função, defina esse membro como NULL.
ReturnNetBufferListsHandler
O ponto de entrada do chamador Função FilterReturnNetBufferLists . Para ignorar essa função, defina esse membro como NULL.
OidRequestHandler
O ponto de entrada da função FilterOidRequest do chamador. Para ignorar essa função, defina esse membro como NULL.
OidRequestCompleteHandler
O ponto de entrada do chamador Função FilterOidRequestComplete . Para ignorar essa função, defina esse membro como NULL.
CancelOidRequestHandler
O ponto de entrada do chamador Função FilterCancelOidRequest . Para ignorar essa função, defina esse membro como NULL.
DevicePnPEventNotifyHandler
O ponto de entrada do chamador Função FilterDevicePnPEventNotify . Para ignorar essa função, defina esse membro como NULL.
NetPnPEventHandler
O ponto de entrada da função FilterNetPnPEvent do chamador. Para ignorar essa função, defina esse membro como NULL.
StatusHandler
O ponto de entrada da função FilterStatus do chamador. Para ignorar essa função, defina esse membro como NULL.
DirectOidRequestHandler
O ponto de entrada do chamador Função FilterDirectOidRequest . Para ignorar essa função, defina esse membro como NULL.
DirectOidRequestCompleteHandler
O ponto de entrada do chamador Função FilterDirectOidRequestComplete . Para ignorar essa função, defina esse membro como NULL.
CancelDirectOidRequestHandler
O ponto de entrada do chamador Função FilterCancelDirectOidRequest . Para ignorar essa função, defina esse membro como NULL.
SynchronousOidRequestHandler
O ponto de entrada da função FilterSynchronousOidRequest do chamador. Para ignorar essa função, defina esse membro como NULL.
SynchronousOidRequestCompleteHandler
O ponto de entrada da função FilterSynchronousOidRequestComplete do chamador. Para ignorar essa função, defina esse membro como NULL.
Comentários
Um driver de filtro chama o Função NdisFRegisterFilterDriver para registrar suas características, incluindo os pontos de entrada padrão para suas funções de driver de filtro (FilterXxx). O driver de filtro inicializa uma estrutura NDIS_FILTER_DRIVER_CHARACTERISTICS e passa um ponteiro para essa estrutura no parâmetro FilterCharacteristics de NdisFRegisterFilterDriver.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Com suporte no NDIS 6.0 e posterior. |
Cabeçalho | ndis.h (inclua Ndis.h) |
Confira também
FilterCancelDirectOidRequest FilterCancelSendNetBufferLists FilterDirectOidRequestComplete FilterSendNetBufferListsCompleteConfigurações de arquivo INF para drivers de filtro
Inicializando um driver de filtro
NDIS_FILTER_PARTIAL_CHARACTERISTICSComentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de