이전 판 책에 추가 PDF로 내보내기 문서의 이전 판입니다! User Management API > BS2_EnrollUserSmallEx BS2_EnrollUserSmallEx [+ 2.6.3] 새로운 사용자를 등록합니다. BS2UserBlobEx을 이용하는 BS2_EnrollUserEx와의 차이는 메모리 효율을 위해 3번째 인자 BS2UserSmallBlobEx 멤버 BS2UserPhoto가 포인터 처리된 것을 제외하고 모두 동일합니다. 도움말 FaceStation F2로 사용자 전송을 위해서는 BS2_EnrollUserFaceEx를 사용해 주십시오. 함수 #include "BS_API.h" int BS2_EnrollUserSmallEx(void* context, uint32_t deviceId, BS2UserSmallBlobEx* userBlob, uint32_t userCount, uint8_t overwrite); BS2UserSmallBlobEx 구조체 보기 파라미터 [In] context : Context [In] deviceId : 장치 식별자 [In] userBlob : 등록하고자 하는 사용자 정보 [In] userCount : 사용자 개수 [In] overwrite : 중복된 사용자 덮어쓰기 여부 반환값 성공적으로 수행될 경우 BS_SDK_SUCCESS를 반환하고, 에러가 발생할 경우 상응하는 에러 코드를 반환합니다. 샘플코드 C# List<BS2User> userList = new List<BS2User>(); if (dbHandler.GetUserList(ref deviceInfo, ref userList)) { if (userList.Count > 0) { Console.WriteLine("+----------------------------------------------------------------------------------------------------------+"); for (int idx = 0; idx < userList.Count; ++idx) { Console.Write("[{0:000}] ==> ", idx); print(userList[idx]); } Console.WriteLine("+----------------------------------------------------------------------------------------------------------+"); Console.WriteLine("Please, choose the index of the user which you want to enroll."); Console.Write(">>>> "); Int32 selection = Util.GetInput(); if (selection >= 0) { if (selection < userList.Count) { BS2User user = userList[selection]; BS2UserSmallBlobEx[] userBlob = Util.AllocateStructureArray<BS2UserSmallBlobEx>(1); if (dbHandler.GetUserBlobEx(ref deviceInfo, ref user, ref userBlob[0])) { Console.WriteLine("Trying to enroll user."); //BS2ErrorCode result = (BS2ErrorCode)API.BS2_EnrolUserEx(sdkContext, deviceID, userBlob, 1, 1); BS2ErrorCode result = (BS2ErrorCode)API.BS2_EnrollUserSmallEx(sdkContext, deviceID, userBlob, 1, 1); if (result != BS2ErrorCode.BS_SDK_SUCCESS) { Console.WriteLine("Got error({0}).", result); } if (userBlob[0].cardObjs != IntPtr.Zero) { Marshal.FreeHGlobal(userBlob[0].cardObjs); } if (userBlob[0].fingerObjs != IntPtr.Zero) { Marshal.FreeHGlobal(userBlob[0].fingerObjs); } if (userBlob[0].faceObjs != IntPtr.Zero) { Marshal.FreeHGlobal(userBlob[0].faceObjs); } if (userBlob[0].user_photo_obj != IntPtr.Zero) { Marshal.FreeHGlobal(userBlob[0].user_photo_obj); } } } else { Console.WriteLine("Invalid selection[{0}]", selection); } } else { Console.WriteLine("Invalid user index"); } } else { Console.WriteLine("There is no user."); } } else { Console.WriteLine("An error occurred while attempting to retrieve user list."); } 함께 보기 BS2_EnrollUserSmall BS2_EnrollUserSmallEx BS2_GetUserSmallInfos BS2_GetUserSmallInfosEx BS2_GetUserSmallDatas BS2_GetUserSmallDatasEx