Ejemplo n.º 1
0
        public void Add(string path, long size)
        {
            if (string.IsNullOrEmpty(path))
            {
                throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(Error.ArgumentNull("path"));
            }
            if (size <= 0)
            {
                throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(Error.ArgumentOutOfRange("size"));
            }

            CLFS_INFORMATION info;

            this.store.GetLogFileInformation(out info);
            if ((ulong)size < info.ContainerSize)
            {
                throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(Error.ArgumentInvalid(SR.LogStore_SizeTooSmall));
            }

            ulong ulSize = (ulong)size;

            UnsafeNativeMethods.AddLogContainerSync(
                this.store.Handle,
                ref ulSize,
                path);

            this.version++;
        }