0 0

C++中这样声明的DLL函数,在C#中怎么调用啊?3

C++中这样声明的DLL函数,在C#中怎么调用啊?其中p_trim_areas传递的是一个数组.

typedef struct tagTrimInformation
{
  int           p_trim_count;
  LPRECT        p_trim_areas;
  HBITMAP       *p_trim_image;
} TRIMINFORMATION;
typedef TRIMINFORMATION    FAR* LPTRIMINFORMATION;

int WINAPI TrimImage
            ( HBITMAP             v_hbitmap, 
              HPALETTE            v_color_palette,
              TRIMINFORMATION     &v_trim_information
            );



2011年10月25日 22:23

1个答案 按时间排序 按投票排序

0 0

实例:
[DllImport("VFD8C_LED8C.dll")]
        public static extern bool VFD8C_LED8C_DisplayNum(string tbuf);

函数名不变,数据类型用c#替换就OK

2011年11月02日 19:06

相关推荐

    C# 调用C++DLL(函数参数包含指针)

    本篇文章将深入探讨如何在C#中调用一个C++DLL,特别是当DLL函数参数中包含指针时的处理方法。 首先,理解C#与C++之间的互操作性是关键。.NET框架提供了一个名为P/Invoke(Platform Invoke)的机制,允许C#代码调用...

    c# 调用C++编写 的DLL函数各种参数传递问题。

    在 C# 调用 C++ 编写的 DLL 函数时,参数传递是一个非常重要的部分。这篇文章将详细介绍 C# 调用 C++ 编写的 DLL 函数各种参数传递问题,包括不返回值的参数、带返回值的参数、传递结构体指针和传递结构体数组等。 ...

    C# Csharp 调用 C++的DLL中的回调函数

    在给定的"CppDll"文件中,包含了这样的C++源码,这些源码定义了需要被C#调用的函数,并可能包括了一些回调函数接口。 回调函数是一种允许DLL在执行过程中调用客户端代码的机制。在C++中,这通常通过指针或引用来...

    C#调用c++函数的dll文件,同时实现c++调用c#函数

    1. **定义C++导出函数接口**:在C++ DLL项目中,我们需要定义一些将被C#调用的函数,并使用`extern "C"`来避免C++的名称修饰(name mangling),以便C#能正确识别函数名。例如: ```cpp extern "C" __declspec(dll...

    C#使用CLR调用C++的DLL库

    本主题将详细介绍如何在C#应用中利用CLR调用C++编写的DLL库,特别是在Windows环境下。我们将分为三个关键步骤进行讲解: 1. **创建C++ DLL库** - 首先,你需要创建一个C++动态链接库(DLL)项目。在Visual Studio...

    C++调用C#的DLL实例程序

    3. 在C++/CLI中引用C# DLL:在C++/CLI项目中,添加对C# DLL的引用。这使得C++/CLI代码能够访问C#的类型和方法。 4. 使用C++/CLI调用C#方法:在C++/CLI代码中,引入C#命名空间,并创建对C#类的实例。然后,你可以像...

    C#Winform动态调用C++和C#的Dll

    本文将重点讲解如何在C#的Winform应用中动态调用C++和C#编写的DLL,并将DLL作为嵌入资源处理,避免因丢失DLL文件而引发的问题。 首先,我们需要理解DLL的工作原理。DLL文件包含可执行代码和数据,当一个应用程序...

    C#调用DLL中非托管C++函数参数类型对照

    在C#编程中,经常需要调用C++中的DLL类库,这就需要了解C++中的函数参数类型在C#中的对应关系。以下是基本数据类型的对照: * 一维数组:C#参数在基本类型前加ref或out,out表示有返回数据。例如调用C++的f(float[]...

    C#调C++动态库Dll C++回调C#函数

    在跨语言编程中,有时我们需要在C#代码中调用C++编写的动态链接库(DLL),同时C++还需要能够回调C#中的函数。这样的需求通常出现在需要利用C++的性能优势或者使用C++库而C#无法直接访问的情况下。本篇文章将详细...

    C#调用C++动态DLL

    在C#中调用C++编写的动态链接库(DLL)是一种常见的跨语言通信方式,特别是当C++库提供了某些C#中没有的功能或者优化的性能时。本文将详细探讨如何在C#中实现对C++动态DLL的调用。 首先,了解动态链接库(DLL)的...

    c#调用c++DLL,dll有二维数组

    标题中的“c#调用c++DLL,dll有二维数组”意味着我们将在C++的DLL中定义一个二维数组,然后在C#中调用该函数并处理这个数组。在C++中,二维数组通常以指针的形式传递,因为C++不支持引用参数。而在C#中,我们通常...

    C#调用C++动态库中自身定义的回调函数

    本主题将详细探讨如何在C#应用程序中调用C++动态链接库(DLL)中的函数,并且在这个过程中,C#能够注册和处理C++库中定义的回调函数。 首先,让我们理解回调函数的概念。回调函数是一种设计模式,允许将一个函数的...

    C#调用C++DLL导出类

    在这个例子中,`MyClass_MyFunction_Create()`和`MyClass_MyFunction_Destroy()`是C++DLL中创建和销毁类实例的函数,需要在C#中对应的DllImport声明。`MyClass_MyFunction()`是类方法的C风格接口。 为了更好地管理...

    c#调用c++ dll 传参 string 崩溃的一种解决办法

    然而,当C#应用程序尝试调用C++ DLL中的函数并传递字符串参数时,可能会遇到一些挑战。 #### 字符串处理差异 问题的核心在于C#与C++对字符串的不同处理方式。在C#中,字符串是不可变的对象,类型为`System.String`...

    C#和c++dll函数相互调用

    在C#中,我们可以通过.NET Framework的DllImport特性来调用C++DLL中的函数,而在C++中,我们可以使用extern "C"来导出C-style的函数,以便C#能够识别。 1. **C++DLL的创建** - 使用C++编译器(如Visual Studio)...

    C#调用C++DLL动态库.rar_C#调用C++DLL动态库_c++dll动态库_c++开发动态库

    在C++ DLL中,我们需要使用特定的宏(如`__declspec(dllexport)`)来标记那些需要被其他语言调用的函数,确保它们在编译时被正确导出。 5. **C#调用C++ DLL步骤**: - **创建C++接口**:在C++ DLL中定义函数,并...

    C++调用C#DLL的DEMO

    2. 定义C#方法的原型:在C++中,我们需要为每个要调用的C#方法提供对应的函数声明。包括返回值类型、参数类型等。注意,由于C++和C#的数据类型不同,我们需要进行适当的类型映射。例如,C#的`string`在C++中通常映射...

    非托管C++调用C#的dll

    然而,CLR VIA C#提供了一种非托管C++直接调用的方法,该方法可以在非托管代码中手动启动CLR加载应用程序域来运行托管的dll,从而调用其中的方法。 知识点1:C++调用C#编写的dll的必要性 在实际开发中,C++和C#是...

    C#DLL调用.rar_C# 调用 C++的DLL_C# 调用DLL库_c# 调用dll_c#调用C++dll_c#调用dll

    3. **调用DLL函数**:在完成上述步骤后,你可以在C#代码中像调用普通方法一样调用DLL中的函数。例如: ```csharp int result = YourFunctionName(123, "Hello"); ``` 4. **异常处理**:由于调用非托管代码可能会...

    C#应用程序调用C#编写的dll,C#编写的dll调用C++编写的dll

    1. **定义C++导出函数**:在C++ DLL中,你需要声明导出函数,这些函数将被C#代码调用。使用`__declspec(dllexport)`关键字标记这些函数。 2. **创建C#托管封送**:在C# DLL中,使用`DllImport`特性来定义对C++ DLL...

Global site tag (gtag.js) - Google Analytics