123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- //---------------------------------------------------------------------------
- #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
- //---------------------------------------------------------------------------
- #ifdef _WIN64
- #pragma clang diagnostic push
- #pragma clang diagnostic ignored "-Wpadded"
- #pragma clang diagnostic ignored "-Wmissing-variable-declarations"
- #endif
- //---------------------------------------------------------------------------
- DEFINE_GUID(CLSID_ShellExtension, 0xe15e1d68, 0x0d1c, 0x49f7,
- 0xbe, 0xb8, 0x81, 0x2b, 0x1e, 0x00, 0xfa, 0x60 );
- //---------------------------------------------------------------------------
- #pragma pack(push, 4)
- //---------------------------------------------------------------------------
- // Note that the change between 0 and 1 was incompatible in both directions.
- // So unfortunately 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
|