Quello che ho capito è che per usare i thread devo scrivere una cosa del genere:
Giusto?codice:DWORD WINAPI ThreadProc (LPVOID lpParameter) { ... qui scrivo la funzione che deve essere "threaderata" di nome "ThreadProc" ... } int main (int argc, char* argv[]) { ... scrivo il programma e per far eseguiere la funzione ThreadProc scrivo: DWORD ID1; HANDLE funz = CreateThread(NULL, 0, ThreadProc, &Param, 0, &ID1); ... }
Ora mi chiedo se le funzioni che devo threaderare sono le funzioni di scrittura e lettura su seriale, che hanno parametri in ingresso, così come le ho scritte nel programma, come si legano le cose?
Devo scrivere una cose del genere:
Non credo che funzioni così.codice:DWORD WINAPI write (LPVOID lpParameter) { BOOL write(HANDLE hComm, char * buf) { DWORD nNumberOfBytesToWrite = strlen(buf); DWORD NumberOfBytesWritten; LPOVERLAPPED lpOverlapped = NULL; BOOL res = WriteFile( hComm, buf, nNumberOfBytesToWrite, &NumberOfBytesWritten, lpOverlapped ); if (res) cout << "Scrittura OK " << endl; else { DWORD err = GetLastError(); cout << "Errore in Scrittura " << err; } return res; } }
Non riesco a capire come conciliare le cose.
Grazie
Ciccio

Rispondi quotando