我当前操作系统是winXP,
我用ras建立了一个连接,想得到当前连接流量和连接时间,
于是用RasGetLinkStatistics函数.可是为什么我在编译时在API中没有找到此函数。请问如果解决???注意,我已把ras.h、Rasdlg.h、Raserror.h都包含了
我用ras建立了一个连接,想得到当前连接流量和连接时间,
于是用RasGetLinkStatistics函数.可是为什么我在编译时在API中没有找到此函数。请问如果解决???注意,我已把ras.h、Rasdlg.h、Raserror.h都包含了
是不是没导入Rasapi32.lib库?
DWORD Temp;RasGetLinkStatistics(m_hRasConn, Temp, &lStatus);错误信息是:[C++ Error] cmd_main.cpp(5395): E2451 Undefined symbol 'RAS_STATS'
[C++ Error] cmd_main.cpp(5395): E2379 Statement missing ;
[C++ Error] cmd_main.cpp(5398): E2268 Call to undefined function 'RasGetLinkStatistics'
[C++ Error] cmd_main.cpp(5398): E2451 Undefined symbol 'lStatus'
#pragma comment(lib, "Rasapi32.dll") 导入Rasapi32.dll.
然后就可以用相应的结构和函数了.
VC6中没有相关的定义。需要自己定义函数类型和用到的结构,然后动态载入Rasapi32.dll(LoadLibrary、GetProcAddress)。
用LoadLibrary的方法一定可以。
HINSTANCE hPB_DLL = NULL;
RAS_STATS lStatus;
DWORD nTemp = 0;
pnf_RasGetLinkStatistic *pTemp; hPB_DLL = LoadLibrary( "rasapi32.dll" ); //装载DLL文件
memset(&lStatus, 0, sizeof(lStatus)); //初始化结构 lStatus.dwSize = sizeof(RAS_STATS); if(hPB_DLL != NULL && m_hRasConn != NULL) //当前处理连接状态并且装载DLL文件成功
{
pTemp = (pnf_RasGetLinkStatistic*) GetProcAddress(hPB_DLL, "RasGetLinkStatistics");
if(NULL == pTemp)
printf("Error");
else
{
iRet = pTemp(m_hRasConn, nTemp, &lStatus); //m_hRasConn 连接句柄,nTemp应该传些什么值?
if(ERROR_SUCCESS == iRet)
printf("ERROR_SUCCESS");
else
printf("Other"); }
}