質問編集履歴
3
タイトルを修正
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
PythonからのDLL利用
|
1
|
+
Pythonからの構造体(class)を利用したDLL利用
|
test
CHANGED
File without changes
|
2
構造体仕様を追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -54,4 +54,12 @@
|
|
54
54
|
IN UINT_PTR hnd,
|
55
55
|
IN NUMBER_INFO *NN_Info,
|
56
56
|
);
|
57
|
+
|
58
|
+
構造体NUMBER_INFO の使用は以下の通りです。
|
59
|
+
typedef struct {
|
60
|
+
int iLineType;
|
61
|
+
char FNumber[255];
|
62
|
+
} NUMBER_INFO ;
|
63
|
+
|
64
|
+
|
57
65
|
```
|
1
DLLについての情報を追記いたします
test
CHANGED
File without changes
|
test
CHANGED
@@ -21,10 +21,17 @@
|
|
21
21
|
_fields_ = [
|
22
22
|
('iLineType',ctypes.c_uint32),
|
23
23
|
('FNumber',ctypes.c_wchar_p * 255 )]
|
24
|
-
|
24
|
+
:
|
25
|
+
:
|
26
|
+
:
|
25
27
|
NUMBER_INFO = N_Info()
|
26
28
|
NUMBER_INFO.iLineType = ctypes.c_uint32(1)
|
27
29
|
NUMBER_INFO.FNumber= ctypes.c_wchar_p(u'01234567890') # ←例外発生場所
|
30
|
+
|
31
|
+
iapi = ctypes.WinDLL(r'Iapi64.dll')
|
32
|
+
ret = iapi.IrIndiv(hnd, ctypes.pointer(NUMBER_INFO )
|
33
|
+
|
34
|
+
|
28
35
|
```
|
29
36
|
|
30
37
|
### 試したこと
|
@@ -37,3 +44,14 @@
|
|
37
44
|
pycharm利用
|
38
45
|
pythonを利用開始してから半年未満です。
|
39
46
|
ご指導よろしくお願いいたします。
|
47
|
+
|
48
|
+
### 追記
|
49
|
+
can110さんのご指摘もあり追記いたします。
|
50
|
+
```DLL仕様書より
|
51
|
+
IrIndiv DLLの構造仕様は以下の通りです。
|
52
|
+
int WINAPI
|
53
|
+
IrIndiv(
|
54
|
+
IN UINT_PTR hnd,
|
55
|
+
IN NUMBER_INFO *NN_Info,
|
56
|
+
);
|
57
|
+
```
|