차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
|
ko:bs2_getuserdatas [2021/11/11 10:39] mark [함수] |
ko:bs2_getuserdatas [2021/12/30 14:10] (현재) mark [샘플코드] |
||
|---|---|---|---|
| 줄 18: | 줄 18: | ||
| [[user management api#BS2UserBlob|BS2UserBlob 구조체 보기]] | [[user management api#BS2UserBlob|BS2UserBlob 구조체 보기]] | ||
| </callout> | </callout> | ||
| - | <callout type="info"> | + | |
| - | [[user management api#BS2UserBlob|BS2UserBlob 코드 샘플 보기]] | + | |
| - | </callout> | + | |
| ==== 파라미터 ==== | ==== 파라미터 ==== | ||
| * [In] ''//context//'' : Context | * [In] ''//context//'' : Context | ||
| 줄 50: | 줄 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]]\\ | ||