If this was in .NET, the answer would be relatively easy: Most our objects, including EasyUADataChangeNotificationEventArgs, support [Serializable]/ISerializable, and can therefore be easily stored into a binary stream or retrieved from it.
It was not really our design goal to also support serialization for COM languages and tools, but (depending on the language), it might be possible to achieve that (but we have never tried so far, I admit).
The general steps for serialization should roughly be:
- Create an instance of .NET MemoryStream, using CoMemoryStream.Create.
- Create an instance of .NET BinaryFormatter, using CoBinaryFormatter.Create.
- Call binaryFormatter.Serialize, passing it the memoryStream, and the easyUADataChangeNotificationEventArgs.
- Call memoryStream.GetBuffer or memoryStream.Read to obtain the array of bytes.
The general steps for deserialization should roughly be:
- Create an instance of .NET MemoryStream, using CoMemoryStream.Create.
- Call memoryStream.Write with the array of bytes.
- Create an instance of .NET BinaryFormatter, using CoBinaryFormatter.Create.
- Call binaryFormatter.Deserialize, passing it the memoryStream.
- Cast the resulting value to _EasyUADataChangeNotificationEventArgs
Let me know if you run into problems with this.
Regards