如何在C++ CLR中将数组<System :: Byte>转换为char*?

Spa*_*ark 9 c# c++ c++-cli

在我的项目中,我将一个byte []从C#传递给C++ CLR函数.

C++ CLR代码:

void TestByteArray(array<System::Byte>^ byteArray)
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

C#代码:

byte[] bytes = new byte[128];
...
TestByteArray(bytes);
Run Code Online (Sandbox Code Playgroud)

在TestByteArray()函数中,我需要将byteArray转换为char*,以便我可以在本机C++代码中使用它.我该怎么做这样的转换?

Ben*_*igt 19

void TestByteArray(array<System::Byte>^ byteArray)
{
    pin_ptr<System::Byte> p = &byteArray[0];
    unsigned char* pby = p;
    char* pch = reinterpret_cast<char*>(pby);

    // use it...
}
Run Code Online (Sandbox Code Playgroud)