~~NOTOC~~
[[user_management_api]] > [[BS2_EnrollUserSmallEx]]
----
===== BS2_EnrollUserSmallEx =====
[+ 2.6.3] 새로운 사용자를 등록합니다. \\
[[user management api#BS2UserBlobEx]]을 이용하는 [[BS2_EnrollUserEx]]와의 차이는 \\
메모리 효율을 위해 3번째 인자 BS2UserSmallBlobEx 멤버 BS2UserPhoto가 포인터 처리된 것을 제외하고 모두 동일합니다. \\
**도움말**\\
FaceStation F2로 사용자 전송을 위해서는 [[BS2_EnrollUserFaceEx]]를 사용해 주십시오.
==== 함수 ====
#include "BS_API.h"
int BS2_EnrollUserSmallEx(void* context, uint32_t deviceId, BS2UserSmallBlobEx* userBlob, uint32_t userCount, uint8_t overwrite);
[[user management api#BS2UserSmallBlobEx|BS2UserSmallBlobEx 구조체 보기]]
==== 파라미터 ====
* [In] ''//context//'' : Context
* [In] ''//deviceId//'' : 장치 식별자
* [In] ''//userBlob//'' : 등록하고자 하는 사용자 정보
* [In] ''//userCount//'' : 사용자 개수
* [In] ''//overwrite//'' : 중복된 사용자 덮어쓰기 여부
==== 반환값 ====
성공적으로 수행될 경우 ''BS_SDK_SUCCESS''를 반환하고, 에러가 발생할 경우 상응하는 에러 코드를 반환합니다.
\\
==== 샘플코드 ====
C#
if (dbHandler.GetUserBlobEx(ref deviceInfo, ref user, ref userBlob[0]))
{
Console.WriteLine("Trying to enroll user.");
BS2ErrorCode result = (BS2ErrorCode)API.BS2_EnrollUserSmallEx(sdkContext, deviceID, userBlob, 1, 1);
if (result != BS2ErrorCode.BS_SDK_SUCCESS)
{
Console.WriteLine("Got error({0}).", result);
}
if (userBlob[0].cardObjs != IntPtr.Zero)
{
Marshal.FreeHGlobal(userBlob[0].cardObjs);
}
if (userBlob[0].fingerObjs != IntPtr.Zero)
{
Marshal.FreeHGlobal(userBlob[0].fingerObjs);
}
if (userBlob[0].faceObjs != IntPtr.Zero)
{
Marshal.FreeHGlobal(userBlob[0].faceObjs);
}
if (userBlob[0].user_photo_obj != IntPtr.Zero)
{
Marshal.FreeHGlobal(userBlob[0].user_photo_obj);
}
}
==== 함께 보기 ====
[[BS2_EnrollUserSmall]]\\
[[BS2_EnrollUserSmallEx]]\\
[[BS2_GetUserSmallInfos]]\\
[[BS2_GetUserSmallInfosEx]]\\
[[BS2_GetUserSmallDatas]]\\
[[BS2_GetUserSmallDatasEx]]