다음을 통해 공유


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에 해당하는 구조체의 인스턴스 주소를 가리킵니다. 다음 목록에서는 특정 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 구조의 Information 멤버가 제출된 Bluetooth 요청 블록의 크기(바이트)로 설정됩니다. 그렇지 않으면 Information 멤버가 0으로 설정됩니다.

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

상태 값 묘사
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 빌드 및 보내기