NDIS_PM_PROTOCOL_OFFLOAD 結構 (ntddndis.h)
NDIS_PM_PROTOCOL_OFFLOAD 結構會指定低電源通訊協定卸除至網路適配器的參數。
語法
typedef struct _NDIS_PM_PROTOCOL_OFFLOAD {
NDIS_OBJECT_HEADER Header;
ULONG Flags;
ULONG Priority;
NDIS_PM_PROTOCOL_OFFLOAD_TYPE ProtocolOffloadType;
NDIS_PM_COUNTED_STRING FriendlyName;
ULONG ProtocolOffloadId;
ULONG NextProtocolOffloadOffset;
union {
struct {
ULONG Flags;
UCHAR RemoteIPv4Address[4];
UCHAR HostIPv4Address[4];
UCHAR MacAddress[6];
} IPv4ARPParameters;
struct {
ULONG Flags;
UCHAR RemoteIPv6Address[16];
UCHAR SolicitedNodeIPv6Address[16];
UCHAR MacAddress[6];
UCHAR TargetIPv6Addresses[2][16];
} IPv6NSParameters;
struct {
ULONG Flags;
UCHAR KCK[DOT11_RSN_KCK_LENGTH];
UCHAR KEK[DOT11_RSN_KEK_LENGTH];
ULONGLONG KeyReplayCounter;
} Dot11RSNRekeyParameters;
struct {
ULONG Flags;
ULONGLONG KeyReplayCounter;
ULONG AuthAlgo;
ULONG KCKLength;
ULONG KEKLength;
UCHAR KCK[DOT11_RSN_MAX_CIPHER_KEY_LENGTH];
UCHAR KEK[DOT11_RSN_MAX_CIPHER_KEY_LENGTH];
} Dot11RSNRekeyParametersV2;
} ProtocolOffloadParameters;
_PROTOCOL_OFFLOAD_PARAMETERS _PROTOCOL_OFFLOAD_PARAMETERS;
} NDIS_PM_PROTOCOL_OFFLOAD, *PNDIS_PM_PROTOCOL_OFFLOAD;
成員
Header
NDIS_PM_PROTOCOL_OFFLOAD 結構的NDIS_OBJECT_HEADER結構。 驅動程式會將 Type 成員設定為 NDIS_OBJECT_TYPE_DEFAULT。
若要指出NDIS_PM_PROTOCOL_OFFLOAD結構的版本,請將 Header 的 Revision 成員設定為下列其中一個值:
NDIS_PM_PROTOCOL_OFFLOAD_REVISION_2
已新增 NDIS 6.84 的 Dot11RSNRekeyParametersV2 結構。
將 Size 成員設定為 NDIS_SIZEOF_NDIS_PM_PROTOCOL_OFFLOAD_REVISION_2。
NDIS_PM_PROTOCOL_OFFLOAD_REVISION_1
NDIS 6.20 和更新版本的原始版本。
將 Size 成員設定為 NDIS_SIZEOF_NDIS_PM_PROTOCOL_OFFLOAD_REVISION_1。
Flags
包含旗標位 OR 的 ULONG 值。 此成員會保留給 NDIS。
Priority
ULONG 值,其中包含通訊協定卸除的優先順序。 如果過度配置驅動程式在沒有資源可供更多通訊協定卸除時新增較高的優先順序通訊協定卸除,NDIS 可能會移除優先順序較低的通訊協定卸除以釋放資源。 迷你埠驅動程序應該忽略此成員。 通訊協定驅動程式可以在預先定義的範圍內提供任何值。 預先定義下列值:
NDIS_PM_PROTOCOL_OFFLOAD_PRIORITY_LOWEST
指定最低優先順序通訊協定卸除。
NDIS_PM_PROTOCOL_OFFLOAD_PRIORITY_NORMAL
指定一般優先順序通訊協定卸除。
NDIS_PM_PROTOCOL_OFFLOAD_PRIORITY_HIGHEST
指定最高優先順序的通訊協定卸除。
ProtocolOffloadType
一個 NDIS_PM_PROTOCOL_OFFLOAD_TYPE 包含通訊協定卸除類型的值。
FriendlyName
NDIS_PM_COUNTED_STRING 結構,其中包含低電源通訊協定卸除的用戶可讀取描述。
ProtocolOffloadId
ULONG 值,其中包含識別卸除通訊協定的 NDIS 提供值。 在 NDIS 將 OID_PM_ADD_PROTOCOL_OFFLOAD OID 要求向下傳送至基礎 NDIS 驅動程式之前,或完成對過度配置驅動程式的要求,NDIS 會將 ProtocolOffloadId 設定為網路適配器上通訊協定卸除中唯一的值。
NextProtocolOffloadOffset
包含位移的 ULONG 值,以位元組為單位。 清單中每個NDIS_PM_PROTOCOL_OFFLOAD結構的 NextProtocolOffset 成員會設定為從清單中下一個 NDIS_PM_PROTOCOL_OFFLOAD 結構) OID 要求 InformationBuffer 開頭的位移 ( 。 如果 NextProtocolOffloadOffset 為零,則目前的結構是清單中的最後一個結構。
ProtocolOffloadParameters
包含下列成員結構的等位:
ProtocolOffloadParameters.IPv4ARPParameters
包含 IPv4 ARP 參數的結構。 此結構包含下列成員:
ProtocolOffloadParameters.IPv4ARPParameters.Flags
包含旗標位 OR 的 ULONG 值。 此成員會保留給 NDIS。
ProtocolOffloadParameters.IPv4ARPParameters.RemoteIPv4Address[4]
包含選擇性 IPv4 位址的 UCHAR 陣列。 此位址代表 ARP 要求的 [來源通訊協定位址 (SPA) ] 字段。
如果傳入 ARP 要求有符合此 IPv4 位址的 SPA 值,網路適配器會在處於低電源狀態時傳送 ARP 回應。 如果此成員為零,網路適配器應該回應來自任何遠端 IPv4 位址的 ARP 要求。
如需 ARP 通訊協定的詳細資訊,請參閱 RFC 826。
ProtocolOffloadParameters.IPv4ARPParameters.HostIPv4Address[4]
包含 IPv4 位址的 UCHAR 陣列。 當它傳送 ARP 回應時,網路適配器會針對回應的 SPA 字段使用此成員。
ProtocolOffloadParameters.IPv4ARPParameters.MacAddress[6]
UCHAR 陣列,其中包含 MAC) 位址 (媒體存取控制。 網路適配器會針對它產生的 ARP 回應封包的 [來源硬體位址] (SHA) 字段使用此 MAC 位址。
ProtocolOffloadParameters.IPv6NSParameters
結構,包含 IPv6 芳鄰要求 (NS) 參數。 此結構包含下列成員:
ProtocolOffloadParameters.IPv6NSParameters.Flags
包含旗標位 OR 的 ULONG 值。 此成員會保留給 NDIS。
ProtocolOffloadParameters.IPv6NSParameters.RemoteIPv6Address[16]
包含選擇性 IPv6 位址的 UCHAR 陣列。 此位址代表 NS 訊息 IPv6 標頭中的 [來源位址] 欄位。
如果傳入 NS 訊息有符合此 IPv6 位址的來源位址值,網路適配器會在處於低電源狀態時,將鄰近公告傳送 (NA) 訊息。 如果此成員為零,網路適配器應該回應來自任何遠端 IPv6 位址的 NS 訊息。
如需 IPv6 NS 和 NA 訊息的詳細資訊,請參閱 RFC 4861。
ProtocolOffloadParameters.IPv6NSParameters.SolicitedNodeIPv6Address[16]
包含要求節點 IPv6 位址的 UCHAR 陣列。 如需這類 IPv6 位址的詳細資訊,請參閱多播 IPv6 位址。
ProtocolOffloadParameters.IPv6NSParameters.MacAddress[6]
包含 MAC 位址的 UCHAR 陣列。 傳送 NA 訊息時,網路適配器會針對 NA 訊息的目標連結層位址 (TLLA) 字段使用此陣列。
ProtocolOffloadParameters.IPv6NSParameters.TargetIPv6Addresses[2]
包含一或兩個 IPv6 位址的 UCHAR 陣列。 如果它只包含一個位址,該位址會儲存在陣列的第一個專案中,而第二個元素會填入零。
迷你埠驅動程序必須取用數位中的所有位址。
這些位址代表 NS 訊息的 [目標位址] 欄位。 如果其中一個位址符合傳入 NS 訊息的 [目標位址] 字段,則網路適配器會以回應方式傳送 NA 訊息。
ProtocolOffloadParameters.Dot11RSNRekeyParameters
結構,包含 IEEE 802.11i 強固安全性網路 (RSN) 交握參數。 此結構包含下列成員:
ProtocolOffloadParameters.Dot11RSNRekeyParameters.Flags
包含旗標位 OR 的 ULONG 值。 此成員會保留給 NDIS。
ProtocolOffloadParameters.Dot11RSNRekeyParameters.KCK[DOT11_RSN_KCK_LENGTH]
包含 IEEE 802.11 金鑰確認金鑰的 UCHAR 陣列, (KCK) 。
ProtocolOffloadParameters.Dot11RSNRekeyParameters.KEK[DOT11_RSN_KEK_LENGTH]
包含 IEEE 802.11 金鑰加密金鑰的 UCHAR 陣列, (KEK) 。
ProtocolOffloadParameters.Dot11RSNRekeyParameters.KeyReplayCounter
包含重新執行計數器的 ULONGLONG 值。
ProtocolOffloadParameters.Dot11RSNRekeyParametersV2
結構,包含 V2 IEEE 802.11i 強固安全性網路 (RSN) 交握參數。 NDIS 6.84 和更新版本提供。 此結構包含下列成員:
ProtocolOffloadParameters.Dot11RSNRekeyParametersV2.Flags
ProtocolOffloadParameters.Dot11RSNRekeyParametersV2.KeyReplayCounter
ProtocolOffloadParameters.Dot11RSNRekeyParametersV2.AuthAlgo
ProtocolOffloadParameters.Dot11RSNRekeyParametersV2.KCKLength
ProtocolOffloadParameters.Dot11RSNRekeyParametersV2.KEKLength
ProtocolOffloadParameters.Dot11RSNRekeyParametersV2.KCK[DOT11_RSN_MAX_CIPHER_KEY_LENGTH]
ProtocolOffloadParameters.Dot11RSNRekeyParametersV2.KEK[DOT11_RSN_MAX_CIPHER_KEY_LENGTH]
_PROTOCOL_OFFLOAD_PARAMETERS
備註
NDIS_PM_PROTOCOL_OFFLOAD 結構用於 OID_PM_ADD_PROTOCOL_OFFLOAD 和 OID_PM_PROTOCOL_OFFLOAD_LIST Oid。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | NDIS 6.20 和更新版本支援。 |
標頭 | ntddndis.h (包含 Ntddndis.h) |