estrutura NDIS_PROTOCOL_DRIVER_CHARACTERISTICS (ndis.h)
Para especificar suas características de driver, um driver de protocolo inicializa uma estrutura de 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 tipo da estrutura que de Cabeçalho especifica para NDIS_OBJECT_TYPE_PROTOCOL_DRIVER_CHARACTERISTICS.
Para indicar a versão da estrutura NDIS_PROTOCOL_DRIVER_CHARACTERISTICS, defina o membro Revisão como um dos seguintes valores:
NDIS_PROTOCOL_DRIVER_CHARACTERISTICS_REVISION_2
Adicionado o membro DirectOidRequestCompleteHandler para NDIS 6.1.
Defina o membro tamanho como NDIS_SIZEOF_PROTOCOL_DRIVER_CHARACTERISTICS_REVISION_2.
NDIS_PROTOCOL_DRIVER_CHARACTERISTICS_REVISION_1
Versão original do NDIS 6.0.
Defina o membro tamanho 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 | As recusas do driver do suporte ao URO. |
No NDIS 6.88 e inferior, Flags é reservado 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 da 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.
Observações
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 de NDIS_PROTOCOL_DRIVER_CHARACTERISTICS e passa um ponteiro para essa estrutura no parâmetro ProtocolCharacteristics de NdisRegisterProtocolDriver.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Com suporte no NDIS 6.0 e posterior. |
cabeçalho | ndis.h (inclua Ndis.h) |