NDIS_MINIPORT_DRIVER_CHARACTERISTICS 結構 (ndis.h)

NDIS 驅動程式會初始化 NDIS_MINIPORT_DRIVER_CHARACTERISTICS 結構來定義其迷你埠驅動程式特性,包括其 MiniportXxx 函式的進入點。

語法

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;

成員

Header

NDIS_MINIPORT_DRIVER_CHARACTERISTICS 結構的NDIS_OBJECT_HEADER結構。 設定 Header 指定為NDIS_OBJECT_TYPE_MINIPORT_DRIVER_CHARACTERISTICS之結構的 Type 成員。

若要指出 NDIS_MINIPORT_DRIVER_CHARACTERISTICS 結構的版本,請將 Revision 成員設定為下列其中一個值:

NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_3

已新增 NDIS 6.80 的 SynchronousOidRequestHandler 成員。

Size 成員設定為 NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_3。

NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_2

已新增 NDIS 6.1 的 DirectOidRequestHandlerCancelDirectOidRequestHandler 成員。

Size 成員設定為 NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_2。

NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_1

NDIS 6.0 的原始版本。

Size 成員設定為 NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_1。

MajorNdisVersion

驅動程式所使用的 NDIS 連結庫主要版本。 目前的值為 0x06。

MinorNdisVersion

次要 NDIS 版本。 以下是可用的次要版本值設定。

意義
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

保留給驅動程式的主要版本號碼。 迷你埠驅動程式可以指定所需的任何值。

MinorDriverVersion

保留給驅動程式的次要版本號碼。 迷你埠驅動程式可以指定所需的任何值。

Flags

可設定為零或任何下列旗標的位掩碼,結合位 OR:

NDIS_INTERMEDIATE_DRIVER

如果呼叫端是 NDIS 中繼驅動程式, 請設定 。

NDIS_WDM_DRIVER

如果呼叫端是 NDIS-WDM 迷你連接埠驅動程式, 請設定 。

SetOptionsHandler

呼叫端 MiniportSetOptions 函式的進入點。

共同 NDIS 的必要專案。 建議使用 MSI-C over PCI 支援 RSS 的乙太網路迷你埠驅動程式。

InitializeHandlerEx

必要。 的進入點 MiniportInitializeEx 函 式。

HaltHandlerEx

必要。 MiniportHaltEx 函式的進入點。

UnloadHandler

必要。 的進入點 MiniportDriverUnload 函式。

PauseHandler

必要。 MiniportPause 函式的進入點。

RestartHandler

必要。 MiniportRestart 函式的進入點。

OidRequestHandler

MiniportOidRequest 函式的進入點。 所有無連線迷你埠驅動程式都需要,包括所有乙太網路、WLAN 和 IM 驅動程式。 某些 CoNDIS 迷你埠驅動程式是選擇性的。

SendNetBufferListsHandler

必要。 的進入點 MiniportSendNetBufferLists 函 式。

ReturnNetBufferListsHandler

必要。 的進入點 MiniportReturnNetBufferLists 函 式。

CancelSendHandler

必要。 MiniportCancelSend 函式的進入點。

CheckForHangHandlerEx

選擇性。 的進入點 MiniportCheckForHangEx 函 式。

中繼驅動程式或虛擬迷你埠不需要MiniportCheckForHangEx,因為它們不是可以停止響應的實體裝置,因此必須將此進入點設定為NULL

MiniportCheckForHangEx 因為對電池使用時間的影響而禁止任何 AOAC 裝置,因此這些裝置的迷你埠驅動程式必須將此進入點設定為 NULL

MiniportCheckForHangEx 不建議用於要安裝在非 AOAC、使用電池的裝置上,因為電池使用時間的影響,因此它們應該將此進入點設定為 NULL

MiniportCheckForHangEx 是允許的,但迷你埠驅動程式不需要這些驅動程式,這些驅動程式是安裝在以線路 (主要) 裝置。 針對以 NDIS 6.30 和更新版本為目標的驅動程式,請考慮改用 NdisMResetMiniport

ResetHandlerEx

如果您提供 CheckForHangHandlerEx) ,則需要選擇性 (。 MiniportResetEx 函式的進入點。 中繼驅動程式不需要 MiniportResetEx,因此應該將此進入點設定為 NULL

DevicePnPEventNotifyHandler

必要。 的進入點 MiniportDevicePnPEventNotify 函式

ShutdownHandlerEx

必要。 MiniportShutdownEx 函式的進入點。

CancelOidRequestHandler

必要。 的進入點 MiniportCancelOidRequest 函式。

DirectOidRequestHandler

的進入點 MiniportDirectOidRequest 函式。 這是選擇性進入點。 如果迷你埠驅動程式未處理直接 OID 要求,請將此成員設定為 NULL

乙太網路的選用專案;不過,如果提供其中一個,則必須提供這兩者。

實作 RDMA 或 IPSec 卸除的 WLAN 和乙太網路迷你埠需要。

CancelDirectOidRequestHandler

的進入點 MiniportCancelDirectOidRequest 函式。 這是選擇性進入點。 如果迷你埠驅動程式未處理直接 OID 要求,請將此成員設定為 NULL

乙太網路的選用專案;不過,如果提供其中一個,則必須提供這兩者。

實作 RDMA 或 IPSec 卸除的 WLAN 和乙太網路迷你埠需要。

SynchronousOidRequestHandler

的進入點 MiniportSynchronousOidRequest 函式。 這是選擇性進入點。 如果迷你埠驅動程式未處理同步 OID 要求,請將此成員設定為 NULL

實作 RSSv2 的 WLAN 和乙太網路迷你埠是必要的。

備註

NDIS 驅動程式會在 MiniportDriverCharacteristics 參數中傳遞其NDIS_MINIPORT_DRIVER_CHARACTERISTICS結構的指標 NdisMRegisterMiniportDriver 函式。 迷你埠驅動程式會從 DriverEntry 例程呼叫 NdisMRegisterMiniportDriver (另請參閱 NDIS Miniport Drivers) 的 DriverEntry

規格需求

需求
最低支援的用戶端 NDIS 6.0 和更新版本支援。
標頭 ndis.h (包括 Ndis.h)

另請參閱

DriverEntry

MiniportCancelDirectOidRequest

MiniportCancelOidRequest

MiniportCancelSend

MiniportCheckForHangEx

MiniportDevicePnPEventNotify

MiniportDirectOidRequest

MiniportDriverUnload

MiniportHaltEx

MiniportInitializeEx

MiniportOidRequest

MiniportPause

MiniportResetEx

MiniportRestart

MiniportReturnNetBufferLists

MiniportSendNetBufferLists

MiniportSetOptions

MiniportShutdownEx

NdisMRegisterMiniportDriver