mirror of
https://github.com/reactos/reactos.git
synced 2026-07-06 22:54:25 +08:00
Expand recyclebin API with DeleteFileHandleToRecycleBin and GetRecycleBinDetails
svn path=/trunk/; revision=35280
This commit is contained in:
@@ -93,6 +93,26 @@ cleanup:
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
BOOL WINAPI
|
||||
DeleteFileHandleToRecycleBin(
|
||||
IN HANDLE hDeletedFile)
|
||||
{
|
||||
IRecycleBinFile *rbf = (IRecycleBinFile *)hDeletedFile;
|
||||
HRESULT hr;
|
||||
|
||||
TRACE("(%p)\n", hDeletedFile);
|
||||
|
||||
hr = IRecycleBinFile_Delete(rbf);
|
||||
|
||||
if (SUCCEEDED(hr))
|
||||
return TRUE;
|
||||
if (HRESULT_FACILITY(hr) == FACILITY_WIN32)
|
||||
SetLastError(HRESULT_CODE(hr));
|
||||
else
|
||||
SetLastError(ERROR_GEN_FAILURE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
BOOL WINAPI
|
||||
EmptyRecycleBinA(
|
||||
IN LPCSTR pszRoot OPTIONAL)
|
||||
@@ -334,6 +354,18 @@ cleanup:
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
BOOL WINAPI
|
||||
GetRecycleBinDetails(
|
||||
IN LPCWSTR pszVolume OPTIONAL,
|
||||
OUT ULARGE_INTEGER *pulTotalItems,
|
||||
OUT ULARGE_INTEGER *pulTotalSize)
|
||||
{
|
||||
pulTotalItems->QuadPart = 0;
|
||||
pulTotalSize->QuadPart = 0;
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
BOOL WINAPI
|
||||
RestoreFile(
|
||||
IN HANDLE hDeletedFile)
|
||||
|
||||
@@ -72,6 +72,15 @@ DeleteFileToRecycleBinW(
|
||||
#define DeleteFileToRecycleBin DeleteFileToRecycleBinA
|
||||
#endif
|
||||
|
||||
/* Moves a file to the recycle bin.
|
||||
* hDeletedFile: handle of the deleted file to delete
|
||||
* Returns TRUE if operation succeeded, FALSE otherwise.
|
||||
* Remark: The handle is obtained in the PENUMERATE_RECYCLEBIN_CALLBACK callback
|
||||
*/
|
||||
BOOL WINAPI
|
||||
DeleteFileHandleToRecycleBin(
|
||||
IN HANDLE hDeletedFile);
|
||||
|
||||
/* Removes all elements contained in a recycle bin
|
||||
* pszRoot: the name of the drive containing the recycle bin
|
||||
* Returns TRUE if operation succeeded, FALSE otherwise.
|
||||
@@ -138,6 +147,17 @@ GetDeletedFileDetailsW(
|
||||
#define GetDeletedFileDetails GetDeletedFileDetailsA
|
||||
#endif
|
||||
|
||||
/* Get details about a whole recycle bin
|
||||
* pszVolume:
|
||||
* pulTotalItems:
|
||||
* pulTotalSize
|
||||
*/
|
||||
BOOL WINAPI
|
||||
GetRecycleBinDetails(
|
||||
IN LPCWSTR pszVolume OPTIONAL,
|
||||
OUT ULARGE_INTEGER *pulTotalItems,
|
||||
OUT ULARGE_INTEGER *pulTotalSize);
|
||||
|
||||
/* Restores a deleted file
|
||||
* hDeletedFile: handle of the deleted file to restore
|
||||
* Returns TRUE if operation succeeded, FALSE otherwise.
|
||||
|
||||
Reference in New Issue
Block a user