c # Как получить значение указателя выпускного вечера - PullRequest
0 голосов
/ 11 сентября 2018

Это мой код:

[DllImport(@"C:\Program Files (x86)\UF01\UF01.dll", EntryPoint = "UF01_UA01_Entrees", CallingConvention = System.Runtime.InteropServices.CallingConvention.Winapi)]
    unsafe internal static extern Boolean UF01_UA01_Entrees(byte Device, byte Module, out ushort* TableData_12bit);

ushort* arr = stackalloc ushort[8];

if (UF01_UA01_Entrees(1, 1, out arr))
{
}                    

Мой код работает отлично, но как мне получить значения, хранящиеся в указателе?

Я написал тестовую программу на C ++:

void UA01(byte nb_device, byte module){
    WORD TableData_12bit[8];
    if(UF01_UA01_Entrees(nb_device, module, TableData_12bit)){
        for(int chan=0; chan<MAX_ANALOG_CHANNEL_IN; chan++){
            printf("M%1d%1d:0x%3x ", module, chan+1, TableData_12bit[chan]);                    
        }
    }else{
        printf("\nEchec de lecture");
    }
}

Этот тест работает, но в c # я не могу получить значения из указателя.Можете ли вы помочь мне?

Спасибо:)

...