Create a heap variable to hold your data and pass that to the thread.
Secure * m_Secure = new Secure();
m_Secure->UID = g_User[PlayerNumber].UID;
m_Secure->MainClass = this;
CreateThread(NULL,NULL,(LPTHREAD_START_ROUTINE)SecureThread,m_Secure,NULL,NULL);
Get the data in the thread, and delete when done
RESULT WINAPI SecureThread(LPVOID Param)
{
int UID = -1, UserNumber, i;
Secure* m_Secure = (Secure*)Param;
....
delete m_Secure;
return 0;
}