IOCTL_INTERNAL_BTH_SUBMIT_BRB IOCTL(bthioctl.h)

프로필 드라이버는 IOCTL_INTERNAL_BTH_SUBMIT_BRB 사용하여 Bluetooth 드라이버 스택에 BRB(Bluetooth 요청 블록)를 제출합니다.

주 코드

IRP_MJ_INTERNAL_DEVICE_CONTROL

입력 버퍼

Parameters.Others.Argument1 멤버는 프로필 드라이버가 발급하려는 BRB에 해당하는 구조체의 instance 주소를 가리킵니다. 다음 목록에서는 특정 BRB에 해당하는 구조체에 대해 설명합니다.

BLUEtooth 요청 블록(BRB) 해당 구조체
BRB_HCI_GET_LOCAL_BD_ADDR

_BRB_GET_LOCAL_BD_ADDR

BRB_L2CA_REGISTER_SERVER

_BRB_L2CA_REGISTER_SERVER

BRB_L2CA_UNREGISTER_SERVER _BRB_L2CA_UNREGISTER_SERVER
BRB_L2CA_OPEN_CHANNEL

_BRB_L2CA_OPEN_CHANNEL

BRB_L2CA_OPEN_CHANNEL_RESPONSE

_BRB_L2CA_OPEN_CHANNEL

BRB_L2CA_CLOSE_CHANNEL

_BRB_L2CA_CLOSE_CHANNEL

BRB_L2CA_ACL_TRANSFER

_BRB_L2CA_ACL_TRANSFER

BRB_L2CA_UPDATE_CHANNEL

_BRB_L2CA_UPDATE_CHANNEL

BRB_L2CA_PING

_BRB_L2CA_PING

BRB_REGISTER_PSM

_BRB_PSM

BRB_UNREGISTER_PSM

_BRB_PSM

BRB_SCO_REGISTER_SERVER

_BRB_SCO_REGISTER_SERVER

BRB_SCO_UNREGISTER_SERVER

_BRB_SCO_UNREGISTER_SERVER

BRB_SCO_OPEN_CHANNEL

_BRB_SCO_OPEN_CHANNEL

BRB_SCO_OPEN_CHANNEL_RESPONSE

_BRB_SCO_OPEN_CHANNEL

BRB_SCO_CLOSE_CHANNEL

_BRB_SCO_CLOSE_CHANNEL

BRB_SCO_TRANSFER

_BRB_SCO_TRANSFER

BRB_SCO_GET_CHANNEL_INFO

_BRB_SCO_GET_CHANNEL_INFO

BRB_SCO_GET_SYSTEM_INFO

_BRB_SCO_GET_SYSTEM_INFO

BRB_SCO_FLUSH_CHANNEL

_BRB_SCO_FLUSH_CHANNEL

BRB_ACL_GET_MODE

_BRB_ACL_GET_MODE

BRB_ACL_ENTER_ACTIVE_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 구조체의 정보 멤버가 제출된 Bluetooth 요청 블록의 크기(바이트)로 설정됩니다. 그렇지 않으면 정보 멤버가 0으로 설정됩니다.

Status 멤버는 다음 표의 값 중 하나로 설정됩니다.

상태 값 Description
STATUS_SUCCESS IOCTL이 성공적으로 완료되었습니다.
STATUS_INVALID_DEVICE_REQUEST BRB 구조를 통해 원격 디바이스로 전송된 요청이 잘못되었습니다.
STATUS_INVALID_PARAMETER 하나 이상의 입력 매개 변수가 잘못되었습니다.
STATUS_INVALID_BUFFER_SIZE 또는
STATUS_BUFFER_TOO_SMALL
제공된 버퍼의 길이가 너무 작습니다.
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_HEADER

BRB_TYPE

BRB 빌드 및 보내기