차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
다음 판 | 이전 판 | ||
ko:bs2_getusersmalldatas [2019/05/14 14:35] kkshin 만듦 |
ko:bs2_getusersmalldatas [2021/12/30 10:52] (현재) mark [샘플코드] |
||
---|---|---|---|
줄 6: | 줄 6: | ||
===== BS2_GetUserSmallDatas ===== | ===== BS2_GetUserSmallDatas ===== | ||
[+ 2.6.3] 사용자 식별자에 해당하는 사용자 정보를 가져옵니다. \\ | [+ 2.6.3] 사용자 식별자에 해당하는 사용자 정보를 가져옵니다. \\ | ||
- | 이때 userMask를 통하여 사용자 정보의 일부를 선별적으로 가져올 수 있습니다. | + | 이때 userMask를 통하여 사용자 정보의 일부를 선별적으로 가져올 수 있습니다.\\ |
[[user management api#BS2UserBlob]]을 이용하는 [[BS2_GetUserDatas]]와의 차이는 \\ | [[user management api#BS2UserBlob]]을 이용하는 [[BS2_GetUserDatas]]와의 차이는 \\ | ||
메모리 효율을 위해 3번째 인자 BS2UserSmallBlob 멤버 BS2UserPhoto가 포인터 처리된 것을 제외하고 모두 동일합니다. | 메모리 효율을 위해 3번째 인자 BS2UserSmallBlob 멤버 BS2UserPhoto가 포인터 처리된 것을 제외하고 모두 동일합니다. | ||
줄 39: | 줄 39: | ||
|0x0080 |얼굴 | | |0x0080 |얼굴 | | ||
|0x0100 |출입그룹 | | |0x0100 |출입그룹 | | ||
- | |0x0200 |Jobcode | | + | |0x0200 |작업코드 | |
- | |0x0400 |Phrase | | + | |0x0400 |개인메시지 | |
+ | |0x0800 |얼굴 ''(FaceStation F2)'' | | ||
+ | |0x1000 |사용자설정 ''(FaceStation F2)'' | | ||
|0xFFFF |사용자 정보 전체 | | |0xFFFF |사용자 정보 전체 | | ||
</WRAP> | </WRAP> | ||
줄 46: | 줄 48: | ||
==== 반환값 ==== | ==== 반환값 ==== | ||
성공적으로 수행될 경우 ''BS_SDK_SUCCESS''를 반환하고, 에러가 발생할 경우 상응하는 에러 코드를 반환합니다. | 성공적으로 수행될 경우 ''BS_SDK_SUCCESS''를 반환하고, 에러가 발생할 경우 상응하는 에러 코드를 반환합니다. | ||
- | \\ | + | \\ |
+ | |||
+ | ==== 샘플코드 ==== | ||
+ | C# | ||
+ | <code cpp> | ||
+ | if (numUserIds > 0) | ||
+ | { | ||
+ | IntPtr curUidObjs = outUidObjs; | ||
+ | BS2UserSmallBlob[] userBlobs = new BS2UserSmallBlob[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_GetUserSmallDatas(sdkContext, deviceID, curUidObjs, available, userBlobs, | ||
+ | (UInt32)BS2UserMaskEnum.ALL); | ||
+ | if (result == BS2ErrorCode.BS_SDK_SUCCESS) | ||
+ | { | ||
+ | for (UInt32 loop = 0; loop < available; ++loop) | ||
+ | { | ||
+ | print(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); | ||
+ | if (userBlobs[loop].user_photo_obj != IntPtr.Zero) | ||
+ | API.BS2_ReleaseObject(userBlobs[loop].user_photo_obj); | ||
+ | } | ||
+ | |||
+ | idx += available; | ||
+ | curUidObjs += (int)available * BS2Environment.BS2_USER_ID_SIZE; | ||
+ | } | ||
+ | else | ||
+ | { | ||
+ | Console.WriteLine("Got error({0}).", result); | ||
+ | break; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | API.BS2_ReleaseObject(outUidObjs); | ||
+ | } | ||
+ | </code> | ||
+ | |||
==== 함께 보기 ==== | ==== 함께 보기 ==== | ||
[[BS2_EnrollUserSmall]]\\ | [[BS2_EnrollUserSmall]]\\ |