ReactOS 0.4.15-dev-7924-g5949c20
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{
19public:
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)
51};
52
53#endif /* _CDESKLINKDROPHANDLER_HPP_ */
#define STDMETHODIMP
Definition: basetyps.h:43
STDMETHODIMP DragOver(DWORD dwKeyState, POINTL pt, DWORD *pdwEffect)
STDMETHODIMP GetClassID(CLSID *lpClassId)
STDMETHODIMP GetCurFile(LPOLESTR *ppszFileName)
STDMETHODIMP Load(LPCOLESTR pszFileName, DWORD dwMode)
STDMETHODIMP SaveCompleted(LPCOLESTR pszFileName)
STDMETHODIMP Drop(IDataObject *pDataObject, DWORD dwKeyState, POINTL pt, DWORD *pdwEffect)
STDMETHODIMP Save(LPCOLESTR pszFileName, BOOL fRemember)
STDMETHODIMP DragEnter(IDataObject *pDataObject, DWORD dwKeyState, POINTL pt, DWORD *pdwEffect)
#define IDR_DESKLINK
Definition: resource.h:11
#define pt(x, y)
Definition: drawing.c:79
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
#define BEGIN_COM_MAP(x)
Definition: atlcom.h:581
#define COM_INTERFACE_ENTRY_IID(iid, x)
Definition: atlcom.h:601
#define DECLARE_PROTECT_FINAL_CONSTRUCT()
Definition: atlcom.h:679
#define DECLARE_NOT_AGGREGATABLE(x)
Definition: atlcom.h:651
#define DECLARE_REGISTRY_RESOURCEID(x)
Definition: atlcom.h:645
#define END_COM_MAP()
Definition: atlcom.h:592
static LPOLESTR
Definition: stg_prop.c:27
const GUID IID_IPersistFile
const GUID IID_IPersist
Definition: proxy.cpp:14
WORD WORD PSZ PSZ pszFileName
Definition: vdmdbg.h:44