Exemple #1
0
        // 获取文件信息
        public void FindDvrFiles(int findHandle)
        {
            HCNetSDK.NET_DVR_FINDDATA_V30 fileData = new HCNetSDK.NET_DVR_FINDDATA_V30();

            fileData.struStartTime = new HCNetSDK.NET_DVR_TIME();
            fileData.struStopTime  = new HCNetSDK.NET_DVR_TIME();
            fileData.byLocked      = 0xFF;
            fileData.byRes         = new byte[3];
            fileData.sFileName     = ""; //Encoding.ASCII.GetString(new byte[100]);
            fileData.dwFileSize    = 0;
            fileData.sCardNum      = ""; //Encoding.ASCII.GetString(new byte[32]);
            //fileData.
            int ret = -1;

            while (true)
            {
                ret = HCNetSDK.NET_DVR_FindNextFile_V30(findHandle, ref fileData);
                switch (ret)
                {
                case HCNetSDK.NET_DVR_FILE_SUCCESS:
                    FindData data = new FindData();
                    data.StartTime = DvrTimeToDataTime(fileData.struStartTime);
                    data.StopTime  = DvrTimeToDataTime(fileData.struStopTime);
                    data.FileName  = fileData.sFileName;
                    data.FileSize  = fileData.dwFileSize;
                    data.Locked    = Convert.ToBoolean(fileData.byLocked);
                    _find_files.Add(data);
                    continue;

                case HCNetSDK.NET_DVR_ISFINDING:
                    Thread.Sleep(1000);
                    continue;

                case HCNetSDK.NET_DVR_FILE_NOFIND:
                case HCNetSDK.NET_DVR_NOMOREFILE:
                    break;

                case HCNetSDK.NET_DVR_FILE_EXCEPTION:
                    break;

                default:
                    break;
                }
                break;
            }
            FindClose();
        }