ReactOS 0.4.16-dev-816-g135a9a9
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
30#define INTERFACE IRecycleBin5
32{
34
35 /* IUnknown interface */
39
40 /* IRecycleBin interface */
43 STDMETHOD(EnumObjects)(THIS_ OUT IRecycleBinEnumList **ppEnumList) PURE;
45
46 /* IRecycleBin5 interface */
48 THIS_
49 IN LPCWSTR pDeletedFileName,
50 IN DELETED_FILE_RECORD *pDeletedFile) PURE;
51 STDMETHOD(Restore)(
52 THIS_
53 IN LPCWSTR pDeletedFileName,
54 IN DELETED_FILE_RECORD *pDeletedFile) PURE;
55 STDMETHOD(RemoveFromDatabase)(
56 THIS_
57 IN LPCWSTR pDeletedFileName,
58 IN DELETED_FILE_RECORD *pDeletedFile) PURE;
59 STDMETHOD(OnClosing)(
60 THIS_
61 IN IRecycleBinEnumList *prbel) PURE;
62
64};
65#undef INTERFACE
66
67#ifdef COBJMACROS
68#define IRecycleBin5_QueryInterface(This, riid, ppvObject) \
69 (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
70#define IRecycleBin5_AddRef(This) \
71 (This)->lpVtbl->AddRef(This)
72#define IRecycleBin5_Release(This) \
73 (This)->lpVtbl->Release(This)
74#define IRecycleBin5_DeleteFile(This, szFileName) \
75 (This)->lpVtbl->DeleteFile(This, szFileName)
76#define IRecycleBin5_EmptyRecycleBin(This) \
77 (This)->lpVtbl->EmptyRecycleBin(This)
78#define IRecycleBin5_EnumObjects(This, ppEnumList) \
79 (This)->lpVtbl->EnumObjects(This, ppEnumList)
80#define IRecycleBin5_Delete(This, pDeletedFileName, pDeletedFile) \
81 (This)->lpVtbl->Delete(This, pDeletedFileName, pDeletedFile)
82#define IRecycleBin5_Restore(This, pDeletedFileName, pDeletedFile) \
83 (This)->lpVtbl->Restore(This, pDeletedFileName, pDeletedFile)
84#define IRecycleBin5_OnClosing(This, prb5el) \
85 (This)->lpVtbl->OnClosing(This, prb5el)
86#endif
87
91 _In_ IRecycleBin5 *prb,
92 _In_ HANDLE hInfo,
93 _In_ HANDLE hInfoMapped,
94 _In_ LPCWSTR szPrefix,
95 _Out_ IUnknown **ppUnknown);
96
97#ifdef __cplusplus
98}
99#endif
BOOL Delete(LPCTSTR ServiceName)
Definition: delete.c:12
void GetDirectory(LPTSTR wholepath, LPTSTR directory, BOOL CheckExisting)
Definition: move.c:65
#define DECLARE_INTERFACE_(i, b)
Definition: basetyps.h:78
#define PURE
Definition: basetyps.h:64
#define THIS_
Definition: basetyps.h:65
#define EXTERN_C
Definition: basetyps.h:12
#define THIS
Definition: basetyps.h:66
#define STDMETHOD_(t, m)
Definition: basetyps.h:63
#define STDMETHOD(m)
Definition: basetyps.h:62
_In_ BOOLEAN Release
Definition: cdrom.h:920
#define MAX_PATH
Definition: compat.h:34
unsigned long DWORD
Definition: ntddk_ex.h:95
REFIID riid
Definition: atlbase.h:39
LPCWSTR szPath
Definition: env.c:37
static HRESULT QueryInterface(REFIID, void **)
Definition: events.c:2587
static ULONG WINAPI AddRef(IStream *iface)
Definition: clist.c:90
#define _Out_
Definition: no_sal2.h:160
#define _In_
Definition: no_sal2.h:158
#define END_INTERFACE
Definition: objbase.h:232
#define BEGIN_INTERFACE
Definition: objbase.h:231
#define REFIID
Definition: guiddef.h:118
#define EmptyRecycleBin
Definition: recyclebin.h:127
EXTERN_C const IID IID_IRecycleBin5
Definition: recyclebin_v5.h:28
struct _DELETED_FILE_RECORD * PDELETED_FILE_RECORD
EXTERN_C HRESULT RecycleBin5Enum_Constructor(_In_ IRecycleBin5 *prb, _In_ HANDLE hInfo, _In_ HANDLE hInfoMapped, _In_ LPCWSTR szPrefix, _Out_ IUnknown **ppUnknown)
interface IRecycleBin5 IRecycleBin5
Definition: recyclebin_v5.h:27
struct _DELETED_FILE_RECORD DELETED_FILE_RECORD
CHAR FileNameA[MAX_PATH]
Definition: recyclebin_v5.h:15
WCHAR FileNameW[MAX_PATH]
Definition: recyclebin_v5.h:20
#define IN
Definition: typedefs.h:39
uint32_t ULONG
Definition: typedefs.h:59
#define OUT
Definition: typedefs.h:40
#define DeleteFile
Definition: winbase.h:3789
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD _Outptr_opt_ void ** ppvObject
Definition: wincrypt.h:6082
int WINAPI EnumObjects(_In_ HDC, _In_ int, _In_ GOBJENUMPROC, _In_ LPARAM)
__wchar_t WCHAR
Definition: xmlstorage.h:180
WCHAR * LPWSTR
Definition: xmlstorage.h:184
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
char CHAR
Definition: xmlstorage.h:175