tst: winfsp-tests: WIP

This commit is contained in:
Bill Zissimopoulos 2016-10-26 13:59:21 -07:00
parent 5e71992153
commit 8f54152096
2 changed files with 90 additions and 0 deletions

View File

@ -262,3 +262,72 @@ HANDLE HookFindFirstStreamW(
MaybeAdjustTraversePrivilege(TRUE);
return Handle;
}
BOOL HookGetDiskFreeSpaceW(
LPCWSTR lpRootPathName,
LPDWORD lpSectorsPerCluster,
LPDWORD lpBytesPerSector,
LPDWORD lpNumberOfFreeClusters,
LPDWORD lpTotalNumberOfClusters)
{
WCHAR FileNameBuf[FILENAMEBUF_SIZE];
BOOL Success;
PrepareFileName(lpRootPathName, FileNameBuf);
MaybeAdjustTraversePrivilege(FALSE);
Success = GetDiskFreeSpaceW(
FileNameBuf,
lpSectorsPerCluster,
lpBytesPerSector,
lpNumberOfFreeClusters,
lpTotalNumberOfClusters);
MaybeAdjustTraversePrivilege(TRUE);
return Success;
}
BOOL HookGetVolumeInformationW(
LPCWSTR lpRootPathName,
LPWSTR lpVolumeNameBuffer,
DWORD nVolumeNameSize,
LPDWORD lpVolumeSerialNumber,
LPDWORD lpMaximumComponentLength,
LPDWORD lpFileSystemFlags,
LPWSTR lpFileSystemNameBuffer,
DWORD nFileSystemNameSize)
{
WCHAR FileNameBuf[FILENAMEBUF_SIZE];
BOOL Success;
PrepareFileName(lpRootPathName, FileNameBuf);
MaybeAdjustTraversePrivilege(FALSE);
Success = GetVolumeInformationW(
FileNameBuf,
lpVolumeNameBuffer,
nVolumeNameSize,
lpVolumeSerialNumber,
lpMaximumComponentLength,
lpFileSystemFlags,
lpFileSystemNameBuffer,
nFileSystemNameSize);
MaybeAdjustTraversePrivilege(TRUE);
return Success;
}
BOOL HookSetVolumeLabelW(
LPCWSTR lpRootPathName,
LPCWSTR lpVolumeName)
{
WCHAR FileNameBuf[FILENAMEBUF_SIZE];
BOOL Success;
PrepareFileName(lpRootPathName, FileNameBuf);
MaybeAdjustTraversePrivilege(FALSE);
Success = SetVolumeLabelW(
FileNameBuf,
lpVolumeName);
MaybeAdjustTraversePrivilege(TRUE);
return Success;
}

View File

@ -38,6 +38,9 @@
#define MoveFileExW HookMoveFileExW
#define FindFirstFileW HookFindFirstFileW
#define FindFirstStreamW HookFindFirstStreamW
#define GetDiskFreeSpaceW HookGetDiskFreeSpaceW
#define GetVolumeInformationW HookGetVolumeInformationW
#define SetVolumeLabelW HookSetVolumeLabelW
#endif
HANDLE HookCreateFileW(
LPCWSTR lpFileName,
@ -71,6 +74,24 @@ HANDLE HookFindFirstStreamW(
STREAM_INFO_LEVELS InfoLevel,
LPVOID lpFindStreamData,
DWORD dwFlags);
BOOL HookGetDiskFreeSpaceW(
LPCWSTR lpRootPathName,
LPDWORD lpSectorsPerCluster,
LPDWORD lpBytesPerSector,
LPDWORD lpNumberOfFreeClusters,
LPDWORD lpTotalNumberOfClusters);
BOOL HookGetVolumeInformationW(
LPCWSTR lpRootPathName,
LPWSTR lpVolumeNameBuffer,
DWORD nVolumeNameSize,
LPDWORD lpVolumeSerialNumber,
LPDWORD lpMaximumComponentLength,
LPDWORD lpFileSystemFlags,
LPWSTR lpFileSystemNameBuffer,
DWORD nFileSystemNameSize);
BOOL HookSetVolumeLabelW(
LPCWSTR lpRootPathName,
LPCWSTR lpVolumeName);
HANDLE ResilientCreateFileW(
LPCWSTR lpFileName,