It's explained here :
Summary:
An asynchronous version of InTheHand.Net.Sockets.BluetoothClient.DiscoverDevices(System.Int32,System.Boolean,System.Boolean,System.Boolean,System.Boolean)
Parameters:
maxDevices:
See InTheHand.Net.Sockets.BluetoothClient.DiscoverDevices(System.Int32,System.Boolean,System.Boolean,System.Boolean,System.Boolean).
authenticated:
See InTheHand.Net.Sockets.BluetoothClient.DiscoverDevices(System.Int32,System.Boolean,System.Boolean,System.Boolean,System.Boolean).
remembered:
See InTheHand.Net.Sockets.BluetoothClient.DiscoverDevices(System.Int32,System.Boolean,System.Boolean,System.Boolean,System.Boolean).
unknown:
See InTheHand.Net.Sockets.BluetoothClient.DiscoverDevices(System.Int32,System.Boolean,System.Boolean,System.Boolean,System.Boolean).
discoverableOnly:
See InTheHand.Net.Sockets.BluetoothClient.DiscoverDevices(System.Int32,System.Boolean,System.Boolean,System.Boolean,System.Boolean).
callback:
An optional asynchronous callback, to be called when the discovery is complete.
state:
A user-provided object that distinguishes this particular asynchronous discovery
request from other requests.
Returns:
An System.IAsyncResult that represents the asynchronous discovery, which
could still be pending.
public IAsyncResult BeginDiscoverDevices(int maxDevices, bool authenticated, bool remembered, bool unknown, bool discoverableOnly, AsyncCallback callback, object state);
Did you see this ?