DOT11_BYTE_ARRAY 结构 (windot11.h)

重要本机 802.11 无线 LAN 接口在 Windows 10 及更高版本中已弃用。 请改用 WLAN 设备驱动程序接口 (WDI) 。 有关 WDI 的详细信息,请参阅 WLAN 通用 Windows 驱动程序模型
 
DOT11_BYTE_ARRAY 结构位于 MiniportOidRequest 函数的 OidRequest 参数的 InformationBuffer 成员中的可变长度结构列表之前。

语法

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结构,请将 uNumOfBytesuTotalNumOfBytes 成员设置为 ucBuffer 数组中的条目总数。
    • 对于 OidRequest 参数,将 BytesNeeded 成员设置为零, 将 BytesWritten 成员设置为整个DOT11_BYTE_ARRAY结构的长度(以字节为单位)。 微型端口驱动程序还必须将整个 DOT11_BYTE_ARRAY 结构复制到 InformationBuffer 成员。
    • 从其 MiniportOidRequest 函数返回NDIS_STATUS_SUCCESS。

要求

要求
最低受支持的客户端 在 Windows Vista 和更高版本的 Windows 操作系统中可用。
标头 windot11.h (包括 Ndis.h)

另请参阅

OID_DOT11_CIPHER_KEY_MAPPING_KEY

OID_DOT11_ENUM_BSS_LIST

NDIS_OBJECT_HEADER