이전 판 책에 추가 PDF로 내보내기 목차 2.6.3 버전 날짜 새로운 기능 수정 기능 책 생성기 내 책으로 이 페이지 추가 책 생성기 내 책에서 이 페이지 제거 책 관리 (0 페이지) 도움말 문서의 이전 판입니다! 2.6.3 버전 날짜 2019-05-13 새로운 기능 XPass D2 Keypad 장치 지원 IPv6 지원 설정된 서버 포트 얻기 패킷 응답 대기시간 설정 지원 사용자 등록 함수 BS2_EnrollUser 및 BS2_EnrollUserEx 지원 큰 용량의 BS2UserBlob / BS2UserBlobEx 에 대해서 효율적인 메모리 사용을 위해 BS2UserSmallBlob / BS2UserSmallBlobEx 을 지원 (User Photo 영역을 포인터 처리) Admin User 1000 명 이상 지원 1.XPass D2 Keypad 장치연결 지원이 추가되었습니다. 2.IPv6 연결을 지원합니다. SDK가 초기화 되어진 이후 IP V6의 기본값은 비활성화 상태입니다. 구조체 BS2IPV6Config 추가 구조체 BS2IPv6DeviceInfo 추가 함수 BS2_SetDebugExCallback 추가 함수 BS2_GetIPConfigViaUDPEx 추가 함수 BS2_SetIPConfigViaUDPEx 추가 함수 BS2_GetIPV6Config 추가 함수 BS2_SetIPV6Config 추가 함수 BS2_GetIPV6ConfigViaUDP 추가 함수 BS2_SetIPV6ConfigViaUDP 추가 함수 BS2_GetIPV6ConfigViaUDPEx 추가 함수 BS2_SetIPV6ConfigViaUDPEx 추가 함수 BS2_GetEnableIPV4: 추가 함수 BS2_SetEnableIPV4: 추가 함수 BS2_GetEnableIPV6: 추가 함수 BS2_SetEnableIPV6: 추가 함수 BS2_SetServerPortIPV6: 추가 함수 BS2_GetServerPortIPV6: 추가 함수 BS2_SetSSLServerPortIPV6: 추가 함수 BS2_GetSSLServerPortIPV6: 추가 함수 BS2_GetSpecifiedDeviceInfo: 추가 함수 BS2_SearchDevicesCoreStationEx: 추가 3.설정된 서버 포트를 얻을 수 있는 함수가 추가되었습니다. 함수 BS2_GetServerPort 추가 함수 BS2_GetSSLServerPort 추가 4.장치와의 패킷 응답 대기시간 변경이 가능하도록 추가되었습니다. 함수 BS2_SetDefaultResponseTimeout 추가 함수 BS2_GetDefaultResponseTimeout 추가 5.사용자 등록 함수 BS2_EnrollUser 및 BS2_EnrollUserEx가 추가되었습니다. 기존 BS2_EnrolUser, BS2_EnrolUserEx 함수를 계속 사용하는데는 문제없으나, 가급적 오타가 정정된 새로운 함수 사용을 권장합니다. 함수 BS2_EnrollUser 추가 함수 BS2_EnrollUserEx 추가 6.사용자 구조체 BS2UserBlob과 BS2UserBlobEx의 멤버 BS2UserPhoto는 고정메모리를 갖도록 설계되어 있습니다. photo 기능을 사용하지 않는 경우에도 적지않은 크기의 메모리를 차지하며, 사용자 정보 송수신 시 불필요한 네트워크 리소스를 차지하는 문제가 있었습니다. 송수신하는 사용자 수가 많지 않은 경우 크게 문제되지 않으나, 사용자 수가 많아지면 차지하는 메모리의 크기도 비례적으로 커지게 되는 문제가 발생할 수 있습니다. 따라서 BS2UserPhoto를 포인터 처리하여, 보다 효율적으로 메모리를 사용할 수 있도록 추가하였습니다. 구조체 BS2UserSmallBlob 추가 구조체 BS2UserSmallBlobEx 추가 함수 BS2_EnrollUserSmall 추가 함수 BS2_EnrollUserSmallEx 추가 함수 BS2_GetUserSmallInfos 추가 함수 BS2_GetUserSmallDatas 추가 함수 BS2_GetUserSmallInfosEx 추가 함수 BS2_GetUserSmallDatasEx 추가 함수 BS2_VerifyUserSmall 추가 함수 BS2_IdentifyUserSmall 추가 함수 BS2_VerifyUserSmallEx 추가 함수 BS2_IdentifyUserSmallEx 추가 함수 BS2_GetUserSmallInfosFromDir 추가 함수 BS2_GetUserSmallDatasFromDir 추가 함수 BS2_GetUserSmallInfosExFromDir 추가 함수 BS2_GetUserSmallDatasExFromDir 추가 7.장치 관리자를 1000명까지 등록할 수 있도록 추가되었습니다. 기존 BS2AuthConfig를 이용하여 장치 관리자 등록 시, 10명의 관리자까지 등록된다는 한계가 있었습니다. 앞으로는 아래의 함수를 통해 최대 1000명까지 관리자 등록이 가능합니다. 이후로 BS2_SetAuthConfig를 통해 등록되는 장치 관리자는 무시되게 됩니다. 구조체 BS2AuthOperatorLevel 추가 함수 BS2_GetAuthOperatorLevelEx 추가 함수 BS2_GetAllAuthOperatorLevelEx 추가 함수 BS2_SetAuthOperatorLevelEx 추가 함수 BS2_RemoveAuthOperatorLevelEx 추가 함수 BS2_RemoveAllAuthOperatorLevelEx 추가 수정 기능 1.기존 BS2_UpgradeFirmware 호출하여 firmware file 업그레이드 시, Code sign 체크를 장치에서 수행하였으나, 이후 SDK에서 수행하도록 수정되었습니다. 따라서 부적절한 firmware file의 경우 보다 빠르게 오류를 반환할 수 있게되었습니다. 함수 BS2_UpgradeFirmware 참조 2.소켓이 연결된 후 바로 끊어지게되면, 간헐적으로 모든 통신이 동작되지 않을 수 있는 문제를 수정하였습니다. 3.다수의 장치가 동시에 SSL 연결 시도 시, 간헐적으로 통신이 연결되지 않을 수 있는 문제를 수정하였습니다. 4.장치 검색 시 간헐적으로 crash되는 문제를 수정하였습니다. 함수 BS2_SearchDevicesEx 참조 5.SDK 라이브러리의 사용종료 또는 라이브러리 내의 리소스 재할당을 위한 메모리 반납 단계에서 간헐적으로 무응답(hang)이 될 수 있는 문제를 수정하였습니다. 함수 BS2_ReleaseContext 참조 함수 BS2_SetMaxThreadCount 참조 6.iClass SEOS 카드 장치에서 card config 취득 시 BS_SDK_ERROR_NOT_SUPPORTED 오류가 발생하는 문제를 수정하였습니다. 함수 BS2_GetCardConfigEx 참조 7.서로 다른 SSL 인증서 파일을 사용하는 장치들에서 동시에 SSL 연결 시도 시, 간헐적으로 연결이 되지 않는 문제를 수정하였습니다. 8.Lift control에서 잘못된 floor level을 가져오는 문제를 수정하였습니다. 함수 BS2_GetFloorLevel 참조 9.Server 매칭 사용 시 지문 template이 384byte로 고정되어 있던 제약을 수정하였습니다. 10.Slave 장치에서 지문관련 일부 함수가 동작되지 않는 문제를 수정하였습니다. 함수 BS2_ScanFingerprint 참조 함수 BS2_VerifyFingerprint 참조 11.장치 별로 지원하는 장치설정과 지원하지 않는 장치설정이 다를 수 있는데, 특정 설정을 지원하지 않는 장치에게 설정을 요청하는 경우 timeout까지 기다리는 문제를 BS_SDK_ERROR_NOT_SUPPORTED를 반환하도록 수정하였습니다. 함수 BS2_GetConfig 참조 12.Access schedule 설정 호출 시, 호출 이후 정상적으로 호출 결과를 반환받지 못하는 문제를 수정하였습니다. 함수 BS2_SetAccessSchedule 참조 13.장치가 서버모드로 연결 시, 처리방식을 동기식에서 비동기식으로 처리되도록 수정하였습니다. 14.SDK 초기화 단계에서 열기에 실패한 소켓을 정리하도록 수정하였습니다. 15.SSL 연결 종료 시 SSL 리소스를 정리하도록 수정하였습니다. 16.Socket에서 패킷 송수신 시 성능을 개선하였습니다. (오류 발생 시 5ms 간격으로 재시도. 10회의 재시도 또는 100ms 이상 오류 지속 시 끊김 처리) 17.SDK 내부에서 이벤트 등을 처리하기 위한 thread 들의 개수를 조정하였습니다. 이전의 BS2_SetMaxThreadCount : 인자로 지정하는 thread의 수는 이벤트 처리 thread의 수만을 의미하지 않았습니다. 실제로는 timer처리용 2개, server matching용 1개, notification용 1개, TCP/UDP 처리용 각 1개씩 총 6개의 예약 thread를 포함하여 지정하였습니다. 인자로 지정되는 thread의 최소값은 8인데, 실제 8로 설정되면 예약 thread 총 6개를 빼고 실제 이벤트를 처리하기 위한 thread의 수는 2개를 내부적으로 설정하였습니다. 수정된 BS2_SetMaxThreadCount : 인자로 지정하는 thread수가 이벤트 처리용 thread 수를 의미합니다. 따라서 최소값은 2입니다. 내부적으로 사용하는 예약된 thread인 timer처리용 2개, server matching용 1개, notification용 1개, TCP/UDP 처리용 각 1개씩 총 6개는 고정된 값으로 BS2_SetMaxThreadCount 함수의 호출과 무관합니다. 함수 초기값(이전) 최소값(이전) 초기값(이후) 최소값(이후) BS2_SetMaxThreadCount MAX(NumberOfCpuCores*5, 15) 8 (실제 이벤트 처리 thread는 8-6 = 2로 동작) MAX(NumberOfCpuCores*5, 15) 2 BS2_SetMaxConnectThreadCount 8 1 8 1 18.동일한 IP의 장치인 경우 복수 연결을 허용하지 않았으나, 동일 IP라도 다른 port인 경우 연결을 허용하도록 수정되었습니다. 19.[C#예제] BS2Door의 멤버 alarmFlags를 unconditionalLock으로 수정되었습니다. 20.[C#예제] BS2SoundAction 크기 변경 및 delay 멤버가 추가되었습니다. 21.[C#예제] LogControl에서 BS2_GetLogBlob의 BS2EventMaskEnum.JOB_CODE가 BS2EventMaskEnum.ALL로 수정되었습니다. 22.[C#예제] CardControl에서 불필요한 blacklist 코드를 제거하였습니다. 23.[C#예제] ConfigControl에서 BS2_SetDstConfig의 잘못된 코드 startTime.weekDay를 endTime.weekDay로 수정하였습니다. 24.[C#예제] SlaveControl에서 slave device에 대한 예제코드가 추가되었습니다.