Does FiltDump.exe support calling IPersistStorage
-
Thursday, August 02, 2012 6:16 PM
Hello,
I have one IFilter that supports IPersistStream, and FiltDump calls its Load function, allowing for the debugging of the code. I need to create another IFilter that supports IPersistStorage, but even after implementing all the interfaces, it's not calling the corresponding Load function. I would just like confirmation that testing of IPersistStorage IS supported, or that someone has been able to get it working.
Much appreciated.
Rick
All Replies
-
Wednesday, August 08, 2012 6:22 PMWell, I see now that Windows Search does not support IPersistStorage (http://msdn.microsoft.com/en-us/library/windows/desktop/dd940429(v=vs.85).aspx), so there'd be no reason for FiltDump to support. What's not clear, then, is how Windows Search handles an OLE Compound file. Is there a way to get to the IStorage from an IStream?
Rick Mutzke Principal Software Developer Corel Corporation
-
Thursday, August 09, 2012 1:53 PM
I'll answer my own question :-)
1. Create an empty LockByteStream, and do a setStream on your IStream.
2. Call StgIsStorageILockBytes on the LockByteStream.
3. Call StgOpenStorageOnILockBytes using the LockByteStream, which returns a pointer to the IStorage.
Bob's your uncle.
Rick Mutzke Principal Software Developer Corel Corporation
- Marked As Answer by R. Mutzke Thursday, August 09, 2012 1:53 PM


