IOCTL_INTERNAL_BTH_SUBMIT_BRB IOCTL (b)
配置文件驅動程式會使用 IOCTL_INTERNAL_BTH_SUBMIT_BRB 將藍牙要求區塊 (BRB) 提交至藍牙驅動程式堆疊。
主要程序代碼
IRP_MJ_INTERNAL_DEVICE_CONTROL
輸入緩衝區
Parameters.Others.Argument1 成員指向 結構實例,該實例對應至配置文件驅動程式想要發出的 BRB。 下列清單描述對應至特定 BRB 的結構。
藍牙要求區塊 (BRB) | 對應結構 |
---|---|
BRB_HCI_GET_LOCAL_BD_ADDR | |
BRB_L2CA_REGISTER_SERVER | |
BRB_L2CA_UNREGISTER_SERVER | _BRB_L2CA_UNREGISTER_SERVER |
BRB_L2CA_OPEN_CHANNEL | |
BRB_L2CA_OPEN_CHANNEL_RESPONSE | |
BRB_L2CA_CLOSE_CHANNEL | |
BRB_L2CA_ACL_TRANSFER | |
BRB_L2CA_UPDATE_CHANNEL | |
BRB_L2CA_PING | |
BRB_REGISTER_PSM | |
BRB_UNREGISTER_PSM | |
BRB_SCO_REGISTER_SERVER | |
BRB_SCO_UNREGISTER_SERVER | |
BRB_SCO_OPEN_CHANNEL | |
BRB_SCO_OPEN_CHANNEL_RESPONSE | |
BRB_SCO_CLOSE_CHANNEL | |
BRB_SCO_TRANSFER | |
BRB_SCO_GET_CHANNEL_INFO | |
BRB_SCO_GET_SYSTEM_INFO | |
BRB_SCO_FLUSH_CHANNEL | |
BRB_ACL_GET_MODE | |
BRB_ACL_ENTER_ACTIVE_MODE | |
BRB_GET_DEVICE_INTERFACE_STRING | _BRB_GET_DEVICE_INTERFACE_STRING |
輸入緩衝區長度
結構的長度。
輸出緩衝區
如果 BRB 傳回輸出,Parameters-Others.Argument1> 會指向傳遞為輸入的相同 BRB。 輸出會在相關聯 BRB 結構的成員或 BRB 結構中指定的緩衝區中傳回。
輸出緩衝區長度
結構的長度
狀態區塊
如果要求成功,則STATUS_BLOCK結構的信息成員會設定為已提交的藍牙要求區塊大小,以位元組為單位。 否則, 信息 成員會設定為零。
Status 成員會設定為下表中的其中一個值。
狀態值 | 描述 |
---|---|
STATUS_SUCCESS | IOCTL 成功完成。 |
STATUS_INVALID_DEVICE_REQUEST | 透過 BRB 結構傳送至遠端裝置的要求無效。 |
STATUS_INVALID_PARAMETER | 一或多個輸入參數無效。 |
|
提供的緩衝區長度太小。 |
STATUS_NOT_IMPLEMENTED | 堆疊尚未實作必要的模組來處理 BRB。 |
STATUS_NOT_SUPPORTED | 堆疊不支援此 BRB。 |
STATUS_PENDING | BRB 擱置中。 |
備註
配置文件驅動程式會使用 BRB 來處理大部分的輸入、輸出和連線工作。 針對這些工作定義了一些 BRB,而且每一個都使用特定的對應結構。 所有 BRB 都會共用通用標頭,其中包含 BRB 的類型。 藍牙驅動程式堆疊會使用 BRB 標頭正確解譯 BRB 的其餘部分。 如需 BRB 標頭的詳細資訊,請參閱 BRB_HEADER 結構。
如需配置檔驅動程式如何使用 BRB 與藍牙驅動程式堆棧通訊的詳細資訊,請參閱 建置和傳送 BRB。
必須在 IRQL <= PASSIVE_LEVEL呼叫這些 BRB。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista 和更新版本中的版本:_Supported。 |
標頭 | b (b (包含 BthIoctl.h) |
IRQL | <= PASSIVE_LEVEL |