[ros-diffs] [hpoussin] 35280: Expand recyclebin API with DeleteFileHandleToRecycleBin and GetRecycleBinDetails

hpoussin at svn.reactos.org hpoussin at svn.reactos.org
Mon Aug 11 19:31:51 CEST 2008


Author: hpoussin
Date: Mon Aug 11 12:31:51 2008
New Revision: 35280

URL: http://svn.reactos.org/svn/reactos?rev=35280&view=rev
Log:
Expand recyclebin API with DeleteFileHandleToRecycleBin and GetRecycleBinDetails

Modified:
    trunk/reactos/lib/recyclebin/recyclebin.c
    trunk/reactos/lib/recyclebin/recyclebin.h

Modified: trunk/reactos/lib/recyclebin/recyclebin.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/recyclebin/recyclebin.c?rev=35280&r1=35279&r2=35280&view=diff
==============================================================================
--- trunk/reactos/lib/recyclebin/recyclebin.c [iso-8859-1] (original)
+++ trunk/reactos/lib/recyclebin/recyclebin.c [iso-8859-1] Mon Aug 11 12:31:51 2008
@@ -94,6 +94,26 @@
 }
 
 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)
 {
@@ -335,6 +355,18 @@
 }
 
 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)
 {

Modified: trunk/reactos/lib/recyclebin/recyclebin.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/recyclebin/recyclebin.h?rev=35280&r1=35279&r2=35280&view=diff
==============================================================================
--- trunk/reactos/lib/recyclebin/recyclebin.h [iso-8859-1] (original)
+++ trunk/reactos/lib/recyclebin/recyclebin.h [iso-8859-1] Mon Aug 11 12:31:51 2008
@@ -72,6 +72,15 @@
 #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.
@@ -137,6 +146,17 @@
 #else
 #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



More information about the Ros-diffs mailing list