【发布时间】:2013-01-15 16:23:48
【问题描述】:
我有以下 C++ 方法的签名。最后一个参数应该以 2 字节的 unicode 字符串形式返回设备名称。
int GetDeviceIdentifier(DWORD deviceIndex, WCHAR** ppDeviceName);
我使用以下签名封装到 C# 中。它有效,但我得到的字符串很奇怪。我做错了吗?
[DllImportAttribute("StclDevices.dll", EntryPoint = "GetDeviceIdentifier", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Unicode)]
public static extern int GetDeviceIdentifier(uint deviceIndex, StringBuilder ppDeviceName);
【问题讨论】:
标签: c# string pinvoke unicode-string