Passar matriz de bytes do Unity C # para o plugin C ++

Estou tentando passar dados de textura bruta de Texture2D (matriz de bytes) para código C ++ não gerenciado. No código C #, o comprimento da matriz é de cerca de 1,5kk, no entanto, em C ++, 'sizeof' sempre retorna 8.

Declaração C # do método nativo:

[DllImport("LibName", CallingConvention = CallingConvention.Cdecl)]
static extern IntPtr ProcessData(byte[] data);

C ++:

extern "C" {
    __declspec(dllexport) void ProcessData(uint8_t *data) {
        //sizeof(data) is always 8
    }
}

O que estou fazendo errado? Existe uma maneira de transmitir matriz sem alocação de memória adicional no código C ++?

questionAnswers(1)

yourAnswerToTheQuestion