⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 netwebbak.cpp

📁 DCOM 上位机和嵌入式系统通信
💻 CPP
字号:
// netweb.cpp : Implementation of Cnetweb
#include "stdafx.h"
#include "ComServer.h"
#include "netweb.h"
//#include "Server1.h"
/////////////////////////////////////////////////////////////////////////////
// Cnetweb

	[
		object,
		uuid(433E09DB-87EF-4C96-BB5C-5B5AB161ADB5),
		dual,
		helpstring("Inetweb Interface"),
		pointer_default(unique)
	]
	interface Inetweb : IDispatch
	{
		[id(1), helpstring("method getNetTraceCT")] HRESULT getNetTraceCT([out] short *count);
		[id(2), helpstring("method getNetTrace")] HRESULT getNetTrace([in] short count,[out,size_is(count)] short *wno,[out,size_is(count)] short *idno,[out,size_is(count)] short *rno,[out,size_is(count)] DATE *dt,[out,size_is(count)] short *addr);
		[id(3), helpstring("method getNetAlarmtraceCT")] HRESULT getNetAlarmtraceCT([out] short *count);
		[id(4), helpstring("method getNetAlarmtrace")] HRESULT getNetAlarmtrace([in] short count,[out,size_is(count)] short *wno,[out,size_is(count)] short *idno,[out,size_is(count)] short *rno,[out,size_is(count)] DATE *dt,[out,size_is(count)] short *addr);
		[id(5), helpstring("method getNetUptjCT")] HRESULT getNetUptjCT([out] short *count);
		[id(6), helpstring("method getNetUptj")] HRESULT getNetUptj([in] short count,[out,size_is(count)]  short *wno,[out,size_is(count)] short *idno,[out,size_is(count)] DATE *downdt,[out,size_is(count)] DATE *updt,[out,size_is(count)] short *dw_rno,[out,size_is(count)] short *up_rno,[out,size_is(count)] short *tag);
		[id(7), helpstring("method getNetLocalCT")] HRESULT getNetLocalCT([out] short *count);
		[id(8), helpstring("method getNetLocal")] HRESULT getNetLocal([in] short count,[out,size_is(count)]  short *rid,[out,size_is(count)]  short *addr,[out,size_is(count)] DATE *loctm,[out,size_is(count)] DATE *entm,[out,size_is(count)] DATE *extm,[out,size_is(count)] short *dw_rno,[out,size_is(count)] short *up_rno,[out,size_is(count)] short *lastrno,[out,size_is(count)] short *tag);
		[id(9), helpstring("method gethotuse")] HRESULT gethotuse([out] short *rb);
	};


STDMETHODIMP Cnetweb::getNetTraceCT(short *count)
{
	// TODO: Add your implementation code here
    *count=net_trc_ct;
	return S_OK;
}

STDMETHODIMP Cnetweb::getNetTrace(short count, short *wno, short *idno, short *rno, DATE *dt, short *addr)
{
	// TODO: Add your implementation code here
 int i;
     for(i=0;i<count;i++)
	 {
       wno[i]=net_trace[i].workno;
	   idno[i]=net_trace[i].personID;
	   rno[i]=net_trace[i].reno;
	   dt[i]=net_trace[i].dt;
	   addr[i]=net_trace[i].addrno;
	 }
	 net_trc_ct-=count;
     if(net_trc_ct!=0)
	 {
        for(i=0;i<net_trc_ct;i++)
		  net_trace[i]=net_trace[count+i];
	 }
	return S_OK;
}

STDMETHODIMP Cnetweb::getNetAlarmtraceCT(short *count)
{
	// TODO: Add your implementation code here
     *count=net_alm_ct;
	return S_OK;
}

STDMETHODIMP Cnetweb::getNetAlarmtrace(short count, short *wno, short *idno, short *rno, DATE *dt, short *addr)
{
	// TODO: Add your implementation code here
 int i;
     for(i=0;i<count;i++)
	 {
       wno[i]=net_alarm[i].workno;
	   idno[i]=net_alarm[i].personID;
	   rno[i]=net_alarm[i].reno;
	   dt[i]=net_alarm[i].dt;
	   addr[i]=net_alarm[i].addrno;
	 }
	 net_alm_ct-=count;
     if(net_alm_ct!=0)
	 {
        for(i=0;i<net_alm_ct;i++)
		  net_alarm[i]=net_alarm[count+i];
	 }
	return S_OK;
}

STDMETHODIMP Cnetweb::getNetUptjCT(short *count)
{
	// TODO: Add your implementation code here
    *count=net_uptj_ct;
	return S_OK;
}

STDMETHODIMP Cnetweb::getNetUptj(short count, short *wno, short *idno, DATE *downdt, DATE *updt,short *dw_rno, short *up_rno,short *tag)
{
	// TODO: Add your implementation code here
   int i;

     for(i=0;i<count;i++)
	 {
		  wno[i]=net_uptj[i].workno;
		  idno[i]=net_uptj[i].personID;
		  downdt[i]=net_uptj[i].downdtm;
		  updt[i]=net_uptj[i].updtm;
		  dw_rno[i]=net_uptj[i].dw_rno;
		  up_rno[i]=net_uptj[i].up_rno;
		  tag[i]=net_uptj[i].tag;
	 }
	 net_uptj_ct-=count;
	 for(i=0;i<net_uptj_ct;i++)
		 net_uptj[i]=net_uptj[count+i];
	return S_OK;
}

STDMETHODIMP Cnetweb::getNetLocalCT(short *count)
{
	// TODO: Add your implementation code here
   int i,j=0;
      for(i=0;i<4096;i++)
	  {
		if((perstmb[i].entrytm!=0)||(perstmb[i].exittm!=0))
           j++;
	  }
	  *count=j;
	return S_OK;
}

STDMETHODIMP Cnetweb::getNetLocal(short count,short *rid, short *addr,DATE *loctm,DATE *entm,DATE *extm,
								  short *dw_rno,short *up_rno, short *lastrno,short *tag)
{
	// TODO: Add your implementation code here
   int i,j=0;
      for(i=0;i<4096;i++)
	  {
		if((perstmb[i].entrytm!=0)||(perstmb[i].exittm!=0))
		{
			rid[j]=i;
            addr[j]=perstmb[i].addrno;
            loctm[j]=perstmb[i].localtm;
            entm[j]=perstmb[i].entrytm;
            extm[j]=perstmb[i].exittm;
            dw_rno[j]=perstmb[i].dw_rno;
            up_rno[j]=perstmb[i].up_rno;
            lastrno[j]=perstmb[i].lastreno;
            tag[j]=perstmb[i].tag;
		}
	  }

	return S_OK;
}

STDMETHODIMP Cnetweb::gethotuse(short *rb)
{
	// TODO: Add your implementation code here
    *rb=comsertype;
	return S_OK;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -