Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- internal static IFilter LoadAndInitIFilter(string fileName, string extension)
- {
- IFilter filter = LoadIFilter(extension);
- if (filter == null)
- return null;
- var iPersistStream = filter as IPersistStream;
- if (iPersistStream != null)
- {
- IFILTER_FLAGS flags;
- IFILTER_INIT iflags =
- IFILTER_INIT.CANON_HYPHENS |
- IFILTER_INIT.CANON_PARAGRAPHS |
- IFILTER_INIT.CANON_SPACES |
- IFILTER_INIT.APPLY_INDEX_ATTRIBUTES |
- IFILTER_INIT.HARD_LINE_BREAKS |
- IFILTER_INIT.FILTER_OWNED_VALUE_OK;
- Stream fileStream = new System.IO.FileStream(fileName, FileMode.Open);
- StreamWrapper wrapper = new StreamWrapper(fileStream);
- iPersistStream.Load(wrapper);
- if (filter.Init(iflags, 0, IntPtr.Zero, out flags) == IFilterReturnCode.S_OK)
- return filter;
- }
- IPersistFile persistFile = (filter as IPersistFile);
- if (persistFile != null)
- {
- persistFile.Load(fileName, 0);
- IFILTER_FLAGS flags;
- IFILTER_INIT iflags =
- IFILTER_INIT.CANON_HYPHENS |
- IFILTER_INIT.CANON_PARAGRAPHS |
- IFILTER_INIT.CANON_SPACES |
- IFILTER_INIT.APPLY_INDEX_ATTRIBUTES |
- IFILTER_INIT.HARD_LINE_BREAKS |
- IFILTER_INIT.FILTER_OWNED_VALUE_OK;
- if (filter.Init(iflags, 0, IntPtr.Zero, out flags) == IFilterReturnCode.S_OK)
- return filter;
- }
- //If we failed to retreive an IPersistFile interface or to initialize
- //the filter, we release it and return null.
- Marshal.ReleaseComObject(filter);
- return null;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement