Pergunta : chamando a função do DLL de C++ do c#

Eu tenho que chamar uma função contida em um DLL existente escrito em c++, de minha aplicação que eu escrevi no problema do c#

My sou esse dos parâmetros dessa função sou um ponteiro a uma estrutura & eu não posso figurar uma maneira de fazer isto do c#. o protótipo da função do

The c++ é parâmetros que DISTANTES do

the de FunctionName do PASCAL do

int (param de Parameters*) Struct é definido como o struct do


typedef {cp do
int; TB do
int; mapa do
int [8]; freq dobro do
[8.16];
} Parâmetros; o

I chamou com sucesso funções do DLL using ponteiros antes que mas nunca os ponteiros às estruturas que contêm arrays.

I tentem o seguinte code


struct Prameters
do c# {cp do
int; TB do
int; mapa do
int []; freq do dobro do
[]; o

and do
} eu tenho o seguinte declaration

public int extern inseguro de estática FunctionName da função (param de Parameters*); o problema do


My é que este dá um error

Can da compilação para não tomar o endereço de, para começ o tamanho de, ou para declarar um ponteiro a um tipo controlado

If eu comento para fora as disposições no struct que compile está bem - mas naturalmente a função comentários do fail

Any seria muito appreciated.

Thanks
class= do

Resposta : chamando a função do DLL de C++ do c#

Você pode tentar segue o código:
 [StructLayout (LayoutKind.Sequential, CharSet = CharSet.Ansi)]
        parâmetros do struct
        {
            cp do int;
            TB do int;
            [MarshalAs (UnmanagedType.SysInt, SizeConst = 8)]
            mapa do int [];
            [MarshalAs (UnmanagedType.R8, SizeConst = 8)]
            freq do dobro [];          
        }
        [DllImport (“MyDLL.Dll”)]
        estática extern pública int FunctionName (param dos parâmetros da referência);
Outras soluções  
 
programming4us programming4us