Beispiel #1
0
        /// <summary>
        /// 签名搜索;
        /// </summary>
        /// <param name="blDevice"></param>
        /// <param name="setting"></param>
        public static void SignSearch(IStreamFile streamFile)
        {
            var setting = CustomSignSearchService.GetSetting();

            if (setting == null)
            {
                return;
            }

            var loadingDialog = DialogService.Current.CreateLoadingDialog();

            loadingDialog.WindowTitle = LanguageService.FindResourceString(Constants.WindowTitle_CustomSignSearch);

            var part = FileFactory.CreatePartition(Constants.PartitionKey_CustomSignSearch);

            var partStoken = part.GetStoken(Constants.PartitionKey_CustomSignSearch);

            partStoken.BaseStream = streamFile.BaseStream;
            if (streamFile is IPartition streamPart)
            {
                partStoken.Name = $"{FileExtensions.GetPartFixAndName(streamPart)}-{LanguageService.FindResourceString(Constants.DocumentTitle_CustomSignSearch)}" +
                                  $"({CDFCCultures.Helpers.ByteConverterHelper.ConvertToHexFormat(setting.KeyWord)})";
            }
            else
            {
                partStoken.Name = $"{streamFile.Name}-{LanguageService.FindResourceString(Constants.DocumentTitle_CustomSignSearch)}" +
                                  $"({CDFCCultures.Helpers.ByteConverterHelper.ConvertToHexFormat(setting.KeyWord)})";
            }


            (long position, long size)[] fileBlocks = null;
Beispiel #2
0
        GetStreamHexDocument(IStreamFile streamFile)
        {
            var mainDocService = DocumentService.MainDocumentService;

            if (mainDocService == null)
            {
                LoggerService.WriteCallerLine($"{nameof(mainDocService)} can't be null.");
                return(null);
            }

            var hexDoc = mainDocService.CreateNewDocument();

            var hexService = ServiceProvider.Current.GetInstance <IHexService>();

            if (hexService == null)
            {
                LoggerService.WriteCallerLine($"{nameof(hexService)} can't be null.");
                return(null);
            }

            var hexDataContext = hexService.CreateNewHexDataContext(streamFile?.BaseStream);

            hexDoc.SetInstance(hexDataContext, Contracts.Hex.Constants.Tag_HexDataContext);
            hexDoc.UIObject = hexDataContext.UIObject;
            hexDataContext.SetInstance <IFile>(streamFile, Contracts.FileExplorer.Constants.HexDataContextTag_File);

            //加载十六进制;
            hexService.LoadHexDataContext(hexDataContext);

            return(hexDoc, hexDataContext);
        }