Folks,
I am having a problem storing a port number read from a registry and
creating a thread, and I cannot figure out why. Here are the relevant
details:
I have a struct called SOCKET_INFO in a header file called
socketthreadcom mon.h
typedef struct{
char szHost[50];
int nPort;
DWORD dwLastError;
BOOL bListening;
BOOL bCalling;
BOOL bConnected;
BOOL bAbort;
BOOL bTestWithoutSoc ket;
UINT nMsgSentCount;
float fHeadingInStatu sMsg;
HANDLE hEventQueueNotE mpty;
MsgQueueSocketT ype MsgQueue[MSGQUEUEMAX];
UINT MsgQueueFreeIdx ;
UINT MsgQueueUsedIdx ;
} SOCKET_INFO;
I create an instance of this struct in a file called realerdlg.h
SOCKET_INFO m_ServerSocketI nfo;
realerdlg.cpp sets the value of the nPort member
m_ServerSocketI nfo.nPort = (int)(dwPort);
and finally, I am attempting to create a socket with the statement:
CWinThread *lpThread = AfxBeginThread( ServerSocketThr ead, (LPVOID)
&m_ServerSocket Info);
The dwPort variable is correct and verified. In the
serversocketthr ead.cpp class, I cannot pick up the
value of nPort. The constructor there is
UINT ServerSocketThr ead( LPVOID lpInf )
{
SOCKADDR_IN Addr;
int AddrLen;
SOCKET_INFO* lpInfo = (SOCKET_INFO *) lpInf;
int nRetValue = 0;
CSocket ServerSocket;
BOOL bDone = FALSE;
CSocket ClientSocket;
MsgQueueSocketT ype MsgQueue;
int nBytes;
CRegistry Registry; // Registry object
PROGRAM_TYPE Program;
CTime CurrentTime;
}
This is code I inherited and am trying to debug... Does anyone have
any ideas?
thanks very much,
Zenon
I am having a problem storing a port number read from a registry and
creating a thread, and I cannot figure out why. Here are the relevant
details:
I have a struct called SOCKET_INFO in a header file called
socketthreadcom mon.h
typedef struct{
char szHost[50];
int nPort;
DWORD dwLastError;
BOOL bListening;
BOOL bCalling;
BOOL bConnected;
BOOL bAbort;
BOOL bTestWithoutSoc ket;
UINT nMsgSentCount;
float fHeadingInStatu sMsg;
HANDLE hEventQueueNotE mpty;
MsgQueueSocketT ype MsgQueue[MSGQUEUEMAX];
UINT MsgQueueFreeIdx ;
UINT MsgQueueUsedIdx ;
} SOCKET_INFO;
I create an instance of this struct in a file called realerdlg.h
SOCKET_INFO m_ServerSocketI nfo;
realerdlg.cpp sets the value of the nPort member
m_ServerSocketI nfo.nPort = (int)(dwPort);
and finally, I am attempting to create a socket with the statement:
CWinThread *lpThread = AfxBeginThread( ServerSocketThr ead, (LPVOID)
&m_ServerSocket Info);
The dwPort variable is correct and verified. In the
serversocketthr ead.cpp class, I cannot pick up the
value of nPort. The constructor there is
UINT ServerSocketThr ead( LPVOID lpInf )
{
SOCKADDR_IN Addr;
int AddrLen;
SOCKET_INFO* lpInfo = (SOCKET_INFO *) lpInf;
int nRetValue = 0;
CSocket ServerSocket;
BOOL bDone = FALSE;
CSocket ClientSocket;
MsgQueueSocketT ype MsgQueue;
int nBytes;
CRegistry Registry; // Registry object
PROGRAM_TYPE Program;
CTime CurrentTime;
}
This is code I inherited and am trying to debug... Does anyone have
any ideas?
thanks very much,
Zenon
Comment