>>>>> "A" == Aleksei Guzev <aleksei.guzev / bigfoot.com> writes: A> In Windows while creating a window class I pass a reference to a brush A> object. I do not know how does it store the reference. I know only I A> should free the object via my reference when I unregister the class A> since Windows does count references. I wrapped both window class object A> and brush object references with Ruby objects. But in the mark phase I A> receive from GC pointer to the reference to the window class object. I You can create a struct which contains : * window class * brush object (VALUE) In the mark phase, you'll receive this struct and you just need to mark the brush object. Guy Decoux