BRB_HEADER 구조체(bthddi.h)

BRB_HEADER 구조에는 Bluetooth 드라이버 스택이 처리할 BRB 유형의 종류를 결정하는 데 사용하는 BRB 유형에 대한 정보를 포함하여 BRB(Bluetooth 요청 블록)에 대한 헤더 정보가 포함되어 있습니다.

구문

typedef struct _BRB_HEADER {
  LIST_ENTRY ListEntry;
  ULONG      Length;
  USHORT     Version;
  USHORT     Type;
  ULONG      BthportFlags;
  NTSTATUS   Status;
  BTHSTATUS  BtStatus;
  PVOID      Context[BTHPORT_CONTEXT_SIZE];
  PVOID      ClientContext[BTHPORT_CONTEXT_SIZE];
  ULONG      Reserved[BTHPORT_RESERVED_FIELD_SIZE];
} BRB_HEADER;

멤버

ListEntry

BRB의 현재 소유자가 BRB를 큐에 배치하는 데 사용하는 LIST_ENTRY 구조체입니다.

Length

BRB_HEADER 구조체를 포함한 BRB의 크기(바이트)입니다. BthAllocateBrb, BthInitializeBrbBthReuseBrb 함수는 이 멤버를 자동으로 설정합니다.

Version

내부 전용입니다. 사용하지 마십시오.

Type

Bluetooth 요청 블록 유형입니다. BthAllocateBrb, BthInitializeBrbBthReuseBrb 함수는 이 멤버를 자동으로 설정합니다. 가능한 값은 다음과 같습니다.

  • BRB_HCI_GET_LOCAL_BD_ADDR
  • BRB_L2CA_REGISTER_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

BthportFlags

내부 전용입니다. 사용하지 마십시오.

Status

BRB 호출이 완료될 때 전달되는 NTSTATUS 코드입니다.

BtStatus

Status 멤버에 전달되는 NTSTATUS 코드에 해당하는 Bluetooth 상태 코드(BTSTATUS)입니다. 가능한 값은 다음과 같습니다.

  • BTH_ERROR_SUCCESS
  • BTH_ERROR_ACL_CONNECTION_ALREADY_EXISTS
  • BTH_ERROR_AUTHENTICATION_FAILURE
  • BTH_ERROR_COMMAND_DISALLOWED
  • BTH_ERROR_CONNECTION_TIMEOUT
  • BTH_ERROR_ENCRYPTION_MODE_NOT_ACCEPTABLE
  • BTH_ERROR_HARDWARE_FAILURE
  • BTH_ERROR_HOST_REJECTED_LIMITED_RESOURCES
  • BTH_ERROR_HOST_REJECTED_PERSONAL_DEVICE
  • BTH_ERROR_HOST_REJECTED_SECURITY_REASONS
  • BTH_ERROR_HOST_TIMEOUT
  • BTH_ERROR_INSTANT_PASSED
  • BTH_ERROR_INVALID_HCI_PARAMETER
  • BTH_ERROR_INVALID_LMP_PARAMETERS
  • BTH_ERROR_KEY_MISSING
  • BTH_ERROR_LMP_PDU_NOT_ALLOWED
  • BTH_ERROR_LMP_RESPONSE_TIMEOUT
  • BTH_ERROR_LMP_TRANSACTION_COLLISION
  • BTH_ERROR_LOCAL_HOST_TERMINATED_CONNECTION
  • BTH_ERROR_MAX_NUMBER_OF_CONNECTIONS
  • BTH_ERROR_MAX_NUMBER_OF_SCO_CONNECTIONS
  • BTH_ERROR_MEMORY_FULL
  • BTH_ERROR_NO_CONNECTION
  • BTH_ERROR_PAGE_TIMEOUT
  • BTH_ERROR_PAIRING_NOT_ALLOWED
  • BTH_ERROR_PAIRING_WITH_UNIT_KEY_NOT_SUPPORTED
  • BTH_ERROR_QOS_IS_NOT_SUPPORTED
  • BTH_ERROR_REMOTE_LOW_RESOURCES
  • BTH_ERROR_REMOTE_POWERING_OFF
  • BTH_ERROR_REMOTE_USER_ENDED_CONNECTION
  • BTH_ERROR_REPEATED_ATTEMPTS
  • BTH_ERROR_ROLE_CHANGE_NOT_ALLOWED
  • BTH_ERROR_SCO_AIRMODE_REJECTED
  • BTH_ERROR_SCO_INTERVAL_REJECTED
  • BTH_ERROR_SCO_OFFSET_REJECTED
  • BTH_ERROR_UKNOWN_LMP_PDU
  • BTH_ERROR_UNIT_KEY_NOT_USED
  • BTH_ERROR_UNKNOWN_HCI_COMMAND
  • BTH_ERROR_UNSPECIFIED_ERROR
  • BTH_ERROR_UNSUPPORTED_FEATURE_OR_PARAMETER
  • BTH_ERROR_UNSUPPORTED_LMP_PARM_VALUE
  • BTH_ERROR_UNSUPPORTED_REMOTE_FEATURE

Context[BTHPORT_CONTEXT_SIZE]

내부 전용입니다. 사용하지 마십시오.

ClientContext[BTHPORT_CONTEXT_SIZE]

BRB 호출과 연결된 클라이언트 컨텍스트입니다. 호출자는 이 멤버를 사용하여 포인터 또는 기타 정보를 저장할 수 있습니다.

Reserved[BTHPORT_RESERVED_FIELD_SIZE]

다음에 사용하도록 예약됩니다. 사용하지 마십시오.

설명

BRB_HEADER 구조체에는 지정된 BRB에 대한 일반적인 유형의 정보가 포함됩니다. BRB_HEADER 구조체는 에 대한 입력 버퍼로 사용되는 모든 BRB 구조체에서 사용됩니다. IOCTL_INTERNAL_BTH_SUBMIT_BRB IOCTL.

프로필 드라이버는 ClientContext를 제외한 BRB_HEADER 구조체의 멤버를 수정해서는 안 됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 버전:windows Vista 이상에서 _Supported.
머리글 bthddi.h(Bthddi.h 포함)

추가 정보

BthAllocateBrb

BthInitializeBrb

BthReuseBrb