You are passing the service uuid, right? (not device Mac or characteristic).
I'm checking the relevant code and it looks correct.
Hello Erel,
Yes, I am passing a 128 bit service UUID:
From the device GATT:
<service uuid="3a245ce8-0e73-451d-a01a-bb802deb9c62">
<characteristic uuid="dd603001-e978-4894-b822-25108e75af70" id="never_mind">
<properties indicate="true"/>
<value variable_length="true" length="4" />
</characteristic>
</service>
Dim uuid_ra(2) As String
uuid_ra(0) = "3a245ce8-0e73-451d-a01a-bb802deb9c62"
uuid_ra(1) = "00431c4a-a7a4-428b-a96d-d92d43c8c7cf"
...
Manager.Scan(3000, uuid_ra)
The very first service in the device GATT is the name service, UUID="1800", but it chokes on that one as soon as it calls Manager.Scan, so I've skipped that one. There is no significance in the order of the services in the GATT, so there is no requirement that any particular service would be the first entry. I presume it would need the short-form UUIDs such as Name or Battery (180F) to be expanded to the full 128 bit UUID, which is a nuisance, but BLE is an extraordinarily complex way of sending very short data packets anyway.
In my case, the device with my particular service will always have a known name, so there is no actual benefit here, just curiosity; please don't spend much time on it.
John
Edit:
I tried with the expanded name service UUID "00001800-0000-1000-8000-00805f9b34fb", which is the very first service, no difference.