为什么在不能够把一般类型的指针的内容传递到dcom服务器中!
服务器的IDL
[id(20), helpstring("method PassLongs1")] HRESULT PassLongs1([in] ULONG ulNum,[in] LONG * pArr);
这是Dcom服务器端的函数!
STDMETHODIMP CComInter::PassLongs1(ULONG ulNum, LONG *pArr)
{
long iTime=GetTickCount();
SYSTEMTIME systime;
GetLocalTime(&systime);
FILE *fout;
BOOL b=FALSE;
if( (fout = fopen( "E:\\Ghy_Share\\writelong1.txt", "a+t" )) != NULL ){
fprintf(fout,"\n /**************************************************");
fprintf(fout,"\n DateTime: %4i/%2i/%2i %2i:%2i:%2i",
systime.wYear,systime.wMonth,systime.wDay,systime.wHour,
systime.wMinute,systime.wSecond);
fprintf(fout,"\n 下面是上传过来的数据!");
for (ULONG x = 0; x < ulNum; x++)
{
fprintf(fout,"\n %li",pArr[x]);
}
fclose(fout);
}
return S_OK;
}
客户端如下:
ULONG ulNum = 10;
LONG l[10];
for (ULONG x = 0; x < ulNum; x++)
l[x] = x+1;
IComInter1->PassLongs1(ulNum,l);
为什么不能够把数组的内容传过去呢?