reactos/dll/win32/shell32/shellrecyclebin/recyclebin_private.h
Jesús Sanz del Rey 9c6f1958d9
[SHELL32] Implement Recycler Bin icons (#4221)
CORE-3938

Icon extraction from the recycle bin was not possible due to the partial absence of IExtractIcon interface support.
Adding it inside the RecycleBinFile's QueryInterface private implementation, and then calling it from CRecycleBin, now allows retrieving and displaying the files' icons.
2022-01-17 00:20:07 +01:00

54 lines
1.1 KiB
C

#ifndef _RECYCLEBIN_PRIVATE_H_
#define _RECYCLEBIN_PRIVATE_H_
#include <stdio.h>
#define COBJMACROS
#include <shlobj.h>
#include "recyclebin.h"
#include "recyclebin_v5.h"
#include <wine/debug.h>
WINE_DEFAULT_DEBUG_CHANNEL(recyclebin);
/* Defines */
#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) )
/* Structures on disk */
#include <pshpack1.h>
typedef struct _INFO2_HEADER
{
DWORD dwVersion;
DWORD dwNumberOfEntries; /* unused */
DWORD dwHighestRecordUniqueId; /* unused */
DWORD dwRecordSize;
DWORD dwTotalLogicalSize;
} INFO2_HEADER, *PINFO2_HEADER;
#include <poppack.h>
/* Prototypes */
/* recyclebin_generic.c */
HRESULT RecycleBinGeneric_Constructor(OUT IUnknown **ppUnknown);
/* recyclebin_generic_enumerator.c */
HRESULT RecycleBinGenericEnum_Constructor(OUT IRecycleBinEnumList **pprbel);
/* recyclebin_v5.c */
HRESULT RecycleBin5_Constructor(IN LPCWSTR VolumePath, OUT IUnknown **ppUnknown);
#endif /* _RECYCLEBIN_PRIVATE_H_ */