WSDiscoveryForDspi Class
You can add probing support to your provider or subscribe for Hello and Bye messages from your provider by using the WSDiscoveryForDspi class.
Namespace: Microsoft.Rfid.WSDiscovery
Assembly: Microsoft.Rfid.WsDiscovery (in microsoft.rfid.wsdiscovery.dll)
Syntax
'Declaration
Public NotInheritable Class WSDiscoveryForDspi
Implements IDisposable
public sealed class WSDiscoveryForDspi : IDisposable
public ref class WSDiscoveryForDspi sealed : IDisposable
public final class WSDiscoveryForDspi implements IDisposable
public final class WSDiscoveryForDspi implements IDisposable
Inheritance Hierarchy
System.Object
Microsoft.Rfid.WSDiscovery.WSDiscoveryForDspi
Example
The following sample code shows how to use the WSDiscoveryForDspi class to probe for RFID devices and to subscribe for Hello, Bye, and ProbeMatch messages.
public class WsDiscoveryDeviceProvider : DeviceProvider
{
…
WSDiscoveryForDspi discoveryForDSPI = null;
public override void Init(RfidProviderContext providerContext, string providerName, PropertyProfile providerInitParameters)
{
discoveryForDSPI = new WSDiscoveryForDspi(providerName);
}
public override void StartDiscovery()
{
discoveryForDSPI.StartDiscovery();
}
public override void StopDiscovery()
{
logger.Info("StopDiscovery called");
discoveryForDSPI.StopDiscovery();
}
public override void Init(RfidProviderContext providerContext, string providerName, PropertyProfile providerInitParameters)
{
discoveryForDSPI = new WSDiscoveryForDspi(providerName);
discoveryForDSPI.OnDeviceAdded += new EventHandler<WSDiscoveryEventArgs>(discoveryForDSPI_OnDeviceAdded);
discoveryForDSPI.OnDeviceRemoved += new EventHandler<WSDiscoveryEventArgs>(discoveryForDSPI_OnDeviceRemoved);
discoveryForDSPI.SearchCompleted += new AsyncCompletedEventHandler(discoveryForDSPI_SearchCompleted);
…
}
void discoveryForDSPI_OnDeviceRemoved(object sender, WSDiscoveryEventArgs e)
{
//do nothing here
}
void discoveryForDSPI_OnDeviceAdded(object sender, WSDiscoveryEventArgs e)
{
if (DiscoveryEvent != null)
{
DiscoveryEventArgs args = discoveryForDSPI.ConvertToDspiDiscoveryEvent(e);
DiscoveryEvent(this, args);
}
}
public override void TriggerDiscovery()
{
discoveryForDSPI.SearchAsync();
}
private void discoveryForDSPI_SearchCompleted(object sender, AsyncCompletedEventArgs e)
{
RfidProviderContext.Current.Logger.Log(Level.Info, "search completed:\n {0}");
}
}
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Platforms
Development Platforms
Windows XP Home Edition, Windows XP Professional, Windows Server 2003, Windows Longhorn, and Windows 2000
Target Platforms
See Also
Reference
WSDiscoveryForDspi Members
Microsoft.Rfid.WSDiscovery Namespace