public uint StartSearch(SearchParaV3_1 param) { m_searchParam = param; param.CameraID = SearchItem.CameraID; m_searchHandle = 0; if (SearchItem.IsHistoryTask) { if (param.StartTime != DataModel.Common.ZEROTIME) { if (param.StartTime < SearchItem.AdjustTime) { param.StartTime = Common.ZEROTIME; } else { param.StartTime = Common.ZEROTIME.AddSeconds(param.StartTime.Subtract(SearchItem.AdjustTime).TotalSeconds); } } if (param.EndTime != DataModel.Common.MAXTIME) { if (param.EndTime < SearchItem.AdjustTime) { param.EndTime = Common.ZEROTIME; } else { param.EndTime = Common.ZEROTIME.AddSeconds(param.EndTime.Subtract(SearchItem.AdjustTime).TotalSeconds); } } param.ResultNumRange = int.MaxValue; } var comparesort = (E_SEARCH_FEATURE_TYPE.E_SEARCH_FEATURE_TYPE_GLOBAL | E_SEARCH_FEATURE_TYPE.E_SEARCH_FEATURE_TYPE_PARTICAL | E_SEARCH_FEATURE_TYPE.E_SEARCH_FEATURE_TYPE_PASSLINE); param.SortType = (((E_SEARCH_FEATURE_TYPE)param[SDKConstant.FeatureType] & comparesort) > 0) ? SortType.SimilarityDes : SortType.TimeAsc; if (((E_SEARCH_FEATURE_TYPE)param[SDKConstant.FeatureType] & E_SEARCH_FEATURE_TYPE.E_SEARCH_FEATURE_TYPE_GLOBAL) > 0 && ((E_SEARCH_FEATURE_TYPE)param[SDKConstant.FeatureType] & E_SEARCH_FEATURE_TYPE.E_SEARCH_FEATURE_TYPE_PARTICAL) > 0) { param[SDKConstant.FeatureType] = (E_SEARCH_FEATURE_TYPE)param[SDKConstant.FeatureType] ^ E_SEARCH_FEATURE_TYPE.E_SEARCH_FEATURE_TYPE_GLOBAL; } if (m_isInited) { m_searchHandle = SearchService.ADD_TASK(param, SearchItem); } return(m_searchHandle); }