FireBreath プラグインで、Wifi SSID を特定したり、目に見える Wi-Fi アクセス ポイントをスキャンしたりしようとしています。
コードの Windows 部分では、次のように開始する必要があります。
dwResult = WlanOpenHandle(dwMaxClient, NULL, &dwCurVersion, &hClient);
残念ながら、dwResult
は常に 1062 を返します。これは、「サービスが開始されていません」(経由FormatMessage()
) に変換されます。
メインスレッドと、次のように開始されたブーストスレッドで実行しようとしました:
boost::thread t(boost::bind(&LaasTechAPI::doSomethingTimeConsuming_thread, this, num, callback));
エラー1062は関係なく同じです。
(ちなみに、私はスレッド方法論を実装しました。これは、a. インターネット検索がある種の ATL/MTL の「アパートメント」スレッド化の問題を示していることと、b. Wifi スキャンが本質的に遅い非同期処理であることが知られているため、スレッド化が最初から必要であると思われたためです)
この WlanOpenHandle エラー 1062 の問題を解決する方法を誰か教えてもらえますか?
セカンダリ:
- Windows でローカル アクセス ポイントの Wifi SSID、BSSID、および信号強度をスキャンする、より信頼性の高い方法を教えてください。
- また、OS X の Wifi 情報も収集する必要があります。そのため、Wifi スキャン用の Mac またはマルチプラットフォーム ソリューションを知っている場合は、共有してください。
ありがとうございました!