Pass matriz multidimensional desde código administrado a código no administrado

Me gustaría hacer lo siguiente:

Cree tres conjuntos dimesinales en código C # como este:

var myArray = new short[x,y,z];
UnanagedFunction(myArray);

Pasarlo a código no administrado (c ++) como este:

void UnmanagedFunction(short*** myArray)
{
    short first = myArray[0][0][0];
}

ACTUALIZAD Cuando intento el siguiente código, tengo un error de tiempo de ejecución:

ntentado leer o escribir en la memoria protegida.

¡¡¡Gracias!!

Respuestas a la pregunta(2)

Su respuesta a la pregunta