Re: Bug with new interface dependencies on custom IStream with SDK



David,

As it turns out, this problem has been reported before. The resolution was
that the IStream implementation was returning E_NOINTERFACE but was also
returning a junk pointer for the interface from the QueryInterface call, and
then wmvcore would call Release() on it; hijinks ensued. So you might want
to sanity-check and make sure that the value you're returning in *ppv is in
fact NULL.

That, at least, is my best guess.

Becky

This posting is provided AS IS with no warranties and confers no rights.

"David Huseby" wrote:

> Both v8 and v9 encoded content causes the NULL exceptions. This problem is
> new in the 9.5 SDK.
>
> Hrm, it isn't DRM related huh? The IWMSyncReader2 object calls
> IStream::QueryInterface four times looking for pointers to the following
> interfaces:
>
> IID_Istream
> IID_ISequentialStream
> IID_IWMIStreamProps
> 94BC0598-C3D2-11D3-BEDF-00C04F612986
>
> If it isn't DRM related then please post all of the API details for the
> interface identified by REFIID: 94BC0598-C3D2-11D3-BEDF-00C04F612986. This
> is an undocumented interface and IWMSyncReader2 depends on. If it isn't DRM
> related then you will be able to post the interface details to this list or
> at least post a link to the documentation on MSDN.
>
> When I set the interface pointer to NULL and return E_NOTIMPL, the
> IWMSyncReader2 object promptly dereferences it and causes an exception. I
> need to be able to implement that interface but without documentation it is
> impossible.
>
> Thanks,
> Dave
>
>
.



Relevant Pages

  • Re: IStream.Read()
    ... I would say that the documentation for the actual .NET ... type is superceeded by the documentation for the IStream interface itself, ... You can set this pointer to NULL. ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: C# DLL mittels COM-Interop aus C aufrufen
    ... Have u tried the IDispatch interface, which is used for those language ... which doesnot have capability of maintaining VTables. ... The __cplusplus symbol is defined automatically when you're compiling C ... appropriate function pointer type. ...
    (microsoft.public.de.german.entwickler.dotnet.csharp)
  • Re: Pointers in derived types, help needed
    ... subroutine/function must have an explicit interface. ... C is not a pointer. ... then probably the best thing to do is use allocatables. ...
    (comp.lang.fortran)
  • Re: Why ABCs make bad Interfaces
    ... > equivalent to an Abstract Base Class (ABC). ... > because it is common practice to implement an interface using ABC's. ... To convert an object to its interface, you return a fat pointer ... The NaiveInt constructor has to set up the vtables, ...
    (comp.object)
  • Re: another COM-Question: how to inject a type-lib into a dll?
    ... > But let me ask just another question on this: If this pointer is ... This is why the object exposes the COM interface in the first ... Make sure SomeObject has a reference count of 1 at this point. ... The declaraion of SomeOtherCOMMethod has a different signature. ...
    (microsoft.public.vc.atl)