DokanNet Namespace Reference

Namespaces

Classes

class  BufferPool
 Simple buffer pool for buffers used by IDokanOperations.ReadFile and IDokanOperations.WriteFile to avoid excessive Gen2 garbage collections due to large buffer allocation on the large object heap (LOH).
 
class  Dokan
 Helper methods to Dokan. More...
 
class  DokanException
 The dokan exception. More...
 
class  DokanFileInfo
 Dokan file information on the current operation. More...
 
class  DokanHandle
 This class wraps a native DOKAN_HANDLE.
 
class  DokanHelper
 Dokan functions helpers for user IDokanOperations implementation. More...
 
class  DokanInstance
 Created by DokanInstanceBuilder.Build. It holds all the resources required to be alive for the time of the mount. More...
 
class  DokanInstanceBuilder
 Dokan FileSystem build helper. Allows to create one or multiple DokanInstance based on a given configuration. More...
 
class  DokanOperationProxy
 The dokan operation proxy.
 
class  DokanResult
 Defines common result status codes in NtStatus for Dokan operations. More...
 
class  Extensions
 DokanInstance extensions allowing to check whether it is running or to wait until it is unmount. More...
 
struct  FileInformation
 Used to provide file information to Dokan during operations by More...
 
class  FormatProviders
 Provide support to format object with null. More...
 
interface  IDokanFileInfo
 Dokan file information interface. More...
 
interface  IDokanOperations
 Dokan API callbacks interface. More...
 
interface  IDokanOperationsUnsafe
 This is a sub-interface of IDokanOperations that can optionally be implemented to get access to the raw, unmanaged buffers for ReadFile() and WriteFile() for performance optimization. Marshalling the unmanaged buffers to and from byte[] arrays for every call of these APIs incurs an extra copy that can be avoided by reading from or writing directly to the unmanaged buffers. More...
 
class  MockDokanFileInfo
 Mockable Dokan file information on the current operation. More...
 
class  NativeStructWrapper
 

Enumerations

enum  DokanOptions : uint {
  DokanOptions.FixedDrive = 0, DokanOptions.DebugMode = 1, DokanOptions.StderrOutput = 2, DokanOptions.AltStream = 4,
  DokanOptions.WriteProtection = 8, DokanOptions.NetworkDrive = 16, DokanOptions.RemovableDrive = 32, DokanOptions.MountManager = 64,
  DokanOptions.CurrentSession = 128, DokanOptions.UserModeLock = 256, DokanOptions.EnableNotificationAPI = 512, DokanOptions.CaseSensitive = 1024,
  DokanOptions.EnableNetworkUnmount = 2048, DokanOptions.DispatchDriverLogs = 4096
}
 Dokan mount options used to describe dokan device behavior. More...
 
enum  DokanStatus : int {
  DokanStatus.Success = 0, DokanStatus.Error = -1, DokanStatus.DriveLetterError = -2, DokanStatus.DriverInstallError = -3,
  DokanStatus.StartError = -4, DokanStatus.MountError = -5, DokanStatus.MountPointError = -6, DokanStatus.VersionError = -7
}
 Error codes returned by DokanMain. More...
 
enum  FileAccess : long {
  FileAccess.None = 0, FileAccess.ReadData = 1, FileAccess.WriteData = 1L << 1, FileAccess.AppendData = 1L << 2,
  FileAccess.ReadExtendedAttributes = 1L << 3, FileAccess.WriteExtendedAttributes = 1L << 4, FileAccess.Execute = 1L << 5, FileAccess.DeleteChild = 1L << 6,
  FileAccess.ReadAttributes = 1L << 7, FileAccess.WriteAttributes = 1L << 8, FileAccess.Delete = 1L << 16, FileAccess.ReadPermissions = 1L << 17,
  FileAccess.ChangePermissions = 1L << 18, FileAccess.SetOwnership = 1L << 19, FileAccess.Synchronize = 1L << 20, FileAccess.Reserved = AccessSystemSecurity,
  FileAccess.AccessSystemSecurity = 1L << 24, FileAccess.MaximumAllowed = 1L << 25, FileAccess.GenericAll = 1L << 28, FileAccess.GenericExecute = 1L << 29,
  FileAccess.GenericWrite = 1L << 30, FileAccess.GenericRead = 1L << 31
}
 Defines standard, specific, and generic rights. These rights are used in access control entries (ACEs) and are the primary means of specifying the requested or granted access to an object. More...
 
enum  FileSystemFeatures : uint {
  FileSystemFeatures.None = 0, FileSystemFeatures.CaseSensitiveSearch = 1, FileSystemFeatures.CasePreservedNames = 2, FileSystemFeatures.UnicodeOnDisk = 4,
  FileSystemFeatures.PersistentAcls = 8, FileSystemFeatures.VolumeQuotas = 0x20, FileSystemFeatures.SupportsSparseFiles = 0x40, FileSystemFeatures.SupportsReparsePoints = 0x80,
  FileSystemFeatures.SupportsRemoteStorage = 0x100, FileSystemFeatures.VolumeIsCompressed = 0x00008000, FileSystemFeatures.SupportsObjectIDs = 0x00010000, FileSystemFeatures.SupportsEncryption = 0x00020000,
  FileSystemFeatures.NamedStreams = 0x00040000, FileSystemFeatures.ReadOnlyVolume = 0x00080000, FileSystemFeatures.SequentialWriteOnce = 0x00100000, FileSystemFeatures.SupportsTransactions = 0x00200000
}
 Defines feature flags for the file system. More...
 
