質問編集履歴

3

タイトルを修正

2022/09/13 23:57

投稿

E.Ta
E.Ta

スコア1

test CHANGED
@@ -1 +1 @@
1
- PythonからのDLL利用
1
+ Pythonからの構造体(class)を利用したDLL利用
test CHANGED
File without changes

2

構造体仕様を追記

2022/09/13 08:57

投稿

E.Ta
E.Ta

スコア1

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についての情報を追記いたします

2022/09/13 08:54

投稿

E.Ta
E.Ta

スコア1

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
+ ```