调用动态链接库创建socket对象时失败!求!该如何处理

调用动态链接库创建socket对象时失败!!!!急求!
动态库大意是一个用于网络查询的对话框,对话框初始化的时候要创建一个socket对象,代码如下:
m_pSock=new   SockClient(this);
if   (!m_pSock-> Create())
{
AfxMessageBox( "Socket创建失败!!!!!! ");
m_bSvrState=false;
}
else
{
if(!m_pSock-> Connect(strSvrAddress,   nPort))
{
AfxMessageBox( "Socket连接失败 ");
m_bSvrState=false;
}
else
{
m_bSvrState=true;
m_pSock-> Initialize();     //初始化CSocket中的变量
}
}
我也设定了一个导出函数:

extern   AFX_EXTENSION_MODULE   DataClientDLL;

#ifdef   PNS_IMPL
#define   MYDECLARE_PNS   _declspec(dllexport)
#else
#define   MYDECLARE_PNS   _declspec(dllimport)
#endif

extern   MYDECLARE_PNS   SockClient     *m_pSock;

但是在调用这个dll时,弹出“Socket创建失败!!!!!!”,
PS:我已经设置了一个指针来调用对话框,但是一直没有办法在创建对话框的时候创建socket;
实在不知道为什么,请各位大虾帮帮忙,谢谢啦!!


------解决方案--------------------
BOOL CYourDllApp::InitInstance()
{
CWinApp::InitInstance();
AFX_MANAGE_STATE(AfxGetStaticModuleState());

if(!AfxSocketInit())
AfxMessageBox( "Failed to Initialize Sockets ",MB_OK| MB_ICONSTOP);

return TRUE;
}