enum  NtStatus : long {
  NtStatus.Success = 0x00000000, NtStatus.Wait1 = 0x00000001, NtStatus.Wait2 = 0x00000002, NtStatus.Wait3 = 0x00000003,
  NtStatus.Wait63 = 0x0000003f, NtStatus.Abandoned = AbandonedWait0, NtStatus.AbandonedWait0 = 0x00000080, NtStatus.AbandonedWait1 = 0x00000081,
  NtStatus.AbandonedWait2 = 0x00000082, NtStatus.AbandonedWait3 = 0x00000083, NtStatus.AbandonedWait63 = 0x000000bf, NtStatus.UserApc = 0x000000c0,
  NtStatus.KernelApc = 0x00000100, NtStatus.Alerted = 0x00000101, NtStatus.Timeout = 0x00000102, NtStatus.Pending = 0x00000103,
  NtStatus.Reparse = 0x00000104, NtStatus.MoreEntries = 0x00000105, NtStatus.NotAllAssigned = 0x00000106, NtStatus.SomeNotMapped = 0x00000107,
  NtStatus.OpLockBreakInProgress = 0x00000108, NtStatus.VolumeMounted = 0x00000109, NtStatus.RxActCommitted = 0x0000010a, NtStatus.NotifyCleanup = 0x0000010b,
  NtStatus.NotifyEnumDir = 0x0000010c, NtStatus.NoQuotasForAccount = 0x0000010d, NtStatus.PrimaryTransportConnectFailed = 0x0000010e, NtStatus.PageFaultTransition = 0x00000110,
  NtStatus.PageFaultDemandZero = 0x00000111, NtStatus.PageFaultCopyOnWrite = 0x00000112, NtStatus.PageFaultGuardPage = 0x00000113, NtStatus.PageFaultPagingFile = 0x00000114,
  NtStatus.CrashDump = 0x00000116, NtStatus.ReparseObject = 0x00000118, NtStatus.NothingToTerminate = 0x00000122, NtStatus.ProcessNotInJob = 0x00000123,
  NtStatus.ProcessInJob = 0x00000124, NtStatus.ProcessCloned = 0x00000129, NtStatus.FileLockedWithOnlyReaders = 0x0000012a, NtStatus.FileLockedWithWriters = 0x0000012b,
  NtStatus.Informational = 0x40000000, NtStatus.ObjectNameExists = 0x40000000, NtStatus.ThreadWasSuspended = 0x40000001, NtStatus.WorkingSetLimitRange = 0x40000002,
  NtStatus.ImageNotAtBase = 0x40000003, NtStatus.RegistryRecovered = 0x40000009, NtStatus.RecoveryNotNeeded = 0x40190034, NtStatus.RmAlreadyStarted = 0x40190035,
  NtStatus.Warning = 0x80000000, NtStatus.GuardPageViolation = 0x80000001, NtStatus.DatatypeMisalignment = 0x80000002, NtStatus.Breakpoint = 0x80000003,
  NtStatus.SingleStep = 0x80000004, NtStatus.BufferOverflow = 0x80000005, NtStatus.NoMoreFiles = 0x80000006, NtStatus.HandlesClosed = 0x8000000a,
  NtStatus.PartialCopy = 0x8000000d, NtStatus.DeviceBusy = 0x80000011, NtStatus.InvalidEaName = 0x80000013, NtStatus.EaListInconsistent = 0x80000014,
  NtStatus.NoMoreEntries = 0x8000001a, NtStatus.LongJump = 0x80000026, NtStatus.DllMightBeInsecure = 0x8000002b, NtStatus.LogCorruptionDetected = 0x80190029,
  NtStatus.CantRecoverWithHandleOpen = 0x80190031, NtStatus.TxfMetadataAlreadyPresent = 0x80190041, NtStatus.TransactionScopeCallbacksNotSet = 0x80190042, NtStatus.Error = 0xc0000000,
  NtStatus.Unsuccessful = 0xc0000001, NtStatus.NotImplemented = 0xc0000002, NtStatus.InvalidInfoClass = 0xc0000003, NtStatus.InfoLengthMismatch = 0xc0000004,
  NtStatus.AccessViolation = 0xc0000005, NtStatus.InPageError = 0xc0000006, NtStatus.PagefileQuota = 0xc0000007, NtStatus.InvalidHandle = 0xc0000008,
  NtStatus.BadInitialStack = 0xc0000009, NtStatus.BadInitialPc = 0xc000000a, NtStatus.InvalidCid = 0xc000000b, NtStatus.TimerNotCanceled = 0xc000000c,
  NtStatus.InvalidParameter = 0xc000000d, NtStatus.NoSuchDevice = 0xc000000e, NtStatus.NoSuchFile = 0xc000000f, NtStatus.InvalidDeviceRequest = 0xc0000010,
  NtStatus.EndOfFile = 0xc0000011, NtStatus.WrongVolume = 0xc0000012, NtStatus.NoMediaInDevice = 0xc0000013, NtStatus.NoMemory = 0xc0000017,
  NtStatus.NotMappedView = 0xc0000019, NtStatus.UnableToFreeVm = 0xc000001a, NtStatus.UnableToDeleteSection = 0xc000001b, NtStatus.IllegalInstruction = 0xc000001d,
  NtStatus.AlreadyCommitted = 0xc0000021, NtStatus.AccessDenied = 0xc0000022, NtStatus.BufferTooSmall = 0xc0000023, NtStatus.ObjectTypeMismatch = 0xc0000024,
  NtStatus.NonContinuableException = 0xc0000025, NtStatus.BadStack = 0xc0000028, NtStatus.NotLocked = 0xc000002a, NtStatus.NotCommitted = 0xc000002d,
  NtStatus.InvalidParameterMix = 0xc0000030, NtStatus.ObjectNameInvalid = 0xc0000033, NtStatus.ObjectNameNotFound = 0xc0000034, NtStatus.ObjectNameCollision = 0xc0000035,
  NtStatus.ObjectPathInvalid = 0xc0000039, NtStatus.ObjectPathNotFound = 0xc000003a, NtStatus.ObjectPathSyntaxBad = 0xc000003b, NtStatus.DataOverrun = 0xc000003c,
  NtStatus.DataLate = 0xc000003d, NtStatus.DataError = 0xc000003e, NtStatus.CrcError = 0xc000003f, NtStatus.SectionTooBig = 0xc0000040,
  NtStatus.PortConnectionRefused = 0xc0000041, NtStatus.InvalidPortHandle = 0xc0000042, NtStatus.SharingViolation = 0xc0000043, NtStatus.QuotaExceeded = 0xc0000044,
  NtStatus.InvalidPageProtection = 0xc0000045, NtStatus.MutantNotOwned = 0xc0000046, NtStatus.SemaphoreLimitExceeded = 0xc0000047, NtStatus.PortAlreadySet = 0xc0000048,
  NtStatus.SectionNotImage = 0xc0000049, NtStatus.SuspendCountExceeded = 0xc000004a, NtStatus.ThreadIsTerminating = 0xc000004b, NtStatus.BadWorkingSetLimit = 0xc000004c,
  NtStatus.IncompatibleFileMap = 0xc000004d, NtStatus.SectionProtection = 0xc000004e, NtStatus.EasNotSupported = 0xc000004f, NtStatus.EaTooLarge = 0xc0000050,
  NtStatus.NonExistentEaEntry = 0xc0000051, NtStatus.NoEasOnFile = 0xc0000052, NtStatus.EaCorruptError = 0xc0000053, NtStatus.FileLockConflict = 0xc0000054,
  NtStatus.LockNotGranted = 0xc0000055, NtStatus.DeletePending = 0xc0000056, NtStatus.CtlFileNotSupported = 0xc0000057, NtStatus.UnknownRevision = 0xc0000058,
  NtStatus.RevisionMismatch = 0xc0000059, NtStatus.InvalidOwner = 0xc000005a, NtStatus.InvalidPrimaryGroup = 0xc000005b, NtStatus.NoImpersonationToken = 0xc000005c,
  NtStatus.CantDisableMandatory = 0xc000005d, NtStatus.NoLogonServers = 0xc000005e, NtStatus.NoSuchLogonSession = 0xc000005f, NtStatus.NoSuchPrivilege = 0xc0000060,
  NtStatus.PrivilegeNotHeld = 0xc0000061, NtStatus.InvalidAccountName = 0xc0000062, NtStatus.UserExists = 0xc0000063, NtStatus.NoSuchUser = 0xc0000064,
  NtStatus.GroupExists = 0xc0000065, NtStatus.NoSuchGroup = 0xc0000066, NtStatus.MemberInGroup = 0xc0000067, NtStatus.MemberNotInGroup = 0xc0000068,
  NtStatus.LastAdmin = 0xc0000069, NtStatus.WrongPassword = 0xc000006a, NtStatus.IllFormedPassword = 0xc000006b, NtStatus.PasswordRestriction = 0xc000006c,
  NtStatus.LogonFailure = 0xc000006d, NtStatus.AccountRestriction = 0xc000006e, NtStatus.InvalidLogonHours = 0xc000006f, NtStatus.InvalidWorkstation = 0xc0000070,
  NtStatus.PasswordExpired = 0xc0000071, NtStatus.AccountDisabled = 0xc0000072, NtStatus.NoneMapped = 0xc0000073, NtStatus.TooManyLuidsRequested = 0xc0000074,
  NtStatus.LuidsExhausted = 0xc0000075, NtStatus.InvalidSubAuthority = 0xc0000076, NtStatus.InvalidAcl = 0xc0000077, NtStatus.InvalidSid = 0xc0000078,
  NtStatus.InvalidSecurityDescr = 0xc0000079, NtStatus.ProcedureNotFound = 0xc000007a, NtStatus.InvalidImageFormat = 0xc000007b, NtStatus.NoToken = 0xc000007c,
  NtStatus.BadInheritanceAcl = 0xc000007d, NtStatus.RangeNotLocked = 0xc000007e, NtStatus.DiskFull = 0xc000007f, NtStatus.ServerDisabled = 0xc0000080,
  NtStatus.ServerNotDisabled = 0xc0000081, NtStatus.TooManyGuidsRequested = 0xc0000082, NtStatus.GuidsExhausted = 0xc0000083, NtStatus.InvalidIdAuthority = 0xc0000084,
  NtStatus.AgentsExhausted = 0xc0000085, NtStatus.InvalidVolumeLabel = 0xc0000086, NtStatus.SectionNotExtended = 0xc0000087, NtStatus.NotMappedData = 0xc0000088,
  NtStatus.ResourceDataNotFound = 0xc0000089, NtStatus.ResourceTypeNotFound = 0xc000008a, NtStatus.ResourceNameNotFound = 0xc000008b, NtStatus.ArrayBoundsExceeded = 0xc000008c,
  NtStatus.FloatDenormalOperand = 0xc000008d, NtStatus.FloatDivideByZero = 0xc000008e, NtStatus.FloatInexactResult = 0xc000008f, NtStatus.FloatInvalidOperation = 0xc0000090,
  NtStatus.FloatOverflow = 0xc0000091, NtStatus.FloatStackCheck = 0xc0000092, NtStatus.FloatUnderflow = 0xc0000093, NtStatus.IntegerDivideByZero = 0xc0000094,
  NtStatus.IntegerOverflow = 0xc0000095, NtStatus.PrivilegedInstruction = 0xc0000096, NtStatus.TooManyPagingFiles = 0xc0000097, NtStatus.FileInvalid = 0xc0000098,
  NtStatus.InstanceNotAvailable = 0xc00000ab, NtStatus.PipeNotAvailable = 0xc00000ac, NtStatus.InvalidPipeState = 0xc00000ad, NtStatus.PipeBusy = 0xc00000ae,
  NtStatus.IllegalFunction = 0xc00000af, NtStatus.PipeDisconnected = 0xc00000b0, NtStatus.PipeClosing = 0xc00000b1, NtStatus.PipeConnected = 0xc00000b2,
  NtStatus.PipeListening = 0xc00000b3, NtStatus.InvalidReadMode = 0xc00000b4, NtStatus.IoTimeout = 0xc00000b5, NtStatus.FileForcedClosed = 0xc00000b6,
  NtStatus.ProfilingNotStarted = 0xc00000b7, NtStatus.ProfilingNotStopped = 0xc00000b8, NtStatus.NotSameDevice = 0xc00000d4, NtStatus.FileRenamed = 0xc00000d5,
  NtStatus.CantWait = 0xc00000d8, NtStatus.PipeEmpty = 0xc00000d9, NtStatus.CantTerminateSelf = 0xc00000db, NtStatus.InternalError = 0xc00000e5,
  NtStatus.InvalidParameter1 = 0xc00000ef, NtStatus.InvalidParameter2 = 0xc00000f0, NtStatus.InvalidParameter3 = 0xc00000f1, NtStatus.InvalidParameter4 = 0xc00000f2,
  NtStatus.InvalidParameter5 = 0xc00000f3, NtStatus.InvalidParameter6 = 0xc00000f4, NtStatus.InvalidParameter7 = 0xc00000f5, NtStatus.InvalidParameter8 = 0xc00000f6,
  NtStatus.InvalidParameter9 = 0xc00000f7, NtStatus.InvalidParameter10 = 0xc00000f8, NtStatus.InvalidParameter11 = 0xc00000f9, NtStatus.InvalidParameter12 = 0xc00000fa,
  NtStatus.DirectoryNotEmpty = 0xc0000101, NtStatus.NotADirectory = 0xc0000103, NtStatus.MappedFileSizeZero = 0xc000011e, NtStatus.TooManyOpenedFiles = 0xc000011f,
  NtStatus.Cancelled = 0xc0000120, NtStatus.CannotDelete = 0xc0000121, NtStatus.InvalidComputerName = 0xc0000122, NtStatus.FileDeleted = 0xc0000123,
  NtStatus.SpecialAccount = 0xc0000124, NtStatus.SpecialGroup = 0xc0000125, NtStatus.SpecialUser = 0xc0000126, NtStatus.MembersPrimaryGroup = 0xc0000127,
  NtStatus.FileClosed = 0xc0000128, NtStatus.TooManyThreads = 0xc0000129, NtStatus.ThreadNotInProcess = 0xc000012a, NtStatus.TokenAlreadyInUse = 0xc000012b,
  NtStatus.PagefileQuotaExceeded = 0xc000012c, NtStatus.CommitmentLimit = 0xc000012d, NtStatus.InvalidImageLeFormat = 0xc000012e, NtStatus.InvalidImageNotMz = 0xc000012f,
  NtStatus.InvalidImageProtect = 0xc0000130, NtStatus.InvalidImageWin16 = 0xc0000131, NtStatus.LogonServer = 0xc0000132, NtStatus.DifferenceAtDc = 0xc0000133,
  NtStatus.SynchronizationRequired = 0xc0000134, NtStatus.DllNotFound = 0xc0000135, NtStatus.IoPrivilegeFailed = 0xc0000137, NtStatus.OrdinalNotFound = 0xc0000138,
  NtStatus.EntryPointNotFound = 0xc0000139, NtStatus.ControlCExit = 0xc000013a, NtStatus.PortNotSet = 0xc0000353, NtStatus.DebuggerInactive = 0xc0000354,
  NtStatus.CallbackBypass = 0xc0000503, NtStatus.PortClosed = 0xc0000700, NtStatus.MessageLost = 0xc0000701, NtStatus.InvalidMessage = 0xc0000702,
  NtStatus.RequestCanceled = 0xc0000703, NtStatus.RecursiveDispatch = 0xc0000704, NtStatus.LpcReceiveBufferExpected = 0xc0000705, NtStatus.LpcInvalidConnectionUsage = 0xc0000706,
  NtStatus.LpcRequestsNotAllowed = 0xc0000707, NtStatus.ResourceInUse = 0xc0000708, NtStatus.ProcessIsProtected = 0xc0000712, NtStatus.VolumeDirty = 0xc0000806,
  NtStatus.FileCheckedOut = 0xc0000901, NtStatus.CheckOutRequired = 0xc0000902, NtStatus.BadFileType = 0xc0000903, NtStatus.FileTooLarge = 0xc0000904,
  NtStatus.FormsAuthRequired = 0xc0000905, NtStatus.VirusInfected = 0xc0000906, NtStatus.VirusDeleted = 0xc0000907, NtStatus.TransactionalConflict = 0xc0190001,
  NtStatus.InvalidTransaction = 0xc0190002, NtStatus.TransactionNotActive = 0xc0190003, NtStatus.TmInitializationFailed = 0xc0190004, NtStatus.RmNotActive = 0xc0190005,
  NtStatus.RmMetadataCorrupt = 0xc0190006, NtStatus.TransactionNotJoined = 0xc0190007, NtStatus.DirectoryNotRm = 0xc0190008, NtStatus.CouldNotResizeLog = 0xc0190009,
  NtStatus.TransactionsUnsupportedRemote = 0xc019000a, NtStatus.LogResizeInvalidSize = 0xc019000b, NtStatus.RemoteFileVersionMismatch = 0xc019000c, NtStatus.CrmProtocolAlreadyExists = 0xc019000f,
  NtStatus.TransactionPropagationFailed = 0xc0190010, NtStatus.CrmProtocolNotFound = 0xc0190011, NtStatus.TransactionSuperiorExists = 0xc0190012, NtStatus.TransactionRequestNotValid = 0xc0190013,
  NtStatus.TransactionNotRequested = 0xc0190014, NtStatus.TransactionAlreadyAborted = 0xc0190015, NtStatus.TransactionAlreadyCommitted = 0xc0190016, NtStatus.TransactionInvalidMarshallBuffer = 0xc0190017,
  NtStatus.CurrentTransactionNotValid = 0xc0190018, NtStatus.LogGrowthFailed = 0xc0190019, NtStatus.ObjectNoLongerExists = 0xc0190021, NtStatus.StreamMiniversionNotFound = 0xc0190022,
  NtStatus.StreamMiniversionNotValid = 0xc0190023, NtStatus.MiniversionInaccessibleFromSpecifiedTransaction = 0xc0190024, NtStatus.CantOpenMiniversionWithModifyIntent = 0xc0190025, NtStatus.CantCreateMoreStreamMiniversions = 0xc0190026,
  NtStatus.HandleNoLongerValid = 0xc0190028, NtStatus.NoTxfMetadata = 0xc0190029, NtStatus.RmDisconnected = 0xc0190032, NtStatus.EnlistmentNotSuperior = 0xc0190033,
  NtStatus.FileIdentityNotPersistent = 0xc0190036, NtStatus.CantBreakTransactionalDependency = 0xc0190037, NtStatus.CantCrossRmBoundary = 0xc0190038, NtStatus.TxfDirNotEmpty = 0xc0190039,
  NtStatus.IndoubtTransactionsExist = 0xc019003a, NtStatus.TmVolatile = 0xc019003b, NtStatus.RollbackTimerExpired = 0xc019003c, NtStatus.TxfAttributeCorrupt = 0xc019003d,
  NtStatus.EfsNotAllowedInTransaction = 0xc019003e, NtStatus.TransactionalOpenNotAllowed = 0xc019003f, NtStatus.TransactedMappingUnsupportedRemote = 0xc0190040, NtStatus.TransactionRequiredPromotion = 0xc0190043,
  NtStatus.CannotExecuteFileInTransaction = 0xc0190044, NtStatus.TransactionsNotFrozen = 0xc0190045, NtStatus.MaximumNtStatus = 0xffffffff
}
 NT status values. More...
 

