~~NOTOC~~ [[sdk_api]] > [[BS2_InitializeEx]] ---- ===== BS2_InitializeEx ===== Context를 초기화 하고 두 번째 인자로 지정한 IP 주소로 소켓을 초기화합니다. **참고**\\ 장치 제어 API를 호출하기전에 반드시 먼저 호출되어야 합니다. ==== 함수 ==== #include "BS_API.h" int BS2_InitializeEx(void* context, const char* hostIPAddr); ==== 파라미터 ==== * [In] ''//context//'' : Context * [In] ''//hostIPAddr//'' : host IP Address ==== 반환값 ==== 성공적으로 수행될 경우 ''BS_SDK_SUCCESS''를 반환하고, 에러가 발생할 경우 상응하는 에러 코드를 반환합니다. ==== 샘플코드(C++) ==== void initializeSDK() { void* context_ = BS2_AllocateContext(); string hostAddr = Utility::getInput("Please enter the host network address."); sdkResult = BS2_InitializeEx(context_, hostAddr.c_str()); if (BS_SDK_SUCCESS != sdkResult) { TRACE("BS2_InitializeEx call failed: %d", sdkResult); BS2_ReleaseContext(context_); context_ = NULL; } } ==== 샘플코드(C#) ==== public void initializeSDK() { sdkContext = API.BS2_AllocateContext(); if (sdkContext == IntPtr.Zero) { Console.WriteLine("Can't allocate sdk context."); return; } string deviceIpAddress = Console.ReadLine(); IntPtr ptrIPAddr = Marshal.StringToHGlobalAnsi(deviceIpAddress); BS2ErrorCode result = (BS2ErrorCode)API.BS2_InitializeEx(sdkContext, ptrIPAddr); if (result != BS2ErrorCode.BS_SDK_SUCCESS) { Console.WriteLine("SDK initialization failed with : {0}, {1}", result, deviceIpAddress); API.BS2_ReleaseContext(sdkContext); sdkContext = IntPtr.Zero; return; } }