#if NETFX

using System;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;

namespace IWshRuntimeLibrary
{
    // Token: 0x02000024 RID: 36
    [Guid("C7C3F5B1-88A3-11D0-ABCB-00A0C90FFFC0")]
    [DefaultMember("Path")]
    [ClassInterface(ClassInterfaceType.None)]
    [ComImport]
    internal class DriveClass : IDrive, Drive
    {
        // // Token: 0x06000103 RID: 259
        // [MethodImpl(MethodImplOptions.InternalCall)]
        // internal extern DriveClass();

        // Token: 0x1700005C RID: 92
        // (get) Token: 0x06000104 RID: 260
        [DispId(0)]
        public virtual extern string Path { [DispId(0)] [MethodImpl(MethodImplOptions.InternalCall)] [return: MarshalAs(UnmanagedType.BStr)] get; }

        // Token: 0x1700005D RID: 93
        // (get) Token: 0x06000105 RID: 261
        [DispId(10000)]
        public virtual extern string DriveLetter { [DispId(10000)] [MethodImpl(MethodImplOptions.InternalCall)] [return: MarshalAs(UnmanagedType.BStr)] get; }

        // Token: 0x1700005E RID: 94
        // (get) Token: 0x06000106 RID: 262
        [DispId(10001)]
        public virtual extern string ShareName { [DispId(10001)] [MethodImpl(MethodImplOptions.InternalCall)] [return: MarshalAs(UnmanagedType.BStr)] get; }

        // Token: 0x1700005F RID: 95
        // (get) Token: 0x06000107 RID: 263
        [ComAliasName("IWshRuntimeLibrary.DriveTypeConst")]
        [DispId(10002)]
        public virtual extern DriveTypeConst DriveType { [DispId(10002)] [MethodImpl(MethodImplOptions.InternalCall)] [return: ComAliasName("IWshRuntimeLibrary.DriveTypeConst")] get; }

        // Token: 0x17000060 RID: 96
        // (get) Token: 0x06000108 RID: 264
        [DispId(10003)]
        public virtual extern Folder RootFolder { [DispId(10003)] [MethodImpl(MethodImplOptions.InternalCall)] [return: MarshalAs(UnmanagedType.Interface)] get; }

        // Token: 0x17000061 RID: 97
        // (get) Token: 0x06000109 RID: 265
        [DispId(10005)]
        public virtual extern object AvailableSpace { [DispId(10005)] [MethodImpl(MethodImplOptions.InternalCall)] [return: MarshalAs(UnmanagedType.Struct)] get; }

        // Token: 0x17000062 RID: 98
        // (get) Token: 0x0600010A RID: 266
        [DispId(10004)]
        public virtual extern object FreeSpace { [DispId(10004)] [MethodImpl(MethodImplOptions.InternalCall)] [return: MarshalAs(UnmanagedType.Struct)] get; }

        // Token: 0x17000063 RID: 99
        // (get) Token: 0x0600010B RID: 267
        [DispId(10006)]
        public virtual extern object TotalSize { [DispId(10006)] [MethodImpl(MethodImplOptions.InternalCall)] [return: MarshalAs(UnmanagedType.Struct)] get; }

        // Token: 0x17000064 RID: 100
        // (get) Token: 0x0600010C RID: 268
        // (set) Token: 0x0600010D RID: 269
        [DispId(10007)]
        public virtual extern string VolumeName { [DispId(10007)] [MethodImpl(MethodImplOptions.InternalCall)] [return: MarshalAs(UnmanagedType.BStr)] get; [DispId(10007)] [MethodImpl(MethodImplOptions.InternalCall)] [param: MarshalAs(UnmanagedType.BStr)] set; }

        // Token: 0x17000065 RID: 101
        // (get) Token: 0x0600010E RID: 270
        [DispId(10008)]
        public virtual extern string FileSystem { [DispId(10008)] [MethodImpl(MethodImplOptions.InternalCall)] [return: MarshalAs(UnmanagedType.BStr)] get; }

        // Token: 0x17000066 RID: 102
        // (get) Token: 0x0600010F RID: 271
        [DispId(10009)]
        public virtual extern int SerialNumber { [DispId(10009)] [MethodImpl(MethodImplOptions.InternalCall)] get; }

        // Token: 0x17000067 RID: 103
        // (get) Token: 0x06000110 RID: 272
        [DispId(10010)]
        public virtual extern bool IsReady { [DispId(10010)] [MethodImpl(MethodImplOptions.InternalCall)] get; }
    }
}

#endif