From aace751d016b383dd92ed228e2fba4c1c97fa55b Mon Sep 17 00:00:00 2001 From: shell Date: Sun, 21 Jun 2026 21:56:30 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E6=8E=A5=E5=8F=A3=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/seafile/fs/winfsp_adapter.hpp | 4 ++++ src/seafile/fs/winfsp_adapter.cpp | 16 ++++++++-------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/include/seafile/fs/winfsp_adapter.hpp b/include/seafile/fs/winfsp_adapter.hpp index ae7a9fa..543a548 100644 --- a/include/seafile/fs/winfsp_adapter.hpp +++ b/include/seafile/fs/winfsp_adapter.hpp @@ -44,6 +44,10 @@ namespace seafile::fs { static NTSTATUS ReadDirectory(FSP_FILE_SYSTEM *FileSystem, PVOID FileContext0, PWSTR Pattern, PWSTR Marker, PVOID Buffer, ULONG BufferLength, PULONG PBytesTransferred); + static NTSTATUS GetDirInfoByName(FSP_FILE_SYSTEM *FileSystem, + PVOID FileContext, PWSTR FileName, + FSP_FSCTL_DIR_INFO *DirInfo); + static NTSTATUS SetSecurity(FSP_FILE_SYSTEM *FileSystem, PVOID FileContext, SECURITY_INFORMATION SecurityInformation, diff --git a/src/seafile/fs/winfsp_adapter.cpp b/src/seafile/fs/winfsp_adapter.cpp index a07c9fc..2404210 100644 --- a/src/seafile/fs/winfsp_adapter.cpp +++ b/src/seafile/fs/winfsp_adapter.cpp @@ -4,7 +4,6 @@ // // Created by Shell on 2026/6/20. // -#include "seafile/fs/winfsp_adapter.hpp" #include namespace seafile::fs { @@ -21,7 +20,7 @@ namespace seafile::fs { .GetSecurity = WinFSPAdapter::GetSecurity, .SetSecurity = WinFSPAdapter::SetSecurity, .ReadDirectory = WinFSPAdapter::ReadDirectory, - + .GetDirInfoByName = WinFSPAdapter::GetDirInfoByName }; std::unordered_map fstab; @@ -92,12 +91,6 @@ namespace seafile::fs { TRUE); std::cout << Result << std::endl; - FSP_FSCTL_VOLUME_INFO volumeInfo{}; - auto status = GetVolumeInfo(FileSystem, &volumeInfo); - - std::cout << "GetVolumeInfo direct call = " - << std::hex << status - << std::endl; return Result; } @@ -114,6 +107,7 @@ namespace seafile::fs { } NTSTATUS WinFSPAdapter::GetVolumeInfo(FSP_FILE_SYSTEM *FileSystem, FSP_FSCTL_VOLUME_INFO *VolumeInfo) { + std::cout<<"Getting Volume Info" <(FileSystem->UserContext); return fs->GetVolumeInfo(VolumeInfo); } @@ -133,6 +127,12 @@ namespace seafile::fs { return fs->ReadDirectory(FileContext0, Pattern, Marker, Buffer, BufferLength, PBytesTransferred); } + NTSTATUS WinFSPAdapter::GetDirInfoByName(FSP_FILE_SYSTEM *FileSystem, + PVOID FileContext, PWSTR FileName, + FSP_FSCTL_DIR_INFO *DirInfo) { + return STATUS_NOT_IMPLEMENTED; + } + NTSTATUS WinFSPAdapter::GetSecurityByName(FSP_FILE_SYSTEM *FileSystem, PWSTR FileName, PUINT32 PFileAttributes, PSECURITY_DESCRIPTOR SecurityDescriptor,