如何在方法中同步pinvoke回调?

时间:2018-11-08 13:43:43

标签: c# callback pinvoke

我有一个用C编写的本机dll。一个功能是搜索网关并在超时后返回。

在C代码中,这是一个同步过程

搜索->回调->返回布尔值。

因此,在find_gw完成时,gw_found已经被调用,因此我们已经有了结果。是否有适当的方法来同步此操作,以便在gwaddr gwname之后立即获得find_gw?我给它运行的顺序编号。 gw_foundfind_gw内部被同步调用

    var gw_found = new FOUND_GW_CALLBACK(callback) //1.new delegate
     bool pinvokereturn=GwPInvokes.find_gw(broadcastaddr, timeout, gw_found);//2.pinvoke                  
    //4.How to get gwaddr/gwname here

其中

public static bool callback(IntPtr ptr,string gwddr,string gwname)
{
    return true; //3.callback
}

0 个答案:

没有答案