차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

다음 판
이전 판
ko:bs2_getuserdatas [2018/10/31 10:26]
kkshin 만듦
ko:bs2_getuserdatas [2021/12/30 14:10] (현재)
mark [샘플코드]
줄 18: 줄 18:
 [[user management api#​BS2UserBlob|BS2UserBlob 구조체 보기]] [[user management api#​BS2UserBlob|BS2UserBlob 구조체 보기]]
 </​callout>​ </​callout>​
 +
 +
 ==== 파라미터 ==== ==== 파라미터 ====
   * [In] ''//​context//''​ : Context   * [In] ''//​context//''​ : Context
줄 37: 줄 39:
 |0x0080 ​ |얼굴 ​ | |0x0080 ​ |얼굴 ​ |
 |0x0100 ​ |출입그룹 ​ | |0x0100 ​ |출입그룹 ​ |
 +|0x0200 ​ |작업코드 ​ |
 +|0x0400 ​ |개인메시지 ​ |
 +|0x0800 ​ |얼굴 ''​(FaceStation F2)'' ​ |
 +|0x1000 ​ |사용자설정 ''​(FaceStation F2)'' ​ |
 |0xFFFF ​ |사용자 정보 전체 ​ | |0xFFFF ​ |사용자 정보 전체 ​ |
 </​WRAP>​ </​WRAP>​
줄 43: 줄 49:
 성공적으로 수행될 경우 ''​BS_SDK_SUCCESS''​를 반환하고,​ 에러가 발생할 경우 상응하는 에러 코드를 반환합니다. 성공적으로 수행될 경우 ''​BS_SDK_SUCCESS''​를 반환하고,​ 에러가 발생할 경우 상응하는 에러 코드를 반환합니다.
 \\  \\ 
 +
 +==== 샘플코드 ====
 +C++
 +<code cpp>
 +
 +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;
 +}
 +
 +</​code>​
 +
 +C#
 +<code cpp>
 + 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);​
 +                }
 +</​code>​
 +
 ==== 함께 보기 ==== ==== 함께 보기 ====
 [[BS2_GetUserList]]\\ [[BS2_GetUserList]]\\
-[[BS2_EnrolUser]]\\ 
 [[BS2_RemoveUser]]\\ [[BS2_RemoveUser]]\\
-[[BS2_RemoveAllUser]]+[[BS2_RemoveAllUser]]\\ 
 +[[BS2_GetUserInfos]]\\ 
 +[[BS2_GetUserInfosEx]]\\ 
 +[[BS2_EnrolUser]]\\ 
 +[[BS2_EnrolUserEx]]\\ 
 +[[BS2_GetUserDatas]]\\ 
 +[[BS2_GetUserDatasEx]]