Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenrecyclebin_v5.h
Go to the documentation of this file.
00001 /* Recycle bin management 00002 * This file is under the GPLv2 licence 00003 * Copyright (C) 2006 Hervé Poussineau <hpoussin@reactos.org> 00004 */ 00005 00006 #include "recyclebin_private.h" 00007 00008 #ifdef __cplusplus 00009 extern "C" { 00010 #endif 00011 00012 #include <pshpack1.h> 00013 00014 /* MS Windows 2000/XP/2003 */ 00015 typedef struct _DELETED_FILE_RECORD 00016 { 00017 CHAR FileNameA[MAX_PATH]; 00018 DWORD dwRecordUniqueId; 00019 DWORD dwDriveNumber; 00020 FILETIME DeletionTime; 00021 DWORD dwPhysicalFileSize; 00022 WCHAR FileNameW[MAX_PATH]; 00023 } DELETED_FILE_RECORD, *PDELETED_FILE_RECORD; 00024 00025 #include <poppack.h> 00026 00027 /* COM interface */ 00028 00029 typedef interface IRecycleBin5 IRecycleBin5; 00030 EXTERN_C const IID IID_IRecycleBin5; 00031 00032 typedef struct IRecycleBin5Vtbl 00033 { 00034 /* IRecycleBin interface */ 00035 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 00036 IN IRecycleBin5 *This, 00037 IN REFIID riid, 00038 OUT void **ppvObject); 00039 00040 ULONG (STDMETHODCALLTYPE *AddRef)( 00041 IN IRecycleBin5 *This); 00042 00043 ULONG (STDMETHODCALLTYPE *Release)( 00044 IN IRecycleBin5 *This); 00045 00046 HRESULT (STDMETHODCALLTYPE *DeleteFile)( 00047 IN IRecycleBin5 *This, 00048 IN LPCWSTR szFileName); 00049 00050 HRESULT (STDMETHODCALLTYPE *EmptyRecycleBin)( 00051 IN IRecycleBin5 *This); 00052 00053 HRESULT (STDMETHODCALLTYPE *EnumObjects)( 00054 IN IRecycleBin5 *This, 00055 OUT IRecycleBinEnumList **ppEnumList); 00056 00057 /* IRecycleBin5 interface */ 00058 HRESULT (STDMETHODCALLTYPE *Delete)( 00059 IN IRecycleBin5 *This, 00060 IN LPCWSTR pDeletedFileName, 00061 IN DELETED_FILE_RECORD *pDeletedFile); 00062 00063 HRESULT (STDMETHODCALLTYPE *Restore)( 00064 IN IRecycleBin5 *This, 00065 IN LPCWSTR pDeletedFileName, 00066 IN DELETED_FILE_RECORD *pDeletedFile); 00067 00068 HRESULT (STDMETHODCALLTYPE *OnClosing)( 00069 IN IRecycleBin5 *This, 00070 IN IRecycleBinEnumList *prbel); 00071 } IRecycleBin5Vtbl; 00072 00073 interface IRecycleBin5 00074 { 00075 CONST_VTBL struct IRecycleBin5Vtbl *lpVtbl; 00076 }; 00077 00078 #ifdef COBJMACROS 00079 #define IRecycleBin5_QueryInterface(This, riid, ppvObject) \ 00080 (This)->lpVtbl->QueryInterface(This, riid, ppvObject) 00081 #define IRecycleBin5_AddRef(This) \ 00082 (This)->lpVtbl->AddRef(This) 00083 #define IRecycleBin5_Release(This) \ 00084 (This)->lpVtbl->Release(This) 00085 #define IRecycleBin5_DeleteFile(This, szFileName) \ 00086 (This)->lpVtbl->DeleteFile(This, szFileName) 00087 #define IRecycleBin5_EmptyRecycleBin(This) \ 00088 (This)->lpVtbl->EmptyRecycleBin(This) 00089 #define IRecycleBin5_EnumObjects(This, ppEnumList) \ 00090 (This)->lpVtbl->EnumObjects(This, ppEnumList) 00091 #define IRecycleBin5_Delete(This, pDeletedFileName, pDeletedFile) \ 00092 (This)->lpVtbl->Delete(This, pDeletedFileName, pDeletedFile) 00093 #define IRecycleBin5_Restore(This, pDeletedFileName, pDeletedFile) \ 00094 (This)->lpVtbl->Restore(This, pDeletedFileName, pDeletedFile) 00095 #define IRecycleBin5_OnClosing(This, prb5el) \ 00096 (This)->lpVtbl->OnClosing(This, prb5el) 00097 #endif 00098 00099 HRESULT 00100 RecycleBin5Enum_Constructor( 00101 IN IRecycleBin5 *prb, 00102 IN HANDLE hInfo, 00103 IN HANDLE hInfoMapped, 00104 IN LPCWSTR szPrefix, 00105 OUT IUnknown **ppUnknown); 00106 00107 #ifdef __cplusplus 00108 } 00109 #endif Generated on Mon May 28 2012 04:36:10 for ReactOS by
1.7.6.1
|