Система конвертації :: Uint ^ до непідписаного довгого

У мене є функція, яка приймає значення аргументу як аргумент у моїй C статичній бібліотеці.     Тепер я пишу на ньому обгортку C/CLI, яка, у свою чергу, буде використовуватися в коді C #.

long function_C(    PULONG pulsize, PULONG pulcount );

Функція обгортки C ++/CLI

long function_Managed(  System::Uint^ size, System::Uint^ pulcount  );

Я дзвоню функцію function_C від function_Managed.Now я стикаюсь з проблемою для перетворення System :: Uint ^ PULONG.

Мій запит - це
1. це правильно зробити це.
2. Якщо це правильно, ніж перетворення System :: Uint ^ в PULONG

0

2 Відповіді

Докладніше про це див тут . Узагальнено нижче:

unsigned int k = *safe_cast(x);
1
додано
Я не знайшов нічого щодо UInt32
додано Автор Chris_vr, джерело
long function_C(PULONG pulsize, PULONG pulcount);

int function_Managed(unsigned% size, unsigned% count)
{
    unsigned long lsize = size, lcount = count;
    long const ret = function_C(&lsize, &lcount);
    size = lsize, count = lcount;
    return ret;
}

Для коду C#, function_Managed матиме таку підпис:

int function_Managed(ref uint size, ref uint count)
0
додано
IT KPI C/С++ новым годом
IT KPI C/С++ новым годом
747 учасників

Чат обсуждения С/С++. - Вопросы "напишите за меня лабу" - это оффтоп. - Оффтоп, флуд, оскорбления и вбросы здесь не приняты. - За нарушение - предупреждение или mute на неделю. - За спам и рекламу - ban. Все чаты IT KPI: https://t.me/itkpi/1147