Сбой функции GetDiskFreeSpace в компоненте COM - PullRequest
0 голосов
/ 05 октября 2011

У меня есть некоторый код, который получает доступное дисковое пространство с диска C: путем вызова GetDiskFreeSpace.Этот код отлично работает из приложения MFC, но при вставке в компонент ATL COM он завершается неудачно с возвращаемым значением 0. Я все время искал решение.Я думал, что это должно быть проблема с разрешениями, но компонент работает под моей учетной записью пользователя, как и приложение MFC.

В чем может быть проблема?

Это код

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

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