DOT11_CIPHER_DEFAULT_KEY_VALUE结构(windot11.h)
重要
WiFiCx 是 Windows 11 中发布的新 Wi-Fi 驱动程序模型。 建议使用 WiFiCx 来利用最新功能。 WDI 驱动程序模型现在处于维护模式,并且仅接收高优先级修补程序。
DOT11_CIPHER_DEFAULT_KEY_VALUE结构定义将在 802.11 工作站上的密钥表中添加或删除的默认密码密钥或每站默认密码密钥。 有关这些密码密钥类型的详细信息,请参阅 802.11 密码密钥类型。
语法
typedef struct DOT11_CIPHER_DEFAULT_KEY_VALUE {
NDIS_OBJECT_HEADER Header;
ULONG uKeyIndex;
DOT11_CIPHER_ALGORITHM AlgorithmId;
DOT11_MAC_ADDRESS MacAddr;
BOOLEAN bDelete;
BOOLEAN bStatic;
USHORT usKeyLength;
UCHAR ucKey[1];
} DOT11_CIPHER_DEFAULT_KEY_VALUE, *PDOT11_CIPHER_DEFAULT_KEY_VALUE;
成员
Header
DOT11_CIPHER_DEFAULT_KEY_VALUE结构的类型、修订和大小。 此成员的格式设置为 NDIS_OBJECT_HEADER 结构。
微型端口驱动程序必须将 标头 的成员设置为以下值:
类型
此成员必须设置为NDIS_OBJECT_TYPE_DEFAULT。
校订
此成员必须设置为DOT11_CIPHER_DEFAULT_KEY_VALUE_REVISION_1。
大小
此成员必须设置为 sizeof(DOT11_CIPHER_DEFAULT_KEY_VALUE)
。
有关这些成员的详细信息,请参阅 NDIS_OBJECT_HEADER。
uKeyIndex
802.11 工作站的默认键数组中的键的索引。
对于标准 802.11 密码算法,uKeyIndex 必须为 0 到 3。 对于 IHV 开发的密码算法,uKeyIndex 可以是 IHV 定义的范围内的任何值。
对于 BIP uKeyIndex 必须为 4 或 5。
IEEE 802.11-2012 标准定义从 1 到 4 的默认键索引值。 此成员指定的值 x 映射到 802.11 默认键索引(x + 1)。
AlgorithmId
使用此密钥的密码算法的值。 有关密码算法的值的详细信息,请参阅 DOT11_CIPHER_ALGORITHM。
对于 BIP,应将其设置为DOT11_CIPHER_ALGO_BIP预先设置初始 IGTK 数据包编号。
如果 bDeleteTRUE,微型端口驱动程序必须忽略此成员。
MacAddr
媒体访问控制 (MAC) 地址,用于标识要添加或删除密钥的默认密钥表。
如果 dot11DesiredBSSType 管理信息库 (MIB) 对象设置为 dot11_BSS_type_infrastructure,则 802.11 工作站将添加或删除默认键表中的键,而不管 MacAddr 成员的值如何。 如果从访问点(AP)动态获取密钥,则与工作站关联的 MacAddr 成员将包含 AP 的 MAC 地址。 否则,MacAddr 将具有0x000000000000的值。
如果 dot11DesiredBSSType 管理信息库 (MIB) 对象设置为 dot11_BSS_type_independent,则 802.11 工作站必须通过以下方式添加或删除密钥:
如果此成员的值0x000000000000,则 802.11 工作站将添加或删除默认键表中的键。 当 NIC 处于可扩展接入点(ExtAP)OP 模式时,此值为零。
如果此成员的值是有效的单播 MAC 地址,则 802.11 工作站将从独立 BSS (IBSS) 网络中对等站的每个站的默认密钥表中添加或删除密钥,其 MAC 地址等于 MacAddr 的值。
如果 MacAddr的值不存在每个工作站的默认密钥表,则 802.11 工作站必须使用任何未使用的每站默认密钥表。
有关 dot11DesiredBSSType MIB 对象的详细信息,请参阅 OID_DOT11_DESIRED_BSS_TYPE。
bDelete
一个布尔值,该值指定微型端口驱动程序是否应删除默认键。
如果设置为 TRUE,微型端口驱动程序必须删除 uKeyIndex引用的默认密钥。 如果设置为 FALSE,微型端口驱动程序必须添加或更新 uKeyIndex 引用的默认密钥。
bStatic
一个布尔值,该值指定微型端口驱动程序是否应在连接或漫游作后删除默认密钥。
如果设置为 FALSE,则每当 802.11 工作站时,微型端口驱动程序都必须删除 uKeyIndex 引用的默认密钥:
- 断开与基本服务集(BSS)网络的连接。
- 漫游到新的 BSS 网络。
- 重新连接到同一 BSS 网络。
如果设置为 TRUE,则除非 uKeyIndex 引用的默认键,否则不得将其删除:
- 通过 OID_DOT11_CIPHER_DEFAULT_KEY集请求显式删除。
- 通过 OID_DOT11_RESET_REQUEST的方法请求隐式删除。
usKeyLength
ucKey 数组中键材料的长度(以字节为单位)。
ucKey[*]
密钥材料。
如果 AlgorithmId 设置为 DOT11_CIPHER_ALGO_TKIP,则 ucKey 数组通过 DOT11_KEY_ALGO_TKIP_MIC 结构定义键材料。
如果 AlgorithmId 设置为 DOT11_CIPHER_ALGO_CCMP,则 ucKey 数组通过 DOT11_KEY_ALGO_CCMP 结构定义键材料。
如果 AlgorithmId 设置为 DOT11_CIPHER_ALGO_BIP,则 ucKey 数组通过 DOT11_KEY_ALGO_BIP 结构定义键材料。
ucKey[1]
密钥材料。
如果 AlgorithmId 设置为 DOT11_CIPHER_ALGO_TKIP,则 ucKey 数组通过 DOT11_KEY_ALGO_TKIP_MIC 结构定义键材料。
如果 AlgorithmId 设置为 DOT11_CIPHER_ALGO_CCMP,则 ucKey 数组通过 DOT11_KEY_ALGO_CCMP 结构定义键材料。
如果 AlgorithmId 设置为 DOT11_CIPHER_ALGO_BIP,则 ucKey 数组通过 DOT11_KEY_ALGO_BIP 结构定义键材料。
言论
如果 bDelete 成员 TRUE,则以下成员无效,必须忽略:
- bStatic
- usKeyLength
- ucKey
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 在 Windows 8 及更高版本的 Windows作系统中可用。 |
标头 | windot11.h (包括 Ndis.h) |