차이

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

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
ko:bs2_getuserdatasfaceex [2020/10/22 09:52]
kkshin [BS2_GetUserDatasFaceEx]
ko:bs2_getuserdatasfaceex [2021/12/30 10:57] (현재)
mark [샘플코드]
줄 47: 줄 47:
 성공적으로 수행될 경우 ''​BS_SDK_SUCCESS''​를 반환하고,​ 에러가 발생할 경우 상응하는 에러 코드를 반환합니다. 성공적으로 수행될 경우 ''​BS_SDK_SUCCESS''​를 반환하고,​ 에러가 발생할 경우 상응하는 에러 코드를 반환합니다.
 \\  \\ 
 +==== 샘플코드 ====
 +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#
 +<code cpp>
 +BS2UserFaceExBlob[] userBlobs = new BS2UserFaceExBlob[numUser];​
 +BS2ErrorCode result = (BS2ErrorCode)API.BS2_GetUserDatasFaceEx(sdkContext,​ deviceID, uid, numUser, userBlobs, userMask);
 +
 +if (result == BS2ErrorCode.BS_SDK_SUCCESS)
 +{
 +    for (UInt32 index = 0; index < numUser; index++)
 +    {
 +        print(userBlobs[index]);​
 +
 +        if (userBlobs[index].cardObjs != IntPtr.Zero)
 +            API.BS2_ReleaseObject(userBlobs[index].cardObjs);​
 +        if (userBlobs[index].fingerObjs != IntPtr.Zero)
 +            API.BS2_ReleaseObject(userBlobs[index].fingerObjs);​
 +        if (userBlobs[index].faceObjs != IntPtr.Zero)
 +            API.BS2_ReleaseObject(userBlobs[index].faceObjs);​
 +        if (userBlobs[index].faceExObjs != IntPtr.Zero)
 +            API.BS2_ReleaseObject(userBlobs[index].faceExObjs);​
 +    }
 +}
 +</​code>​
 +
 +
 +
 ==== 함께 보기 ==== ==== 함께 보기 ====
 [[BS2_EnrollUserFaceEx]]\\ [[BS2_EnrollUserFaceEx]]\\