将 ByRef 可变长度数组从 COM 编组到 C#
我无法正确获取此 COM 接口的托管签名,有什么建议吗?
MIDL_INTERFACE("6788FAF9-214E-4b85-BA59-266953616E09")
IVdsVolumeMF3 : public IUnknown
{
public:
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryVolumeGuidPathnames(
/* [size_is][size_is][string][out] */ __RPC__deref_out_ecount_full_opt_string(*pulNumberOfPaths) LPWSTR **pwszPathArray,
/* [out] */ __RPC__out ULONG *pulNumberOfPaths) = 0;
};
I am having trouble getting the managed sig correct for this COM interface any suggestions?
MIDL_INTERFACE("6788FAF9-214E-4b85-BA59-266953616E09")
IVdsVolumeMF3 : public IUnknown
{
public:
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryVolumeGuidPathnames(
/* [size_is][size_is][string][out] */ __RPC__deref_out_ecount_full_opt_string(*pulNumberOfPaths) LPWSTR **pwszPathArray,
/* [out] */ __RPC__out ULONG *pulNumberOfPaths) = 0;
};
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要自己封送字符串数组。声明应如下所示:
代码应如下所示:
当然未经测试。
You need to marshal the string array yourself. The declaration should look like this:
And the code ought to resemble this:
Untested of course.