回答編集履歴
1
追記
answer
CHANGED
@@ -1,2 +1,11 @@
|
|
1
1
|
MarshalAsにArraySubTypeを指定してみてください。
|
2
|
-
[配列に対する既定のマーシャリング](https://docs.microsoft.com/ja-jp/dotnet/framework/interop/default-marshaling-for-arrays)
|
2
|
+
[配列に対する既定のマーシャリング](https://docs.microsoft.com/ja-jp/dotnet/framework/interop/default-marshaling-for-arrays)
|
3
|
+
|
4
|
+
---
|
5
|
+
|
6
|
+
(追記)
|
7
|
+
渡された文字列をMessageBoxで表示するだけのDLL(ANSI文字コード)を作成し、下記呼び出しで問題なく表示する事を確認しています。
|
8
|
+
```C#
|
9
|
+
[DllImport("test.dll", CharSet=CharSet.Ansi)]
|
10
|
+
private static extern uint DLLGetFiles(int nFNum, [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.LPStr)]string[] files);
|
11
|
+
```
|