public void Assign(GLib.Win32RegistrySubkeyIter other)
        {
            IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal(System.Runtime.InteropServices.Marshal.SizeOf(this));

            System.Runtime.InteropServices.Marshal.StructureToPtr(this, this_as_native, false);
            IntPtr native_other = GLib.Marshaller.StructureToPtrAlloc(other);

            g_win32_registry_subkey_iter_assign(this_as_native, native_other);
            ReadNative(this_as_native, ref this);
            System.Runtime.InteropServices.Marshal.FreeHGlobal(this_as_native);
            Marshal.FreeHGlobal(native_other);
        }
 static void ReadNative(IntPtr native, ref GLib.Win32RegistrySubkeyIter target)
 {
     target = New(native);
 }