c ++クラスのdll(SLABHIDDevice.dll)があります。このdllの機能をC#.netアプリケーションで使用しようとしています。dllには、このようなステートメントで簡単に使用できるいくつかのメソッドが含まれています...
(ここでいくつかの用語が間違っている場合は、dllを使用するのは初めてです)
[DllImport("SLABHIDDevice.dll")]
public static extern byte GetHidString
(Int32 deviceIndex, Int32 vid, Int32 pid,
Byte hidStringType, String deviceString,
Int32 deviceStringLength);
SLABHIDDevice.dllのドキュメントには、クラスオブジェクトCHIDDeviceも含まれていると記載されています。そのオブジェクトには、Open()などのメンバー関数の全リストがあります。
上記と同じ構文を使用してOpen()をインポートしようとすると、Open()関数のエントリポイントが見つからないというエラーが表示されます。これは、Open()がCHIDDeviceのメンバーであるためですか?
これはDUMPBINからのdllの構成です...下の3つの関数は、私が動作させることができる唯一の関数ですか?他の構文を取得するために使用する必要のある構文を誰かが知っていますか?関数名の前にある疑問符はどういう意味ですか?
Dump of file SLABHIDDEVICE.dll
File Type: DLL
Section contains the following exports for SLABHIDDevice.dll
00000000 characteristics
47E13E0F time date stamp Wed Mar 19 12:23:43 2008
0.00 version
1 ordinal base
26 number of functions
26 number of names
ordinal hint RVA name
4 0 00001000 ??0CHIDDevice@@QAE@ABV0@@Z
5 1 00001330 ??0CHIDDevice@@QAE@XZ
6 2 00001430 ??1CHIDDevice@@UAE@XZ
7 3 00001080 ??4CHIDDevice@@QAEAAV0@ABV0@@Z
8 4 00020044 ??_7CHIDDevice@@6B@
9 5 00001460 ?Close@CHIDDevice@@QAEEXZ
10 6 00001C70 ?FlushBuffers@CHIDDevice@@QAEHXZ
11 7 00001CA0 ?GetFeatureReportBufferLength@CHIDDevice@@QAEGXZ
12 8 00001850 ?GetFeatureReport_Control@CHIDDevice@@QAEEPAEK@Z
13 9 00001C80 ?GetInputReportBufferLength@CHIDDevice@@QAEGXZ
14 A 00001BE0 ?GetInputReport_Control@CHIDDevice@@QAEEPAEK@Z
15 B 00001A20 ?GetInputReport_Interrupt@CHIDDevice@@QAEEPAEKGPAK@Z
16 C 00001CB0 ?GetMaxReportRequest@CHIDDevice@@QAEKXZ
17 D 00001C90 ?GetOutputReportBufferLength@CHIDDevice@@QAEGXZ
18 E 00001730 ?GetString@CHIDDevice@@QAEEEPADK@Z
19 F 00001CC0 ?GetTimeouts@CHIDDevice@@QAEXPAI0@Z
20 10 00001700 ?IsOpened@CHIDDevice@@QAEHXZ
21 11 000014A0 ?Open@CHIDDevice@@QAEEKGGG@Z
22 12 00001360 ?ResetDeviceData@CHIDDevice@@AAEXXZ
23 13 00001810 ?SetFeatureReport_Control@CHIDDevice@@QAEEPAEK@Z
24 14 00001B80 ?SetOutputReport_Control@CHIDDevice@@QAEEPAEK@Z
25 15 000018C0 ?SetOutputReport_Interrupt@CHIDDevice@@QAEEPAEK@Z
26 16 00001CE0 ?SetTimeouts@CHIDDevice@@QAEXII@Z
3 17 00001320 GetHidGuid
2 18 00001230 GetHidString
1 19 00001190 GetNumHidDevices
Summary
6000 .data
7000 .rdata
5000 .reloc
4000 .rsrc
1C000 .text