Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Asynchronously reports when a new device is added; or a name, or identity status of a device is updated.
Namespace:   Microsoft.WindowsServerSolutions.Common.Devices
Assembly:  DevicesOM (in DevicesOM.dll)
Syntax
public void ReportDeviceAsync(
    string deviceId,
    Guid deviceType,
    string deviceName,
    DeviceIdentityStatus status,
    string additionalIdInfo
)
public:
void ReportDeviceAsync(
    String^ deviceId,
    Guid deviceType,
    String^ deviceName,
    DeviceIdentityStatus status,
    String^ additionalIdInfo
)
Public Sub ReportDeviceAsync (
    deviceId As String,
    deviceType As Guid,
    deviceName As String,
    status As DeviceIdentityStatus,
    additionalIdInfo As String
)
Parameters
- deviceId 
 Type: System.String- The identifier of the device to be reported. 
- deviceType 
 Type: System.Guid- The type of the device to be reported. 
- deviceName 
 Type: System.String- The name of the device to be reported. 
- status 
 Type: Microsoft.WindowsServerSolutions.Common.Devices.DeviceIdentityStatus- The identity status of the device. 
- additionalIdInfo 
 Type: System.String- The additional identity information, which is the certificate serial number. 
Exceptions
| Exception | Condition | 
|---|---|
| ArgumentNullException | The argument is null or empty. | 
| ArgumentException | The deviceType is Guid.Empty. | 
Remarks
The caller of this method must subscribe to the ReportDeviceCompleted event to know the result of the report operation. ReportOperationCompletedEventArgs.Error should also be checked to know whether an error occurred with the operation.
Administrator rights are required to perform this operation.
Only devices with a device type from DeviceTypes are listed in the Dashboard.
Examples
The following code example shows how to asynchronously report a device.
using (DevicesManager dm = new DevicesManager())
{
  string deviceId = Guid.NewGuid().ToString();
  Guid deviceType = Constant.MyDeviceType;
  dm.ReportDeviceCompleted += 
    new EventHandler<ReportOperationCompletedEventArgs>(
      dm_ReportDeviceCompleted);
  dm.ReportDevice(deviceId,
                  deviceType,
                  "SDK Device",
                  DeviceIdentityStatus.Active,
                  null);
}
The following code example shows the delegate method.
static void dm_ReportDeviceCompleted(object sender, 
   ReportOperationCompletedEventArgs e)
{
   if (e.Error == null)    // if there was no error
   {
      Console.WriteLine("Successfully reported device {0}", e.DeviceId);
   }
   else
   {
      Console.WriteLine(e.Error.ToString()); // print exception
   }
}
See Also
DeviceTypes
DeviceIdentityStatus
ReportDeviceAsync Overload
DevicesManager Class
Microsoft.WindowsServerSolutions.Common.Devices Namespace
Return to top