ReactOS  0.4.15-dev-2144-g2282205
CDeskLinkDropHandler.hpp
Go to the documentation of this file.
1 /*
2  * PROJECT: sendmail
3  * LICENSE: LGPL-2.1+ (https://spdx.org/licenses/LGPL-2.1+)
4  * PURPOSE: DeskLink implementation
5  * COPYRIGHT: Copyright 2019 Katayama Hirofumi MZ (katayama.hirofumi.mz@gmail.com)
6  */
7 
8 #ifndef _CDESKLINKDROPHANDLER_HPP_
9 #define _CDESKLINKDROPHANDLER_HPP_
10 
11 #include "resource.h"
12 
14  public CComCoClass<CDeskLinkDropHandler, &CLSID_DeskLinkDropHandler>,
15  public CComObjectRootEx<CComMultiThreadModelNoCS>,
16  public IDropTarget,
17  public IPersistFile
18 {
19 public:
22 
23  // IDropTarget
24  STDMETHODIMP DragEnter(IDataObject *pDataObject, DWORD dwKeyState,
25  POINTL pt, DWORD *pdwEffect);
26  STDMETHODIMP DragOver(DWORD dwKeyState, POINTL pt, DWORD *pdwEffect);
28  STDMETHODIMP Drop(IDataObject *pDataObject, DWORD dwKeyState, POINTL pt,
29  DWORD *pdwEffect);
30 
31  // IPersist
32  STDMETHODIMP GetClassID(CLSID *lpClassId);
33 
34  // IPersistFile
35  STDMETHODIMP GetCurFile(LPOLESTR *ppszFileName);
37  STDMETHODIMP Load(LPCOLESTR pszFileName, DWORD dwMode);
38  STDMETHODIMP Save(LPCOLESTR pszFileName, BOOL fRemember);
40 
43 
45 
49  COM_INTERFACE_ENTRY_IID(IID_IDropTarget, IDropTarget)
50  END_COM_MAP()
51 };
52 
53 #endif /* _CDESKLINKDROPHANDLER_HPP_ */
#define pt(x, y)
Definition: drawing.c:79
const GUID IID_IPersist
Definition: proxy.cpp:14
STDMETHODIMP GetCurFile(LPOLESTR *ppszFileName)
#define DECLARE_NOT_AGGREGATABLE(x)
Definition: atlcom.h:611
static LPOLESTR
Definition: stg_prop.c:27
STDMETHODIMP Drop(IDataObject *pDataObject, DWORD dwKeyState, POINTL pt, DWORD *pdwEffect)
unsigned int BOOL
Definition: ntddk_ex.h:94
WORD WORD PSZ PSZ pszFileName
Definition: vdmdbg.h:41
#define STDMETHODIMP
Definition: basetyps.h:43
#define BEGIN_COM_MAP(x)
Definition: atlcom.h:541
STDMETHODIMP DragOver(DWORD dwKeyState, POINTL pt, DWORD *pdwEffect)
unsigned long DWORD
Definition: ntddk_ex.h:95
#define DECLARE_REGISTRY_RESOURCEID(x)
Definition: atlcom.h:605
STDMETHODIMP Save(LPCOLESTR pszFileName, BOOL fRemember)
#define IDR_DESKLINK
Definition: resource.h:11
STDMETHODIMP GetClassID(CLSID *lpClassId)
STDMETHODIMP Load(LPCOLESTR pszFileName, DWORD dwMode)
STDMETHODIMP SaveCompleted(LPCOLESTR pszFileName)
#define COM_INTERFACE_ENTRY_IID(iid, x)
Definition: atlcom.h:561
#define DECLARE_PROTECT_FINAL_CONSTRUCT()
Definition: atlcom.h:639
const GUID IID_IPersistFile
STDMETHODIMP DragEnter(IDataObject *pDataObject, DWORD dwKeyState, POINTL pt, DWORD *pdwEffect)
#define END_COM_MAP()
Definition: atlcom.h:552