I am getting a number of interface leaks from a simple C# application that
uses a standard COM component. If I point Visual Studio Debug at the
compiled C# application and debug it the console shows a number of interface
leaks. I have included the C# source and the errors below. Any ideas would
be greatly appreciated, or maybe I just need to wait for at least a beta
version. I don't get these leaks when using the COM component from within
VBScript or JScript.

Thank you.

Kevin Burton
kevin.burton@inewsroom.com

using System;
using System.Collections;
using AvstarNRCSLib;

class NRCS
{
static void Main()
{
Console.WriteLine("Hello, World");
ISignon signon = (ISignon)new __AnSignon();
signon.Signon("avstar", "avstar", "172.27.18.77", "", "");

if (signon.IsSignon() != 0)
{
Console.WriteLine("Signed on!");
IDirectory dir = (IDirectory)signon.get_Directory(".");
foreach(Object item in (IEnumerable)dir) {
if(item is IDirectory) {
IDirectory ld = (IDirectory)item;
Console.WriteLine(ld.Name + " Directory");
}
else if(item is IQueue) {
IQueue lq = (IQueue)item;
IStory lss;
int limit = 10000;
Console.WriteLine(lq.Name + " Queue");
if(lq.Name == "DEAD") {
limit = 100;
}
}
else if(item is IStory) {
IStory ls = (IStory)item;
Console.WriteLine(ls.Name + " Story");
}
}
signon.Signoff();
}
else
{
Console.WriteLine("Error signing on!");
}
}
}

INTERFACE LEAK: RefCount = 1, MaxRefCount = 4, {Allocation = 7}
CAnDirectory - IUnknown
INTERFACE LEAK: RefCount = 1, MaxRefCount = 2, {Allocation = 69}
CAnDirectory - IDispatch
NonAddRef Thunk LEAK: {Allocation = 70}
INTERFACE LEAK: RefCount = 2, MaxRefCount = 2, {Allocation = 71} CAnQueue -
IDispatch
NonAddRef Thunk LEAK: {Allocation = 72}
INTERFACE LEAK: RefCount = 2, MaxRefCount = 2, {Allocation = 73}
CAnDirectory - IDispatch
NonAddRef Thunk LEAK: {Allocation = 74}
INTERFACE LEAK: RefCount = 2, MaxRefCount = 2, {Allocation = 75}
CAnDirectory - IDispatch
NonAddRef Thunk LEAK: {Allocation = 76}
INTERFACE LEAK: RefCount = 2, MaxRefCount = 2, {Allocation = 77}
CAnDirectory - IDispatch
NonAddRef Thunk LEAK: {Allocation = 78}
INTERFACE LEAK: RefCount = 2, MaxRefCount = 2, {Allocation = 79} CAnQueue -
IDispatch
NonAddRef Thunk LEAK: {Allocation = 80}
INTERFACE LEAK: RefCount = 2, MaxRefCount = 2, {Allocation = 81}
CAnDirectory - IDispatch
NonAddRef Thunk LEAK: {Allocation = 82}
INTERFACE LEAK: RefCount = 2, MaxRefCount = 2, {Allocation = 83} CAnQueue -
IDispatch
NonAddRef Thunk LEAK: {Allocation = 84}
INTERFACE LEAK: RefCount = 2, MaxRefCount = 2, {Allocation = 85} CAnQueue -
IDispatch
NonAddRef Thunk LEAK: {Allocation = 86}
INTERFACE LEAK: RefCount = 2, MaxRefCount = 2, {Allocation = 87} CAnQueue -
IDispatch
NonAddRef Thunk LEAK: {Allocation = 88}
INTERFACE LEAK: RefCount = 2, MaxRefCount = 2, {Allocation = 89}
CAnDirectory - IDispatch
NonAddRef Thunk LEAK: {Allocation = 90}
INTERFACE LEAK: RefCount = 2, MaxRefCount = 2, {Allocation = 91}
CAnDirectory - IDispatch
NonAddRef Thunk LEAK: {Allocation = 92}
INTERFACE LEAK: RefCount = 2, MaxRefCount = 2, {Allocation = 93}
CAnDirectory - IDispatch
NonAddRef Thunk LEAK: {Allocation = 94}
INTERFACE LEAK: RefCount = 2, MaxRefCount = 2, {Allocation = 95}
CAnDirectory - IDispatch
NonAddRef Thunk LEAK: {Allocation = 96}
INTERFACE LEAK: RefCount = 2, MaxRefCount = 2, {Allocation = 97}
CAnDirectory - IDispatch
NonAddRef Thunk LEAK: {Allocation = 98}
INTERFACE LEAK: RefCount = 2, MaxRefCount = 2, {Allocation = 99}
CAnDirectory - IDispatch
NonAddRef Thunk LEAK: {Allocation = 100}
INTERFACE LEAK: RefCount = 2, MaxRefCount = 2, {Allocation = 101}
CAnDirectory - IDispatch
NonAddRef Thunk LEAK: {Allocation = 102}
INTERFACE LEAK: RefCount = 2, MaxRefCount = 2, {Allocation = 103}
CAnDirectory - IDispatch
NonAddRef Thunk LEAK: {Allocation = 104}
INTERFACE LEAK: RefCount = 2, MaxRefCount = 2, {Allocation = 105}
CAnDirectory - IDispatch
NonAddRef Thunk LEAK: {Allocation = 106}
INTERFACE LEAK: RefCount = 2, MaxRefCount = 2, {Allocation = 107}
CAnDirectory - IDispatch
NonAddRef Thunk LEAK: {Allocation = 108}
INTERFACE LEAK: RefCount = 2, MaxRefCount = 2, {Allocation = 109}
CAnDirectory - IDispatch
NonAddRef Thunk LEAK: {Allocation = 110}
INTERFACE LEAK: RefCount = 2, MaxRefCount = 2, {Allocation = 111}
CAnDirectory - IDispatch
NonAddRef Thunk LEAK: {Allocation = 112}
INTERFACE LEAK: RefCount = 2, MaxRefCount = 2, {Allocation = 113}
CAnDirectory - IDispatch
NonAddRef Thunk LEAK: {Allocation = 114}
INTERFACE LEAK: RefCount = 2, MaxRefCount = 2, {Allocation = 115}
CAnDirectory - IDispatch
NonAddRef Thunk LEAK: {Allocation = 116}
INTERFACE LEAK: RefCount = 2, MaxRefCount = 2, {Allocation = 117} CAnQueue -
IDispatch
NonAddRef Thunk LEAK: {Allocation = 118}
INTERFACE LEAK: RefCount = 2, MaxRefCount = 2, {Allocation = 119} CAnQueue -
IDispatch
NonAddRef Thunk LEAK: {Allocation = 120}
INTERFACE LEAK: RefCount = 2, MaxRefCount = 2, {Allocation = 121} CAnQueue -
IDispatch
NonAddRef Thunk LEAK: {Allocation = 122}
INTERFACE LEAK: RefCount = 2, MaxRefCount = 2, {Allocation = 123}
CAnDirectory - IDispatch
INTERFACE LEAK: RefCount = 1, MaxRefCount = 2, {Allocation = 124}
_CComEnum - IUnknown
INTERFACE LEAK: RefCount = 2, MaxRefCount = 2, {Allocation = 125}
_CComEnum - IEnumVARIANT