diff --git a/SMBLibrary/NTFileStore/Adapter/NTFileSystemAdapter.cs b/SMBLibrary/NTFileStore/Adapter/NTFileSystemAdapter.cs index 49dbc57..0e237ed 100644 --- a/SMBLibrary/NTFileStore/Adapter/NTFileSystemAdapter.cs +++ b/SMBLibrary/NTFileStore/Adapter/NTFileSystemAdapter.cs @@ -382,6 +382,16 @@ namespace SMBLibrary return NTStatus.STATUS_SUCCESS; } + public NTStatus LockFile(object handle, long byteOffset, long length, bool exclusiveLock) + { + return NTStatus.STATUS_NOT_SUPPORTED; + } + + public NTStatus UnlockFile(object handle, long byteOffset, long length) + { + return NTStatus.STATUS_NOT_SUPPORTED; + } + public NTStatus NotifyChange(out object ioRequest, object handle, NotifyChangeFilter completionFilter, bool watchTree, int outputBufferSize, OnNotifyChangeCompleted onNotifyChangeCompleted, object context) { ioRequest = null; diff --git a/SMBLibrary/NTFileStore/INTFileStore.cs b/SMBLibrary/NTFileStore/INTFileStore.cs index 32c4e52..76c1349 100644 --- a/SMBLibrary/NTFileStore/INTFileStore.cs +++ b/SMBLibrary/NTFileStore/INTFileStore.cs @@ -28,6 +28,10 @@ namespace SMBLibrary NTStatus FlushFileBuffers(object handle); + NTStatus LockFile(object handle, long byteOffset, long length, bool exclusiveLock); + + NTStatus UnlockFile(object handle, long byteOffset, long length); + NTStatus QueryDirectory(out List result, object handle, string fileName, FileInformationClass informationClass); NTStatus GetFileInformation(out FileInformation result, object handle, FileInformationClass informationClass); diff --git a/SMBLibrary/NTFileStore/NamedPipeStore.cs b/SMBLibrary/NTFileStore/NamedPipeStore.cs index eef720c..e5052ec 100644 --- a/SMBLibrary/NTFileStore/NamedPipeStore.cs +++ b/SMBLibrary/NTFileStore/NamedPipeStore.cs @@ -99,6 +99,16 @@ namespace SMBLibrary return NTStatus.STATUS_SUCCESS; } + public NTStatus LockFile(object handle, long byteOffset, long length, bool exclusiveLock) + { + return NTStatus.STATUS_NOT_SUPPORTED; + } + + public NTStatus UnlockFile(object handle, long byteOffset, long length) + { + return NTStatus.STATUS_NOT_SUPPORTED; + } + public NTStatus DeviceIOControl(object handle, uint ctlCode, byte[] input, out byte[] output, int maxOutputLength) { output = null; diff --git a/SMBLibrary/Win32/NTFileStore/NTDirectoryFileSystem.cs b/SMBLibrary/Win32/NTFileStore/NTDirectoryFileSystem.cs index b711019..32af00d 100644 --- a/SMBLibrary/Win32/NTFileStore/NTDirectoryFileSystem.cs +++ b/SMBLibrary/Win32/NTFileStore/NTDirectoryFileSystem.cs @@ -110,7 +110,6 @@ namespace SMBLibrary.Win32 public NTDirectoryFileSystem(string path) : this(new DirectoryInfo(path)) { - } public NTDirectoryFileSystem(DirectoryInfo directory) @@ -226,6 +225,16 @@ namespace SMBLibrary.Win32 return NtFlushBuffersFile((IntPtr)handle, out ioStatusBlock); } + public NTStatus LockFile(object handle, long byteOffset, long length, bool exclusiveLock) + { + return NTStatus.STATUS_NOT_SUPPORTED; + } + + public NTStatus UnlockFile(object handle, long byteOffset, long length) + { + return NTStatus.STATUS_NOT_SUPPORTED; + } + public NTStatus QueryDirectory(out List result, object handle, string fileName, FileInformationClass informationClass) { IO_STATUS_BLOCK ioStatusBlock;