프로필 드라이버는 IOCTL_INTERNAL_BTH_SUBMIT_BRB 사용하여 Bluetooth 드라이버 스택에 BRB(Bluetooth 요청 블록)를 제출합니다.
주 코드
IRP_MJ_INTERNAL_DEVICE_CONTROL
입력 버퍼
Parameters.Others.Argument1 멤버는 프로필 드라이버가 발급하려는 BRB에 해당하는 구조체의 인스턴스 주소를 가리킵니다. 다음 목록에서는 특정 BRB에 해당하는 구조를 설명합니다.
Bluetooth 요청 블록(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 구조의 Information 멤버가 제출된 Bluetooth 요청 블록의 크기(바이트)로 설정됩니다. 그렇지 않으면 Information 멤버가 0으로 설정됩니다.
상태 멤버는 다음 표의 값 중 하나로 설정됩니다.
상태 값 | 묘사 |
---|---|
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의 형식을 포함하는 공통 헤더를 공유합니다. Bluetooth 드라이버 스택은 BRB 헤더를 사용하여 BRB의 나머지 부분을 올바르게 해석합니다. BRB 헤더에 대한 자세한 내용은 BRB_HEADER 구조를 참조하세요.
프로필 드라이버가 BRB를 사용하여 Bluetooth 드라이버 스택과 통신하는 방법에 대한 자세한 내용은 BRB빌드 및 보내기를 참조하세요.
이러한 BRB는 IRQL <= PASSIVE_LEVEL 호출해야 합니다.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | 버전:windows Vista 이상에서 _Supported. |
헤더 | bthioctl.h(BthIoctl.h 포함) |
IRQL | <= PASSIVE_LEVEL |
참고 항목
BRB 빌드 및 보내기