차이

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

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
ko:bs2_getuserdatasfaceex [2021/12/29 16:40]
mark [반환값]
ko:bs2_getuserdatasfaceex [2021/12/30 10:57] (현재)
mark [샘플코드]
줄 48: 줄 48:
 \\  \\ 
 ==== 샘플코드 ==== ==== 샘플코드 ====
 +C++
 +<code cpp>
 +
 +const int MAX_USER_PAGE_COUNT = 2048;
 +vector<​BS2UserFaceExBlob>​ userBlob(MAX_USER_PAGE_COUNT);​
 +BS2_USER_MASK userMask = BS2_USER_MASK_ALL;​
 +
 +for (uint32_t idx = 0; idx < numUID; idx += MAX_USER_PAGE_COUNT)
 +{
 + uint32_t availUserCount = min<​uint32_t>​(MAX_USER_PAGE_COUNT,​ numUID - idx);
 +
 + int sdkResult = BS2_GetUserDatasFaceEx(context_,​ id, uidObj + BS2_USER_ID_SIZE * idx, availUserCount,​ &​userBlob[0],​ userMask);
 + if (BS_SDK_SUCCESS != sdkResult)
 + {
 + TRACE("​BS2_GetUserDatas call failed: %d", sdkResult);
 + if (uidObj)
 + BS2_ReleaseObject(uidObj);​
 + return sdkResult;
 + }
 +
 + for (uint32_t pageIdx = 0; pageIdx < availUserCount;​ pageIdx++)
 + {
 + print(userBlob[pageIdx]);​
 +
 + if (0 < userBlob[pageIdx].user.numCards && userBlob[pageIdx].cardObjs)
 + BS2_ReleaseObject(userBlob[pageIdx].cardObjs);​
 + if (0 < userBlob[pageIdx].user.numFingers && userBlob[pageIdx].fingerObjs)
 + BS2_ReleaseObject(userBlob[pageIdx].fingerObjs);​
 + if (0 < userBlob[pageIdx].user.numFaces && userBlob[pageIdx].faceExObjs)
 + BS2_ReleaseObject(userBlob[pageIdx].faceExObjs);​
 + }
 +}
 +
 +</​code>​
 +
 +
 C# C#
 <code cpp> <code cpp>
-Console.WriteLine("​Trying to get user list."​);​ 
 BS2UserFaceExBlob[] userBlobs = new BS2UserFaceExBlob[numUser];​ BS2UserFaceExBlob[] userBlobs = new BS2UserFaceExBlob[numUser];​
 BS2ErrorCode result = (BS2ErrorCode)API.BS2_GetUserDatasFaceEx(sdkContext,​ deviceID, uid, numUser, userBlobs, userMask); BS2ErrorCode result = (BS2ErrorCode)API.BS2_GetUserDatasFaceEx(sdkContext,​ deviceID, uid, numUser, userBlobs, userMask);
- 
  
 if (result == BS2ErrorCode.BS_SDK_SUCCESS) if (result == BS2ErrorCode.BS_SDK_SUCCESS)