Hallo Community,

nachdem ich schon seit längerem mitgelesen habe, habe ich nun auch mal ein Problem an dem ich nicht weiter komme.
Ich hoffe ich habe das richtige Unterforum.

Compiler: Visual Studio 2013 C++

Im Rahmen einer Projektarbeit sollen wir an der FH den VolksBot des Fraunhofer Institut in bewegung setzen.
Zum auslesen der seriellen Schnittstellen wollte ich eigene Threads benutzen.

Code:
CommSeriell::CommSeriell(int a)
{
	printf("\nAlle Threads starten...\n");

	// Alle Threads starten
	int index = 1;
	hThread[0] = CreateThread(NULL,						// Sicherheitsinfos
		0,							// Größe des Stack
		CommSeriell::RecieveGPS,				// Threadfunktion
		(LPVOID)index,			// 32-bit paramter der Threadfunktion übergeben wird
		0,							// Creation Flags, 0=sofort starten.
		&dwThreadID[0]);	// Id speichern
}

DWORD WINAPI CommSeriell::RecieveGPS(LPVOID data)
{
	initComPort();  //Öffnen des ComPort
	recieveComPort();  //Empfangen und auswerten der Daten
	CloseHandle(hComm);//Closing the Serial Port  //Schliesen des ComPort

	return((DWORD)data);
}
Ich würde gerne in einer Klasse einen Thread starten bekomme das allerdings nicht hin.
Habe jetzt schon des öfteren gelesen dass man hierbei keine Funktion einer Klasse verwenden kann.
Allerdings benötige ich mehrere Daten aus der Klasse und würde auch gerne mehrere Daten zurückgeben.

Kennt hierzu jemand einen Lösungsweg oder eine Alternative?

MfG
Florian