Pase la matriz de bytes de Unity C # al complemento C ++

Estoy tratando de pasar datos de textura sin procesar de Texture2D (matriz de bytes) a código C ++ no administrado. En el código C #, la longitud de la matriz es de aproximadamente 1,5kk, sin embargo, en C ++ 'sizeof' siempre devuelve 8.

Declaración de C # del 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
    }
}

¿Qué estoy haciendo mal? ¿Hay alguna manera de pasar la matriz sin asignación de memoria adicional en el código C ++?

Respuestas a la pregunta(1)

Su respuesta a la pregunta