gpt4 book ai didi

c# - PInvoke/Interop 声明

转载 作者:太空宇宙 更新时间:2023-11-03 13:52:18 26 4
gpt4 key购买 nike

<分区>

我正在尝试从 Mono 的托管代码中使用 libgsasl 库。我有一些其他的电话在工作,但这个特别的电话让我很不舒服。我不断收到“试图读取或写入 protected 内存。这通常表明其他内存已损坏”的异常。这显然不好。我相信我的问题可能出在双重间接 Gsasl_session 参数中,但我不确定。

native 函数定义如下:

extern GSASL_API int gsasl_client_start (Gsasl * ctx, const char *mech,
Gsasl_session ** sctx);

我已将托管外部定义为:

[DllImport("libgsasl-7.dll", CharSet = CharSet.Auto)]
[SuppressUnmanagedCodeSecurity]
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)]
public static extern int gsasl_client_start(
GsaslContext context,
string mechanism,
ref GsaslSession session);

GsaslContext 和 GsaslSession 是继承自 SafeHandle 的类。

可以在documentation中看到这个方法的使用.

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