Re: Wrong type of char array
- From: Ted Williams <ted.wil@xxxxxxxxxxx>
- Date: Wed, 08 Feb 2006 21:40:03 -0800
It sounds to me like the string in memory is Unicode, i.e. has 16 bit
chars, and you are dereferencing it as a null-terminated string of
standard C++ (i.e. 8 bit) chars. Try treating it as an array of wide
characters instead.
-Ted
mayuravb wrote:
Hi Thompson,.
I am facing the exact same problem.
I am developing the GUI in C# and have a c++ .NET DLL.
I'm am also getting pdbcd->dbcc_name as only one character "\".
I would like to know if you have the solution to this?
I would appreciate the help.
Thanks
-M
Joe Thompson wrote:
*Hi,
I am using VS.net 2003 to write a managed C++ windows application.
My main form traps the WM_DEVICECHANGE message and calls a method in
my own
unmanaged class passing the wParam and lParam.
In the method, I cast the lParam to a PDEV_BROADCAST_DEVICEINTERFACE
like:
pdbcd = (PDEV_BROADCAST_DEVICEINTERFACE) lParam;
The problem I'm having is that the pdbcd->dbcc_name is only one
character "\".
If I look at it in memory, I can see what it should be
("\\?\USB#Vid_0
etc...") but it is twice as long and every other character is a 0
(("\.\.?.\.U.S.B.#.V.i.d._.0. etc...")).
I've tried the different Language option settings but they all seem
to work
the same. I guess I can live with it as long as I can get the
correct value
in after the cast.
Any ideas what I may be doing wrong or ways to fix it?
Thanks,
Joe *
--
mayuravb
------------------------------------------------------------------------
Posted via http://www.codecomments.com
------------------------------------------------------------------------
- References:
- Re: Wrong type of char array
- From: mayuravb
- Re: Wrong type of char array
- Prev by Date: Re: error "cannot use this type here without a top-level '^'" ??
- Next by Date: Re: Help me with CStatic
- Previous by thread: Re: Wrong type of char array
- Next by thread: How about splitting this newsgroup up?
- Index(es):
Relevant Pages
|