none
Chiamare api da metodo RRS feed

  • Domanda

  • Ciao,

    Sarebbe possibile creare un metodo per chiamare le funzioni della dll. Cioè al posto di chiamare con:

    [DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Ansi)]
    private static extern IntPtr GetProcAddress(IntPtr hModule, string lpProcName);

    Usare tipo : metodo("nomedll","Nomefunzione","argomenti");

    Grazie in anticipo.

    lunedì 30 gennaio 2012 15:12

Risposte

  • no è impossibile

     

    per chiamare un metodo Win32, devi usare il pInvoke che funziona con l'Attributo + il metodo con firma uguale, più eventuali marshalling dei dati......

     

    scrivere un wrapper globale non è possibile in .NET

     

    ma forse è possibile in Win32 scrivere forse un wrapper globale se C++ supporta la reflection e il caricamento dinamico delle dll

    a quel punto da .NET ti connetti al metodo unico e puoi fare come hai chiesto

     

    a presto

     


    Antonio Esposito [MCT, MCPD, MCTS, MCP]
    dotnetlombardia.org | blog | web | @tonyexpo
    Italy
     
    lunedì 30 gennaio 2012 15:23
    Postatore

Tutte le risposte

  • no è impossibile

     

    per chiamare un metodo Win32, devi usare il pInvoke che funziona con l'Attributo + il metodo con firma uguale, più eventuali marshalling dei dati......

     

    scrivere un wrapper globale non è possibile in .NET

     

    ma forse è possibile in Win32 scrivere forse un wrapper globale se C++ supporta la reflection e il caricamento dinamico delle dll

    a quel punto da .NET ti connetti al metodo unico e puoi fare come hai chiesto

     

    a presto

     


    Antonio Esposito [MCT, MCPD, MCTS, MCP]
    dotnetlombardia.org | blog | web | @tonyexpo
    Italy
     
    lunedì 30 gennaio 2012 15:23
    Postatore
  • ciao

    hai novità?

    ha funzionato il consiglio?

    puoi contrassegnarlo eventualmente utile per gli altri?

    a presto

     


    Antonio Esposito [MCT, MCPD, MCTS, MCP]
    dotnetlombardia.org | blog | web | @tonyexpo
    Italy
     
    mercoledì 1 febbraio 2012 18:32
    Postatore
  • Ciao Orlando Liccardo,

    Mi accodo a quanto detto da Antonio per suggerirti il PInvoke Interop Assistant, che è stato creato specialmente per semplificare il lavoro degli sviluppatori che devono gestire metodi delle dll unmanaged.

    Spero ti sia utile,


    Irina Turcu - Microsoft

    Tips & Tricks – Forum MSDN

    Questo contenuto è distribuito “as is” e non implica alcuna responsabilità da parte di Microsoft. L'azienda offre questo servizio gratuitamente, allo scopo di aiutare gli utenti e approfondire la loro conoscenza dei prodotti e tecnologie Microsoft.

    LinkedIn

    lunedì 6 febbraio 2012 14:59