0
私が扱う必要があるBluetoothデバイスのグループを見ています。彼らはMACアドレスの既知の銀行を持っているので、私は列挙されたリストからそれらを選ぶことができます。システムに現在のリストを提供するのに問題が発生しています。WinXP/MFC:Bluetooth列挙:デバイスリストをリセットしますか?
BLUETOOTH_RADIO_INFO radioInfo;
radioInfo.dwSize = sizeof(radioInfo);
HRESULT hr = ::BluetoothGetRadioInfo(hRadio, &radioInfo);
BLUETOOTH_DEVICE_SEARCH_PARAMS deviceSearchParams;
memset(&deviceSearchParams, 0, sizeof(deviceSearchParams));
deviceSearchParams.dwSize = sizeof(deviceSearchParams);
deviceSearchParams.fReturnAuthenticated = false;
deviceSearchParams.fReturnRemembered = false;
deviceSearchParams.fReturnUnknown = true;
deviceSearchParams.fReturnConnected = false;
deviceSearchParams.hRadio = hRadio;
HANDLE hDeviceFind = ::BluetoothFindFirstDevice(&deviceSearchParams, &deviceInfo);
私はデバイスリストをループし、認識された単位を選択します。
検出可能なデバイスをリフレッシュするためにコントロールパネルのアプレットを再実行する必要があると思われます。そうしないと、ローカルでペアになっていないデバイスの実際のリストではなく、「記憶された」リストオンになります)。
提案? XP/VC2008/MFCを使用して