eEsifError EsifActStart (EsifActPtr actionPtr) { eEsifError rc = ESIF_OK; GetIfaceFuncPtr iface_func_ptr = NULL; EsifString iface_func_name = "GetActionInterface"; char libPath[ESIF_LIBPATH_LEN]; esif_lib_t lib_handle = 0; ESIF_TRACE_DEBUG("%s name=%s\n", ESIF_FUNC, actionPtr->fLibNamePtr); esif_ccb_sprintf(ESIF_LIBPATH_LEN, libPath, "%s.%s", esif_build_path(libPath, ESIF_LIBPATH_LEN, ESIF_DIR_PRG, actionPtr->fLibNamePtr), ESIF_LIB_EXT); lib_handle = esif_ccb_library_load(libPath); if (0 == lib_handle) { rc = ESIF_E_UNSPECIFIED; ESIF_TRACE_DEBUG("%s esif_ccb_library_load() %s failed.\n", ESIF_FUNC, libPath); goto exit; } ESIF_TRACE_DEBUG("%s esif_ccb_library_load() %s completed.\n", ESIF_FUNC, libPath); iface_func_ptr = (GetIfaceFuncPtr) esif_ccb_library_get_func(lib_handle, (EsifString)iface_func_name); if (NULL == iface_func_ptr) { rc = ESIF_E_UNSPECIFIED; ESIF_TRACE_DEBUG("%s esif_ccb_library_get_func() %s failed.\n", ESIF_FUNC, iface_func_name); goto exit; } ESIF_TRACE_DEBUG("%s esif_ccb_library_get_func() %s completed.\n", ESIF_FUNC, iface_func_name); rc = ActionCreate(actionPtr, iface_func_ptr); ESIF_TRACE_DEBUG("%s ActionCreate completed.\n", ESIF_FUNC); exit: return rc; }
eEsifError EsifActStart(EsifActPtr actionPtr) { eEsifError rc = ESIF_OK; GetIfaceFuncPtr iface_func_ptr = NULL; EsifString iface_func_name = "GetActionInterface"; char libPath[ESIF_LIBPATH_LEN]; ESIF_TRACE_DEBUG("%s name=%s\n", ESIF_FUNC, actionPtr->fLibNamePtr); esif_build_path(libPath, sizeof(libPath), ESIF_PATHTYPE_DLL, actionPtr->fLibNamePtr, ESIF_LIB_EXT); actionPtr->fLibHandle = esif_ccb_library_load(libPath); if (NULL == actionPtr->fLibHandle) { rc = ESIF_E_UNSPECIFIED; ESIF_TRACE_ERROR("%s esif_ccb_library_load() %s failed.\n", ESIF_FUNC, libPath); goto exit; } ESIF_TRACE_DEBUG("%s esif_ccb_library_load() %s completed.\n", ESIF_FUNC, libPath); iface_func_ptr = (GetIfaceFuncPtr) esif_ccb_library_get_func(actionPtr->fLibHandle, (EsifString)iface_func_name); if (NULL == iface_func_ptr) { rc = ESIF_E_UNSPECIFIED; ESIF_TRACE_ERROR("%s esif_ccb_library_get_func() %s failed.\n", ESIF_FUNC, iface_func_name); goto exit; } ESIF_TRACE_DEBUG("%s esif_ccb_library_get_func() %s completed.\n", ESIF_FUNC, iface_func_name); rc = ActionCreate(actionPtr, iface_func_ptr); ESIF_TRACE_DEBUG("%s ActionCreate completed.\n", ESIF_FUNC); exit: return rc; }