User Management API > BS2_GetUserDatas
[+ 2.5.0] 사용자 식별자에 해당하는 사용자 정보를 가져옵니다.
이때 userMask를 통하여 사용자 정보의 일부를 선별적으로 가져올 수 있습니다.
#include "BS_API.h" int BS2_GetUserDatas(void* context, uint32_t deviceId, char* uids, uint32_t uidCount, BS2UserBlob* userBlob, BS2_USER_MASK userMask);
context
: ContextdeviceId
: 장치 식별자uids
: 가져오고자 하는 사용자 식별자 리스트uidCount
: 사용자 식별자 개수userBlob
: 사용자 정보를 저장할 포인터userMask
: 사용자 Mask값 | 설명 |
---|---|
0x0000 | 사용자 식별자 |
0x0001 | 사용자 data |
0x0002 | 사용자 설정 |
0x0004 | 사용자명 |
0x0008 | 이미지 |
0x0010 | PIN |
0x0020 | 카드 |
0x0040 | 지문 |
0x0080 | 얼굴 |
0x0100 | 출입그룹 |
0x0200 | 작업코드 |
0x0400 | 개인메시지 |
0x0800 | 얼굴 (FaceStation F2) |
0x1000 | 사용자설정 (FaceStation F2) |
0xFFFF | 사용자 정보 전체 |
성공적으로 수행될 경우 BS_SDK_SUCCESS
를 반환하고, 에러가 발생할 경우 상응하는 에러 코드를 반환합니다.
C++
sdkResult = BS2_GetUserDatas(context_, id, const_cast<char*>(uid.c_str()), numUser, &userBlob, userMask); if (BS_SDK_SUCCESS != sdkResult) { TRACE("BS2_GetUserDatas call failed: %d", sdkResult); return sdkResult; }
C#
if (numUserIds > 0) { IntPtr curUidObjs = outUidObjs; BS2UserBlob[] userBlobs = new BS2UserBlob[USER_PAGE_SIZE]; Console.WriteLine("Number of users : ({0}).", numUserIds); for (UInt32 idx = 0; idx < numUserIds; ) { UInt32 available = numUserIds - idx; if(available > USER_PAGE_SIZE) { available = USER_PAGE_SIZE; } result = (BS2ErrorCode)API.BS2_GetUserDatas(sdkContext, deviceID, curUidObjs, available, userBlobs, (UInt32)BS2UserMaskEnum.ALL); if (result == BS2ErrorCode.BS_SDK_SUCCESS) { for (UInt32 loop = 0; loop < available; ++loop) { print(sdkContext, userBlobs[loop].user); // don't need to release cardObj, FingerObj, FaceObj because we get only BS2User if (userBlobs[loop].cardObjs != IntPtr.Zero) API.BS2_ReleaseObject(userBlobs[loop].cardObjs); if (userBlobs[loop].fingerObjs != IntPtr.Zero) API.BS2_ReleaseObject(userBlobs[loop].fingerObjs); if (userBlobs[loop].faceObjs != IntPtr.Zero) API.BS2_ReleaseObject(userBlobs[loop].faceObjs); } idx += available; curUidObjs += (int)available*BS2Environment.BS2_USER_ID_SIZE; } else { Console.WriteLine("Got error({0}).", result); break; } } API.BS2_ReleaseObject(outUidObjs); }