Compartilhar via


NDIS_MINIPORT_DRIVER_CHARACTERISTICS estrutura (ndis.h)

Um driver NDIS inicializa uma estrutura NDIS_MINIPORT_DRIVER_CHARACTERISTICS para definir suas características de driver de miniporto, incluindo os pontos de entrada para suas funções miniportXxx.

Sintaxe

typedef struct _NDIS_MINIPORT_DRIVER_CHARACTERISTICS {
  NDIS_OBJECT_HEADER                         Header;
  UCHAR                                      MajorNdisVersion;
  UCHAR                                      MinorNdisVersion;
  UCHAR                                      MajorDriverVersion;
  UCHAR                                      MinorDriverVersion;
  ULONG                                      Flags;
  SET_OPTIONS_HANDLER                        SetOptionsHandler;
  MINIPORT_INITIALIZE_HANDLER                InitializeHandlerEx;
  MINIPORT_HALT_HANDLER                      HaltHandlerEx;
  MINIPORT_DRIVER_UNLOAD                     UnloadHandler;
  MINIPORT_PAUSE_HANDLER                     PauseHandler;
  MINIPORT_RESTART_HANDLER                   RestartHandler;
  MINIPORT_OID_REQUEST_HANDLER               OidRequestHandler;
  MINIPORT_SEND_NET_BUFFER_LISTS_HANDLER     SendNetBufferListsHandler;
  MINIPORT_RETURN_NET_BUFFER_LISTS_HANDLER   ReturnNetBufferListsHandler;
  MINIPORT_CANCEL_SEND_HANDLER               CancelSendHandler;
  MINIPORT_CHECK_FOR_HANG_HANDLER            CheckForHangHandlerEx;
  MINIPORT_RESET_HANDLER                     ResetHandlerEx;
  MINIPORT_DEVICE_PNP_EVENT_NOTIFY_HANDLER   DevicePnPEventNotifyHandler;
  MINIPORT_SHUTDOWN_HANDLER                  ShutdownHandlerEx;
  MINIPORT_CANCEL_OID_REQUEST_HANDLER        CancelOidRequestHandler;
  MINIPORT_DIRECT_OID_REQUEST_HANDLER        DirectOidRequestHandler;
  MINIPORT_CANCEL_DIRECT_OID_REQUEST_HANDLER CancelDirectOidRequestHandler;
  MINIPORT_SYNCHRONOUS_OID_REQUEST_HANDLER   SynchronousOidRequestHandler;
} NDIS_MINIPORT_DRIVER_CHARACTERISTICS, *PNDIS_MINIPORT_DRIVER_CHARACTERISTICS;

Membros

Header

A estrutura NDIS_OBJECT_HEADER para a estrutura NDIS_MINIPORT_DRIVER_CHARACTERISTICS. Defina o membro tipo da estrutura que de Cabeçalho especifica para NDIS_OBJECT_TYPE_MINIPORT_DRIVER_CHARACTERISTICS.

Para indicar a versão da estrutura de NDIS_MINIPORT_DRIVER_CHARACTERISTICS, defina o membro Revisão como um dos seguintes valores:

NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_3

Adicionado o membro SynchronousOidRequestHandler do para NDIS 6.80.

Defina o membro tamanho como NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_3.

NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_2

Foram adicionados os membros DirectOidRequestHandlere CancelDirectOidRequestHandler para o NDIS 6.1.

Defina o membro tamanho como NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_2.

NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_1

Versão original do NDIS 6.0.

Defina o membro tamanho como NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_1.

MajorNdisVersion

A versão principal da biblioteca 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
87 NDIS 6.87
88 NDIS 6.88
89 NDIS 6.89

MajorDriverVersion

Reservado para o número de versão principal do driver. Os drivers de miniporto podem especificar qualquer valor necessário.

MinorDriverVersion

Reservado para o número de versão secundária do driver. Os drivers de miniporto podem especificar qualquer valor necessário.

Flags

Uma máscara de bits que pode ser definida como zero ou qualquer um dos seguintes sinalizadores, combinada com OR bit a bit:

NDIS_INTERMEDIATE_DRIVER

Defina se o chamador for um driver intermediário do NDIS.

NDIS_WDM_DRIVER

Defina se o chamador for um driver de miniporto NDIS-WDM.

SetOptionsHandler

O ponto de entrada para a função miniportSetOptions do chamador.

Necessário para o Co-NDIS. Sugerido para drivers de miniporto Ethernet que dão suporte ao RSS usando MSI-C via PCI.

InitializeHandlerEx

Necessário. O ponto de entrada para o função MiniportInitializeEx.

HaltHandlerEx

Necessário. O ponto de entrada da função MiniportHaltEx.

