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