mirror of
https://github.com/winscp/winscp.git
synced 2026-10-28 15:35:08 +03:00
Part of "Make WinSCP available in Windows Store (UWP/AppX package)" https://winscp.net/tracker/1639 (UWP-only subset of dev branch commitdc85563) Counters DownloadsDragDropQueue + DownloadsDragDropFakeFile (cherry picked from commitdc855630a2) # Conflicts: # source/resource/TextsWin.h # source/resource/TextsWin1.rc # translations/translate.web.ini Source commit: 5c7069bac3e08f2f19c227d38eaffe989e73f4f8
47 lines
1.7 KiB
C
47 lines
1.7 KiB
C
//---------------------------------------------------------------------------
|
|
#ifndef DragExtH
|
|
#define DragExtH
|
|
//---------------------------------------------------------------------------
|
|
#define DRAG_EXT_MAPPING L"WinSCPDragExtMapping"
|
|
#define DRAG_EXT_MUTEX L"WinSCPDragExtMutex"
|
|
#define DRAG_EXT_RUNNING_MUTEX L"WinSCPDragExtLogMutex"
|
|
#define DRAG_EXT_DUMMY_DIR_PREFIX L"scp"
|
|
#define DRAG_EXT_DUMMY_DIR_PREFIX_LEN 3
|
|
//---------------------------------------------------------------------------
|
|
DEFINE_GUID(CLSID_ShellExtension, 0xe15e1d68, 0x0d1c, 0x49f7,
|
|
0xbe, 0xb8, 0x81, 0x2b, 0x1e, 0x00, 0xfa, 0x60 );
|
|
//---------------------------------------------------------------------------
|
|
#ifdef _WIN64
|
|
#pragma clang diagnostic push
|
|
#pragma clang diagnostic ignored "-Wpadded"
|
|
#endif
|
|
#pragma pack(push, 4)
|
|
//---------------------------------------------------------------------------
|
|
// Note that the change between 0 and 1 was incompatible in both directions.
|
|
// So unfortunatelly version 0 extension (4.x and older) will accept incompatible request
|
|
// from version 1 application (5.x and newer).
|
|
// Luckily the extension will gracefully fail, when using the Unicode path in
|
|
// GetShortPathName(CommStruct->DropDest, ...) and will ignore the request.
|
|
struct TDragExtCommStruct
|
|
{
|
|
enum TVersion
|
|
{
|
|
Version0 = 0,
|
|
Version1 = 1,
|
|
CurrentVersion = Version1,
|
|
MinVersion = Version1,
|
|
MaxVersion = CurrentVersion
|
|
};
|
|
|
|
int Version;
|
|
bool Dragging;
|
|
wchar_t DropDest[MAX_PATH];
|
|
};
|
|
//---------------------------------------------------------------------------
|
|
#pragma pack(pop)
|
|
#ifdef _WIN64
|
|
#pragma clang diagnostic pop
|
|
#endif
|
|
//---------------------------------------------------------------------------
|
|
#endif // DragExtH
|