서비스 설정에 대한 Bluetooth 및 WSAQUERYSET
Bluetooth는 WSAQUERYSET 구조를 사용하여 NS_BTH Bluetooth 네임스페이스에서 디바이스 및 서비스를 쉽게 검색할 수 있습니다.
WSASetService 함수는 WSAQUERYSET 구조를 사용하여 Bluetooth 네임스페이스에서 서비스 인스턴스를 등록하거나 제거합니다. 다음 표에서는 WSAQUERYSET 구조체의 멤버 값을 나열합니다.
멤버 | 필수 값(입력) | 출력 |
---|---|---|
dwSize | sizeof(WSAQUERYSET)로 설정해야 합니다. 버전 관리 메커니즘으로 사용됩니다. | 없음 |
dwOutputFlags | 사용되지 않습니다. | 없음 |
lpszServiceInstanceName | 선택 사항이지만 권장됩니다. Bluetooth ServiceName 특성을 생성하는 데 사용됩니다. | 없음 |
lpServiceClassId | 필수 사항입니다. 서비스 클래스에 해당하는 GUID입니다. 이 값은 알려진 프로필에 대한 Bluetooth 할당 번호 문서의 GUID 또는 프로필 기반이 아닌 애플리케이션에 대해 고유한 애플리케이션 생성 UUID에 해당해야 합니다. 이 를 유일한 멤버로 사용하여 ServiceClassIdList 특성 시퀀스를 생성하는 데 사용됩니다. | 없음 |
lpVersion | 사용되지 않습니다. | 없음 |
lpszComment | 선택 사항입니다. Bluetooth ServiceDescription 특성을 생성하는 데 사용됩니다. | 없음 |
dwNameSpace | 서비스를 제한할 네임스페이스입니다. NS_BTH 합니다. | 없음 |
lpNSProviderId | 필수 아님. | 없음 |
lpszContext | 사용되지 않습니다. | 없음 |
dwNumberOfProtocols | 사용되지 않습니다. | 없음 |
lpafpProtocols | 사용되지 않습니다. | 없음 |
lpszQueryString | 사용되지 않습니다. | 없음 |
dwNumberOfCsAddrs | 등록할 주소 수입니다. 1이어야 합니다. | 없음 |
lpcsaBuffer | lpBlob이 원시 SDP 스트림으로 채워지지 않은 경우 필요합니다. LocalAddr.lpSockaddr 멤버가 서버가 연결을 수신 대기하는 SOCKADDR_BTH 가리키는 CSADDR_INFO구조체에 대한 포인터입니다. getsockname 함수를 사용하여 바인딩된 소켓에 대한 SOCKADDR_BTH 구조를 반환할 수 있습니다. lpcsaBuffer 멤버의 정보는 시스템에서 Bluetooth ProtocolDescriptorList SDP 특성을 생성하는 데 사용됩니다. lpcsaBuffer에 제공된 프로토콜 및 포트는 고유해야 하며(이전에 등록되지 않음) 삭제할 후속 호출에 대한 레코드를 인덱싱하는 데 사용됩니다. SDP 레코드의 Bluetooth ProtocolDescriptorList 특성을 생성하는 데 사용됩니다. | 없음 |
lpBlob | 선택 사항입니다. BTH_SET_SERVICE 구조를 가리키는 BLOB 구조체에 대한 포인터로, 클라이언트가 애플리케이션에서 생성한 이진 SDP 레코드를 포함하는 Bluetooth 관련 구조를 제공할 수 있도록 합니다. lpBlob이 WSASetService 함수에 제공되면 dwSize 및 dwNameSpace를 제외한 WSAQUERYSET 구조체의 다른 모든 멤버는 무시됩니다. 자세한 내용은 Bluetooth 및 BLOB 을 참조하세요. WSAQUERYSET 구조체에서 제한된 수의 SDP 특성을 변환할 수 있고 문자열은 기본 언어 UTF-8 인코딩으로만 변환되므로 대부분의 경우 이진 SDP 레코드를 제출해야 합니다. | 선택적 BLOB 및 BTH_SET_SERVICE 구조체가 입력에 제공된 경우 BTH_SET_SERVICE 지정해야 하는 ULONG 버전 및 HANDLE 값과 함께 버전이 업데이트되어 Bluetooth Windows 소켓 공급자에 대한 BTH_SDP_VERSION 값을 포함하도록 업데이트되고 이후에 레코드를 삭제하는 데 필요한 핸들이 제공됩니다. |
참고
서비스를 제거하려면 BTH_SET_SERVICE 구조에 필요한 멤버는 pSdpVersion 및 pRecordHandle 멤버뿐입니다.
관련 항목