mirror of
https://github.com/reactos/reactos.git
synced 2025-04-06 05:34:22 +00:00
[SHELL32] Use DECLARE_INTERFACE_ for IRecycleBin5 (#7168)
Improve interoperability between C and C++. JIRA issue: CORE-19595 Rewrite IRecycleBin5 interface by using STDMETHOD and DECLARE_INTERFACE_ macro.
This commit is contained in:
parent
166c7ee33c
commit
876d1c2dc8
1 changed files with 23 additions and 37 deletions
|
@ -27,51 +27,37 @@ typedef struct _DELETED_FILE_RECORD
|
||||||
typedef interface IRecycleBin5 IRecycleBin5;
|
typedef interface IRecycleBin5 IRecycleBin5;
|
||||||
EXTERN_C const IID IID_IRecycleBin5;
|
EXTERN_C const IID IID_IRecycleBin5;
|
||||||
|
|
||||||
typedef struct IRecycleBin5Vtbl
|
#define INTERFACE IRecycleBin5
|
||||||
|
DECLARE_INTERFACE_(IRecycleBin5, IUnknown)
|
||||||
{
|
{
|
||||||
|
BEGIN_INTERFACE
|
||||||
|
|
||||||
|
/* IUnknown interface */
|
||||||
|
STDMETHOD(QueryInterface)(THIS_ IN REFIID riid, OUT void **ppvObject) PURE;
|
||||||
|
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
||||||
|
STDMETHOD_(ULONG, Release)(THIS) PURE;
|
||||||
|
|
||||||
/* IRecycleBin interface */
|
/* IRecycleBin interface */
|
||||||
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
STDMETHOD(DeleteFile)(THIS_ IN LPCWSTR szFileName) PURE;
|
||||||
IN IRecycleBin5 *This,
|
STDMETHOD(EmptyRecycleBin)(THIS);
|
||||||
IN REFIID riid,
|
STDMETHOD(EnumObjects)(THIS_ OUT IRecycleBinEnumList **ppEnumList) PURE;
|
||||||
OUT void **ppvObject);
|
|
||||||
|
|
||||||
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
||||||
IN IRecycleBin5 *This);
|
|
||||||
|
|
||||||
ULONG (STDMETHODCALLTYPE *Release)(
|
|
||||||
IN IRecycleBin5 *This);
|
|
||||||
|
|
||||||
HRESULT (STDMETHODCALLTYPE *DeleteFile)(
|
|
||||||
IN IRecycleBin5 *This,
|
|
||||||
IN LPCWSTR szFileName);
|
|
||||||
|
|
||||||
HRESULT (STDMETHODCALLTYPE *EmptyRecycleBin)(
|
|
||||||
IN IRecycleBin5 *This);
|
|
||||||
|
|
||||||
HRESULT (STDMETHODCALLTYPE *EnumObjects)(
|
|
||||||
IN IRecycleBin5 *This,
|
|
||||||
OUT IRecycleBinEnumList **ppEnumList);
|
|
||||||
|
|
||||||
/* IRecycleBin5 interface */
|
/* IRecycleBin5 interface */
|
||||||
HRESULT (STDMETHODCALLTYPE *Delete)(
|
STDMETHOD(Delete)(
|
||||||
IN IRecycleBin5 *This,
|
THIS_
|
||||||
IN LPCWSTR pDeletedFileName,
|
IN LPCWSTR pDeletedFileName,
|
||||||
IN DELETED_FILE_RECORD *pDeletedFile);
|
IN DELETED_FILE_RECORD *pDeletedFile) PURE;
|
||||||
|
STDMETHOD(Restore)(
|
||||||
HRESULT (STDMETHODCALLTYPE *Restore)(
|
THIS_
|
||||||
IN IRecycleBin5 *This,
|
|
||||||
IN LPCWSTR pDeletedFileName,
|
IN LPCWSTR pDeletedFileName,
|
||||||
IN DELETED_FILE_RECORD *pDeletedFile);
|
IN DELETED_FILE_RECORD *pDeletedFile) PURE;
|
||||||
|
STDMETHOD(OnClosing)(
|
||||||
|
THIS_
|
||||||
|
IN IRecycleBinEnumList *prbel) PURE;
|
||||||
|
|
||||||
HRESULT (STDMETHODCALLTYPE *OnClosing)(
|
END_INTERFACE
|
||||||
IN IRecycleBin5 *This,
|
|
||||||
IN IRecycleBinEnumList *prbel);
|
|
||||||
} IRecycleBin5Vtbl;
|
|
||||||
|
|
||||||
interface IRecycleBin5
|
|
||||||
{
|
|
||||||
CONST_VTBL struct IRecycleBin5Vtbl *lpVtbl;
|
|
||||||
};
|
};
|
||||||
|
#undef INTERFACE
|
||||||
|
|
||||||
#ifdef COBJMACROS
|
#ifdef COBJMACROS
|
||||||
#define IRecycleBin5_QueryInterface(This, riid, ppvObject) \
|
#define IRecycleBin5_QueryInterface(This, riid, ppvObject) \
|
||||||
|
|
Loading…
Reference in a new issue