INTFileStore: Added LockFile and UnlockFile methods

This commit is contained in:
Tal Aloni 2017-08-31 14:04:05 +03:00
parent 488165b8b9
commit 36a0768457
4 changed files with 34 additions and 1 deletions

View file

@ -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;

View file

@ -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<QueryDirectoryFileInformation> result, object handle, string fileName, FileInformationClass informationClass);
NTStatus GetFileInformation(out FileInformation result, object handle, FileInformationClass informationClass);

View file

@ -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;

View file

@ -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<QueryDirectoryFileInformation> result, object handle, string fileName, FileInformationClass informationClass)
{
IO_STATUS_BLOCK ioStatusBlock;