如何在 C# 中将 LPCWSTR 编组为字符串?
我正在尝试为以下方法定义 P/Invoke 签名(在 propsys.h
中定义),
PSSTDAPI PSRegisterPropertySchema(
__in PCWSTR pszPath);
我在 WinNT.h
上看到 PCWSTR
是 LPCWSTR
的别名,
typedef __nullterminated CONST WCHAR *LPCWSTR, *PCWSTR;
而 PSSTDAPI
是 HRESULT
的别名
那么 P/Invoke 签名应该如何PSRegisterPropertySchema
方法?
I'm trying to define a P/Invoke signature for the following method (defined in propsys.h
)
PSSTDAPI PSRegisterPropertySchema(
__in PCWSTR pszPath);
I've seen on the WinNT.h
that PCWSTR
is an alias to LPCWSTR
as
typedef __nullterminated CONST WCHAR *LPCWSTR, *PCWSTR;
And the PSSTDAPI
is an alias for HRESULT
So how should be the P/Invoke signature for the PSRegisterPropertySchema
method?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
将
CharSet
值设置为CharSet.Unicode
后,它就起作用了。如果没有指定 CharSet,函数将返回
0x80070057
,即E_INVALIDARG
。After set the
CharSet
value toCharSet.Unicode
it worked.Without specifing the CharSet the function was returning
0x80070057
which isE_INVALIDARG
.