Enumeration Type Documentation

enum DokanNet.DokanOptions : uint
strong

Dokan mount options used to describe dokan device behavior.

Enumerator
FixedDrive 

Fixed Drive.

DebugMode 

Enable output debug message.

StderrOutput 

Enable output debug message to stderr.

AltStream 

Use alternate stream.

WriteProtection 

Enable mount drive as write-protected.

NetworkDrive 

Use network drive - Dokan network provider need to be installed.

RemovableDrive 

Use removable drive.

MountManager 

Use mount manager.

CurrentSession 

Mount the drive on current session only.

UserModeLock 

Enable Lockfile/Unlockfile operations.

EnableNotificationAPI 

Enable methods in Dokan.Notify, which require this library to maintain a special handle while the file system is mounted. Without this flag, the methods in that inner class always return false if invoked.

CaseSensitive 

Enable Case sensitive path. By default all path are case insensitive. For case sensitive: \dir\File and \diR\file are different files but for case insensitive they are the same.

EnableNetworkUnmount 

Enables unmounting of network drives via file explorer

DispatchDriverLogs 

Forward the kernel driver global and volume logs to the userland

enum DokanNet.DokanStatus : int
strong

Error codes returned by DokanMain.

Enumerator
Success 

Dokan mount succeed.

Error 

