[Mono-bugs] [Bug 499566] New: a QueryInterface in C++ on C# COM object only works for directly implemented interfaces not interfaces implemented by base classes. .NET Difference
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Wed Apr 29 19:00:19 EDT 2009
http://bugzilla.novell.com/show_bug.cgi?id=499566
Summary: a QueryInterface in C++ on C# COM object only works
for directly implemented interfaces not interfaces
implemented by base classes. .NET Difference
Classification: Mono
Product: Mono: Runtime
Version: SVN
Platform: i686
OS/Version: Linux
Status: NEW
Severity: Normal
Priority: P5 - None
Component: interop
AssignedTo: mono-bugs at lists.ximian.com
ReportedBy: tom_hindle at sil.org
QAContact: mono-bugs at lists.ximian.com
Found By: ---
Created an attachment (id=289056)
--> (http://bugzilla.novell.com/attachment.cgi?id=289056)
Allows cominterop_ccw_queryinterface to find interfaces implemented by base
classes.
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.8)
Gecko/2009032711 Ubuntu/8.04 (hardy) Firefox/3.0.8
a QueryInterface in C++ on C# COM object only works for directly implemented
interfaces not interfaces implemented by base classes.
For example: class' defined in C#
class A : IX, IY
{
}
class B : A, IZ
{
}
in C++
// Assuming b is an instance of B
b->QueryInterface(IZ) // works
b->QueryInterface(IX) // doesn't work but should
b->QueryInterface(IY) // doesn't work but should
// Assuming a is an instance of A
b->QueryInterface(IX> // works
b->QueryInterface(IY> // works
Attached patch to fix this issue.
Reproducible: Always
Steps to Reproduce:
1.
2.
3.
--
Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the mono-bugs
mailing list