📄 network.c
字号:
#define NETWORK_C
#include "Windows.h"
#include <ansi_c.h>
#include <utility.h>
#include "wtypes.h"
#include "Winnetwk.h"
#include "def.h"
#include "network.h"
#include"ErrorReport.h"
#undef NETWORK_C
//#define SF_SIMULATIVE_SERVER
DWORD (*funcPtrWNetAddCon) (
LPNETRESOURCE lpNetResource, // connection details
LPCTSTR lpPassword, // password
LPCTSTR lpUsername, // user name
DWORD dwFlags );
DWORD (*funcPtrWNetCancelCon)(
LPCTSTR lpName, // resource name
DWORD dwFlags, // connection type
BOOL fForce // unconditional disconnect option
);
//extern struct IniData iniData;
int ImportNetFuncs()
{
char path[STRINGLENGTH];
char *funcname;
int moduleID;
int status;
strcpy(path,"mpr.lib");
moduleID=LoadExternalModule(path);
funcname="WNetAddConnection2A";
funcPtrWNetAddCon = GetExternalModuleAddr (moduleID, funcname, &status);
if(status)
{
return Net_Function_Import_Error;
//printf("WNetAddConnection2A() import error:%d\n",status);
}
funcname="WNetCancelConnection2A";
funcPtrWNetCancelCon = GetExternalModuleAddr (moduleID, funcname, &status);
if(status)
{
return Net_Function_Import_Error;
//errorIndex=Net_Function_Import_Error;
//ErrorReport(errorIndex,errorInfo);
//printf("WNetCancelConnection2A() import error:%d\n",status);
}
/*
if(errorIndex!=No_Error)
{
return 1;
}
*/
return No_Error;
}
DWORD NetConnection(char * strRemotePCName,char * strRemoteDirName,LPCTSTR password,LPCTSTR username,char * strLocdriveName)
{
DWORD dwResult;
char strtemp[BUFFERLENGTH];
//char path[STRINGLENGTH];
//int result;
NETRESOURCE RemoteDrive;
RemoteDrive.dwScope = RESOURCE_GLOBALNET;
RemoteDrive.dwType = RESOURCETYPE_DISK;
RemoteDrive.dwDisplayType = RESOURCEDISPLAYTYPE_SHARE;
RemoteDrive.dwUsage = RESOURCEUSAGE_CONNECTABLE;
RemoteDrive.lpLocalName = strLocdriveName;
RemoteDrive.lpComment="";
RemoteDrive.lpProvider=NULL;
strcpy(strtemp,"\\\\");
strcat(strtemp,strRemotePCName);
strcat(strtemp,"\\");
strcat(strtemp,strRemoteDirName);
RemoteDrive.lpRemoteName =strtemp;
//RemoteDrive.lpLocalName = "x:";
//RemoteDrive.lpRemoteName ="\\\\frankzheng\\dl";
//Delay(5);
dwResult=(*funcPtrWNetAddCon)(&RemoteDrive,password,username,CONNECT_UPDATE_PROFILE);
if (dwResult!=0)
{
//printf("NetConn %s Error:0x%x\n",strRemoteDirName,dwResult);
return dwResult;
}
return No_Error;
}
//int NetCancelConnection(char * LogdriveName,DWORD dwFlags,BOOL fForce )
DWORD NetCancelConnection(char * LogdriveName)
{
DWORD dwResult;
//dwResult=(*funcPtrWNetCancelCon)(LogdriveName,dwFlags,fForce);
dwResult=(*funcPtrWNetCancelCon)(LogdriveName,CONNECT_UPDATE_PROFILE,1);
if(dwResult!=0)
{
return dwResult;
}
return No_Error;
}
int ConnectSFIS(struct IniData iniData)
{
DWORD dwResult;
if(dwResult=NetCancelConnection(iniData.RequestLogDrive))
{
//return Net_Connect_Cancel_Error;
}
if(dwResult=NetCancelConnection(iniData.ResponseLogDrive))
{
//return Net_Connect_Cancel_Error;
}
if(dwResult=NetCancelConnection(iniData.ResultLogDir))
{
//return Net_Connect_Cancel_Error;
}
//dwResult=NetCancelConnection(iniData.FolderLogDir);
//#ifdef SF_SIMULATIVE_SERVER
//test
/*
dwResult=NetConnection("hkzjz-32b593fea","Request",iniData.Password,iniData.UserName,iniData.RequestLogDrive);
dwResult=NetConnection("hkzjz-32b593fea","response",iniData.Password,iniData.UserName,iniData.ResponseLogDrive);
dwResult=NetConnection("hkzjz-32b593fea","Result",iniData.Password,iniData.UserName,iniData.ResultLogDir);
dwResult=NetConnection("hkzjz-32b593fea","Folder",iniData.Password,iniData.UserName,iniData.FolderLogDir);
*/
/*
if(dwResult=NetConnection("hkzjz-32b593fea","Request","","Administrator",iniData.RequestLogDrive))
{
//InsertListItem(pnl,PNL_LISTBOX,-1,"Connect Fail","");
//printf("%s","Connect Fail");
}
dwResult=NetConnection("hkzjz-32b593fea","response","","Administrator",iniData.ResponseLogDrive);
dwResult=NetConnection("hkzjz-32b593fea","Result","","Administrator",iniData.ResultLogDir);
//Result=NetConnection("hkzjz-32b593fea","Folder","","Administrator",iniData.FolderLogDir);
*/
//#else
//Result=0 => Fail ?
if(dwResult=NetConnection(iniData.HostName,iniData.RequestDir,iniData.Password,iniData.UserName,iniData.RequestLogDrive))
{
return dwResult;
}
//dwResult=NetConnection("NEC-KRC-TMO-B1","ANT_REQUEST","wjsfis","admin","X:");
if(dwResult=NetConnection(iniData.HostName,iniData.ResponseDir,iniData.Password,iniData.UserName,iniData.ResponseLogDrive))
{
return dwResult;
}
if(dwResult=NetConnection(iniData.HostName,iniData.ResultDir,iniData.Password,iniData.UserName,iniData.ResultLogDir))
{
return dwResult;
}
//dwResult=NetConnection(iniData.HostName,iniData.Folder,iniData.Password,iniData.UserName,iniData.FolderLogDir);
//#endif
return No_Error;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -