DOT11_BYTE_ARRAY结构(windot11.h)
重要
WiFiCx 是 Windows 11 中发布的新 Wi-Fi 驱动程序模型。 建议使用 WiFiCx 来利用最新功能。 WDI 驱动程序模型现在处于维护模式,并且仅接收高优先级修补程序。
DOT11_BYTE_ARRAY结构位于 InformationBuffer 成员 MiniportOidRequest 函数的 OidRequest 参数中的可变长度结构列表之前。
语法
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 结构。
微型端口驱动程序必须将 标头 的成员设置为以下值:
类型
此成员必须设置为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 查询时,微型端口驱动程序必须验证 InformationBufferMiniportOidRequest 函数的 OidRequest 参数的大小足以返回整个结构,包括 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) |