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 結構。 設定 標頭 指定為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
已新增 DirectOidRequestHandler,NDIS 6.1 的 CancelDirectOidRequestHandler 成員。
將 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 |
87 | NDIS 6.87 |
88 | NDIS 6.88 |
89 | NDIS 6.89 |
MajorDriverVersion
保留給驅動程式的主要版本號碼。 迷你埠驅動程式可以指定其所需的任何值。
MinorDriverVersion
保留給驅動程式的次要版本號碼。 迷你埠驅動程式可以指定其所需的任何值。
Flags
可設定為零或下列任何旗標的位掩碼,結合位 OR:
NDIS_INTERMEDIATE_DRIVER
如果呼叫端是 NDIS 中繼驅動程式, 請設定 。
NDIS_WDM_DRIVER
如果呼叫端是 NDIS-WDM 迷你連接埠驅動程式, 請設定 。
SetOptionsHandler
呼叫端 MiniportSetOptions 函式的進入點。
Co-NDIS 的必要專案。 針對支援透過PCI MSI-C 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 是允許的,但小型埠驅動程序並非必要,這些驅動程式打算安裝在線路電源(mains-powered) 裝置中。 針對以 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) |