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 指定之結構的 Type 成員設定為NDIS_OBJECT_TYPE_MINIPORT_DRIVER_CHARACTERISTICS。
若要指出 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 的 DirectOidRequestHandler 和 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 是允許的,但迷你埠驅動程式不需要這些驅動程式,這些驅動程式是安裝在以線路 (主要) 裝置。 針對以 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) |