차이

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

차이 보기로 링크

양쪽 이전 판 이전 판
ko:bs2_getusersmallinfosex [2021/12/29 16:37]
mark [샘플코드]
ko:bs2_getusersmallinfosex [2021/12/30 10:49] (현재)
mark [샘플코드]
줄 31: 줄 31:
 C# C#
 <code cpp> <code cpp>
-result = (BS2ErrorCode)API.BS2_GetUserSmallInfosEx(sdkContext,​ deviceID, curUidObjs, available, userBlobs); 
 if (result == BS2ErrorCode.BS_SDK_SUCCESS) if (result == BS2ErrorCode.BS_SDK_SUCCESS)
 { {
-for (UInt32 loop = 0; loop < available; ++loop) +    if (numUserIds > 0) 
-+    { 
-    print(userBlobs[loop].user);​ +        IntPtr curUidObjs = outUidObjs;​ 
-// don't need to release cardObj, FingerObj, FaceObj because we get only BS2User +        BS2UserSmallBlobEx[] userBlobs = new BS2UserSmallBlobEx[USER_PAGE_SIZE];​ 
-    if (userBlobs[loop].cardObjs != IntPtr.Zero) + 
-    API.BS2_ReleaseObject(userBlobs[loop].cardObjs);​ +        Console.WriteLine("​Number of users : ({0}).",​ numUserIds);​ 
-    if (userBlobs[loop].fingerObjs != IntPtr.Zero) +        for (UInt32 idx = 0; idx < numUserIds; ) 
-    API.BS2_ReleaseObject(userBlobs[loop].fingerObjs);​ +        { 
-    if (userBlobs[loop].faceObjs != IntPtr.Zero) +            UInt32 available = numUserIds - idx; 
-    API.BS2_ReleaseObject(userBlobs[loop].faceObjs);​ +            if (available > USER_PAGE_SIZE) 
-    if (userBlobs[loop].user_photo_obj != IntPtr.Zero) +            { 
-    API.BS2_ReleaseObject(userBlobs[loop].user_photo_obj);​ +                available = USER_PAGE_SIZE;​ 
-}+            } 
 + 
 +            result = (BS2ErrorCode)API.BS2_GetUserSmallInfosEx(sdkContext,​ deviceID, curUidObjs, available, userBlobs);​ 
 +            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; 
 +            } 
 +        ​}
  
-idx += available;​ +        API.BS2_ReleaseObject(outUidObjs); 
-curUidObjs += (int)available * BS2Environment.BS2_USER_ID_SIZE;+    }
 } }
 </​code>​ </​code>​