Windows Mobile 6 Bluetooth接続
Windows Mobile 6のサンプルbtsearchはブルートゥースデバイスを探すだけ。
ターゲットデバイスに接続するにはどうすればいいのか。
Creating a Connection to a Remote Device Using Winsock (Windows CE 5.0) | Microsoft Docsを参考に書いてみる。
SOCKET client_socket; client_socket = socket (AF_BTH, SOCK_STREAM, BTHPROTO_RFCOMM); if ( client_socket == INVALID_SOCKET ) { MessageBox(NULL, _T("Could not socket!"), _T("Fatal Error"), MB_OK); } SOCKADDR_BTH sa; memset (&sa, 0, sizeof(sa)); sa.addressFamily = AF_BTH; sa.port = 0; //0でいいのか? sa.serviceClassId = SerialPortServiceClass_UUID; sa.btAddr = (BT_ADDR)0xffffffffffff; //接続したいデバイスのアドレス if ( 0 != connect ( client_socket, (SOCKADDR *)&sa, sizeof( sa ) ) ) { closesocket (client_socket); CloseHandle ((LPVOID)client_socket); WSACleanup(); }
ビルドして、
error LNK2001: 外部シンボル "SerialPortServiceClass_UUID" は未解決です。
こんなエラーが出たら、
bthguid.libというライブラリを追加してやりましょう。