Dokan mount error.

DriveLetterError 

Dokan mount failed - Bad drive letter.

DriverInstallError 

Dokan mount failed - Can't install driver.

StartError 

Dokan mount failed - Driver answer that something is wrong.

MountError 

Dokan mount failed. Can't assign a drive letter or mount point. Probably already used by another volume.

MountPointError 

Dokan mount failed. Mount point is invalid.

VersionError 

Dokan mount failed. Requested an incompatible version.

enum DokanNet.FileAccess : long
strong

Defines standard, specific, and generic rights. These rights are used in access control entries (ACEs) and are the primary means of specifying the requested or granted access to an object.

This extends the System.IO.FileAccess enumerator in .NET that only contains flags for Read (0x01) and Write (0x10).

See also
Access Mask Format (MSDN)
ACCESS_MASK (MSDN)
FileAccess Enumeration (MSDN)
Enumerator
None 

No access defined.

ReadData 

Read access right to an object.

Native information
FILE_READ_DATA 0x00000001 File & pipe
FILE_LIST_DIRECTORY 0x00000001 Directory
WriteData 

Write access right to an object.

Native information
FILE_WRITE_DATA 0x00000002 File & pipe
FILE_ADD_FILE 0x00000002 Directory
AppendData 

For a file object, the right to append data to the file.

Native information
FILE_APPEND_DATA 0x00000004 File
FILE_ADD_SUBDIRECTORY 0x00000004 Directory
FILE_CREATE_PIPE_INSTANCE 0x00000004 Named pipe
ReadExtendedAttributes 

The right to read extended file attributes.

Native information
FILE_READ_EA 0x00000008 File & directory
WriteExtendedAttributes 

The right to write extended file attributes.

Native information
FILE_WRITE_EA 0x00000010 File & directory
Execute 

For a native code file, the right to execute the file. This access right given to scripts may cause the script to be executable, depending on the script interpreter.

Native information
FILE_EXECUTE 0x00000020 File
FILE_TRAVERSE 0x00000020 Directory
DeleteChild 

For a directory, the right to delete a directory and all the files it contains, including read-only files.

Native information
FILE_DELETE_CHILD 0x00000040 Directory
ReadAttributes 

The right to read file attributes.

Native information
FILE_READ_ATTRIBUTES 0x00000080 All
WriteAttributes 

The right to write file attributes.

Native information
FILE_WRITE_ATTRIBUTES 0x00000100 All
Delete 

The right to delete the object.

Native information
DELETE 0x00010000  
ReadPermissions 

The right to read the information in the object's security descriptor, not including the information in the system access control list (SACL).

Native information
READ_CONTROL 0x00020000  
ChangePermissions 

The right to modify the discretionary access control list (DACL) in the object's security descriptor.

Native information
WRITE_DAC 0x00040000  
SetOwnership 

The right to change the owner in the object's security descriptor.

Native information
WRITE_OWNER 0x00080000  
Synchronize 

The right to use the object for synchronization. This enables a thread to wait until the object is in the signaled state. Some object types do not support this access right.

Native information
SYNCHRONIZE 0x00100000  
Reserved 

Obsolete, use FileAccess.AccessSystemSecurity instead.

AccessSystemSecurity 

Access system security. It is used to indicate access to a system access control list (SACL). This type of access requires the calling process to have the SE_SECURITY_NAME (Manage auditing and security log) privilege. If this flag is set in the access mask of an audit access ACE (successful or unsuccessful access), the SACL access will be audited.

Native information
ACCESS_SYSTEM_SECURITY 0x01000000  
MaximumAllowed 

All the access rights that are valid for the caller.

Native information
MAXIMUM_ALLOWED 0x02000000  
GenericAll 

All possible access rights.

Native information
GENERIC_ALL 0x10000000  
GenericExecute 

Generic execute access.

Native information
GENERIC_EXECUTE 0x20000000  
GenericWrite 

Generic write access.

Native information
GENERIC_WRITE 0x40000000  
GenericRead 

Generic read access.

Native information
GENERIC_READ 0x80000000  
enum DokanNet.FileSystemFeatures : uint
strong

Defines feature flags for the file system.

See also
File System Attribute Extensions (MSDN)
Enumerator
None 

No features defined.

CaseSensitiveSearch 

The file system supports case-sensitive file names.

CasePreservedNames 

The file system preserves the case of file names when it stores the name on disk.

UnicodeOnDisk 

The file system supports Unicode in file names.

PersistentAcls 

The file system preserves and enforces access control lists.

VolumeQuotas 

The file system supports per-user quotas.

SupportsSparseFiles 

The file system supports sparse files.

This feature allows programs to create very large files, but to consume disk space only as needed. A sparse file is a file that contains much of zeros, and a file system that support this are removing repeating zeros to save space.

See also
Sparse Files (MSDN)
SupportsReparsePoints 

The file system supports reparse points.

Programs can trap open operations against objects in the file system and run their own code before returning file data. This feature can be used to extend file system features such as mount points, which you can use to redirect data read and written from a folder to another volume or physical disk.

SupportsRemoteStorage 

The file system supports remote storage.

VolumeIsCompressed 

Volume is a compressed volume. This flag is incompatible with FILE_FILE_COMPRESSION. This does not affect how data is transferred over the network.

SupportsObjectIDs 

File system supports object identifiers.

SupportsEncryption 

File system supports encryption.

NamedStreams 

File system supports multiple named data streams for a file.

The unnamed data stream is the stream where the content in the file is stored. A named stream is a stream where extra data can be stored. The data is connected to the file and if the file is moved, the data is copied to the new place if that file system support it.

See also
Alternate Data Streams in NTFS (TechNet)
ReadOnlyVolume 

Specified volume is read-only.

SequentialWriteOnce 

Specified volume can be written to one time only. The write MUST be performed in sequential order.

SupportsTransactions 

The file system supports transaction processing to group changes to files into a transaction. The transaction will guarantee that all changes happens, or none of them.

See also
About KTM (MSDN)
enum DokanNet.NtStatus : long
strong

NT status values.

See also
NTSTATUS Values (MSDN)
Enumerator
Success 

Success - The operation completed successfully.

Wait1 

Success - The caller specified WaitAny for WaitType and one of the dispatcher objects in the Object array has been set to the signaled state.

Wait2 

Success - The caller specified WaitAny for WaitType and one of the dispatcher objects in the Object array has been set to the signaled state.

Wait3 

Success - The caller specified WaitAny for WaitType and one of the dispatcher objects in the Object array has been set to the signaled state.

Wait63 

Success - The caller specified WaitAny for WaitType and one of the dispatcher objects in the Object array has been set to the signaled state.

Abandoned 

Success - The caller attempted to wait for a mutex that has been abandoned.

AbandonedWait0 

Success - The caller attempted to wait for a mutex that has been abandoned.

AbandonedWait1 

Success - The caller attempted to wait for a mutex that has been abandoned.

AbandonedWait2 

Success - The caller attempted to wait for a mutex that has been abandoned.

AbandonedWait3 

Success - The caller attempted to wait for a mutex that has been abandoned.

AbandonedWait63 

Success - The caller attempted to wait for a mutex that has been abandoned.

UserApc 

Success - A user-mode APC was delivered before the given Interval expired.

KernelApc 

Success - ?

Alerted 

Success - The delay completed because the thread was alerted.

Timeout 

Success - The given Timeout interval expired.

Pending 

Success - The operation that was requested is pending completion.

Reparse 

Success - A reparse should be performed by the Object Manager because the name of the file resulted in a symbolic link.

MoreEntries 

Success - Returned by enumeration APIs to indicate more information is available to successive calls.

NotAllAssigned 

Success - Indicates not all privileges or groups that are referenced are assigned to the caller. This allows, for example, all privileges to be disabled without having to know exactly which privileges are assigned.

SomeNotMapped 

Success - Some of the information to be translated has not been translated.

OpLockBreakInProgress 

Success - An open/create operation completed while an opportunistic lock (oplock) break is underway.

VolumeMounted 

Success - A new volume has been mounted by a file system.

RxActCommitted 

Success - This success level status indicates that the transaction state already exists for the registry sub-tree but that a transaction commit was previously aborted. The commit has now been completed.

NotifyCleanup 

Success - Indicates that a notify change request has been completed due to closing the handle that made the notify change request.

NotifyEnumDir 

Success - Indicates that a notify change request is being completed and that the information is not being returned in the caller's buffer. The caller now needs to enumerate the files to find the changes.

NoQuotasForAccount 

Success - {No Quotas} No system quota limits are specifically set for this account.

PrimaryTransportConnectFailed 

Success - {Connect Failure on Primary Transport} An attempt was made to connect to the remote server on the primary transport, but the connection failed. The computer WAS able to connect on a secondary transport.

PageFaultTransition 

Success - The page fault was a transition fault.

PageFaultDemandZero 

Success - The page fault was a demand zero fault.

PageFaultCopyOnWrite 

Success - The page fault was a demand zero fault.

PageFaultGuardPage 

Success - The page fault was a demand zero fault.

PageFaultPagingFile 

Success - The page fault was satisfied by reading from a secondary storage device.

CrashDump 

Success - The crash dump exists in a paging file.

ReparseObject 

Success - A reparse should be performed by the Object Manager because the name of the file resulted in a symbolic link.

NothingToTerminate 

Success - A process being terminated has no threads to terminate.

ProcessNotInJob 

Success - The specified process is not part of a job.

ProcessInJob 

Success - The specified process is part of a job.

ProcessCloned 

Success - The current process is a cloned process.

FileLockedWithOnlyReaders 

Success - The file was locked and all users of the file can only read.

FileLockedWithWriters 

Success - The file was locked and at least one user of the file can write.

Informational 

Informational - General information

ObjectNameExists 

Informational - {Object Exists} An attempt was made to create an object but the object name already exists.

ThreadWasSuspended 

Informational - {Thread Suspended} A thread termination occurred while the thread was suspended. The thread resumed, and termination proceeded.

WorkingSetLimitRange 

Informational - {Working Set Range Error} An attempt was made to set the working set minimum or maximum to values that are outside the allowable range.

ImageNotAtBase 

Informational - {Image Relocated} An image file could not be mapped at the address that is specified in the image file. Local fixes must be performed on this image.

RegistryRecovered 

Informational - {Registry Recovery} One of the files that contains the system registry data had to be recovered by using a log or alternate copy. The recovery was successful.

RecoveryNotNeeded 

Informational - Transaction - The transactional resource manager is already consistent. Recovery is not needed.

RmAlreadyStarted 

Informational - Transaction - The transactional resource manager has already been started.

Warning 

Warning - General warning

GuardPageViolation 

Warning - {EXCEPTION} Guard Page Exception A page of memory that marks the end of a data structure, such as a stack or an array, has been accessed.

DatatypeMisalignment 

Warning - {EXCEPTION} Alignment Fault A data type misalignment was detected in a load or store instruction.

Breakpoint 

Warning - {EXCEPTION} Breakpoint A breakpoint has been reached.

SingleStep 

Warning - {EXCEPTION} Single Step A single step or trace operation has just been completed.

BufferOverflow 

Warning - {Buffer Overflow} The data was too large to fit into the specified buffer.

NoMoreFiles 

Warning - {No More Files} No more files were found which match the file specification.

HandlesClosed 

Warning - {Handles Closed} Handles to objects have been automatically closed because of the requested operation.

PartialCopy 

Warning - Because of protection conflicts, not all the requested bytes could be copied.

DeviceBusy 

Warning - {Device Busy} The device is currently busy.

InvalidEaName 

Warning - {Illegal EA} The specified extended attribute (EA) name contains at least one illegal character.

EaListInconsistent 

Warning - {Inconsistent EA List} The extended attribute (EA) list is inconsistent.

NoMoreEntries 

Warning - {No More Entries} No more entries are available from an enumeration operation.

LongJump 

Warning - A long jump has been executed.

DllMightBeInsecure 

Warning - The application is attempting to run executable code. This may be insecure.

LogCorruptionDetected 

Warning - Transaction - There is no transaction metadata on the file.

CantRecoverWithHandleOpen 

Warning - Transaction - The file cannot be recovered because there is a handle still open on it.

TxfMetadataAlreadyPresent 

Warning - Transaction - Transaction metadata is already present on this file and cannot be superseded.

TransactionScopeCallbacksNotSet 

Warning - Transaction - A transaction scope could not be entered because the scope handler has not been initialized.

Error 

Error - General error

Unsuccessful 

Error - {Operation Failed} The requested operation was unsuccessful.

NotImplemented 

Error - {Not Implemented} The requested operation is not implemented.

InvalidInfoClass 

Error - {Invalid Parameter} The specified information class is not a valid information class for the specified object.

InfoLengthMismatch 

Error - The specified information record length does not match the length that is required for the specified information class.

AccessViolation 

Error - The instruction referenced memory it do not have access to.

InPageError 

Error - The required data was not placed into memory because of an I/O error status.

PagefileQuota 

Error - The page file quota for the process has been exhausted.

InvalidHandle 

Error - An invalid HANDLE was specified.

BadInitialStack 

Error - An invalid initial stack was specified in a call to NtCreateThread.

BadInitialPc 

Error - An invalid initial start address was specified in a call to NtCreateThread.

InvalidCid 

Error - An invalid client ID was specified.

TimerNotCanceled 

Error - An attempt was made to cancel or set a timer that has an associated APC and the specified thread is not the thread that originally set the timer with an associated APC routine.

InvalidParameter 

Error - An invalid parameter was passed to a service or function.

NoSuchDevice 

Error - A device that does not exist was specified.

NoSuchFile 

Error - {File Not Found} The file does not exist.

InvalidDeviceRequest 

Error - The specified request is not a valid operation for the target device.

EndOfFile 

Error - The end-of-file marker has been reached. There is no valid data in the file beyond this marker.

WrongVolume 

Error - {Wrong Volume} The wrong volume is in the drive. Insert volume into drive.

NoMediaInDevice 

Error - {No Disk} There is no disk in the drive. Insert a disk into drive.

NoMemory 

Error - {Not Enough Quota} Not enough virtual memory or paging file quota is available to complete the specified operation.

NotMappedView 

Error - The address range to un-map is not a mapped view.

UnableToFreeVm 

Error - The virtual memory cannot be freed.

UnableToDeleteSection 

Error - The specified section cannot be deleted.

IllegalInstruction 

Error - {EXCEPTION} Illegal Instruction. An attempt was made to execute an illegal instruction.

AlreadyCommitted 

Error - {Already Committed} The specified address range is already committed.

AccessDenied 

Error - {Access Denied} A process has requested access to an object but has not been granted those access rights.

BufferTooSmall 

Error - {Buffer Too Small} The buffer is too small to contain the entry. No information has been written to the buffer.

ObjectTypeMismatch 

Error - {Wrong Type} There is a mismatch between the type of object that is required by the requested operation and the type of object that is specified in the request.

NonContinuableException 

Error - {EXCEPTION} Cannot Continue. Windows cannot continue from this exception.

BadStack 

Error - An invalid or unaligned stack was encountered during an unwind operation.

NotLocked 

Error - An attempt was made to unlock a page of memory that was not locked.

NotCommitted 

Error - An attempt was made to change the attributes on memory that has not been committed.

InvalidParameterMix 

Error - An invalid combination of parameters was specified.

ObjectNameInvalid 

Error - The object name is invalid.

ObjectNameNotFound 

Error - The object name is not found.

ObjectNameCollision 

Error - The object name already exists.

ObjectPathInvalid 

Error - The object path component was not a directory object.

ObjectPathNotFound 

Error - {Path Not Found} The path does not exist.

ObjectPathSyntaxBad 

Error - The object path component was not a directory object.

DataOverrun 

Error - {Data Overrun} A data overrun error occurred.

DataLate 

Error - {Data Late} A data late error occurred.

DataError 

Error - {Data Error} An error occurred in reading or writing data.

CrcError 

Error - {Bad CRC} A cyclic redundancy check (CRC) checksum error occurred.

SectionTooBig 

Error - {Section Too Large} The specified section is too big to map the file.

PortConnectionRefused 

Error - The NtConnectPort request is refused.

InvalidPortHandle 

Error - The type of port handle is invalid for the operation that is requested.

SharingViolation 

Error - A file cannot be opened because the share access flags are incompatible.

QuotaExceeded 

Error - Insufficient quota exists to complete the operation.

InvalidPageProtection 

Error - The specified page protection was not valid.

MutantNotOwned 

Error - An attempt to release a mutant object was made by a thread that was not the owner of the mutant object.

SemaphoreLimitExceeded 

Error - An attempt was made to release a semaphore such that its maximum count would have been exceeded.

PortAlreadySet 

Error - An attempt was made to set the DebugPort or ExceptionPort of a process, but a port already exists in the process, or an attempt was made to set the CompletionPort of a file but a port was already set in the file, or an attempt was made to set the associated completion port of an ALPC port but it is already set.

SectionNotImage 

Error - An attempt was made to query image information on a section that does not map an image.

SuspendCountExceeded 

Error - An attempt was made to suspend a thread whose suspend count was at its maximum.

ThreadIsTerminating 

Error - An attempt was made to suspend a thread that has begun termination.

BadWorkingSetLimit 

Error - An attempt was made to set the working set limit to an invalid value (for example, the minimum greater than maximum).

IncompatibleFileMap 

Error - A section was created to map a file that is not compatible with an already existing section that maps the same file.

SectionProtection 

Error - A view to a section specifies a protection that is incompatible with the protection of the initial view.

EasNotSupported 

Error - An operation involving EAs failed because the file system does not support EAs.

EaTooLarge 

Error - An EA operation failed because the EA set is too large.

NonExistentEaEntry 

Error - An EA operation failed because the name or EA index is invalid.

NoEasOnFile 

Error - The file for which EAs were requested has no EAs.

EaCorruptError 

Error - The EA is corrupt and cannot be read.

FileLockConflict 

Error - A requested read/write cannot be granted due to a conflicting file lock.

LockNotGranted 

Error - A requested file lock cannot be granted due to other existing locks.

DeletePending 

Error - A non-close operation has been requested of a file object that has a delete pending.

CtlFileNotSupported 

Error - An attempt was made to set the control attribute on a file. This attribute is not supported in the destination file system.

UnknownRevision 

Error - Indicates a revision number that was encountered or specified is not one that is known by the service. It might be a more recent revision than the service is aware of.

RevisionMismatch 

Error - Indicates that two revision levels are incompatible.

InvalidOwner 

Error - Indicates a particular security ID cannot be assigned as the owner of an object.

InvalidPrimaryGroup 

Error - Indicates a particular security ID cannot be assigned as the primary group of an object.

NoImpersonationToken 

Error - An attempt has been made to operate on an impersonation token by a thread that is not currently impersonating a client.

CantDisableMandatory 

Error - A mandatory group cannot be disabled.

NoLogonServers 

Error - No logon servers are currently available to service the logon request.

NoSuchLogonSession 

Error - A specified logon session does not exist. It might already have been terminated.

NoSuchPrivilege 

Error - A specified privilege does not exist.

PrivilegeNotHeld 

Error - A required privilege is not held by the client.

InvalidAccountName 

Error - The name provided is not a properly formed account name.

UserExists 

Error - The specified account already exists.

NoSuchUser 

Error - The specified account does not exist.

GroupExists 

Error - The specified group already exists.

NoSuchGroup 

Error - The specified group does not exist.

MemberInGroup 

Error - The specified user account is already in the specified group account. Also used to indicate a group cannot be deleted because it contains a member.

MemberNotInGroup 

Error - The specified user account is not a member of the specified group account.

LastAdmin 

Error - Indicates the requested operation would disable or delete the last remaining administration account. This is not allowed to prevent creating a situation in which the system cannot be administrated.

WrongPassword 

Error - When trying to update a password, this return status indicates that the value provided as the current password is not correct.

IllFormedPassword 

Error - When trying to update a password, this return status indicates that the value provided for the new password contains values that are not allowed in passwords.

PasswordRestriction 

Error - When trying to update a password, this status indicates that some password update rule has been violated. For example, the password might not meet length criteria.

LogonFailure 

Error - The attempted logon is invalid. This is either due to a bad username or authentication information.

AccountRestriction 

Error - Indicates a referenced user name and authentication information are valid, but some user account restriction has prevented successful authentication (such as time-of-day restrictions).

InvalidLogonHours 

Error - The user account has time restrictions and cannot be logged onto at this time.

InvalidWorkstation 

Error - The user account is restricted so that it cannot be used to log on from the source workstation.

PasswordExpired 

Error - The user account password has expired.

AccountDisabled 

Error - The referenced account is currently disabled and cannot be logged on to.

NoneMapped 

Error - None of the information to be translated has been translated.

TooManyLuidsRequested 

Error - The number of LUIDs requested cannot be allocated with a single allocation.

LuidsExhausted 

Error - Indicates there are no more LUIDs to allocate.

InvalidSubAuthority 

Error - Indicates the sub-authority value is invalid for the particular use.

InvalidAcl 

Error - Indicates the ACL structure is not valid.

InvalidSid 

Error - Indicates the SID structure is not valid.

InvalidSecurityDescr 

Error - Indicates the SECURITY_DESCRIPTOR structure is not valid.

ProcedureNotFound 

Error - Indicates the specified procedure address cannot be found in the DLL.

InvalidImageFormat 

Error - {Bad Image} Image is either not designed to run on Windows or it contains an error. Try installing the program again using the original installation media or contact your system administrator or the software vendor for support.

NoToken 

Error - An attempt was made to reference a token that does not exist. This is typically done by referencing the token that is associated with a thread when the thread is not impersonating a client.

BadInheritanceAcl 

