Re: Unmanaged code(dll) function: int myfunc (char* temp)
- From: "<ctacke/>" <ctacke[@]opennetcf[dot]com>
- Date: Mon, 9 Oct 2006 08:43:38 -0400
Rewrite the C library to use TCHAR, since CE is heavily biased that way. If
you *must* use char (and the example makes me doubt it), then you'll have to
bring it back as a byte[] and use the Encoding.ASII class to convert it to a
string.
--
Chris Tacke
OpenNETCF Consulting
Managed Code in the Embedded World
www.opennetcf.com
--
"Murthy" <Murthy@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:1856CE89-2980-406C-A531-1827CDB428C2@xxxxxxxxxxxxxxxx
C++ code:
int myfunc(char* temp)
{
//Assigning an value to temp
strcpy(temp,L"abcd");
}
I am using char* not TCHAR*
Can you help me how to get the value of temp when using string builder
from managed code
"<ctacke/>" wrote:
Without seeing the code in your C method, there's no way to know what's
wrong.
--
Chris Tacke
OpenNETCF Consulting
Managed Code in the Embedded World
www.opennetcf.com
--
"Murthy" <Murthy@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:C70DC73E-98B2-481B-BABE-03FDCF1C40B3@xxxxxxxxxxxxxxxx
Hi,
Thanks for ur Reply....
I tried StringBuilder it worked, But there is some problem with
conversion
i
think.
When i tried to convert it to string as sb.Tostring(), it is giving me
some
junk characters which are not alphanumeric.
Can u tell me what i need to do to convert the stringbuilder sb to some
alphanumeric string.
Murthy.
"<ctacke/>" wrote:
First thing to know is that CE doesn't store strings in a char* type,
it
uses UTF16, so they are wchar_t.
If the native DLL will be putting data into that variable, you need to
allocate enough memory for it before the call. The easiest way is
with a
StringBuilder.
int myfunc (TCHAR* temp)
{
.....
}
[DllImport("mylib.dll")]
public static extern int myfunc(StringBuilder sb);
void MyCall()
{
StringBuilder sb = new StringBuilder(255);
int ret = myfunc(sb);
}
--
Chris Tacke
OpenNETCF Consulting
Managed Code in the Embedded World
www.opennetcf.com
--
"Murthy" <Murthy@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:5F9D1506-CD19-4390-B633-0BDE53BCC1DA@xxxxxxxxxxxxxxxx
Hi,
I want to do an unmanaged call to an DLL
Unmanaged code(dll) function: int myfunc (char* temp)
Here return int type determines the Success.
After execution of the function temp will contain an value
How to do the unmanaged call to this function from c# and later how
to
retrieve the value from temp, which hold a string value.
thanks in Advance,
Murthy
.
- References:
- Re: Unmanaged code(dll) function: int myfunc (char* temp)
- From: <ctacke/>
- Re: Unmanaged code(dll) function: int myfunc (char* temp)
- From: Murthy
- Re: Unmanaged code(dll) function: int myfunc (char* temp)
- From: <ctacke/>
- Re: Unmanaged code(dll) function: int myfunc (char* temp)
- From: Murthy
- Re: Unmanaged code(dll) function: int myfunc (char* temp)
- Prev by Date: Re: Memory readability in .NET CF / datasets
- Next by Date: Alarm every N hours
- Previous by thread: Re: Unmanaged code(dll) function: int myfunc (char* temp)
- Next by thread: FormatException error on Rory Blyth's screencast
- Index(es):
Relevant Pages
|