You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When calling SetAccessControl() on a DirectoryInfo instance in C# the call sequence executed on a mounted IDokanOperationsProxy contains several calls with a redundant trailing backslash character:
This is the only known case where dokany calls the IDokanOperationsProxy with a trailing backslash in the filename (actually a directory name). Even in the same call sequence all other methods use the directory name without the trailing slash.
Please change the call pattern so that all file/directory paths are consistently named without a trailing backslash - with the exception of the root directory path \.
See below for the full call sequence taken from a trace of the test DirectoryInfoTest.SetAccessControl_CallsApiCorrectly() in the DokanNet.Tests project.
Relevant filenames are emphasized in bold.
When calling
SetAccessControl()
on aDirectoryInfo
instance in C# the call sequence executed on a mountedIDokanOperationsProxy
contains several calls with a redundant trailing backslash character:This is the only known case where dokany calls the
IDokanOperationsProxy
with a trailing backslash in the filename (actually a directory name). Even in the same call sequence all other methods use the directory name without the trailing slash.Please change the call pattern so that all file/directory paths are consistently named without a trailing backslash - with the exception of the root directory path
\
.See below for the full call sequence taken from a trace of the test
DirectoryInfoTest.SetAccessControl_CallsApiCorrectly()
in the DokanNet.Tests project.Relevant filenames are emphasized in bold.
CreateFile[1] ("", ..)
GetFileInformation[1] ("", ...)
Cleanup[1] ("", ...)
CloseFile[0] ("", ...)
CreateFile[1] ("\Dir", ...)
GetFileInformation[1] ("\Dir", ...)
CreateFile[2] ("", ...)
GetFileInformation[2] ("", ...)
GetFileSecurity[2] ("", ...)
Cleanup[2] ("", ...)
CloseFile[1] ("", ...)
GetFileInformation[1] ("\Dir", ...)
GetFileSecurity[1] ("\Dir", ...)
OpenDirectory[2] ("\Dir", ...)
GetFileInformation[2] ("\Dir", ...)
Cleanup[2] ("\Dir", ...)
CloseFile[1] ("\Dir", ...)
OpenDirectory[2] ("\Dir", ...)
GetFileInformation[2] ("\Dir", ...)
Cleanup[2] ("\Dir", ...)
CloseFile[1] ("\Dir", ...)
SetFileSecurity[1] ("\Dir", ..)
OpenDirectory[2] ("\Dir", ..)
GetFileInformation[2] ("\Dir", ..)
Cleanup[2] ("\Dir", ...)
CloseFile[1] ("\Dir", ...)
OpenDirectory[2] ("\Dir", ...)
GetFileInformation[2] ("\Dir", ...)
Cleanup[2] ("\Dir", ...)
CloseFile[1] ("\Dir", ...)
Cleanup[1] ("\Dir", ...)
Waiting for closure (#1)
CloseFile[0] ("\Dir", ...)
The text was updated successfully, but these errors were encountered: