📄 storeproc.cpp
字号:
// StoreProc.cpp : Defines the entry point for the DLL application.
//
#include "WaterProc.h"
#include "RainProc.h"
#include "stdafx.h"
#include "Srv_net.h"
//#include "Forcelib.h"
#define XP_NOERROR 0
#define XP_ERROR 1
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
char szStation5[MAX_PATH+1];
char szStation8[MAX_PATH+1];
void WriteInfo(const char * str);
extern "C" bool RunRainProc(char*,char*);
extern "C" bool RunWaterProc(char*,char*);
extern "C" SRVRETCODE WINAPI RainProc(SRV_PROC* pSrvProc)
{
WriteInfo("RainProc start");
int paramCount = srv_rpcparams(pSrvProc);
if (paramCount <= 1){
WriteInfo("Param Err Station5 start");
//return XP_ERROR;
return XP_NOERROR;
}
BYTE bType;
unsigned long cbMaxLen;
unsigned long cbActualLen;
BOOL fNull;
int ret=0;
ret=srv_paraminfo(pSrvProc,1,&bType,&cbMaxLen,&cbActualLen,NULL,&fNull);
if (cbActualLen){
ZeroMemory(szStation5, MAX_PATH+1);
memcpy(szStation5, srv_paramdata(pSrvProc, 1), cbActualLen);
WriteInfo("Set station5 ok!");
}
else {
WriteInfo("Set station5 param failed");
//return XP_ERROR;
return XP_NOERROR;
}
ret=0;
ret=srv_paraminfo(pSrvProc,2,&bType,&cbMaxLen,&cbActualLen,NULL,&fNull);
if (cbActualLen){
ZeroMemory(szStation8, MAX_PATH+1);
memcpy(szStation8, srv_paramdata(pSrvProc, 2), cbActualLen);
WriteInfo("Set station8 ok!");
}
else {
WriteInfo("Set station8 param failed");
//return XP_ERROR;
return XP_NOERROR;
}
if(RunRainProc(szStation5,szStation8)){
WriteInfo("降水量拍报处理成功!");
return XP_NOERROR;
}
else{
WriteInfo("降水量拍报处理失败!");
//return XP_ERROR;
return XP_NOERROR;
}
return (XP_NOERROR);
}
extern "C" SRVRETCODE WINAPI WaterProc(SRV_PROC* pSrvProc)
{
WriteInfo("WaterProc start");
int paramCount = srv_rpcparams(pSrvProc);
if (paramCount <= 1){
WriteInfo("Param Err start");
//return XP_ERROR;
return XP_NOERROR;
}
BYTE bType;
unsigned long cbMaxLen;
unsigned long cbActualLen;
BOOL fNull;
int ret=0;
ret=srv_paraminfo(pSrvProc,1,&bType,&cbMaxLen,&cbActualLen,NULL,&fNull);
if (cbActualLen){
ZeroMemory(szStation5, MAX_PATH+1);
memcpy(szStation5, srv_paramdata(pSrvProc, 1), cbActualLen);
WriteInfo("Set Station5 ok");
}
else {
WriteInfo("Set Station5 param failed");
//return XP_ERROR;
return XP_NOERROR;
}
ret=0;
ret=srv_paraminfo(pSrvProc,2,&bType,&cbMaxLen,&cbActualLen,NULL,&fNull);
if (cbActualLen){
ZeroMemory(szStation8, MAX_PATH+1);
memcpy(szStation8, srv_paramdata(pSrvProc, 2), cbActualLen);
WriteInfo("Set Station8 ok");
}
else {
WriteInfo("Set Station8 param failed");
//return XP_ERROR;
return XP_NOERROR;
}
if(RunWaterProc(szStation5,szStation8)){
WriteInfo("水位拍报处理成功!");
return XP_NOERROR;
}
else{
WriteInfo("水位拍报处理失败!");
//return XP_ERROR;
return XP_NOERROR;
}
return XP_NOERROR;
}
inline void WriteInfo(const char * str){
char srt[3] = {0x0d, 0x0a, 0};
HANDLE hf = CreateFile("c:\\storeproc.log", GENERIC_WRITE, FILE_SHARE_WRITE|FILE_SHARE_READ, NULL,
OPEN_ALWAYS, 0, NULL);
if (hf != INVALID_HANDLE_VALUE){
SetFilePointer(hf, 0, NULL, FILE_END);
DWORD dwWt;
WriteFile(hf, str, strlen(str), &dwWt, NULL);
WriteFile(hf, srt, strlen(srt), &dwWt, NULL);
CloseHandle(hf);
}
}
BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason,LPVOID lpReserved)
{
return TRUE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -