ReactOS 0.4.15-dev-7842-g558ab78
recyclebin_v5.h
Go to the documentation of this file.
1/* Recycle bin management
2 * This file is under the GPLv2 licence
3 * Copyright (C) 2006 Hervé Poussineau <hpoussin@reactos.org>
4 */
5
6#ifdef __cplusplus
7extern "C" {
8#endif
9
10#include <pshpack1.h>
11
12/* MS Windows 2000/XP/2003 */
14{
22
23#include <poppack.h>
24
25/* COM interface */
26
27typedef interface IRecycleBin5 IRecycleBin5;
29
30typedef struct IRecycleBin5Vtbl
31{
32 /* IRecycleBin interface */
36 OUT void **ppvObject);
37
40
43
47
50
53 OUT IRecycleBinEnumList **ppEnumList);
54
55 /* IRecycleBin5 interface */
60
65
68 IN IRecycleBinEnumList *prbel);
70
71interface IRecycleBin5
72{
73 CONST_VTBL struct IRecycleBin5Vtbl *lpVtbl;
74};
75
76#ifdef COBJMACROS
77#define IRecycleBin5_QueryInterface(This, riid, ppvObject) \
78 (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
79#define IRecycleBin5_AddRef(This) \
80 (This)->lpVtbl->AddRef(This)
81#define IRecycleBin5_Release(This) \
82 (This)->lpVtbl->Release(This)
83#define IRecycleBin5_DeleteFile(This, szFileName) \
84 (This)->lpVtbl->DeleteFile(This, szFileName)
85#define IRecycleBin5_EmptyRecycleBin(This) \
86 (This)->lpVtbl->EmptyRecycleBin(This)
87#define IRecycleBin5_EnumObjects(This, ppEnumList) \
88 (This)->lpVtbl->EnumObjects(This, ppEnumList)
89#define IRecycleBin5_Delete(This, pDeletedFileName, pDeletedFile) \
90 (This)->lpVtbl->Delete(This, pDeletedFileName, pDeletedFile)
91#define IRecycleBin5_Restore(This, pDeletedFileName, pDeletedFile) \
92 (This)->lpVtbl->Restore(This, pDeletedFileName, pDeletedFile)
93#define IRecycleBin5_OnClosing(This, prb5el) \
94 (This)->lpVtbl->OnClosing(This, prb5el)
95#endif
96
99 IN IRecycleBin5 *prb,
100 IN HANDLE hInfo,
101 IN HANDLE hInfoMapped,
102 IN LPCWSTR szPrefix,
103 OUT IUnknown **ppUnknown);
104
105#ifdef __cplusplus
106}
107#endif
BOOL Delete(LPCTSTR ServiceName)
Definition: delete.c:12
#define EXTERN_C
Definition: basetyps.h:12
#define STDMETHODCALLTYPE
Definition: bdasup.h:9
_In_ BOOLEAN Release
Definition: cdrom.h:920
#define MAX_PATH
Definition: compat.h:34
unsigned long DWORD
Definition: ntddk_ex.h:95
static HRESULT QueryInterface(REFIID, void **)
Definition: events.c:2587
static ULONG WINAPI AddRef(IStream *iface)
Definition: clist.c:90
#define CONST_VTBL
Definition: objbase.h:222
#define REFIID
Definition: guiddef.h:118
#define EmptyRecycleBin
Definition: recyclebin.h:108
EXTERN_C const IID IID_IRecycleBin5
Definition: recyclebin_v5.h:28
HRESULT RecycleBin5Enum_Constructor(IN IRecycleBin5 *prb, IN HANDLE hInfo, IN HANDLE hInfoMapped, IN LPCWSTR szPrefix, OUT IUnknown **ppUnknown)
struct _DELETED_FILE_RECORD * PDELETED_FILE_RECORD
interface IRecycleBin5 IRecycleBin5
Definition: recyclebin_v5.h:27
struct _DELETED_FILE_RECORD DELETED_FILE_RECORD
HRESULT(STDMETHODCALLTYPE *Delete)(IN IRecycleBin5 *This
OUT IRecycleBinEnumList ** ppEnumList
Definition: recyclebin_v5.h:53
HRESULT(STDMETHODCALLTYPE *OnClosing)(IN IRecycleBin5 *This
HRESULT(STDMETHODCALLTYPE *Restore)(IN IRecycleBin5 *This
ULONG(STDMETHODCALLTYPE *Release)(IN IRecycleBin5 *This)
IN REFIID OUT void ** ppvObject
Definition: recyclebin_v5.h:36
HRESULT(STDMETHODCALLTYPE *QueryInterface)(IN IRecycleBin5 *This
HRESULT(STDMETHODCALLTYPE *DeleteFile)(IN IRecycleBin5 *This
IN LPCWSTR szFileName
Definition: recyclebin_v5.h:46
ULONG(STDMETHODCALLTYPE *AddRef)(IN IRecycleBin5 *This)
IN LPCWSTR pDeletedFileName
Definition: recyclebin_v5.h:58
IN IRecycleBinEnumList * prbel
Definition: recyclebin_v5.h:68
HRESULT(STDMETHODCALLTYPE *EnumObjects)(IN IRecycleBin5 *This
HRESULT(STDMETHODCALLTYPE *EmptyRecycleBin)(IN IRecycleBin5 *This)
IN LPCWSTR IN DELETED_FILE_RECORD * pDeletedFile
Definition: recyclebin_v5.h:59
CHAR FileNameA[MAX_PATH]
Definition: recyclebin_v5.h:15
WCHAR FileNameW[MAX_PATH]
Definition: recyclebin_v5.h:20
#define IN
Definition: typedefs.h:39
#define OUT
Definition: typedefs.h:40
#define DeleteFile
Definition: winbase.h:3699
int WINAPI EnumObjects(_In_ HDC, _In_ int, _In_ GOBJENUMPROC, _In_ LPARAM)
__wchar_t WCHAR
Definition: xmlstorage.h:180
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
char CHAR
Definition: xmlstorage.h:175