Ciao ho scritto un'applicazione c# che deve eseguire una funzione che si trova in una dll scritta in cpp. Per farlo uso PInvoke.
La dll è la seguente

Libreria.h
codice:
#ifndef LIBRERIA
#define LIBRERIA extern "C" __declspec(dllimport)
#endif

LIBRERIA void ApplicaOnMouse(UINT check, UINT value);
Libreria.cpp
codice:
#include "stdafx.h"
#include <stdlib.h>
#define LIBRERIA extern "C" __declspec(dllexport)
#include "Libreria.h"

void ApplicaOnMouse(UINT check, UINT value){
	//da fare...
}
All'interno della classe c# ho fatto nel seguente modo
codice:
 using System.Runtime.InteropServices;
    public partial class Form1 : Form
    {
        [DllImport("C:\\Dll.dll")]
        public static extern void ApplicaOnMouse(UInt32 c, UInt32 v);
        ..................................................................................................

        private void applica()
           {
               //devo vedere se è checked o no
               UInt32 check=0;
               if(checkBox1.Checked)
                   check=1;
               //devo prendere il valore della sbarra
               UInt32 bar=(UInt32)trackBar1.Value;
               //Chiama la funzione non gestita
               ApplicaOnMouse(check,bar);
             }
       ..................................................................................................
      }
Il problema è che quando faccio girare l'applicazione e deve eseguire la chiamata alla funzione non gestita, mi dice
Eccezione non gestita di tipo 'System.BadImageFormatException' in Mouse.exe

Informazioni aggiuntive: Tentativo di caricare un programma con un formato non corretto. (Eccezione da HRESULT: 0x8007000B)



Dove ho sbagliato? Grazie a tutti in anticipo!