Hi, TOUTENMASM,
Sorry, I just noticed this post,...you've probably already figured it out.
Does ID2D1Resource have a SetTransform method ?
Notice how in the C++ ID2D1Brush Interface declaration, all the methods have normal parentheses () after the method name, in which the method parameters are listed ? This is the form of a virtual function, isn't it ? And in the declaration of SetTransform, after the normal parenthesis, there is a line with the
curly braces, as follows,...
{
SetTransform(&transform);
}
That version of the SetTransform ends with a semicolon, which means it is a statement...I think that this form is like an implementation,...probably invoking the SetTransform method of ID2D1Resource.
But, I'm guessing,...I've forgotten all the COM stuff that I learned,...before I lost my mind to old age and dementia,...sorry,...

...Of course, in MASM assembly language,...you don't have inheritance. So you would just implement the SetTransform method however you want, and call it with a pointer from the vtable,...am I right ? Really,...in all seriousness,...that explanation confused even me (ha, ha),... :icon_eek: