5

Windows デスクトップ用に開発しています。範囲内のデバイスを取得し、リストとしてユーザーに表示したいと考えています。

これは私が使用しているコードです:

HBLUETOOTH_DEVICE_FIND founded_device;

BLUETOOTH_DEVICE_INFO device_info;
device_info.dwSize = sizeof(device_info);

BLUETOOTH_DEVICE_SEARCH_PARAMS search_criteria;
search_criteria.dwSize = sizeof(BLUETOOTH_DEVICE_SEARCH_PARAMS);
search_criteria.fReturnAuthenticated = FALSE;
search_criteria.fReturnRemembered = FALSE;
search_criteria.fReturnConnected = TRUE;
search_criteria.fReturnUnknown = FALSE;
search_criteria.fIssueInquiry = FALSE;
search_criteria.cTimeoutMultiplier = 0;

founded_device = BluetoothFindFirstDevice(&search_criteria, &device_info);

if (founded_device == NULL)
{
    _tprintf(TEXT("Error: \n%s\n"), getErrorMessage(WSAGetLastError(), error));
    return -1;
}

do
{
    _tprintf(TEXT("founded device: %s\n"), device_info.szName);

} while (BluetoothFindNextDevice(founded_device, &device_info));
return 0;

私の問題は、範囲内のデバイスのリストで、常に記憶されているデバイスを取得することです。fReturnRemembered が false に設定されている場合でも。

記憶されたデバイスなしで範囲内のデバイスのみを取得する方法を見つける必要があります。

現在私がやっていることは、ソケットを開いて通信しようとしていますが、他に方法はありますか?

4

1 に答える 1