NDIS_PROTOCOL_DRIVER_CHARACTERISTICS 結構 (ndis.h)
若要指定其驅動程式特性,通訊協定驅動程式會初始化 NDIS_PROTOCOL_DRIVER_CHARACTERISTICS 結構,並將其傳遞至 NDIS。
語法
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;
成員
Header
NDIS_PROTOCOL_DRIVER_CHARACTERISTICS 結構的NDIS_OBJECT_HEADER結構。 設定 Header 指定要NDIS_OBJECT_TYPE_PROTOCOL_DRIVER_CHARACTERISTICS之結構的 Type 成員。
若要指出 NDIS_PROTOCOL_DRIVER_CHARACTERISTICS 結構的版本,請將 Revision 成員設定為下列其中一個值:
NDIS_PROTOCOL_DRIVER_CHARACTERISTICS_REVISION_2
已新增 NDIS 6.1 的 DirectOidRequestCompleteHandler 成員。
將 Size 成員設定為 NDIS_SIZEOF_PROTOCOL_DRIVER_CHARACTERISTICS_REVISION_2。
NDIS_PROTOCOL_DRIVER_CHARACTERISTICS_REVISION_1
NDIS 6.0 的原始版本。
將 Size 成員設定為 NDIS_SIZEOF_PROTOCOL_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
NDIS 6.89 和更新版本支援下列旗標:
值 | 意義 |
---|---|
NDIS_PROTOCOL_DRIVER_UDP_RSC_NOT_SUPPORTED 0x00000008 | 驅動程式退出宣告 URO 支援。 |
在 NDIS 6.88 和更新版本中, 旗標 會保留給 NDIS。 通訊協定驅動程式應該將此成員設定為零。
Name
Unicode 字串,這是通訊協定驅動程式的服務名稱。
SetOptionsHandler
ProtocolSetOptions 函式的進入點。
BindAdapterHandlerEx
的進入點 ProtocolBindAdapterEx 函式。
UnbindAdapterHandlerEx
的進入點 ProtocolUnbindAdapterEx 函式。
OpenAdapterCompleteHandlerEx
的進入點 ProtocolOpenAdapterCompleteEx 函式。
CloseAdapterCompleteHandlerEx
的進入點 ProtocolCloseAdapterCompleteEx 函式。
NetPnPEventHandler
呼叫端 ProtocolNetPnPEvent 函式的進入點。
UninstallHandler
呼叫端 ProtocolUninstall 函式的進入點,如果有的話,則為 NULL。
OidRequestCompleteHandler
呼叫端的進入點 ProtocolOidRequestComplete 函式 。
StatusHandlerEx
呼叫端 ProtocolStatusEx 函式的進入點,如果有的話,則為 NULL。
ReceiveNetBufferListsHandler
的進入點 ProtocolReceiveNetBufferLists 函式 。
SendNetBufferListsCompleteHandler
的進入點 ProtocolSendNetBufferListsComplete 函式 。
DirectOidRequestCompleteHandler
呼叫端的進入點 ProtocolDirectOidRequestComplete 函式 。 這是選擇性函式。 如果通訊協定驅動程式不支援直接 OID 要求介面,請將此進入點設定為 NULL 。
備註
通訊協定驅動程式會呼叫 NdisRegisterProtocolDriver 函式可註冊其特性,包括通訊協定驅動程式函式的預設進入點 (ProtocolXxx) 。 通訊協議驅動程式會初始化NDIS_PROTOCOL_DRIVER_CHARACTERISTICS結構,並在 NdisRegisterProtocolDriver 的 ProtocolCharacteristics 參數中傳遞此結構的指標。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | NDIS 6.0 和更新版本支援。 |
標頭 | ndis.h (包括 Ndis.h) |