ReactOS 0.4.16-dev-816-g135a9a9
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 RECYCLE_BIN_FILE_NAME_V1   L"INFO"
 
#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 BOOL RecycleBinGeneric_IsEqualFileIdentity (const RECYCLEBINFILEIDENTITY *p1, const RECYCLEBINFILEIDENTITY *p2)
 
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 26 of file recyclebin_private.h.

◆ RECYCLE_BIN_DIRECTORY_WITHOUT_ACL

#define RECYCLE_BIN_DIRECTORY_WITHOUT_ACL   L"RECYCLED"

Definition at line 27 of file recyclebin_private.h.

◆ RECYCLE_BIN_FILE_NAME

#define RECYCLE_BIN_FILE_NAME   L"INFO2"

Definition at line 28 of file recyclebin_private.h.

◆ RECYCLE_BIN_FILE_NAME_V1

#define RECYCLE_BIN_FILE_NAME_V1   L"INFO"

Definition at line 29 of file recyclebin_private.h.

◆ ROUND_UP

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

Definition at line 31 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 784 of file recyclebin_v5.cpp.

785{
786 if (!ppUnknown)
787 return E_POINTER;
788
789 *ppUnknown = NULL;
790
791 RecycleBin5 *pThis = new RecycleBin5();
792 if (!pThis)
793 return E_OUTOFMEMORY;
794
795 HRESULT hr = pThis->Init(VolumePath);
796 if (FAILED(hr))
797 {
798 delete pThis;
799 return hr;
800 }
801
802 *ppUnknown = static_cast<IRecycleBin5 *>(pThis);
803 return S_OK;
804}
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 179 of file recyclebin_generic.cpp.

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

Referenced by GetDefaultRecycleBin().

◆ RecycleBinGeneric_IsEqualFileIdentity()

EXTERN_C BOOL RecycleBinGeneric_IsEqualFileIdentity ( const RECYCLEBINFILEIDENTITY p1,
const RECYCLEBINFILEIDENTITY p2 
)

Definition at line 192 of file recyclebin_generic.cpp.

193{
197}
_Check_return_ _CRTIMP int __cdecl _wcsicmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
DWORD dwHighDateTime
Definition: mapidefs.h:66
DWORD dwLowDateTime
Definition: mapidefs.h:65

Referenced by RecycleBin5File::IsEqualIdentity().

◆ 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  )