Error - Indicates that an attempt to build either an inherited ACL or ACE was not successful. This can be caused by a number of things. One of the more probable causes is the replacement of a CreatorId with a SID that did not fit into the ACE or ACL.

RangeNotLocked 

Error - The range specified in NtUnlockFile was not locked.

DiskFull 

Error - An operation failed because the disk was full.

ServerDisabled 

Error - The GUID allocation server is disabled at the moment.

ServerNotDisabled 

Error - The GUID allocation server is enabled at the moment.

TooManyGuidsRequested 

Error - Too many GUIDs were requested from the allocation server at once.

GuidsExhausted 

Error - The GUIDs could not be allocated because the Authority Agent was exhausted.

InvalidIdAuthority 

Error - The value provided was an invalid value for an identifier authority.

AgentsExhausted 

Error - No more authority agent values are available for the particular identifier authority value.

InvalidVolumeLabel 

Error - An invalid volume label has been specified.

SectionNotExtended 

Error - A mapped section could not be extended.

NotMappedData 

Error - Specified section to flush does not map a data file.

ResourceDataNotFound 

Error - Indicates the specified image file did not contain a resource section.

ResourceTypeNotFound 

Error - Indicates the specified resource type cannot be found in the image file.

ResourceNameNotFound 

Error - Indicates the specified resource name cannot be found in the image file.

ArrayBoundsExceeded 

Error - {EXCEPTION} Array bounds exceeded.

FloatDenormalOperand 

Error - {EXCEPTION} Floating-point denormal operand.

FloatDivideByZero 

Error - {EXCEPTION} Floating-point division by zero.

FloatInexactResult 

Error - {EXCEPTION} Floating-point inexact result.

FloatInvalidOperation 

Error - {EXCEPTION} Floating-point invalid operation.

FloatOverflow 

Error - {EXCEPTION} Floating-point overflow.

FloatStackCheck 

Error - {EXCEPTION} Floating-point stack check.

FloatUnderflow 

Error - {EXCEPTION} Floating-point underflow.

IntegerDivideByZero 

Error - {EXCEPTION} Integer division by zero.

IntegerOverflow 

Error - {EXCEPTION} Integer overflow.

PrivilegedInstruction 

Error - {EXCEPTION} Privileged instruction.

TooManyPagingFiles 

Error - An attempt was made to install more paging files than the system supports.

FileInvalid 

Error - The volume for a file has been externally altered such that the opened file is no longer valid.

InstanceNotAvailable 

Error - The maximum named pipe instance count has been reached.

PipeNotAvailable 

Error - An instance of a named pipe cannot be found in the listening state.

InvalidPipeState 

Error - The named pipe is not in the connected or closing state.

PipeBusy 

Error - The specified pipe is set to complete operations and there are current I/O operations queued so that it cannot be changed to queue operations.

IllegalFunction 

Error - The specified handle is not open to the server end of the named pipe.

PipeDisconnected 

Error - The specified named pipe is in the disconnected state.

PipeClosing 

Error - The specified named pipe is in the closing state.

PipeConnected 

Error - The specified named pipe is in the connected state.

PipeListening 

Error - The specified named pipe is in the listening state.

InvalidReadMode 

Error - The specified named pipe is not in message mode.

IoTimeout 

Error - {Device Timeout} The specified I/O operation was not completed before the time-out period expired.

FileForcedClosed 

Error - The specified file has been closed by another process.

ProfilingNotStarted 

Error - Profiling is not started.

ProfilingNotStopped 

Error - Profiling is not stopped.

NotSameDevice 

Error - {Incorrect Volume} The destination file of a rename request is located on a different device than the source of the rename request.

FileRenamed 

Error - The specified file has been renamed and thus cannot be modified.

CantWait 

Error - Used to indicate that an operation cannot continue without blocking for I/O.

PipeEmpty 

Error - Used to indicate that a read operation was done on an empty pipe.

CantTerminateSelf 

Error - Indicates that a thread attempted to terminate itself by default (called NtTerminateThread with NULL) and it was the last thread in the current process.

InternalError 

Error - An internal error occurred.

InvalidParameter1 

Error - An invalid parameter was passed to a service or function as the first argument.

InvalidParameter2 

Error - An invalid parameter was passed to a service or function as the second argument.

InvalidParameter3 

Error - An invalid parameter was passed to a service or function as the third argument.

InvalidParameter4 

Error - An invalid parameter was passed to a service or function as the fourth argument.

InvalidParameter5 

Error - An invalid parameter was passed to a service or function as the fifth argument.

InvalidParameter6 

Error - An invalid parameter was passed to a service or function as the sixth argument.

InvalidParameter7 

Error - An invalid parameter was passed to a service or function as the seventh argument.

InvalidParameter8 

Error - An invalid parameter was passed to a service or function as the eighth argument.

InvalidParameter9 

Error - An invalid parameter was passed to a service or function as the ninth argument.

InvalidParameter10 

Error - An invalid parameter was passed to a service or function as the tenth argument.

InvalidParameter11 

Error - An invalid parameter was passed to a service or function as the eleventh argument.

InvalidParameter12 

Error - An invalid parameter was passed to a service or function as the twelfth argument.

DirectoryNotEmpty 

Error - Indicates that the directory trying to be deleted is not empty.

NotADirectory 

Error - A requested opened file is not a directory.

MappedFileSizeZero 

Error - An attempt was made to map a file of size zero with the maximum size specified as zero.

TooManyOpenedFiles 

Error - Too many files are opened on a remote server. This error should only be returned by the Windows redirector on a remote drive.

Cancelled 

Error - The I/O request was canceled.

CannotDelete 

Error - An attempt has been made to remove a file or directory that cannot be deleted.

InvalidComputerName 

Error - Indicates a name that was specified as a remote computer name is syntactically invalid.

FileDeleted 

Error - An I/O request other than close was performed on a file after it was deleted, which can only happen to a request that did not complete before the last handle was closed via NtClose.

SpecialAccount 

Error - Indicates an operation that is incompatible with built-in accounts has been attempted on a built-in (special) SAM account. For example, built-in accounts cannot be deleted.

SpecialGroup 

Error - The operation requested cannot be performed on the specified group because it is a built-in special group.

SpecialUser 

Error - The operation requested cannot be performed on the specified user because it is a built-in special user.

MembersPrimaryGroup 

Error - Indicates a member cannot be removed from a group because the group is currently the member's primary group.

FileClosed 

Error - An I/O request other than close and several other special case operations was attempted using a file object that had already been closed.

TooManyThreads 

Error - Indicates a process has too many threads to perform the requested action. For example, assignment of a primary token can be performed only when a process has zero or one threads.

ThreadNotInProcess 

Error - An attempt was made to operate on a thread within a specific process, but the specified thread is not in the specified process.

TokenAlreadyInUse 

Error - An attempt was made to establish a token for use as a primary token but the token is already in use. A token can only be the primary token of one process at a time.

PagefileQuotaExceeded 

Error - The page file quota was exceeded.

CommitmentLimit 

Error - {Out of Virtual Memory} Your system is low on virtual memory. To ensure that Windows runs correctly, increase the size of your virtual memory paging file.

InvalidImageLeFormat 

Error - The specified image file did not have the correct format: it appears to be LE format.

InvalidImageNotMz 

Error - The specified image file did not have the correct format: it did not have an initial MZ.

InvalidImageProtect 

Error - The specified image file did not have the correct format: it did not have a proper e_lfarlc in the MZ header.

InvalidImageWin16 

Error - The specified image file did not have the correct format: it appears to be a 16-bit Windows image.

LogonServer 

Error - The Netlogon service cannot start because another Netlogon service running in the domain conflicts with the specified role.

DifferenceAtDc 

Error - The time at the primary domain controller is different from the time at the backup domain controller or member server by too large an amount.

SynchronizationRequired 

Error - The SAM database on a Windows Server operating system is significantly out of synchronization with the copy on the domain controller. A complete synchronization is required.

DllNotFound 

Error - {Unable To Locate Component} This application has failed to start because DLL was not found. Reinstalling the application might fix this problem.

IoPrivilegeFailed 

