質問編集履歴
5
不要な情報の削除
test
CHANGED
File without changes
|
test
CHANGED
File without changes
|
4
不要な情報の削除
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
Pythonでwinscard.dllを使用したい
|
1
|
+
Pythonでwinscard.dllを使用したいが型エラーが出る
|
test
CHANGED
@@ -66,23 +66,11 @@
|
|
66
66
|
|
67
67
|
lib.SCardEstablishContext.restype = ctypes.c_long
|
68
68
|
|
69
|
-
# SCardListReaders
|
70
|
-
|
71
|
-
lib.SCardListReadersA.argtypes = (ctypes.POINTER(ctypes.c_long), ctypes.POINTER(ctypes.c_char)
|
72
|
-
|
73
|
-
,ctypes.POINTER(ctypes.c_char), ctypes.POINTER(ctypes.c_long))
|
74
69
|
|
75
70
|
|
76
71
|
|
77
72
|
|
78
73
|
|
79
|
-
|
80
|
-
|
81
|
-
def SCardListReaders(hContext, mzGroup, ReaderList, pcchReaders):
|
82
|
-
|
83
|
-
result = lib.SCardListReadersA(hContext, mzGroup, ReaderList, pcchReaders)
|
84
|
-
|
85
|
-
return result
|
86
74
|
|
87
75
|
|
88
76
|
|
@@ -97,18 +85,6 @@
|
|
97
85
|
return hcontext
|
98
86
|
|
99
87
|
|
100
|
-
|
101
|
-
def ListReaders(hcontext):
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
pcchReaders = 256
|
106
|
-
|
107
|
-
ret = SCardListReaders(hcontext, None, None, ctypes.c_wchar_p(pcchReaders))
|
108
|
-
|
109
|
-
print(hcontext)
|
110
|
-
|
111
|
-
print(ret)
|
112
88
|
|
113
89
|
|
114
90
|
|
@@ -148,8 +124,6 @@
|
|
148
124
|
|
149
125
|
`print("con:" + str(type(hcontext)))`
|
150
126
|
|
151
|
-
|
152
|
-
|
153
127
|
としたところでは、
|
154
128
|
|
155
129
|
` con:<class '_ctypes.PyCPointerType'>`
|
3
不要な情報の削除
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
Python
|
1
|
+
Pythonでwinscard.dllを使用したい
|
test
CHANGED
@@ -4,75 +4,21 @@
|
|
4
4
|
|
5
5
|
|
6
6
|
|
7
|
-
|
7
|
+
カードリーダーを認識
|
8
8
|
|
9
9
|
マイナンバーカードから電子署名するプログラムを
|
10
10
|
|
11
|
-
Pythonで
|
11
|
+
Pythonで作成したいです。
|
12
12
|
|
13
13
|
|
14
14
|
|
15
|
-
|
16
|
-
|
17
|
-
|
15
|
+
WEBで調べたところ、winscard.dll を使うとカードリーダーの認識・接続ができるとのことでした。
|
18
|
-
|
19
|
-
カードリーダーの認識をしたいのですがうまくいきません。
|
20
|
-
|
21
|
-
ACCESS⁻VBAのプログラムでは、カードリーダーは認識できています。
|
22
16
|
|
23
17
|
|
24
18
|
|
19
|
+
型指定したほうが良いとアドバイスをいただいたので、
|
25
20
|
|
26
|
-
|
27
|
-
VBAで以下のように指定しているものをPythonで指定してみたのですがうまくいきません。
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
```VBA
|
32
|
-
|
33
|
-
'① SCardEstablishContext …ICカードリソースマネージャへ接続(ICカードーリーダー利用開始)
|
34
|
-
|
35
|
-
Declare Function SCardEstablishContext Lib "WinScard.dll" (ByVal dwScope As Long, ByVal pvReserved1 As Long, ByVal pvReserved2 As Long, hContext As Long) As Long
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
'② SCardListReaders …ICカードリーダの情報取得(現在接続されているカードリーダの名前を取得する)
|
40
|
-
|
41
|
-
Declare Function SCardListReadersA Lib "WinScard.dll" (ByVal hContext As Long, ByVal mzGroup As String, ByVal ReaderList As String, ByRef pcchReaders As Long) As Long
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
'③ SCardConnect …ICカードに接続(正しくカードがセットされているか確認)
|
46
|
-
|
47
|
-
Declare Function SCardConnectA Lib "WinScard.dll" (ByVal hContext As Long, ByVal szReaderName As String, ByVal dwShareMode As Long, ByVal dwPrefProtocol As Long, ByRef hCard As Long, ByRef activeProtocol As Long) As Long
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
'ICカードリーダーの情報を保持する構造体
|
52
|
-
|
53
|
-
Private Type SCARD_READSTATE
|
54
|
-
|
55
|
-
szReader As String
|
56
|
-
|
57
|
-
pvUserData As Long
|
58
|
-
|
59
|
-
dwCurrentState As Long
|
60
|
-
|
61
|
-
dwEventState As Long
|
62
|
-
|
63
|
-
cbAtr As Long
|
64
|
-
|
65
|
-
rgbAtr(36) As Byte
|
66
|
-
|
67
|
-
End Type
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
Dim hContext As Long
|
72
|
-
|
73
|
-
Dim readerState As SCARD_READSTATE
|
74
|
-
|
75
|
-
```
|
21
|
+
.argtypesを使用しています。
|
76
22
|
|
77
23
|
|
78
24
|
|
2
書式の改善
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
Python で winscard.dll を使用し
|
1
|
+
Python で winscard.dll を使用したいが型指定がうまくいかない
|
test
CHANGED
File without changes
|
1
誤字
test
CHANGED
File without changes
|
test
CHANGED
@@ -230,6 +230,4 @@
|
|
230
230
|
|
231
231
|
|
232
232
|
|
233
|
-
また、投稿も初めてなのでおかしいとことがあったらすみません。
|
234
|
-
|
235
233
|
よろしくお願いします。
|