static void Main(string[] args)
    {
        Maintenance_Param p1 = new Maintenance_Param();

        p1.bCommand     = 2;
        p1.bSubCommand  = 3;
        p1.usDataLength = 3;
        p1.myStruct1    = new MyStruct1();

        Maintenance_Param p2 = new Maintenance_Param();

        // can be shortened - i know
        Maintenance_Param *p1Ptr = &p1;
        Maintenance_Param *p2Ptr = &p2;

        MoveMemory(p2Ptr, p1Ptr, sizeof(Maintenance_Param));
    }
 private static extern void MoveMemory(Maintenance_Param *dest, Maintenance_Param *src, int size);