COM question

I am writing a COM component. I declared my method as following:
HRESULT __stdcall PACK([in]TCHAR *src, [in]int srclen, [out, retval]TCHAR *retval);
After compiling and registered the COM, I checked the component using OLE/COM object viewer, and I saw the following:
HRESULT PACK([in] short* src, [in] int srclen, [out, retval] short* retval);
Why is my TCHAR being converted to "short", but not char or wchar?? I think this messed up my string manipulation in the code. I want the src and retval to be "char" just like in regular C++.
kc2592Asked:
Who is Participating?
 
_ys_Connect With a Mentor Commented:
TCHAR [and even char] are not valid COM types. Please use BSTR for string variables instead.

You will have to use SysAllocString and SysFreeString to manage their memory - (oleauto.h)
0
 
kc2592Author Commented:
Please Help!!
0
 
kc2592Author Commented:
Please HELP!!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.