変換システム:: Uint ^からunsigned longへ

C静的ライブラリの引数としてポインタの値をとる関数があります。     今はC/CLIラッパーを記述していますが、これはC#コードで使用されます。

long function_C(    PULONG pulsize, PULONG pulcount );

ラッパー関数C ++/CLI

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

function_Managedからfunction_C関数を呼び出しています。次に、System :: Uint ^ PULONGを変換するための問題に直面しています。

私の質問は
これは正しいですか?
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
追加された