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

FilterAttach

FilterCancelDirectOidRequest

FilterCancelOidRequest

FilterCancelSendNetBufferLists

FilterDetach

FilterDevicePnPEventNotify

FilterDirectOidRequest

FilterDirectOidRequestComplete

FilterNetPnPEvent

FilterOidRequest

FilterOidRequestComplete

FilterPause

FilterReceiveNetBufferLists

FilterRestart

FilterReturnNetBufferLists

FilterSendNetBufferLists

FilterSendNetBufferListsComplete

FilterSetModuleOptions

FilterSetOptions

FilterStatus

Configurações de arquivo INF para drivers de filtro

Inicializando um driver de filtro

NDIS_FILTER_PARTIAL_CHARACTERISTICS

NDIS_OBJECT_HEADER

NdisFRegisterFilterDriver