Log.Error(IoTConnectivityErrorFactory.LogTag, "Failed to get attributes");
throw IoTConnectivityErrorFactory.GetException(ret);
}
- Str = Marshal.PtrToStringAnsi(value);
+ Str = (value != IntPtr.Zero) ? Marshal.PtrToStringAnsi(value) : string.Empty;
_attributes.Add(key, Str);
break;
}
PresenceReceivedEventArgs e = new PresenceReceivedEventArgs()
{
PresenceId = presenceId,
- HostAddress = Marshal.PtrToStringAnsi(host),
- Type = Marshal.PtrToStringAnsi(type),
+ HostAddress = (host != IntPtr.Zero) ? Marshal.PtrToStringAnsi(host) : string.Empty,
+ Type = (type != IntPtr.Zero) ? Marshal.PtrToStringAnsi(type) : string.Empty,
EventType = (PresenceEventType)trigger
};
{
RequestId = requestId,
EventContinue = true,
- Name = Marshal.PtrToStringAnsi(name),
- SpecVersion = Marshal.PtrToStringAnsi(specVersion),
- DeviceId = Marshal.PtrToStringAnsi(deviceId),
- DataModelVersion = Marshal.PtrToStringAnsi(dataModelVersion)
+ Name = (name != IntPtr.Zero) ? Marshal.PtrToStringAnsi(name) : string.Empty,
+ SpecVersion = (specVersion != IntPtr.Zero) ? Marshal.PtrToStringAnsi(specVersion) : string.Empty,
+ DeviceId = (deviceId != IntPtr.Zero) ? Marshal.PtrToStringAnsi(deviceId) : string.Empty,
+ DataModelVersion = (dataModelVersion != IntPtr.Zero) ? Marshal.PtrToStringAnsi(dataModelVersion) : string.Empty
};
return e;
Log.Error(IoTConnectivityErrorFactory.LogTag, "Failed to get device id");
throw IoTConnectivityErrorFactory.GetException(ret);
}
- DeviceId = Marshal.PtrToStringAnsi(deviceIdPtr);
- HostAddress = Marshal.PtrToStringAnsi(hostAddressPtr);
- UriPath = Marshal.PtrToStringAnsi(uriPathPtr);
+ DeviceId = (deviceIdPtr != IntPtr.Zero) ? Marshal.PtrToStringAnsi(deviceIdPtr) : string.Empty;
+ HostAddress = (hostAddressPtr != IntPtr.Zero) ? Marshal.PtrToStringAnsi(hostAddressPtr) : string.Empty;
+ UriPath = (uriPathPtr != IntPtr.Zero) ? Marshal.PtrToStringAnsi(uriPathPtr) : string.Empty;
Types = new ResourceTypes(typesHandle);
Interfaces = new ResourceInterfaces(interfacesHandle);
Policy = (ResourcePolicy)policy;
Log.Error(IoTConnectivityErrorFactory.LogTag, "Failed to Get uri");
throw IoTConnectivityErrorFactory.GetException(ret);
}
- return Marshal.PtrToStringAnsi(path);
+ return (path != IntPtr.Zero) ? Marshal.PtrToStringAnsi(path) : string.Empty;
}
set
{
return new Request()
{
- HostAddress = Marshal.PtrToStringAnsi(hostAddressPtr),
+ HostAddress = (hostAddressPtr != IntPtr.Zero) ? Marshal.PtrToStringAnsi(hostAddressPtr) : string.Empty,
Options = opts,
Query = query,
Representation = representation
Log.Error(IoTConnectivityErrorFactory.LogTag, "Failed to get type");
return "";
}
- return Marshal.PtrToStringAnsi(type);
+ return (type != IntPtr.Zero) ? Marshal.PtrToStringAnsi(type) : string.Empty;
}
set
{
Log.Error(IoTConnectivityErrorFactory.LogTag, "Failed to get interface");
return "";
}
- return Marshal.PtrToStringAnsi(iface);
+ return (iface != IntPtr.Zero) ? Marshal.PtrToStringAnsi(iface) : string.Empty;
}
set
{