Has anyone tried using the C#.NET version of SimConnect.ExecuteMissionAction(_GUID) or SimConnect.simconnect.CompleteCustomMissionAction(_GUID) methods?
Cannot seem to convert Guid data type to _GUID???
Found some info on Microsoft site, but code didn't work...
Example Code:
[StructLayout(LayoutKind.Sequential, Size = 0x10)]
struct _GUID
{
Guid FromGUID(_GUID guid)
{
_GUID ToGUID(Guid guid)
{
Cannot seem to convert Guid data type to _GUID???
Found some info on Microsoft site, but code didn't work...
Example Code:
[StructLayout(LayoutKind.Sequential, Size = 0x10)]
struct _GUID
{
public Int32 Data1;
public Int16 Data2;
public Int16 Data3;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
public byte[] Data4;
};public Int16 Data2;
public Int16 Data3;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
public byte[] Data4;
Guid FromGUID(_GUID guid)
{
return new Guid(
}guid.Data1, guid.Data2, guid.Data3,
guid.Data4[0], guid.Data4[1], guid.Data4[2],
guid.Data4[3], guid.Data4[4], guid.Data4[5],
guid.Data4[6], guid.Data4[7]
);guid.Data4[0], guid.Data4[1], guid.Data4[2],
guid.Data4[3], guid.Data4[4], guid.Data4[5],
guid.Data4[6], guid.Data4[7]
_GUID ToGUID(Guid guid)
{
_GUID newGuid = new _GUID();
byte[] guidData = guid.ToByteArray();
newGuid.Data1 = BitConverter.ToInt32(guidData, 0);
newGuid.Data2 = BitConverter.ToInt16(guidData, 4);
newGuid.Data3 = BitConverter.ToInt16(guidData, 6);
newGuid.Data4 = new byte[8];
Array.Copy(guidData, 8, newGuid.Data4, 0, 8);
return newGuid;
}byte[] guidData = guid.ToByteArray();
newGuid.Data1 = BitConverter.ToInt32(guidData, 0);
newGuid.Data2 = BitConverter.ToInt16(guidData, 4);
newGuid.Data3 = BitConverter.ToInt16(guidData, 6);
newGuid.Data4 = new byte[8];
Array.Copy(guidData, 8, newGuid.Data4, 0, 8);
return newGuid;





