Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: C++ C#
in the ATL dll project there is one function with BYTE* Parameter.
 

STDMETHODIMP CMSDllServer::sum22(BYTE* aa,SHORT len)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());
 
	
	for(int i=1;i<len;i++)
	{
		aa[i]=i;
	}
  return S_OK;
}
 
when call this function in a C# windows application this work correctly and array values returned to truth
 
byte[] Packet = new byte[5];
 
	dllServer.sum22(ref Packet[0],5);
 
       //out put
         1,2,3,4,5
 

but
 
the same function in a webservice returned to only first index array and exist very big problem
 
     byte[] Packet = new byte[5];
	dllServer.sum22(ref Packet[0],5);
 
       //out put
         1,0,0,0,0
 

help me pleaseeeeeeeeeeeeeeeeeeeeeeeeeeeee
 
thanx
Posted 29-Apr-13 21:25pm
Comments
KarstenK at 30-Apr-13 4:07am
   
why arent you using an int[] for the transfer.
 
My tip is, that the byte of the webservice is some wrapper class which behaves strange...

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 Kornfeld Eliyahu Peter 169
1 Zoltán Zörgő 139
2 George Jonsson 135
3 PIEBALDconsult 130
4 OriginalGriff 120
0 OriginalGriff 6,165
1 DamithSL 4,658
2 Maciej Los 4,107
3 Kornfeld Eliyahu Peter 3,649
4 Sergey Alexandrovich Kryukov 3,342


Advertise | Privacy | Mobile
Web03 | 2.8.141220.1 | Last Updated 30 Apr 2013
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100