我有一些代码通过调用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);