Incomplete ISequentialInStream implementation

2014-03-07
2014-03-09
  • Eugene Sichkar
    Eugene Sichkar
    2014-03-07

    Hi,

    recently, while updating my C# code that works with 7z.dll I found, that ISequentalInStream streams returned by IInArchiveGetStream does not support QueryInterface call with ISequentalInStream IID (it returns E_NOINTERFACE), and so they are impossible to use in .net.

    Quick reminder, .net always assume interface as IUnknown, even if direct interface is returned and trying to cast it to appropriate interface via QueryInterface call.

    Long time ago basic 7z interfaces also have such problem, but you've fixed it. Tested with 9.32 alpha.

     
  • Igor Pavlov
    Igor Pavlov
    2014-03-08

    What archive type?

     
  • Eugene Sichkar
    Eugene Sichkar
    2014-03-08

    According to latest sources many archive types support IInArchiveGetStream interface, but its hard to find appropriate files for most them in the wild :)
    As I remember I've used PE format to check this.

     
  • Igor Pavlov
    Igor Pavlov
    2014-03-09

    OK. I'll fix it.