estrutura NDIS_PROTOCOL_DRIVER_CHARACTERISTICS (ndis.h)
Para especificar suas características de driver, um driver de protocolo inicializa uma estrutura NDIS_PROTOCOL_DRIVER_CHARACTERISTICS e a passa para o NDIS.
Sintaxe
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;
Membros
Header
A estrutura NDIS_OBJECT_HEADER para a estrutura NDIS_PROTOCOL_DRIVER_CHARACTERISTICS . Defina o membro Type da estrutura especificada por Header como NDIS_OBJECT_TYPE_PROTOCOL_DRIVER_CHARACTERISTICS.
Para indicar a versão da estrutura NDIS_PROTOCOL_DRIVER_CHARACTERISTICS , defina o membro Revision como um dos seguintes valores:
NDIS_PROTOCOL_DRIVER_CHARACTERISTICS_REVISION_2
Adicionado o membro DirectOidRequestCompleteHandler para o NDIS 6.1.
Defina o membro Size como NDIS_SIZEOF_PROTOCOL_DRIVER_CHARACTERISTICS_REVISION_2.
NDIS_PROTOCOL_DRIVER_CHARACTERISTICS_REVISION_1
Versão original do NDIS 6.0.
Defina o membro Size como NDIS_SIZEOF_PROTOCOL_DRIVER_CHARACTERISTICS_REVISION_1.
MajorNdisVersion
A versão principal da biblioteca NDIS que o driver de protocolo 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 |
87 | NDIS 6.87 |
88 | NDIS 6.88 |
89 | NDIS 6.89 |
MajorDriverVersion
Reservado para o número de versão principal do driver de protocolo. Os drivers de protocolo podem especificar qualquer valor necessário.
MinorDriverVersion
Reservado para o número de versão secundária do driver de protocolo. Os drivers de protocolo podem especificar qualquer valor necessário.
Flags
O seguinte sinalizador tem suporte no NDIS 6.89 e superior:
Valor | Significado |
---|---|
NDIS_PROTOCOL_DRIVER_UDP_RSC_NOT_SUPPORTED 0x00000008 | O driver recusa o suporte a URO. |
No NDIS 6.88 e inferior, os sinalizadores são reservados para NDIS. Os drivers de protocolo devem definir esse membro como zero.
Name
Uma cadeia de caracteres Unicode que é o nome do serviço do driver de protocolo.
SetOptionsHandler
O ponto de entrada para a função ProtocolSetOptions .
BindAdapterHandlerEx
O ponto de entrada para o Função ProtocolBindAdapterEx .
UnbindAdapterHandlerEx
O ponto de entrada para o Função ProtocolUnbindAdapterEx .
OpenAdapterCompleteHandlerEx
O ponto de entrada para o Função ProtocolOpenAdapterCompleteEx .
CloseAdapterCompleteHandlerEx
O ponto de entrada para o Função ProtocolCloseAdapterCompleteEx .
NetPnPEventHandler
O ponto de entrada da função ProtocolNetPnPEvent do chamador.
UninstallHandler
O ponto de entrada da função ProtocolUninstall do chamador, se houver, ou NULL.
OidRequestCompleteHandler
O ponto de entrada do chamador Função ProtocolOidRequestComplete .
StatusHandlerEx
O ponto de entrada da função ProtocolStatusEx do chamador, se houver, ou NULL.
ReceiveNetBufferListsHandler
O ponto de entrada para o Função ProtocolReceiveNetBufferLists .
SendNetBufferListsCompleteHandler
O ponto de entrada para o Função ProtocolSendNetBufferListsComplete .
DirectOidRequestCompleteHandler
O ponto de entrada do chamador Função ProtocolDirectOidRequestComplete . Essa é uma função opcional. Defina esse ponto de entrada como NULL se o driver de protocolo não der suporte à interface de solicitação OID direta.
Comentários
Um driver de protocolo chama o Função NdisRegisterProtocolDriver para registrar suas características, incluindo os pontos de entrada padrão para suas funções de driver de protocolo (ProtocolXxx). O driver de protocolo inicializa uma estrutura NDIS_PROTOCOL_DRIVER_CHARACTERISTICS e passa um ponteiro para essa estrutura no parâmetro ProtocolCharacteristics de NdisRegisterProtocolDriver.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Com suporte no NDIS 6.0 e posterior. |
Cabeçalho | ndis.h (inclua Ndis.h) |