Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//--------------------------------------------------------------
// 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
|