Система преобразования :: Uint ^ в unsigned long - PullRequest
0 голосов
/ 28 октября 2011

У меня есть функция, которая принимает значение указателя в качестве аргумента в моей статической библиотеке Си. Сейчас я пишу оболочку 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. Теперь я столкнулся с проблемой преобразования System :: Uint ^ PULONG.

Мой запрос
1. это правильно сделать это.
2. Если это правильно, то как конвертировать System :: Uint ^ в PULONG

Ответы [ 2 ]

1 голос
/ 28 октября 2011

См. здесь для получения дополнительной информации.Суммируется ниже:

unsigned int k = *safe_cast<System::UInt^>(x);
0 голосов
/ 28 октября 2011
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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...