diff --git a/winpr/include/winpr/shell.h b/winpr/include/winpr/shell.h index 7d2903de6..f1baa4dfa 100644 --- a/winpr/include/winpr/shell.h +++ b/winpr/include/winpr/shell.h @@ -35,8 +35,24 @@ #else /* Shell clipboard formats */ - struct _FILEDESCRIPTORW +{ + DWORD dwFlags; + CLSID clsid; + SIZEL sizel; + POINTL pointl; + DWORD dwFileAttributes; + FILETIME ftCreationTime; + FILETIME ftLastAccessTime; + FILETIME ftLastWriteTime; + DWORD nFileSizeHigh; + DWORD nFileSizeLow; + WCHAR cFileName[260]; +}; +typedef struct _FILEDESCRIPTORW FILEDESCRIPTORW; + +/* Legacy definition, some types do not match the windows equivalent. */ +struct _FILEDESCRIPTOR { DWORD dwFlags; BYTE clsid[16]; @@ -50,8 +66,7 @@ struct _FILEDESCRIPTORW DWORD nFileSizeLow; WCHAR cFileName[260]; }; -typedef struct _FILEDESCRIPTORW FILEDESCRIPTORW; -typedef struct _FILEDESCRIPTORW FILEDESCRIPTOR; +typedef struct _FILEDESCRIPTOR FILEDESCRIPTOR; /* FILEDESCRIPTOR.dwFlags */ #define FD_ATTRIBUTES 0x00000004 diff --git a/winpr/include/winpr/wtypes.h.in b/winpr/include/winpr/wtypes.h.in index ee9cf6fc4..d2648908b 100644 --- a/winpr/include/winpr/wtypes.h.in +++ b/winpr/include/winpr/wtypes.h.in @@ -268,6 +268,20 @@ typedef LONG HRESULT; typedef LONG SCODE; typedef SCODE* PSCODE; +typedef struct _POINTL /* ptl */ +{ + LONG x; + LONG y; +} POINTL, *PPOINTL; + +typedef struct tagSIZE +{ + LONG cx; + LONG cy; +} SIZE, *PSIZE, *LPSIZE; + +typedef SIZE SIZEL; + typedef struct _GUID { UINT32 Data1; @@ -275,6 +289,7 @@ typedef struct _GUID UINT16 Data3; BYTE Data4[8]; } GUID, UUID, *PGUID, *LPGUID, *LPCGUID; +typedef GUID CLSID; typedef struct _LUID {