I read about adjustor thunk from here. Here\'s some quotation:
Now, there is only one QueryInterface method, but there are two entries, one for ea
Yes, this
is essential for finding where the object start is. You write in your code:
variable = 10;
where variable
is the member variable. First of all, which object does it belong to? It belongs to the object pointed to by this
pointer. So it's actually
this->variable = 10;
now C++ needs to generate code that will actuall do the job - copy data. In order to do that it needs to know the offset between the object start and the member variable. The convention is that this
always points onto the object start, so the offset can be constant:
*(reinterpret_cast( reinterpret_cast( this ) + variableOffset ) ) = 10; //assuming variable is of type int