public override int OffsetAtZoneTime(KTimeZone caller, QDateTime zoneDateTime, ref int secondOffset)
{
StackItem[] stack = new StackItem[4];
#if DEBUG
stack[1].s_class = (IntPtr) DebugGCHandle.Alloc(caller);
#else
stack[1].s_class = (IntPtr) GCHandle.Alloc(caller);
#endif
#if DEBUG
stack[2].s_class = (IntPtr) DebugGCHandle.Alloc(zoneDateTime);
#else
stack[2].s_class = (IntPtr) GCHandle.Alloc(zoneDateTime);
#endif
stack[3].s_int = secondOffset;
interceptor.Invoke("offsetAtZoneTime##$", "offsetAtZoneTime(const KTimeZone*, const QDateTime&, int*) const", stack);
#if DEBUG
DebugGCHandle.Free((GCHandle) stack[1].s_class);
#else
((GCHandle) stack[1].s_class).Free();
#endif
#if DEBUG
DebugGCHandle.Free((GCHandle) stack[2].s_class);
#else
((GCHandle) stack[2].s_class).Free();
#endif
secondOffset = stack[3].s_int;
return stack[0].s_int;
}