SDP 서버와 통신 개요
Bluetooth 드라이버 스택은 SDP(서비스 검색 프로토콜)를 지원합니다. 이 프로토콜을 사용하면 프로필 드라이버가 로컬 라디오 범위에 있는 Bluetooth 디바이스에서 제공하는 서비스를 검색하거나 검색할 수 있습니다. SDP는 L2CAP(논리 링크 제어 및 적응 프로토콜)를 전송 프로토콜로 사용하고 클라이언트-서버 모델을 따릅니다.
서비스는 정보를 제공하거나, 작업을 수행하거나, 다른 엔터티를 대신하여 리소스를 제어할 수 있는 엔터티입니다. 서비스는 소프트웨어, 하드웨어 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있습니다. 서비스 레코드는 전적으로 서비스 특성 목록으로 구성됩니다.
L2CAP 서버 프로필 드라이버가 들어오는 L2CAP 연결 요청을 수락하도록 자신을 등록한 후 IOCTL_BTH_SDP_SUBMIT_RECORD 또는 IOCTL_BTH_SDP_SUBMIT_RECORD_WITH_INFO 사용하여 해당 서비스를 SDP 프로토콜로 보급할 수 있습니다. 각 SDP 레코드는 스트림으로 제출됩니다. 프로필 드라이버가 IOCTL_BTH_SDP_SUBMIT_RECORD_WITH_INFO 사용하는 경우 프로필 드라이버는 SDP 레코드 자체에 포함되지 않은 추가 특성을 포함하는 원시 스트림에 BTH_SDP_RECORD 구조를 추가합니다. 여기에는 요청 클라이언트에 대한 보안 요구 사항, SDP 레코드에 대한 게시 옵션, CoD(디바이스 클래스) 정보, 레코드 길이 및 레코드 자체가 포함됩니다.
프로필 드라이버가 서비스를 보급한 후 다른 Bluetooth 디바이스는 이러한 서비스를 검색하거나 검색할 수 있습니다. SDP 서비스에 대한 자세한 내용은 SDP 서비스 정보 액세스를 참조하세요.
SDP를 사용하여 광고 서비스를 중지하기 위해 프로필 드라이버는 IOCTL_BTH_SDP_REMOVE_RECORD 사용합니다.