Marshaling ushort[,] multidimensional array in C#

user2745669

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!

Anton Tykhyy

Try this:

ushort[,] myTable = new ushort[5,100];
readTable(myTable);

Unless readTable keeps the pointer after it returns, the marshaler's pinning and unpinning the array will work fine for you.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Convert int[] array to ushort[] array

분류에서Dev

Multidimensional char array in C in function

분류에서Dev

Casting a multidimensional array to a multidimensional array of it's superclass in c++

분류에서Dev

C multidimensional array not accepting modifications to its members

분류에서Dev

C #에서 ushort [] 배열을 단일 ushort로 변환

분류에서Dev

Multidimensional array to array in PHP

분류에서Dev

Sort a multidimensional array in PHP

분류에서Dev

MultiDimensional Array with Foreach

분류에서Dev

multidimensional array with keys

분류에서Dev

How to Display multidimensional Array?

분류에서Dev

Make multidimensional array to string

분류에서Dev

Add a string to multidimensional array

분류에서Dev

Access multidimensional array value

분류에서Dev

Multidimensional Array Search

분류에서Dev

Transform a multidimensional array in php

분류에서Dev

Sanitize & desanitize multidimensional array

분류에서Dev

javascript sum multidimensional array

분류에서Dev

Multidimensional array to one dimensional array

분류에서Dev

Get the value of array in multidimensional-array in array

분류에서Dev

How to push data to a multidimensional array?

분류에서Dev

PHP multidimensional array to html with recursion

분류에서Dev

Multidimensional array => CSV export in CakePHP

분류에서Dev

Multidimensional Array Listing Printing Php

분류에서Dev

How to extract multidimensional array in jquery?

분류에서Dev

Pointer arithmetic with multidimensional Array Notation

분류에서Dev

Error with program containing multidimensional array

분류에서Dev

PHP Advanced multidimensional array sorting

분류에서Dev

Accessing elements in Multidimensional Array of ArrayList

분류에서Dev

Find all bytes in multidimensional array?

Related 관련 기사

뜨겁다태그

보관