DOT11_BYTE_ARRAY 结构 (windot11.h)
重要本机 802.11 无线 LAN 接口在 Windows 10 及更高版本中已弃用。 请改用 WLAN 设备驱动程序接口 (WDI) 。 有关 WDI 的详细信息,请参阅 WLAN 通用 Windows 驱动程序模型。
语法
typedef struct DOT11_BYTE_ARRAY {
NDIS_OBJECT_HEADER Header;
ULONG uNumOfBytes;
ULONG uTotalNumOfBytes;
UCHAR ucBuffer[1];
} DOT11_BYTE_ARRAY, *PDOT11_BYTE_ARRAY;
成员
Header
DOT11_BYTE_ARRAY 结构的类型、修订和大小。 此成员的格式设置为 NDIS_OBJECT_HEADER 结构。
微型端口驱动程序必须将 Header 的成员设置为以下值:
类型
此成员必须设置为 NDIS_OBJECT_TYPE_DEFAULT。
修订
此成员必须设置为遵循DOT11_BYTE_ARRAY结构的可变长度结构的修订。 有关这些结构的修订的详细信息,请参阅“另请参阅”部分中列出的对象标识符 (OIDS) 。
大小
此成员必须设置为 sizeof (DOT11_BYTE_ARRAY) 。
有关这些成员的详细信息,请参阅 NDIS_OBJECT_HEADER。
uNumOfBytes
ucBuffer 数组中的字节数。
uTotalNumOfBytes
ucBuffer 数组所需的最大字节数。
ucBuffer[1]
可变长度结构的列表。
注解
存储在 ucBuffer 数组中的结构类型取决于 OID 集和查询请求。 例如,当 OID_DOT11_ENUM_BSS_LIST查询时,微型端口驱动程序会将一个或多个DOT11_BSS_ENTRY结构存储在 ucBuffer 数组中。
当使用 DOT11_BYTE_ARRAY 结构的 OID 查询时,微型端口驱动程序必须验证 MiniportOidRequest 函数的 OidRequest 参数的 InformationBuffer 成员是否足够大,足以返回整个结构,包括 ucBuffer 数组中的所有条目。 OidRequest 参数的 InformationBufferLength 成员的值确定微型端口驱动程序必须执行的操作,如以下列表所示:
-
如果 InformationBufferLength 成员的值小于整个DOT11_BYTE_ARRAY结构的长度(以字节为单位),微型端口驱动程序必须执行以下操作:
- 对于 OidRequest 参数,将 BytesWritten 成员设置为零, 将 BytesNeeded 成员设置为整个 DOT11_BYTE_ARRAY 结构的长度(以字节为单位)
- 通过从其 MiniportOidRequest 函数返回NDIS_STATUS_BUFFER_OVERFLOW,使查询请求失败。
-
如果 InformationBufferLength 成员的值大于或等于整个DOT11_BYTE_ARRAY结构的长度(以字节为单位),微型端口驱动程序必须执行以下操作才能成功完成查询请求:
- 对于DOT11_BYTE_ARRAY结构,请将 uNumOfBytes 和 uTotalNumOfBytes 成员设置为 ucBuffer 数组中的条目总数。
- 对于 OidRequest 参数,将 BytesNeeded 成员设置为零, 将 BytesWritten 成员设置为整个DOT11_BYTE_ARRAY结构的长度(以字节为单位)。 微型端口驱动程序还必须将整个 DOT11_BYTE_ARRAY 结构复制到 InformationBuffer 成员。
- 从其 MiniportOidRequest 函数返回NDIS_STATUS_SUCCESS。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 Windows Vista 和更高版本的 Windows 操作系统中可用。 |
标头 | windot11.h (包括 Ndis.h) |