Beispiel #1
0
            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");
            }
        }