如何在C#代码上从库中调用C方法?

时间:2014-05-20 15:46:55

标签: c# c++ c dll dllimport

我有一个DLL(CliSiTef32I.dll),我需要在我的C#代码上调用以下方法:

//The DLL can be downloaded at http://54.197.252.236/se/CliSiTef32I.dll

long ConfiguraIntSiTefInterativoEx(
   char* IPSiTef, 
   char* IdLoja,
   char* IdTerminal, 
   short Reservado, 
   char* ParametrosAdicionais
   )

long IniciaFuncaoSiTefInterativo(
   long Funcao, 
   char* Valor, 
   char* CupomFiscal, 
   char* DataFiscal, 
   char* HoraFiscal, 
   char* Operador, 
   char* ParamAdic
   )

我该怎么做?

1 个答案:

答案 0 :(得分:2)

这些可能会起到作用:

[DllImport("CliSiTef32I.dll")]
public static extern int ConfiguraIntSiTefInterativoEx (
    byte[] IPSiTef, 
    byte[] IdLoja, 
    byte[] IdTerminal, 
    short Reservado, 
    byte[] ParametrosAdicionais)

[DllImport("CliSiTef32I.dll")]
public static extern int IniciaFuncaoSiTefInterativo (
    long Funcao, 
    byte[] Valor, 
    byte[] CupomFiscal, 
    byte[] DataFiscal, 
    byte[] HoraFiscal, 
    byte[] Operador, 
    byte[] ParamAdic)

虽然我不完全确定short的含义。如果这是16位有符号的int,那么这将有效。

另外,如果你要返回的32位int实际上是bool,你可以声明返回值。