------------------------------------------------------------------------ First, I've tried to use pseudothis pointer technique when I needed to call C++ List View class members from static callback function provided by ListView_SortItems member function. The function has the prototype. BOOL ListView_SortItems(HWND hwnd, PFNLVCOMPARE pfnCompare, LPARAM lParamSort); The second is the function pointer to static callback comparison function that is called multiple times by List View control class when making ordering. int CALLBACK CompareFunc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort); In fact, calling C++ class members from static function is rather general problem arising from fact that static functions do not have *this* pointer, and therefore these functions don't know how to reference a class where they were declared. Dozens Win32 functions are actually a static callbacks, and obviously there sould be a stardard way of using them with C++. Notably, many MFC classes, which are thin wrappers aroung Win32, retain static callbacks. When you declare static function in C++ class, you need to remember that declared function has no real link to the class and it is declared actually on file scope (as global variables). The concurrent sample demonstrates a pseudothis pointer technique to call C++ class members as if static function declared in a class is a "normal" member function with hidden parameter - this pointer - provided by compiler. The trick is to recall that static member function can call other static members of a class, albeit static members cannot call non-static members, and store class's *this* pointer into a static member variable of a class. Since static member function can access static data, the function has actually access to *this* pointer stored in static member variable (called pseudothis pointer) and, hence, can access non-static members. The sample creates a timer in a constructor of simple A class. SetTimer function has a static callback - TimerProc - renamed here to UpdateData. In its turn callback function calls Print(), which is a member function of an A class.