--- alwaysApply: true --- When convert cpp to c# - unsigned long convert to uint - unsigned char to byte - task_char to ushort - Keeps all the naming - keeps all the original chinese comments. But add a translated English version side by side - struct has to be public - struct has to be use [StructLayout(LayoutKind.Sequential, Pack = 1)] - all field in struct has to be public - array has to be use [MarshalAs(UnmanagedType.ByValArray, SizeConst = )] to fix the array size