11#define COM_NO_WINDOWS_H
43#define DELETED_FILE_DETAILS DELETED_FILE_DETAILS_W
44#define PDELETED_FILE_DETAILS PDELETED_FILE_DETAILS_W
46#define DELETED_FILE_DETAILS DELETED_FILE_DETAILS_A
47#define PDELETED_FILE_DETAILS PDELETED_FILE_DETAILS_A
70 IN HDELFILE hDeletedFile);
83#define DeleteFileToRecycleBin DeleteFileToRecycleBinW
85#define DeleteFileToRecycleBin DeleteFileToRecycleBinA
95 IN HDELFILE hDeletedFile);
109#define EmptyRecycleBin EmptyRecycleBinW
111#define EmptyRecycleBin EmptyRecycleBinA
132#define EnumerateRecycleBin EnumerateRecycleBinW
134#define EnumerateRecycleBin EnumerateRecycleBinA
139 IN HDELFILE hDeletedFile,
154 IN HDELFILE hDeletedFile,
160 IN HDELFILE hDeletedFile,
165#define GetDeletedFileDetails GetDeletedFileDetailsW
167#define GetDeletedFileDetails GetDeletedFileDetailsA
177 IN HDELFILE hDeletedFile);
181#define INTERFACE IRecycleBinFile
206#define INTERFACE IRecycleBinEnumList
225#define INTERFACE IRecycleBin
248#if (!defined(__cplusplus) || defined(CINTERFACE)) && defined(COBJMACROS)
249#define IRecycleBinFile_QueryInterface(This, riid, ppvObject) \
250 (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
251#define IRecycleBinFile_AddRef(This) \
252 (This)->lpVtbl->AddRef(This)
253#define IRecycleBinFile_Release(This) \
254 (This)->lpVtbl->Release(This)
255#define IRecycleBinFile_GetLastModificationTime(This, pLastModificationTime) \
256 (This)->lpVtbl->GetLastModificationTime(This, pLastModificationTime)
257#define IRecycleBinFile_GetDeletionTime(This, pDeletionTime) \
258 (This)->lpVtbl->GetDeletionTime(This, pDeletionTime)
259#define IRecycleBinFile_GetFileSize(This, pFileSize) \
260 (This)->lpVtbl->GetFileSize(This, pFileSize)
261#define IRecycleBinFile_GetPhysicalFileSize(This, pPhysicalFileSize) \
262 (This)->lpVtbl->GetPhysicalFileSize(This, pPhysicalFileSize)
263#define IRecycleBinFile_GetAttributes(This, pAttributes) \
264 (This)->lpVtbl->GetAttributes(This, pAttributes)
265#define IRecycleBinFile_GetFileName(This, BufferSize, Buffer, RequiredSize) \
266 (This)->lpVtbl->GetFileName(This, BufferSize, Buffer, RequiredSize)
267#define IRecycleBinFile_GetTypeName(This, BufferSize, Buffer, RequiredSize) \
268 (This)->lpVtbl->GetTypeName(This, BufferSize, Buffer, RequiredSize)
269#define IRecycleBinFile_Delete(This) \
270 (This)->lpVtbl->Delete(This)
271#define IRecycleBinFile_Restore(This) \
272 (This)->lpVtbl->Restore(This)
274#define IRecycleBinEnumList_QueryInterface(This, riid, ppvObject) \
275 (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
276#define IRecycleBinEnumList_AddRef(This) \
277 (This)->lpVtbl->AddRef(This)
278#define IRecycleBinEnumList_Release(This) \
279 (This)->lpVtbl->Release(This)
280#define IRecycleBinEnumList_Next(This, celt, rgelt, pceltFetched) \
281 (This)->lpVtbl->Next(This, celt, rgelt, pceltFetched)
282#define IRecycleBinEnumList_Skip(This, celt) \
283 (This)->lpVtbl->Skip(This, celt)
284#define IRecycleBinEnumList_Reset(This) \
285 (This)->lpVtbl->Reset(This)
287#define IRecycleBin_QueryInterface(This, riid, ppvObject) \
288 (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
289#define IRecycleBin_AddRef(This) \
290 (This)->lpVtbl->AddRef(This)
291#define IRecycleBin_Release(This) \
292 (This)->lpVtbl->Release(This)
293#define IRecycleBin_DeleteFile(This, szFileName) \
294 (This)->lpVtbl->DeleteFile(This, szFileName)
295#define IRecycleBin_EmptyRecycleBin(This) \
296 (This)->lpVtbl->EmptyRecycleBin(This)
297#define IRecycleBin_EnumObjects(This, ppEnumList) \
298 (This)->lpVtbl->EnumObjects(This, ppEnumList)
304 OUT IRecycleBin **pprb);
BOOL Delete(LPCTSTR ServiceName)
#define DECLARE_INTERFACE_(i, b)
static PWCHAR GetFileName(PWCHAR Path)
DWORD WINAPI GetFileSize(HANDLE hFile, LPDWORD lpFileSizeHigh)
BOOL GetPhysicalFileSize(LPCWSTR PathBuffer, PULARGE_INTEGER Size)
static LPWSTR GetTypeName(PFILE_TYPE_ENTRY Entry, PFILE_TYPE_GLOBALS pG)
#define DECLARE_HANDLE(name)
static HRESULT QueryInterface(REFIID, void **)
static ULONG WINAPI AddRef(IStream *iface)
EXTERN_C const IID IID_IRecycleBin
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)
struct _DELETED_FILE_DETAILS_A * PDELETED_FILE_DETAILS_A
struct _DELETED_FILE_DETAILS_W * PDELETED_FILE_DETAILS_W
struct _DELETED_FILE_DETAILS_A DELETED_FILE_DETAILS_A
BOOL WINAPI GetDeletedFileTypeNameW(IN HDELFILE hDeletedFile, OUT LPWSTR pTypeName, IN DWORD BufferSize, OUT LPDWORD RequiredSize OPTIONAL)
BOOL(WINAPI * PENUMERATE_RECYCLEBIN_CALLBACK)(IN PVOID Context, IN HDELFILE hDeletedFile)
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)
EXTERN_C const IID IID_IRecycleBinFile
BOOL WINAPI DeleteFileHandleToRecycleBin(IN HDELFILE hDeletedFile)
HRESULT WINAPI GetDefaultRecycleBin(IN LPCWSTR pszVolume OPTIONAL, OUT IRecycleBin **pprb)
struct _DELETED_FILE_DETAILS_W DELETED_FILE_DETAILS_W
EXTERN_C const IID IID_IRecycleBinEnumList
PULONG MinorVersion OPTIONAL
FILETIME LastModification
ULARGE_INTEGER PhysicalFileSize
FILETIME LastModification
ULARGE_INTEGER PhysicalFileSize
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ ULONG _Out_ PVOID _Out_ PULONG RequiredSize
_In_ WDFMEMORY _Out_opt_ size_t * BufferSize
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD _Outptr_opt_ void ** ppvObject
int WINAPI EnumObjects(_In_ HDC, _In_ int, _In_ GOBJENUMPROC, _In_ LPARAM)