public static bool IsQuotaInitialized(string uniqueVolumeName) { lock (locker) { DIDiskQuotaControl qcontrol = null; if (quotaControls.TryGetValue(uniqueVolumeName, out qcontrol)) { return(!qcontrol.QuotaFileIncomplete && !qcontrol.QuotaFileRebuilding); } } return(false); }
public static bool IsQuotaInitialized(string rootPath) { lock (locker) { var uniqueVolumeName = Volume.GetUniqueVolumeNameForVolumeMountPoint(rootPath); DIDiskQuotaControl qcontrol = null; if (quotaControls.TryGetValue(uniqueVolumeName, out qcontrol)) { return(!qcontrol.QuotaFileIncomplete && !qcontrol.QuotaFileRebuilding); } } return(false); }
/// <summary> /// Gets a object that manages the quota for a specific user on a specific volume. /// </summary> /// <param name="rootPath"></param> /// <param name="WindowsUsername"></param> public static DIDiskQuotaUser GetDiskQuotaUser(string rootPath, string WindowsUsername) { lock (locker) { var uniqueVolumeName = Volume.GetUniqueVolumeNameForVolumeMountPoint(rootPath); DIDiskQuotaControl qcontrol = null; if (quotaControls.TryGetValue(uniqueVolumeName, out qcontrol)) { return(qcontrol.AddUser(WindowsUsername)); } throw new ArgumentException("Volume root path not found or not initialized. ", "rootPath"); } }