首页 > 其他分享 >推荐一个好工具:P/Invoke Interop Assistant

推荐一个好工具:P/Invoke Interop Assistant

时间:2023-11-08 12:04:08浏览次数:38  
标签:调用 http Invoke Interop Assistant 托管 签名 com

在从托管代码里面调用非托管代码的时候,经常会翻阅MSDN找到需要调用的这个程序集里面的关于需要调用方法的签名,还要特别注意方法签名的写法。而且,有的时候我们找到一个非托管代码,对里面的调用方式还没有参考文档。


这个boring的过程,以前我们可以利用MSDN,相关模块的参考文档,或者利用PInvoke.net这个网站来搞定。或者,我也见过一些同行找到了一个小工具P/Invoke wizard,用这个可以直接完成这个工作。在这里可以下载到:

http://www.paulyao.com/res/pinvoke/download.aspx

但是这个工具自从2004年更新了就没再更新过了。只支持1.0和1.1的dotnet framework。


在看MSDN上面的一篇文章的时候,看到微软的zhangyi使用了一个叫做P/Invoke Interop Assistant GUI Tool的工具,P/Invoke Signature Generator。用了下,感觉非常方便。

它支持托管代码和非托管代码之间的方法签名的转换,而且直接生成相关的C#或者是VB的方法调用代码。这个签名的转换,不只是适用于Windows的方法签名,只要给定一个C头文件,就可以转换成为相关的C#的import方法签名:

推荐一个好工具:P/Invoke Interop Assistant_非托管代码

附上一个下载地址:
http://download.microsoft.com/download/f/2/7/f279e71e-efb0-4155-873d-5554a0608523/CLRInsideOut2008_01.exe

 

Ref From:


如何使用C#调用非托管DLL函数

http://blogs.msdn.com/silverlightshanghai/archive/2008/06/17/p-invoke-interop-assistant-p-invoke.aspx

http://www.codeplex.com/clrinterop

Video: http://channel9.msdn.com/posts/funkyonex/The-P-Invoke-Interop-Assistant/?CommentID=420036



标签:调用,http,Invoke,Interop,Assistant,托管,签名,com
From: https://blog.51cto.com/emanlee/8247705

相关文章

  • C++ invoke与function的区别
    C++invokeinvoke是C++17标准引入的一个函数模板,用来调用可调用对象(CallableObject,如函数指针、函数对象、成员函数指针等)并返回结果。invoke提供了统一的调用语法,无论可调用对象的类型是什么,都可以使用同一种方式进行调用。详见:https://en.cppreference.com/w/cpp/utility/fu......
  • 使用 Data Assistant 快速创建测试数据集
    DataAssistant提供超过100种数据类型,为任何开发、测试或演示目的生成大量、异构、真实的数据。官网地址:http://www.redisant.cn/da主要功能Windows原生DataAssistant使用WindowsNative技术,这保证软件具有很小的安装体积和较高的响应速度。快速生成创建小型或大型数据集,......
  • 【PowerShell】Invoke-WebRequest和Invoke-RestMethod
    ##PublicfreeRestfulAPIURL ##https://documenter.getpostman.com/view/8854915/Szf7znEe#intro#Example01#--------------------------------------------------------------$url="https://cat-fact.herokuapp.com/facts/"$r=Invoke-WebReques......
  • 严重性 代码 说明 项目 文件 行 禁止显示状态 错误 LNK2019 无法解析的外部符号 _main
    问题描述按照思路写好了C++的程序之后,表面上看起来没什么错误,也没有红点点的出现,但是运行起来,就发现,爆出来这样一个错误:问题解决看了半天,查了半天资料,发现是这里出现了问题(我真的~~~):习惯了首字母大写,这个就当成类来写了,后来突然醒悟,这个是main函数,首字母是要小写:运行成功......
  • 如何解决小程序打开授权报错openSetting:fail can only be invoked by user TAP gestu
    要解决这个问题,你需要在页面上为openSetting接口添加一个点击事件。根据微信小程序的文档,openSetting接口只能通过用户点击行为(如tap事件)来触发。以下是一个简单的示例代码:<!--index.wxml--><view><buttonbindtap="openSetting">打开授权设置</button></view......
  • 生成invoke脚本
    publicstaticvoidmain(String[]args)throwsNoSuchMethodException{//入参CmsModuleDTOqueryReq=newCmsModuleDTO();queryReq.setModuleScenario("新手");//getInvoke(入参,类名.class,方法名)StringinvokeCommand......
  • invokeMethod
    概述invokeMethod是Qt框架中的一个重要函数,用于将指定的函数调用安排到目标对象的事件队列中执行。这个函数允许在Qt应用程序中执行跨线程或跨对象的函数调用,确保线程安全和事件驱动的执行。函数签名boolQMetaObject::invokeMethod(QObject*obj,constchar*member,Qt::Con......
  • A curious case: CLR/COM Interop leak
    Acuriouscase:CLR/COMInterop leakUNCATEGORIZED.NET, COM, INTEROP, PRODUCTIONDEBUGGING, WINDBGLEAVEACOMMENTBackgroundAcustomeraskedmeaquestionlastweek:inCLR-COMinteropcase,whoisresponsibletofreeupastringreturnedfromCO......
  • 什么是软件设计领域里,前后端模块的 interoperability?
    在软件设计领域,前后端模块的interoperability(互操作性)是指不同部分或组件之间能够有效地协同工作,以实现系统的整体功能。这种互操作性在全栈开发中尤为重要,因为现代应用程序通常由前端(Frontend)和后端(Backend)两个主要部分组成,它们必须能够无缝协作以提供用户所需的功能和体验。前......
  • homeassistant 安装与使用
    dockerrun-d--namehomeassistant--privileged--restart=unless-stopped-eTZ=Asia/Shanghai-p8123:8123-v/volume1/docker/homeassistant:/config--network=hosthomeassistant/home-assistanthttp://127.0.0.1:8123/onboarding.html/volume1/docker/ho......