mirror of
https://github.com/winfsp/winfsp.git
synced 2025-04-22 08:23:05 -05:00
Merge branch 'master' into pvt-sxs
This commit is contained in:
commit
e8cec5dfc1
@ -1,6 +1,15 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
|
||||||
|
## v1.12B2 (2022.2 Beta2)
|
||||||
|
|
||||||
|
- [NEW] WinFsp now supports mounting as directory using the Mount Manager. Use the syntax `\\.\C:\Path\To\Mount\Directory`.
|
||||||
|
|
||||||
|
- [NEW] A new registry setting `MountUseMountmgrFromFSD` has been added. See [WinFsp Registry Settings](https://github.com/winfsp/winfsp/wiki/WinFsp-Registry-Settings) for details.
|
||||||
|
|
||||||
|
- [BUILD] Product configuration for the relative paths to the File System Driver, Network Provider and EventLog is now possible via the file `build.version.props` located in `build\VStudio`.
|
||||||
|
|
||||||
|
|
||||||
## v1.12B1 (2022.2 Beta1)
|
## v1.12B1 (2022.2 Beta1)
|
||||||
|
|
||||||
- [NEW] WinFsp now supports mounting as directory using the Mount Manager. Use the syntax `\\.\C:\Path\To\Mount\Directory`.
|
- [NEW] WinFsp now supports mounting as directory using the Mount Manager. Use the syntax `\\.\C:\Path\To\Mount\Directory`.
|
||||||
|
@ -68,6 +68,7 @@ CONTRIBUTOR LIST
|
|||||||
|John Tyner |jtyner at gmail.com
|
|John Tyner |jtyner at gmail.com
|
||||||
|Paweł Wegner (Google LLC, https://google.com) |lemourin at google.com
|
|Paweł Wegner (Google LLC, https://google.com) |lemourin at google.com
|
||||||
|Pedro Frejo (Arpa System, https://arpasystem.com) |pedro.frejo at arpasystem.com
|
|Pedro Frejo (Arpa System, https://arpasystem.com) |pedro.frejo at arpasystem.com
|
||||||
|
|Ronny Chan |ronny at ronnychan.ca
|
||||||
|Sam Kelly (DuroSoft Technologies LLC, https://durosoft.com) |sam at durosoft.com
|
|Sam Kelly (DuroSoft Technologies LLC, https://durosoft.com) |sam at durosoft.com
|
||||||
|Santiago Ganis |sganis at gmail.com
|
|Santiago Ganis |sganis at gmail.com
|
||||||
|Tobias Urlaub |saibotu at outlook.de
|
|Tobias Urlaub |saibotu at outlook.de
|
||||||
|
@ -34,3 +34,4 @@ This document contains a list of known open-source file systems and file system
|
|||||||
- https://github.com/billziss-gh/fusepy[Python: fusepy] - Simple ctypes bindings for FUSE
|
- https://github.com/billziss-gh/fusepy[Python: fusepy] - Simple ctypes bindings for FUSE
|
||||||
- https://github.com/pleiszenburg/refuse[Python: refuse] - Simple cross-plattform ctypes bindings for libfuse / FUSE for macOS / WinFsp
|
- https://github.com/pleiszenburg/refuse[Python: refuse] - Simple cross-plattform ctypes bindings for libfuse / FUSE for macOS / WinFsp
|
||||||
- https://github.com/Scille/winfspy[Python: winfspy] - WinFSP binding for Python
|
- https://github.com/Scille/winfspy[Python: winfspy] - WinFSP binding for Python
|
||||||
|
- https://github.com/SnowflakePowered/winfsp-rs[Rust: winfsp-rs] - WinFSP binding for Rust
|
||||||
|
@ -538,7 +538,8 @@ static NTSTATUS GetFileInfoInternal(HANDLE Handle, FSP_FSCTL_FILE_INFO *FileInfo
|
|||||||
FileInfo->LastAccessTime = ((PLARGE_INTEGER)&ByHandleFileInfo.ftLastAccessTime)->QuadPart;
|
FileInfo->LastAccessTime = ((PLARGE_INTEGER)&ByHandleFileInfo.ftLastAccessTime)->QuadPart;
|
||||||
FileInfo->LastWriteTime = ((PLARGE_INTEGER)&ByHandleFileInfo.ftLastWriteTime)->QuadPart;
|
FileInfo->LastWriteTime = ((PLARGE_INTEGER)&ByHandleFileInfo.ftLastWriteTime)->QuadPart;
|
||||||
FileInfo->ChangeTime = FileInfo->LastWriteTime;
|
FileInfo->ChangeTime = FileInfo->LastWriteTime;
|
||||||
FileInfo->IndexNumber = 0;
|
FileInfo->IndexNumber =
|
||||||
|
((UINT64)ByHandleFileInfo.nFileIndexHigh << 32) | (UINT64)ByHandleFileInfo.nFileIndexLow;
|
||||||
FileInfo->HardLinks = 0;
|
FileInfo->HardLinks = 0;
|
||||||
|
|
||||||
return STATUS_SUCCESS;
|
return STATUS_SUCCESS;
|
||||||
|
@ -180,7 +180,7 @@ FSP_FUSE_API struct fuse_chan *fsp_fuse_mount(struct fsp_fuse_env *env,
|
|||||||
const char *mountpoint, struct fuse_args *args)
|
const char *mountpoint, struct fuse_args *args)
|
||||||
{
|
{
|
||||||
struct fuse_chan *ch = 0;
|
struct fuse_chan *ch = 0;
|
||||||
WCHAR TempMountPointBuf[MAX_PATH], MountPointBuf[MAX_PATH];
|
WCHAR TempMountPointBuf[MAX_PATH], MountPointBuf[MAX_PATH + 4];
|
||||||
int Size;
|
int Size;
|
||||||
|
|
||||||
if (0 == mountpoint || '\0' == mountpoint[0] ||
|
if (0 == mountpoint || '\0' == mountpoint[0] ||
|
||||||
@ -212,6 +212,33 @@ FSP_FUSE_API struct fuse_chan *fsp_fuse_mount(struct fsp_fuse_env *env,
|
|||||||
MountPointBuf[6] = '\0';
|
MountPointBuf[6] = '\0';
|
||||||
Size = 7 * sizeof(WCHAR);
|
Size = 7 * sizeof(WCHAR);
|
||||||
}
|
}
|
||||||
|
else if (
|
||||||
|
(
|
||||||
|
'\\' == mountpoint[0] &&
|
||||||
|
'\\' == mountpoint[1] &&
|
||||||
|
('?' == mountpoint[2] || '.' == mountpoint[2]) &&
|
||||||
|
'\\' == mountpoint[3]
|
||||||
|
) &&
|
||||||
|
(
|
||||||
|
('A' <= mountpoint[4] && mountpoint[4] <= 'Z') ||
|
||||||
|
('a' <= mountpoint[4] && mountpoint[4] <= 'z')
|
||||||
|
) &&
|
||||||
|
':' == mountpoint[5] && '\\' == mountpoint[6])
|
||||||
|
{
|
||||||
|
MountPointBuf[0] = '\\';
|
||||||
|
MountPointBuf[1] = '\\';
|
||||||
|
MountPointBuf[2] = mountpoint[2];
|
||||||
|
MountPointBuf[3] = '\\';
|
||||||
|
|
||||||
|
Size = 0;
|
||||||
|
if (0 != MultiByteToWideChar(CP_UTF8, 0, mountpoint + 4, -1, TempMountPointBuf, MAX_PATH))
|
||||||
|
Size = GetFullPathNameW(TempMountPointBuf, MAX_PATH, MountPointBuf + 4, 0);
|
||||||
|
|
||||||
|
if (0 == Size || MAX_PATH <= Size)
|
||||||
|
goto fail;
|
||||||
|
|
||||||
|
Size = (Size + 4 + 1) * sizeof(WCHAR);
|
||||||
|
}
|
||||||
else if (
|
else if (
|
||||||
(
|
(
|
||||||
('A' <= mountpoint[0] && mountpoint[0] <= 'Z') ||
|
('A' <= mountpoint[0] && mountpoint[0] <= 'Z') ||
|
||||||
|
@ -62,7 +62,8 @@ static NTSTATUS GetFileInfoInternal(HANDLE Handle, FSP_FSCTL_FILE_INFO *FileInfo
|
|||||||
FileInfo->LastAccessTime = ((PLARGE_INTEGER)&ByHandleFileInfo.ftLastAccessTime)->QuadPart;
|
FileInfo->LastAccessTime = ((PLARGE_INTEGER)&ByHandleFileInfo.ftLastAccessTime)->QuadPart;
|
||||||
FileInfo->LastWriteTime = ((PLARGE_INTEGER)&ByHandleFileInfo.ftLastWriteTime)->QuadPart;
|
FileInfo->LastWriteTime = ((PLARGE_INTEGER)&ByHandleFileInfo.ftLastWriteTime)->QuadPart;
|
||||||
FileInfo->ChangeTime = FileInfo->LastWriteTime;
|
FileInfo->ChangeTime = FileInfo->LastWriteTime;
|
||||||
FileInfo->IndexNumber = 0;
|
FileInfo->IndexNumber =
|
||||||
|
((UINT64)ByHandleFileInfo.nFileIndexHigh << 32) | (UINT64)ByHandleFileInfo.nFileIndexLow;
|
||||||
FileInfo->HardLinks = 0;
|
FileInfo->HardLinks = 0;
|
||||||
|
|
||||||
return STATUS_SUCCESS;
|
return STATUS_SUCCESS;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user