|
楼主 |
发表于 2009-9-2 08:36:02
|
显示全部楼层
清负分PUB编译成功.
BOOL OnClearResult( char* lpszResult, tagUserInfo* pUserInfo, long nCount, tagVarInfo* pVarInfo )
{
BOOL bRet = FALSE;
long nLen;
char szBuf[32768];
DWORD dwByte;
HANDLE hPipe;
tagExtClearResultInfo* pClearResultInfo = (tagExtClearResultInfo*)szBuf;
tagErrorCode* pRetInfo = (tagErrorCode*)szBuf;
try
{
lpszResult[0] = 0;
pClearResultInfo->Header.dwData = _EXT_CLEARRESULT;
pClearResultInfo->Header.cbData = sizeof(tagExtClearResultInfo);
pClearResultInfo->nUin = pUserInfo->m_nUin;
pClearResultInfo->nCount = nCount; //在修改前最好对数据进行验证
strcpy_s( pClearResultInfo->szTable, pVarInfo->m_szDatabase );
// 打开管道
hPipe = CreateFile( PIPE_FILE, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL );
if( hPipe != INVALID_HANDLE_VALUE )
{
try
{
nLen = pClearResultInfo->Header.cbData;
if( ::WriteFile( hPipe, szBuf, nLen, &dwByte, NULL ) )
{ // 把数据写入管道
if( ::ReadFile( hPipe, szBuf, 32768, &dwByte, NULL ) )
{ //读取服务器的反馈信息
if( pRetInfo->Header.dwData == _ERROR_CODE && pRetInfo->Header.cbData == dwByte )
{
if( pRetInfo->cbInfo < 512 )
{
pRetInfo->szInfo[pRetInfo->cbInfo] = 0;
if( pRetInfo->dwErrorCode != 0xFFFFFFFF )
{ //成功
wsprintfA( lpszResult, "SSP:%s\r\nRUI:\r\n", pRetInfo->szInfo );
bRet = TRUE; //表示需要更新游戏大厅中的玩家数据
pUserInfo->m_nFace -= nCount;
pUserInfo->m_nMoney = 0;
}
else
{ //失败
wsprintfA( lpszResult, "SSP:%s\r\n", pRetInfo->szInfo );
}
}
}
}
}
}
catch(...)
{
wsprintfA( lpszResult, "SSP:出现异常\r\n" );
}
::CloseHandle ( hPipe );
}
}
catch(...)
{
wsprintfA( lpszResult, "SSP:出现异常!\r\n" );
}
return bRet;
}
但是报这个错:
------ 已启动生成: 项目: PublicDLL, 配置: Release Win32 ------
正在编译...
PublicDLL.cpp
.\PublicDLL.cpp(681) : warning C4267: '=' : conversion from 'size_t' to 'DWORD', possible loss of data
正在链接...
正在创建库 G:\3.1\20090715\publicDLL\Release\PublicDLL.lib 和对象 G:\3.1\20090715\publicDLL\Release\PublicDLL.exp
正在生成代码
已完成代码的生成
LINK : warning LNK4199: 已忽略 /DELAYLOAD:OleAcc.dll;未找到来自 OleAcc.dll 的导入
正在嵌入清单...
生成日志保存在“file://g:\3.1\20090715\publicDLL\PublicDLL\Release\BuildLog.htm”
PublicDLL - 0 个错误,2 个警告
========== 生成: 1 已成功, 0 已失败, 0 最新, 0 已跳过 ========== |
|