pinvoke: como incerta a trabalhar com dllimport e importados bibliotecas
Pergunta
Estou fazendo uma DLLImport na dll um C ++ e eu tenho a seguinte assinatura. StackOverflow tem sido muito útil até agora, então eu pensei que eu jogaria um presente e ver o que eu recebo.
Há alguma dicas que eu deveria estar preocupado? Esta é minha primeira vez usando dllimport.
Eu preciso importar o seguinte para C #:
PUNHO FooInit (nome * caracteres); // nome parece ser uma string como "COM1"
int foo1 (punho PUNHO, const char ** frase); // frase parece ser uma string como "Olá mundo"
int foo2 (identificador PUNHO, DWORD * val);
Muito obrigado!
Solução
Confira o P / Invoke fraude Sheet (não completa, mas uma referência rápida). char * geralmente se torna string. const char ** é mais complicado porque eu não posso dizer, olhando para ele se é um ponteiro para uma única string ou um array de strings.
Outras dicas
À primeira vista, eu esperaria que você usaria IntPtr para todos os seus parâmetros e o tipo de retorno segurar, e int para valores de retorno do foo1 e foo2.