UnloadHandler

Necessário. O ponto de entrada para o função MiniportDriverUnload.

PauseHandler

Necessário. O ponto de entrada da função MiniportPause.

RestartHandler

Necessário. O ponto de entrada para a função MiniportRestart.

OidRequestHandler

O ponto de entrada da função MiniportOidRequest. Necessário para todos os drivers de miniporto sem conexão, incluindo todos os drivers Ethernet, WLAN e IM. Opcional para alguns drivers de miniporto do CoNDIS.

SendNetBufferListsHandler

Necessário. O ponto de entrada para o função MiniportSendNetBufferLists.

ReturnNetBufferListsHandler

Necessário. O ponto de entrada para o função MiniportReturnNetBufferLists.

CancelSendHandler

Necessário. O ponto de entrada da função MiniportCancelSend.

CheckForHangHandlerEx

Opcional. O ponto de entrada para o função de MiniportCheckForHangEx.

MiniportCheckForHangEx não é necessário para drivers intermediários ou miniportos virtuais porque eles não são dispositivos físicos que podem travar, portanto, eles devem definir esse ponto de entrada como NULL.

miniportCheckForHangEx é proibido em qualquer dispositivo AOAC devido ao impacto na duração da bateria, portanto, os drivers de miniporto para esses dispositivos devem definir esse ponto de entrada como NULL.

miniportCheckForHangEx é desencorajado para drivers de miniporto destinados a serem instalados em dispositivos não AOAC, movidos a bateria devido ao impacto na duração da bateria, portanto, eles devem definir esse ponto de entrada para NULL.

MiniportCheckForHangEx é permitido, mas não é necessário para drivers de miniporto que devem ser instalados em dispositivos movidos a linha (alimentados por rede). Para drivers direcionados ao NDIS 6.30 e posterior, considere usar NdisMResetMiniport.

ResetHandlerEx

Opcional (necessário se você fornecer CheckForHangHandlerEx). O ponto de entrada da função MiniportResetEx. miniportResetEx não é necessário para drivers intermediários, portanto, eles devem definir esse ponto de entrada como NULL.

DevicePnPEventNotifyHandler

Necessário. O ponto de entrada para o função de MiniportDevicePnPEventNotify.

ShutdownHandlerEx

Necessário. O ponto de entrada da função MiniportShutdownEx.

CancelOidRequestHandler

Necessário. O ponto de entrada para o função MiniportCancelOidRequest.

DirectOidRequestHandler

O ponto de entrada para o função MiniportDirectOidRequest. Esse é um ponto de entrada opcional. Defina esse membro como NULL se o driver de miniporto não manipular solicitações OID diretas.

Opcional para ethernet; no entanto, se um for fornecido, ambos deverão ser fornecidos.

Necessário para miniportos WLAN e Ethernet que implementam o descarregamento RDMA ou IPSec.

CancelDirectOidRequestHandler

O ponto de entrada para o função MiniportCancelDirectOidRequest. Esse é um ponto de entrada opcional. Defina esse membro como NULL se o driver de miniporto não manipular solicitações OID diretas.

Opcional para ethernet; no entanto, se um for fornecido, ambos deverão ser fornecidos.

Necessário para miniportos WLAN e Ethernet que implementam o descarregamento RDMA ou IPSec.

SynchronousOidRequestHandler

O ponto de entrada para o função MiniportSynchronousOidRequest. Esse é um ponto de entrada opcional. Defina esse membro como NULL se o driver de miniport não manipular solicitações OID síncronas.

Necessário para miniportos WLAN e Ethernet que implementam RSSv2.

Observações

Um driver NDIS passa um ponteiro para sua estrutura de NDIS_MINIPORT_DRIVER_CHARACTERISTICS no parâmetro MiniportDriverCharacteristics do função NdisMRegisterMiniportDriver. Um driver de miniporto chama NdisMRegisterMiniportDriver de sua rotina de DriverEntry (consulte também DriverEntry do NDIS Miniport Drivers).

Requisitos

Requisito Valor
de cliente com suporte mínimo Com suporte no NDIS 6.0 e posterior.
cabeçalho ndis.h (inclua Ndis.h)

Consulte também

DriverEntry

MiniportCancelDirectOidRequest

MiniportCancelOidRequest

miniportCancelSend

miniportCheckForHangEx

MiniportDevicePnPEventNotify

MiniportDirectOidRequest

miniportDriverUnload

MiniportHaltEx

MiniportInitializeEx

MiniportOidRequest

MiniportPause

MiniportResetEx

MiniportRestart

MiniportReturnNetBufferLists

MiniportSendNetBufferLists

miniportSetOptions

MiniportShutdownEx

NdisMRegisterMiniportDriver