I've inherited some code that I need to interface with. Specifically there is a Marshaled command that I want to call from C#. The code call looks like this;

```
[DllImport(DLL_PATH, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
    public static extern void readTable([MarshalAs(UnmanagedType.LPArray)] ushort[,] buffer);

```

So the 'readTable' command fills in the multidimensional array 'buffer'.

I'm not able to do this very well, but here is my (non-compiling) attempt;

```
ushort[,] myTable = new ushort[5,100];   // multidimensional array

unsafe
{
  fixed (ushort* inputPtr = &myTable[0, 0])
  {
      readTable(inputPtr);
  }
}

```

Obviously not compiling, but I'm too much of a newbie to fix the error.

I really want to declare;

```
fixed(ushort[,]* inputPtr = &myTable)

```

But that is just nonsense.

Anyone understand my plight? Thanks heaps!