69 lines
2.3 KiB
C
69 lines
2.3 KiB
C
|
//--------------------------------------------------------------
|
||
|
// Copyright (C) Microsoft Corporation, 1996 - 1999
|
||
|
//
|
||
|
// File: dragdrop.h
|
||
|
//
|
||
|
// Contents: The header for dragdrop.c
|
||
|
//
|
||
|
// History: Feb-26-98 xiaohs created
|
||
|
//
|
||
|
//--------------------------------------------------------------
|
||
|
#ifndef DRAGDROP_H
|
||
|
#define DRAGDROP_H
|
||
|
|
||
|
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
|
||
|
//==============================================================================
|
||
|
// The following are used by Drag-Drop functionalities
|
||
|
//==============================================================================
|
||
|
#undef IToClass
|
||
|
// macro to get from interface pointer to class pointer
|
||
|
#define _IOffset(class, itf) ((UINT)(ULONG_PTR)&(((class *)0)->itf))
|
||
|
#define IToClass(class, itf, pitf) ((class *)(((LPBYTE)pitf)-_IOffset(class, itf)))
|
||
|
|
||
|
#define ARRAYSIZE(a) (sizeof(a)/sizeof(a[0]))
|
||
|
|
||
|
HRESULT CDataObj_CreateInstance(DWORD dwCount,
|
||
|
LPWSTR *prgwszFileName,
|
||
|
BYTE **prgBlob,
|
||
|
DWORD *prgdwSize,
|
||
|
IDataObject **ppdtobj);
|
||
|
|
||
|
HRESULT CDropSource_CreateInstance(IDropSource **ppdsrc);
|
||
|
|
||
|
|
||
|
|
||
|
HRESULT CertMgrUIStartDragDrop(LPNMLISTVIEW pvmn,
|
||
|
HWND hwndControl,
|
||
|
DWORD dwExportFormat,
|
||
|
BOOL fExportChain);
|
||
|
|
||
|
|
||
|
BOOL GetFileNameAndContent(LPNMLISTVIEW pvmn,
|
||
|
HWND hwndControl,
|
||
|
DWORD dwExportFormat,
|
||
|
BOOL fExportChain,
|
||
|
DWORD *pdwCount,
|
||
|
LPWSTR **pprgszFileName,
|
||
|
BYTE ***pprgBlob,
|
||
|
DWORD **pprgdwSize);
|
||
|
|
||
|
BOOL FreeFileNameAndContent( DWORD dwCount,
|
||
|
LPWSTR *prgwszFileName,
|
||
|
BYTE **prgBlob,
|
||
|
DWORD *prgdwSize);
|
||
|
|
||
|
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
} // Balance extern "C" above
|
||
|
#endif
|
||
|
|
||
|
#endif //DRAGDROP_H
|
||
|
|