none
PCによるBluetooth通信 RRS feed

  • 質問

  • PC間にて、Bluetoothによるデータ転送を行いたくて開発作業をすすめています。
    手動にて設定、ファイル送受信確認済みのテスト環境があり、その機器に対して作業をおこなっています。
    Bluetoothによる作業自体が初めてで各HPのコードを参考にさせていただいています。

    ところが開発したアプリケーションを実行してもBluetoothFindFirstDeviceにより情報を取得できません。
    テスト環境ではPC側がBluetooth 無線アダプタ(BT-Micro3E2X)をUSB接続にて使用・ドライバは添付CDによりインストール、
    相手側PCではSTYLISTIC Q550/CでBluetooth標準のドライバを使用しています。

    OS:WindowsXP SP3、Windows7 Pro(SP1)
    開発環境:Visual C++ 2010 Express、ソリューション:Win32プロジェクトにて作成

    // Bthpropsはプロジェクトに直接追加
    // コードの内容

    #include <stdio.h>
    #include <windows.h>
    #include "Bthsdpdef.h"
    #include "BluetoothAPIs.h"

    BLUETOOTH_DEVICE_SEARCH_PARAMS SearchParam;
    memset( &SearchParam, 0, sizeof(BLUETOOTH_DEVICE_SEARCH_PARAMS) );
    SearchParam.dwSize = sizeof(BLUETOOTH_DEVICE_SEARCH_PARAMS);
    SearchParam.fReturnAuthenticated = TRUE;
    SearchParam.fReturnRemembered = TRUE;
    SearchParam.fReturnConnected = TRUE;
    SearchParam.fReturnUnknown = TRUE;
    SearchParam.fIssueInquiry = FALSE;
    SearchParam.cTimeoutMultiplier = 10;
    SearchParam.hRadio = NULL;

    HBLUETOOTH_DEVICE_FIND hfind = NULL;
    BLUETOOTH_DEVICE_INFO Devinfo;
    memset( &Devinfo, 0, sizeof(BLUETOOTH_DEVICE_INFO) );
    Devinfo.dwSize = sizeof(BLUETOOTH_DEVICE_INFO);
    if( hfind= BluetoothFindFirstDevice( &SearchParam, &Devinfo ) ){
     // 作業

    }

    このように処理を作成していますが、何もみつからず「作業」のところに記述している処理が実行されません。
    どこか環境・コーディング他おかしいところがあるのでしょうか?
    何卒ご教示願います。

    2012年5月12日 7:16

回答

すべての返信

  • 回答ではありません。
    BluetoothFindFirstDevice()でNULLが戻るなら
    GetLastError()を実行してみよ。
    とマニュアルにありますが、やってみましたか(質問)。
    2012年5月14日 4:27
  • こんにちは、dmisa64 さん。
     
    MSDN フォーラムのご利用ありがとうございます。オペレーターの山本です。
    しばらく経ちましたが、その後いかがでしょうか。
    継続してご質問がないようなので、参考になったのではと思われる投稿に勝手ながら私のほうで一旦回答としてマークさせていただきました。
    仲澤@失業者 さん、情報ありがとうございます。
     
    dmisa64 さん、一旦回答としてマークさせていただきましたが、その後の状況など情報更新していただけるとうれしいです。
    他の方でも、この件で参考になる情報などお持ちの方は是非投稿をお願いいたします。それでは。
    ____________________
    日本マイクロソフト株式会社 フォーラム オペレーター 山本 春海

    2012年6月8日 8:33
  • 仲澤@失業者 さん、情報ありがとうございます。内容を確認するのが大変遅くなり申し訳ありませんでした。
    上記の内容は結局確認しなかったのですがWindows7であればこのコーディング通りうまくいくことが確認できました。
    現状ではWindows7でのテストで結果がでればよくなったためWindowsXPでは作業保留となりました。
    後日WindowsXPで再度テストする際はおっしゃられる通りエラーの戻り値を確認しようとおもいます。


    • 編集済み dmisa64 2012年6月13日 1:13 ダミーの文字
    2012年6月13日 0:36
  • こんにちは、山本さん。確認が遅くなり大変申し訳ありませんでした。Windows7であれば正常な結果を得られることができたためWindowsXPでのテストは一旦保留となりました。今後作業が再開された場合、仲澤@失業者 さんのおっしゃられる通りエラー情報の確認からおこないたいとおもいます。ありがとうございました。
    • 編集済み dmisa64 2012年6月13日 1:13 ダミーの文字
    2012年6月13日 0:38