Error - {Privilege Failed} The I/O permissions for the process could not be changed.

OrdinalNotFound 

Error - {Ordinal Not Found} The ordinal could not be located in the dynamic link library.

EntryPointNotFound 

Error - {Entry Point Not Found} The procedure entry point could not be located in the dynamic link library.

ControlCExit 

Error - {Application Exit by CTRL+C} The application terminated as a result of a CTRL+C.

PortNotSet 

Error - An attempt to remove a processes DebugPort was made, but a port was not already associated with the process.

DebuggerInactive 

Error - An attempt to do an operation on a debug port failed because the port is in the process of being deleted.

CallbackBypass 

Error - A callback has requested to bypass native code.

PortClosed 

Error - The ALPC port is closed.

MessageLost 

Error - The ALPC message requested is no longer available.

InvalidMessage 

Error - The ALPC message supplied is invalid.

RequestCanceled 

Error - The ALPC message has been canceled.

RecursiveDispatch 

Error - Invalid recursive dispatch attempt.

LpcReceiveBufferExpected 

Error - No receive buffer has been supplied in a synchronous request.

LpcInvalidConnectionUsage 

Error - The connection port is used in an invalid context.

LpcRequestsNotAllowed 

Error - The ALPC port does not accept new request messages.

ResourceInUse 

Error - The resource requested is already in use.

ProcessIsProtected 

Error - Either the target process, or the target thread's containing process, is a protected process.

VolumeDirty 

Error - The operation could not be completed because the volume is dirty. Please run the Chkdsk utility and try again.

FileCheckedOut 

Error - This file is checked out or locked for editing by another user.

CheckOutRequired 

Error - The file must be checked out before saving changes.

BadFileType 

Error - The file type being saved or retrieved has been blocked.

FileTooLarge 

Error - The file size exceeds the limit allowed and cannot be saved.

FormsAuthRequired 

Error - Access Denied. Before opening files in this location, you must first browse to the e.g. site and select the option to log on automatically.

VirusInfected 

Error - The operation did not complete successfully because the file contains a virus.

VirusDeleted 

Error - This file contains a virus and cannot be opened. Due to the nature of this virus, the file has been removed from this location.

TransactionalConflict 

Error - Transaction - The function attempted to use a name that is reserved for use by another transaction.

InvalidTransaction 

Error - Transaction - The transaction handle associated with this operation is invalid.

TransactionNotActive 

Error - Transaction - The requested operation was made in the context of a transaction that is no longer active.

TmInitializationFailed 

Error - Transaction - The transaction manager was unable to be successfully initialized. Transacted operations are not supported.

RmNotActive 

Error - Transaction - Transaction support within the specified file system resource manager was not started or was shut down due to an error.

RmMetadataCorrupt 

Error - Transaction - The metadata of the resource manager has been corrupted. The resource manager will not function.

TransactionNotJoined 

Error - Transaction - The resource manager attempted to prepare a transaction that it has not successfully joined.

DirectoryNotRm 

Error - Transaction - The specified directory does not contain a file system resource manager.

CouldNotResizeLog 

Error - Transaction - The log could not be set to the requested size.

TransactionsUnsupportedRemote 

Error - Transaction - The remote server or share does not support transacted file operations.

LogResizeInvalidSize 

Error - Transaction - The requested log size for the file system resource manager is invalid.

RemoteFileVersionMismatch 

Error - Transaction - The remote server sent mismatching version number or Fid for a file opened with transactions.

CrmProtocolAlreadyExists 

Error - Transaction - The resource manager tried to register a protocol that already exists.

TransactionPropagationFailed 

Error - Transaction - The attempt to propagate the transaction failed.

CrmProtocolNotFound 

Error - Transaction - The requested propagation protocol was not registered as a CRM.

TransactionSuperiorExists 

Error - Transaction - The transaction object already has a superior enlistment, and the caller attempted an operation that would have created a new superior. Only a single superior enlistment is allowed.

TransactionRequestNotValid 

Error - Transaction - The requested operation is not valid on the transaction object in its current state.

TransactionNotRequested 

Error - Transaction - The caller has called a response API, but the response is not expected because the transaction manager did not issue the corresponding request to the caller.

TransactionAlreadyAborted 

Error - Transaction - It is too late to perform the requested operation, because the transaction has already been aborted.

TransactionAlreadyCommitted 

Error - Transaction - It is too late to perform the requested operation, because the transaction has already been committed.

TransactionInvalidMarshallBuffer 

Error - Transaction - The buffer passed in to NtPushTransaction or NtPullTransaction is not in a valid format.

CurrentTransactionNotValid 

Error - Transaction - The current transaction context associated with the thread is not a valid handle to a transaction object.

LogGrowthFailed 

Error - Transaction - An attempt to create space in the transactional resource manager's log failed. The failure status has been recorded in the event log.

ObjectNoLongerExists 

Error - Transaction - The object (file, stream, or link) that corresponds to the handle has been deleted by a transaction save-point rollback.

StreamMiniversionNotFound 

Error - Transaction - The specified file mini-version was not found for this transacted file open.

StreamMiniversionNotValid 

Error - Transaction - The specified file mini-version was found but has been invalidated. The most likely cause is a transaction save-point rollback.

MiniversionInaccessibleFromSpecifiedTransaction 

Error - Transaction - A mini-version can be opened only in the context of the transaction that created it.

CantOpenMiniversionWithModifyIntent 

Error - Transaction - It is not possible to open a mini-version with modify access.

CantCreateMoreStreamMiniversions 

Error - Transaction - It is not possible to create any more mini-versions for this stream.

HandleNoLongerValid 

Error - Transaction - The handle has been invalidated by a transaction. The most likely cause is the presence of memory mapping on a file or an open handle when the transaction ended or rolled back to save-point.

NoTxfMetadata 

Error - Transaction - There is no transaction metadata on the file.

RmDisconnected 

Error - Transaction - The transaction outcome is unavailable because the resource manager responsible for it is disconnected.

Error - The transaction outcome is unavailable because the resource manager responsible for it is disconnected.

EnlistmentNotSuperior 

Error - Transaction - The request was rejected because the enlistment in question is not a superior enlistment.

FileIdentityNotPersistent 

Error - Transaction - The file cannot be opened in a transaction because its identity depends on the outcome of an unresolved transaction.

Error - The file cannot be opened in a transaction because its identity depends on the outcome of an unresolved transaction.

CantBreakTransactionalDependency 

Error - Transaction - The operation cannot be performed because another transaction is depending on this property not changing.

CantCrossRmBoundary 

Error - Transaction - The operation would involve a single file with two transactional resource managers and is, therefore, not allowed.

TxfDirNotEmpty 

Error - Transaction - The $Txf directory must be empty for this operation to succeed.

IndoubtTransactionsExist 

Error - Transaction - The operation would leave a transactional resource manager in an inconsistent state and is therefore not allowed.

TmVolatile 

Error - Transaction - The operation could not be completed because the transaction manager does not have a log.

RollbackTimerExpired 

Error - Transaction - A rollback could not be scheduled because a previously scheduled rollback has already executed or been queued for execution.

TxfAttributeCorrupt 

Error - Transaction - The transactional metadata attribute on the file or directory is corrupt and unreadable.

EfsNotAllowedInTransaction 

Error - Transaction - The encryption operation could not be completed because a transaction is active.

TransactionalOpenNotAllowed 

Error - Transaction - This object is not allowed to be opened in a transaction.

TransactedMappingUnsupportedRemote 

Error - Transaction - Memory mapping (creating a mapped section) a remote file under a transaction is not supported.

TransactionRequiredPromotion 

Error - Transaction - Promotion was required to allow the resource manager to enlist, but the transaction was set to disallow it.

Error - Promotion was required to allow the resource manager to enlist, but the transaction was set to disallow it.

CannotExecuteFileInTransaction 

Error - Transaction - This file is open for modification in an unresolved transaction and can be opened for execute only by a transacted reader.

TransactionsNotFrozen 

Error - Transaction - The request to thaw frozen transactions was ignored because transactions were not previously frozen.

MaximumNtStatus 

Maximal value