DIDiskQuotaUser泄漏文件句柄

时间:2011-01-31 15:10:03

标签: c# windows

我做了一个应用来检查配额空间检查应用程序,就像这样

DIDiskQuotaUser QuotaInfo = null;
try
{
    QuotaInfo = this.gDiskQuotaControl.FindUser(SAMUser);
}
catch
{
    QuotaInfo = null;
}

FindUser的定义

[DispId(1610743828)]
public virtual DIDiskQuotaUser FindUser(string LogonName);

来自:

[TypeLibType(2)]
    [ComSourceInterfaces("DiskQuotaTypeLibrary.DIDiskQuotaControlEvents")]
    [Guid("7988B571-EC89-11CF-9C00-00AA00A14F56")]
    [ClassInterface(0)]
    public class DiskQuotaControlClass : DIDiskQuotaControl, DiskQuotaControl, DIDiskQuotaControlEvents_Event, IDiskQuotaControlEvents, DIDiskQuotaUser, IEnumerable

问题是循环正在检查服务器上的文件句柄泄漏,我无法看到从FindUser处理te返回的任何方法

1 个答案:

答案 0 :(得分:1)

我会尝试在对象上调用Marshal.FinalReleaseComObject。这应该相当于在COM对象上调用Release,直到它的引用计数为零为止,它应该处理该对象并释放它的句柄。