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 (include Ndis.h) |