Salve a tutti,
sto cercando di usare la funzione EnumWindowStations della libreria WinUser.h ma non riesco a passargli il puntatore alla funzione callback che ho creato. Cioè non mi è chiaro come debba farlo e non riesco a chiarirmi le idee su questo punto nonostante mi sono studiato un po' i riferimenti a tale funzione ( https://docs.microsoft.com/en-us/win...indowstationsw)

Segue il codice così forse è più comprensibile ciò che non capisco:

codice:
BOOL CALLBACK CWinLogon::EnumWindowStationProc(__in  LPWSTR lpszWindowStation,__in  LPARAM lParam)
{
    ...
    return true;
}
void MyFunction()
{
   if ( EnumWindowStations(&EnumWindowStationProc, NULL) )                
      home_window_station  = 0;
}
Il compilatore mi dice

l'argomento di tipo "BOOL (__stdcall *)(LPWSTR lpszWindowStation, LPARAM lParam)" è incompatibile con il parametro di tipo "WINSTAENUMPROCW"


ora andando a vedere le definizioni sul file WinUser.h
codice:
typedef BOOL (CALLBACK* NAMEENUMPROCW)(LPWSTR, LPARAM);
typedef NAMEENUMPROCW   WINSTAENUMPROCW;
typedef WINSTAENUMPROCW     WINSTAENUMPROC;
A questo punto mi areno, non riesco a capire come passare la funzione EnumWindowStationProc a EnumWindowStations.
Qualcuno può chiarirmi le idee?
Grazie mille