차이

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

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
ko:bs2_getfilteredlog [2021/12/30 11:03]
mark [샘플코드]
ko:bs2_getfilteredlog [2024/02/27 14:08] (현재)
줄 5: 줄 5:
  
 ===== BS2_GetFilteredLog ===== ===== BS2_GetFilteredLog =====
-주어진 조건을 만족하는 모든 로그 레코드를 가져옵니다.+''​[지원중단]'' ​주어진 조건을 만족하는 모든 로그 레코드를 가져옵니다. 
 +<callout type="​warning"​ icon="​true">​ 
 +**중요** \\ 
 +장치 로그 필터링 함수 [[BS2_GetFilteredLog]]는 서버가 정해준 조건을 기준으로 장치의 로그가 조건에 부합하는지 검토합니다. \\ 
 +이는 장치가 로그 필터링을 하는데 많은 시간이 소요될 수 있음을 의미하며,​ 장치가 가지고 있는 로그가 늘어날수록 시간이 더 많이 소요됨을 의미합니다. \\ \\ 
 + 
 +또한, 로그는 장치에 영구적으로 보관되지 않습니다. \\ 
 +장치가 보유할 수 있는 최대 로그 수를 초과할 경우, 장치는 가장 오래된 로그부터 덮어쓰게 되므로 일정 기간이 지난 로그는 자동으로 삭제될 수 있습니다. \\ 
 +장치의 모든 로그는 서버에 보관하고 관리하는 것을 권장합니다. \\ \\ 
 + 
 +장치로부터 로그를 일괄 수신하는 [[BS2_GetLog]] 함수와 이후로 발생하는 로그만 실시간으로 수신할 수 있는[[BS2_StartMonitoringLog]] 함수를 \\ 
 +적절히 조합하여 장치의 모든 로그를 서버가 적당한 DBMS에 보관하고,​ DBMS로부터 로그를 필터링하는 것을 권장합니다. \\ 
 +</​callout>​
 ==== 함수 ==== ==== 함수 ====
 <code cpp> <code cpp>
줄 37: 줄 49:
 C# C#
 <code cpp> <code cpp>
 +Type structureType = typeof(BS2Event);​
 +int structSize = Marshal.SizeOf(structureType);​
 +IntPtr uid = IntPtr.Zero;​
 +UInt16 eventCode = 0;
 +UInt32 start = 0;
 +UInt32 end = 0;
 +byte tnaKey = 0;
 +IntPtr outEventLogObjs = IntPtr.Zero;​
 +UInt32 outNumEventLogs = 0;
 +
 BS2ErrorCode result = (BS2ErrorCode)API.BS2_GetFilteredLog(sdkContext,​ deviceID, uid, eventCode, start, end, tnaKey, out outEventLogObjs,​ out outNumEventLogs);​ BS2ErrorCode result = (BS2ErrorCode)API.BS2_GetFilteredLog(sdkContext,​ deviceID, uid, eventCode, start, end, tnaKey, out outEventLogObjs,​ out outNumEventLogs);​
 if (result != BS2ErrorCode.BS_SDK_SUCCESS) if (result != BS2ErrorCode.BS_SDK_SUCCESS)