Utilizzare una libreria C dal codice C #

Ho una libreria in linguaggio C. è ansible usarlo in C sharp.

http://zbar.sourceforge.net/ è il link della biblioteca che voglio usare

Le librerie C compilate per Windows possono essere richiamate da C # utilizzando Platform Invoke .

Da MSDN , la syntax di effettuare una chiamata di funzione C è la seguente:

[DllImport("Kernel32.dll", SetLastError=true)] static extern Boolean Beep(UInt32 frequency, UInt32 duration); 

Quanto sopra chiama la funzione Beep in Kernel32.dll, passando la frequenza degli argomenti e la durata. Chiamate più complesse sono possibili il passaggio di strutture e puntatori a matrici, valori di ritorno ecc …

Sarà necessario assicurarsi che le funzioni C disponibili dalla libreria C vengano esportate in modo appropriato , ad esempio la funzione Beep è probabilmente dichiarata in questo modo:

 #define DllExport __declspec( dllexport ) DllExport bool Beep(unsigned int frequency, unsigned int duration) { // C Body of Beep function }