ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

recyclebin_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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.