gpt4 book ai didi

c# - 如何定义和编码 BSTR* 类型

转载 作者:行者123 更新时间:2023-11-28 07:59:07 47 4
gpt4 key购买 nike

我想知道如何将字符串类型编码为 BSTR* 类型。只是为了详细说明,C++结构如下:

struct MyStruct
{
BSTR* string;
int a;
}

我需要在 C# 端定义一个新的结构,我尝试了 string[] 和 IntPtr[] 但没有成功。

感谢您的帮助!

编辑:C++ 结构:

    struct HTTPTEXTRENDERERFILTERINFO {
enum { UTC, GMT } eTimestamp;
BOOL bEnableCCIngest;
LONG lQueueSizeTreshold;
LONG lSendTimeTreshold;
BYTE btBroadcastUrlCount;
BSTR* pbstrBroadcastUrls;
LONG lInputPinsNum;
};

和函数的原型(prototype):

HRESULT HTTPTextRendererFilter::SetConfig(IN const HTTPTEXTRENDERERFILTERINFO& Config)

C#结构:

[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)] public struct HttpTextRenderFilterInfo { public enum TimestampType : int { UTC, GMT };

    public TimestampType Timestamp;
public int EnableCCIngest;
public int QueueSizeTreshold;
public int SendTimeTreshold;
public byte BroadcastUrlCount;
[MarshalAs(UnmanagedType.BStr)]
public string pbstrBroadcastUrls;
public int lInputPinsNum;
};

原型(prototype):

    [PreserveSig]
int SetConfig([In] ref HttpTextRenderFilterInfo config);

最佳答案

试试这个:

[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Unicode)]
struct MyStruct
{
[MarshalAs(UnmanagedType.BStr)] public String myString;
public int a;
}

关于c# - 如何定义和编码 BSTR* 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11964931/

47 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com