15 IRecycleBinFile *rbf = (IRecycleBinFile *)hDeletedFile;
18 TRACE(
"(%p)\n", hDeletedFile);
20 hr = IRecycleBinFile_Release(rbf);
80 IRecycleBin_Release(prb);
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);
262 IRecycleBinFile *prbf = (IRecycleBinFile *)hDeletedFile;
289 DWORD BufferSizeW = 0;
299 if (FileDetails && BufferSizeW)
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);
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 EnumerateRecycleBinW(IN LPCWSTR pszRoot OPTIONAL, IN PENUMERATE_RECYCLEBIN_CALLBACK pFnCallback, IN PVOID Context OPTIONAL)
BOOL WINAPI DeleteFileHandleToRecycleBin(IN HANDLE hDeletedFile)
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 GetDeletedFileDetailsW(IN HANDLE hDeletedFile, IN DWORD BufferSize, IN OUT PDELETED_FILE_DETAILS_W FileDetails OPTIONAL, OUT LPDWORD RequiredSize OPTIONAL)
BOOL WINAPI GetDeletedFileDetailsA(IN HANDLE hDeletedFile, IN DWORD BufferSize, IN OUT PDELETED_FILE_DETAILS_A FileDetails OPTIONAL, OUT LPDWORD RequiredSize OPTIONAL)
BOOL WINAPI CloseRecycleBinHandle(IN HANDLE hDeletedFile)
BOOL WINAPI GetDeletedFileTypeNameW(IN HANDLE hDeletedFile, OUT LPWSTR pTypeName, IN DWORD BufferSize, OUT LPDWORD RequiredSize OPTIONAL)
BOOL WINAPI EmptyRecycleBinA(IN LPCSTR pszRoot OPTIONAL)
BOOL WINAPI EmptyRecycleBinW(IN LPCWSTR pszRoot OPTIONAL)
HRESULT WINAPI GetDefaultRecycleBin(IN LPCWSTR pszVolume OPTIONAL, OUT IRecycleBin **pprb)
BOOL WINAPI RestoreFile(IN HANDLE hDeletedFile)
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 HANDLE hDeletedFile)
HRESULT RecycleBinGeneric_Constructor(OUT IUnknown **ppUnknown)
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)