ReactOS 0.4.16-dev-334-g4d9f67c
recyclebin_private.h File Reference
#include <stdio.h>
#include <shlobj.h>
#include "recyclebin.h"
#include "recyclebin_v5.h"
#include <wine/debug.h>
#include <pshpack1.h>
#include <poppack.h>
Include dependency graph for recyclebin_private.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _INFO2_HEADER
 

Macros

#define COBJMACROS
 
#define RECYCLE_BIN_DIRECTORY_WITH_ACL   L"RECYCLER"
 
#define RECYCLE_BIN_DIRECTORY_WITHOUT_ACL   L"RECYCLED"
 
#define RECYCLE_BIN_FILE_NAME   L"INFO2"
 
#define ROUND_UP(N, S)   ((( (N) + (S) - 1) / (S) ) * (S) )
 

Typedefs

typedef struct _INFO2_HEADER INFO2_HEADER
 
typedef struct _INFO2_HEADERPINFO2_HEADER
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (recyclebin)
 
EXTERN_C HRESULT RecycleBinGeneric_Constructor (OUT IUnknown **ppUnknown)
 
EXTERN_C HRESULT RecycleBinGenericEnum_Constructor (OUT IRecycleBinEnumList **pprbel)
 
EXTERN_C HRESULT RecycleBin5_Constructor (_In_ LPCWSTR VolumePath, _Out_ IUnknown **ppUnknown)
 

Macro Definition Documentation

◆ COBJMACROS

#define COBJMACROS

Definition at line 6 of file recyclebin_private.h.

◆ RECYCLE_BIN_DIRECTORY_WITH_ACL

#define RECYCLE_BIN_DIRECTORY_WITH_ACL   L"RECYCLER"

Definition at line 18 of file recyclebin_private.h.

◆ RECYCLE_BIN_DIRECTORY_WITHOUT_ACL

#define RECYCLE_BIN_DIRECTORY_WITHOUT_ACL   L"RECYCLED"

Definition at line 19 of file recyclebin_private.h.

◆ RECYCLE_BIN_FILE_NAME

#define RECYCLE_BIN_FILE_NAME   L"INFO2"

Definition at line 20 of file recyclebin_private.h.

◆ ROUND_UP

#define ROUND_UP (   N,
  S 
)    ((( (N) + (S) - 1) / (S) ) * (S) )

Definition at line 22 of file recyclebin_private.h.

Typedef Documentation

◆ INFO2_HEADER

◆ PINFO2_HEADER

Function Documentation

◆ RecycleBin5_Constructor()

EXTERN_C HRESULT RecycleBin5_Constructor ( _In_ LPCWSTR  VolumePath,
_Out_ IUnknown **  ppUnknown 
)

Definition at line 797 of file recyclebin_v5.cpp.

798{
799 if (!ppUnknown)
800 return E_POINTER;
801
802 *ppUnknown = NULL;
803
804 RecycleBin5 *pThis = new RecycleBin5();
805 if (!pThis)
806 return E_OUTOFMEMORY;
807
808 HRESULT hr = pThis->Init(VolumePath);
809 if (FAILED(hr))
810 {
811 delete pThis;
812 return hr;
813 }
814
815 *ppUnknown = static_cast<IRecycleBin5 *>(pThis);
816 return S_OK;
817}
HRESULT Init(_In_ LPCWSTR VolumePath)
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
#define NULL
Definition: types.h:112
#define S_OK
Definition: intsafe.h:52
#define FAILED(hr)
Definition: intsafe.h:51
interface IRecycleBin5 IRecycleBin5
Definition: recyclebin_v5.h:27
HRESULT hr
Definition: shlfolder.c:183
#define E_POINTER
Definition: winerror.h:2365

Referenced by GetDefaultRecycleBin().

◆ RecycleBinGeneric_Constructor()

EXTERN_C HRESULT RecycleBinGeneric_Constructor ( OUT IUnknown **  ppUnknown)

Definition at line 175 of file recyclebin_generic.cpp.

176{
177 /* This RecycleBin implementation was introduced to be able to manage all
178 * drives at once, and instanciate the 'real' implementations when needed */
180 if (!pThis)
181 return E_OUTOFMEMORY;
182
183 *ppUnknown = static_cast<IRecycleBin *>(pThis);
184 return S_OK;
185}

Referenced by GetDefaultRecycleBin().

◆ RecycleBinGenericEnum_Constructor()

EXTERN_C HRESULT RecycleBinGenericEnum_Constructor ( OUT IRecycleBinEnumList **  pprbel)

Definition at line 210 of file recyclebin_generic_enumerator.cpp.

212{
214 if (!pThis)
215 return E_OUTOFMEMORY;
216
217 *pprbel = static_cast<IRecycleBinEnumList *>(pThis);
218 return (*pprbel)->Reset();
219}

Referenced by RecycleBinGeneric::EnumObjects().

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( recyclebin  )