Возможно ли передать свой параметр/параметры в call-back функцию WinApi?

Гуглил этот вопрос, но ответа все таки, так и не смог найти. Вопрос собственно такой: Вот к примеру есть такой простой код:

int Global_counter;
 
static BOOL CALLBACK EnumWindowsProc(HWND   hwnd, LPARAM lParam)
{
 
    static_Global_counter++;
 
    return TRUE;
}
 
 
int main()
{
    Global_counter = 0;
 
    BOOL My_bool_EnumWindows =  EnumWindows(EnumWindowsProc, 0);
 
    std::cout << Global_counter << std::endl;
}

То есть я вызываю функцию EnumWindows с call-back функцией EnumWindowsProc - для подсчета открытых окон, но так как передать в cal-back функцию возможности нет, пришлось создать глобальную переменную Global_counter и суммировать кол-во сработанных EnumWindowsProc в нее.

И вот все таки вопрос, можно ли как то в EnumWindowsProc - передать свои параметры по указателю или ссылке ?

Есть у функции EnumWindows - какой то второй параметр lParam, который как бы передается в EnumWindowsProc - но не понятно, как и возможно ли это использовать для придачи к примеру указателя на char или int.


Ответы (0 шт):