Ishlab chiqarish tizimi: Uint ^ ^ belgisiz uzun

S statik kutubxonasida ko'rsatgich qiymatini argument sifatida qabul qiladigan funksiya mavjud.     Endi men C/CI kodlashda ishlatiladigan CI/CLI sumkachasini yozyapman.

long function_C(    PULONG pulsize, PULONG pulcount );

Wrapper vazifasi C ++/CLI

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

Function_C funktsiyasidan function_Managed.Now funksiyasini chaqiraman. System :: Uint ^ PULONG ni aylantirish uchun muammo yuzaga keladi.

Mening so'rovim Bu to'g'ridir 2. Agar bu sistema tizimini :: Uint ^ ni PULONG ga aylantirishdan ko'ra to'g'ri bo'lsa

0

2 javoblar

Qo'shimcha ma'lumot uchun bu yerda ko'ring. Quyida qisqacha ma'lumot:

unsigned int k = *safe_cast(x);
1
qo'shib qo'ydi
UInt32 bilan bog'liq hech narsa topmadim
qo'shib qo'ydi muallif Chris_vr, manba
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 # kodi uchun function_Managed ushbu imzoga ega bo'ladi:

int function_Managed(ref uint size, ref uint count)
0
qo'shib qo'ydi