【发布时间】:2012-06-20 20:53:06
【问题描述】:
我正在使用一个具有 StringHandle 字段的类,该字段是一个 IntPtr 值,代表一个
LPCWSTR 在 C++ 中。
internal IntPtr StringHandle; // LPCWSTR
现在说我有一个字符串:string x = "abcdefg"
如何使用 String 句柄指向 String 的开头,使其像 C++ LPCWSTR 一样?
【问题讨论】:
-
我正在使用仅存在于本机代码 (C++) 中的接口,因此我使用的是来自 .NET 的互操作。但是,具有 StringHandle 的类不是我的,我不想更改。
-
因为这是他正在使用的图书馆所期望的。并非所有东西都有为其构建的 .NET 包装器,即使在框架内,当您处理低级 Windows 消息之类的事情时,Marshal 类也可以得到很好的使用。