Salut,
j'aimerais déclarer une méthode dans ma classe qui permettrais son appel par un thread. Je m'explique :
MSDN indique que le paramétre 3 de CreateThread doit être de type :
1 2 3
| DWORD WINAPI ThreadProc(
LPVOID lpParameter
); |
ma classe possède une méthode déclaré comme suit :
DWORD WINAPI NRE3D_DxStreamObj::NotificationProc( LPVOID lpParameter )
{ ... }
mais à la compilation, j'ai cette erreur :
DxStreamObj.cpp(127): error C2664: 'CreateThread' : cannot convert parameter 3 from 'DWORD (LPVOID)' to 'LPTHREAD_START_ROUTINE'
Pourtant ce même code issue du SDK directX (mais en version C donc pas encapsuler dans des classes/Méthodes fonctionne). J'ai l'impression que ça vient des convention d'appel (WINAPI -> #define WINAPI __stdcall). Mais je ne trouve pas où sa foire.
une idée ?
Partager