csx 4 년 전
부모
커밋
244603d9c1
1개의 변경된 파일6개의 추가작업 그리고 12개의 파일을 삭제
  1. 6 12
      controllers/his_api_controller.go

+ 6 - 12
controllers/his_api_controller.go 파일 보기

30
 }
30
 }
31
 
31
 
32
 var (
32
 var (
33
-	DllTestDef, LoadDllErr   = syscall.LoadDLL("SSCard.dll")
34
-	add, FindPErr            = DllTestDef.FindProc("Init")
35
-	ReadCardBas, FindPErr2   = DllTestDef.FindProc("ReadCardBas")
36
-	ReadIDCardBas, FindPErr3 = DllTestDef.FindProc("ReadSFZ")
33
+	DllTestDef    = syscall.NewLazyDLL("SSCard.dll")
34
+	add           = DllTestDef.NewProc("Init")
35
+	ReadCardBas   = DllTestDef.NewProc("ReadCardBas")
36
+	ReadIDCardBas = DllTestDef.NewProc("ReadSFZ")
37
 )
37
 )
38
 
38
 
39
 func HisManagerApiRegistRouters() {
39
 func HisManagerApiRegistRouters() {
158
 		switch id_card_type {
158
 		switch id_card_type {
159
 		case 1:
159
 		case 1:
160
 			basStr, err := GetBasBaseInfo()
160
 			basStr, err := GetBasBaseInfo()
161
-			fmt.Println("~~~~~~~~")
162
-			fmt.Println(basStr)
163
-			fmt.Println(LoadDllErr)
164
-			fmt.Println(FindPErr)
165
-			fmt.Println(FindPErr2)
166
-			fmt.Println(FindPErr3)
161
+			defer syscall.FreeLibrary(DllTestDef)
167
 
162
 
168
 			if err != nil {
163
 			if err != nil {
169
 				c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeReadCardException)
164
 				c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeReadCardException)
351
 }
346
 }
352
 func GetBasBaseInfo() (jsonStr string, err error) {
347
 func GetBasBaseInfo() (jsonStr string, err error) {
353
 	//handle := syscall.MustLoadDLL("SSCard.dll")
348
 	//handle := syscall.MustLoadDLL("SSCard.dll")
354
-
355
 	str := make([]byte, 256)
349
 	str := make([]byte, 256)
356
 	str1 := make([]byte, 256)
350
 	str1 := make([]byte, 256)
357
-	r, _, _ := ReadCardBas.Call(IntPtr(1024), (uintptr)(unsafe.Pointer(&str[0])), IntPtr(1024), (uintptr)(unsafe.Pointer(&str1[0])))
351
+	r, _, _ := ReadCardBas.Call((uintptr)(unsafe.Pointer(&str[0])), IntPtr(1024), (uintptr)(unsafe.Pointer(&str1[0])), IntPtr(1024))
358
 
352
 
359
 	fmt.Println(r)
353
 	fmt.Println(r)
360
 	fmt.Println(string(str))
354
 	fmt.Println(string(str))