COM组件中的GetDiskFreeSpace函数失败

时间:2011-10-05 09:21:06

标签: com atl

我有一些代码通过调用GetDiskFreeSpace从C:驱动器获取可用磁盘空间。这段代码可以在MFC应用程序中正常工作,但是当放入ATL COM组件时,它失败并返回值为0.我已经全神贯注地寻找解决方案了。我的想法是它必须是权限问题,但该组件在我的用户帐户下运行,就像MFC应用程序一样。

可能是什么问题?

这是代码

    DWORD  dwSectorsPerCluster = 0;
    DWORD  dwBytesPerSector = 0;
    DWORD  dwNumberOfFreeClusters = 0;
    DWORD  dwTotalNumberOfClusters = 0;

    iret = GetDiskFreeSpace(sDrive,
                &dwSectorsPerCluster,
                &dwBytesPerSector,
                &dwNumberOfFreeClusters,
                &dwTotalNumberOfClusters);

0 个答案:

没有答案