본문으로 건너뛰기

BS2_GetUserDatas

+ v2.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);

파라미터​

  • [In] context : Context

  • [In] deviceId : 장치 식별자

  • [In] uids : 가져오고자 하는 사용자 식별자 리스트

  • [In] uidCount : 사용자 식별자 개수

  • [Out] userBlob : 사용자 정보를 저장할 포인터

  • [In] userMask : 사용자 Mask

값설명
0x0000사용자 식별자
0x0001사용자 data
0x0002사용자 설정
0x0004사용자명
0x0008이미지
0x0010PIN
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);
}

함께 보기​

BS2_GetUserList

BS2_RemoveUser

BS2_RemoveAllUser

BS2_GetUserInfos

BS2_GetUserInfosEx

BS2_EnrolUser

BS2_EnrolUserEx

BS2_GetUserDatasEx

이 페이지가 도움이 되었나요?