13 IN HDELFILE hDeletedFile)
15 IRecycleBinFile *rbf = (IRecycleBinFile *)hDeletedFile;
18 TRACE(
"(%p)\n", hDeletedFile);
20 hr = IRecycleBinFile_Release(rbf);
80 IRecycleBin_Release(prb);
94 IN HDELFILE hDeletedFile)
96 IRecycleBinFile *rbf = (IRecycleBinFile *)hDeletedFile;
99 TRACE(
"(%p)\n", hDeletedFile);
101 hr = IRecycleBinFile_Delete(rbf);
157 hr = IRecycleBin_EmptyRecycleBin(prb);
158 IRecycleBin_Release(prb);
210 IRecycleBin *prb =
NULL;
211 IRecycleBinEnumList *prbel =
NULL;
212 IRecycleBinFile *prbf;
221 hr = IRecycleBin_EnumObjects(prb, &prbel);
226 hr = IRecycleBinEnumList_Next(prbel, 1, &prbf,
NULL);
243 IRecycleBin_Release(prb);
245 IRecycleBinEnumList_Release(prbel);
257 IN HDELFILE hDeletedFile,
262 IRecycleBinFile *prbf = (IRecycleBinFile *)hDeletedFile;
283 IN HDELFILE hDeletedFile,
289 DWORD BufferSizeW = 0;
299 if (FileDetails && BufferSizeW)
328 IN HDELFILE hDeletedFile,
333 IRecycleBinFile *rbf = (IRecycleBinFile *)hDeletedFile;
339 hr = IRecycleBinFile_GetFileName(rbf, 0,
NULL, &NameSize);
350 hr = IRecycleBinFile_GetFileName(rbf, NameSize, FileDetails->FileName,
NULL);
353 hr = IRecycleBinFile_GetLastModificationTime(rbf, &FileDetails->LastModification);
356 hr = IRecycleBinFile_GetDeletionTime(rbf, &FileDetails->DeletionTime);
359 hr = IRecycleBinFile_GetFileSize(rbf, &FileDetails->FileSize);
362 hr = IRecycleBinFile_GetPhysicalFileSize(rbf, &FileDetails->PhysicalFileSize);
365 hr = IRecycleBinFile_GetAttributes(rbf, &FileDetails->Attributes);
381 IN HDELFILE hDeletedFile)
383 IRecycleBinFile *rbf = (IRecycleBinFile *)hDeletedFile;
386 TRACE(
"(%p)\n", hDeletedFile);
388 hr = IRecycleBinFile_Restore(rbf);
401 OUT IRecycleBin **pprb)
416 if (
wcslen(pszVolume) != 3 || pszVolume[1] !=
':' || pszVolume[2] !=
'\\')
425 IUnknown_Release(
pUnk);
#define ERROR_NOT_ENOUGH_MEMORY
#define ERROR_INSUFFICIENT_BUFFER
#define ERROR_INVALID_PARAMETER
#define HeapFree(x, y, z)
#define WideCharToMultiByte
#define MultiByteToWideChar
#define ERROR_INVALID_NAME
static void cleanup(void)
BOOL WINAPI RestoreFile(IN HDELFILE hDeletedFile)
BOOL WINAPI EnumerateRecycleBinW(IN LPCWSTR pszRoot OPTIONAL, IN PENUMERATE_RECYCLEBIN_CALLBACK pFnCallback, IN PVOID Context OPTIONAL)
BOOL WINAPI EnumerateRecycleBinA(IN LPCSTR pszRoot OPTIONAL, IN PENUMERATE_RECYCLEBIN_CALLBACK pFnCallback, IN PVOID Context OPTIONAL)
BOOL WINAPI DeleteFileToRecycleBinA(IN LPCSTR FileName)
BOOL WINAPI DeleteFileToRecycleBinW(IN LPCWSTR FileName)
BOOL WINAPI GetDeletedFileDetailsA(IN HDELFILE hDeletedFile, IN DWORD BufferSize, IN OUT PDELETED_FILE_DETAILS_A FileDetails OPTIONAL, OUT LPDWORD RequiredSize OPTIONAL)
BOOL WINAPI CloseRecycleBinHandle(IN HDELFILE hDeletedFile)
BOOL WINAPI GetDeletedFileTypeNameW(IN HDELFILE hDeletedFile, OUT LPWSTR pTypeName, IN DWORD BufferSize, OUT LPDWORD RequiredSize OPTIONAL)
BOOL WINAPI GetDeletedFileDetailsW(IN HDELFILE hDeletedFile, IN DWORD BufferSize, IN OUT PDELETED_FILE_DETAILS_W FileDetails OPTIONAL, OUT LPDWORD RequiredSize OPTIONAL)
BOOL WINAPI EmptyRecycleBinA(IN LPCSTR pszRoot OPTIONAL)
BOOL WINAPI EmptyRecycleBinW(IN LPCWSTR pszRoot OPTIONAL)
BOOL WINAPI DeleteFileHandleToRecycleBin(IN HDELFILE hDeletedFile)
HRESULT WINAPI GetDefaultRecycleBin(IN LPCWSTR pszVolume OPTIONAL, OUT IRecycleBin **pprb)
static void *static void *static LPDIRECTPLAY IUnknown * pUnk
_CRTIMP size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
EXTERN_C const IID IID_IRecycleBin
BOOL(WINAPI * PENUMERATE_RECYCLEBIN_CALLBACK)(IN PVOID Context, IN HDELFILE hDeletedFile)
EXTERN_C HRESULT RecycleBinGeneric_Constructor(OUT IUnknown **ppUnknown)
EXTERN_C HRESULT RecycleBin5_Constructor(_In_ LPCWSTR VolumePath, _Out_ IUnknown **ppUnknown)
PULONG MinorVersion OPTIONAL
#define FIELD_OFFSET(t, f)
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ ULONG _Out_ PVOID _Out_ PULONG RequiredSize
_In_ WDFMEMORY _Out_opt_ size_t * BufferSize
DWORD WINAPI GetLastError(void)
#define HRESULT_FACILITY(hr)
#define ERROR_GEN_FAILURE
#define HRESULT_FROM_WIN32(x)