diff --git a/winsup/w32api/ChangeLog b/winsup/w32api/ChangeLog index e2cde912e..f9da51eae 100644 --- a/winsup/w32api/ChangeLog +++ b/winsup/w32api/ChangeLog @@ -1,3 +1,75 @@ +2004-04-13 Filip Navara + + * include/winuser.h (IS_INTRESOURCE, MB_CANCELTRYCONTINUE, + WM_NCXBUTTONDOWN, WM_NCXBUTTONUP, WM_NCXBUTTONDBLCLK, + WM_XBUTTONDOWN, WM_XBUTTONUP, WM_XBUTTONDBLCLK, + DCX_INTERSECTUPDATE, MK_XBUTTON1, MK_XBUTTON2, + HELP_SETWINPOS): Define. + (WM_MOUSELAST): Different value for _WIN32_WINNT >= 0x0500. + (SPI_*): Add new definitions for WINVER >= 0x500. + (CallMsgFilter[AW], SetWindowsHookA): Correct prototype. + (InternalGetWindowText, SetWindowsHookW): Declare. + * include/winbase.h (InitializeSListHead): Avoid conflicting + definition with DDK headers. + +2004-04-13 Gé van Geldorp + + * include/winuser.h (GetLastError): Move from here... + * include/winbase.h: ... to here. + +2004-04-13 Filip Navara + + * include/winspool.h (DocumentPropertiesW): Correct prototype. + +2004-04-13 Filip Navara + + * include/wingdi.h (ENHMETAHEADER): Add definitions for + WINVER >= 0x400. + (WCRANGE, GLYPHSET, LPPOLYTEXT[AW]): Declare. + (ENUMLOGFONTEXW): Fix definition. + (ENUMLOGFONTEXDV[AW]): Declare. + +2004-04-13 Filip Navara + + * include/wingdi.h: Declare the DirectDraw structures only if + the DirectDraw kernel mode headers aren't included. + (EMFINFO): Declare. + (EngStretchBlt, EngTextOut, FONTOBJ_cGetGlyphs, + STROBJ_bEnumPositionsOnly): Correct prototypes. + +2004-04-13 Filip Navara + + * include/objidl.h (PRPCOLEMESSAGE): Declare. + * include/rpc.h (RPCRTAPI): Define. + * include/rpcdce.h (RpcServerRegisterIf2): Declare. + * include/rpcdcep.h (RPC_BLOCKING_FN, I_RpcSend): Declare. + (RPC_BLOCKING_FUNCTION): Remove, replaced by RPC_BLOCKING_FN. + (I_RpcBindingSetAsync): Correct prototype. + * include/rpcndr.h (MIDL_STUB_MESSAGE): Rename 'Reserved' field + to w2kReserved. + (USER_MARSHAL_SIZING_ROUTINE, USER_MARSHAL_MARSHALLING_ROUTINE, + USER_MARSHAL_UNMARSHALLING_ROUTINE, USER_MARSHAL_FREEING_ROUTINE, + USER_MARSHAL_ROUTINE_QUADRUPLE, NDR_NOTIFY_ROUTINE, IDL_CS_CONVERT, + CS_TYPE_NET_SIZE_ROUTINE, CS_TYPE_LOCAL_SIZE_ROUTINE, + CS_TYPE_TO_NETCS_ROUTINE, CS_TYPE_FROM_NETCS_ROUTINE, + CS_TAG_GETTING_ROUTINE, NDR_CS_SIZE_CONVERT_ROUTINES, + NDR_CS_ROUTINES, NdrUserMarshalMarshall, NdrUserMarshalUnmarshall, + NdrUserMarshalBufferSize, NdrUserMarshalMemorySize, + NdrUserMarshalFree): Declare. + (MIDL_STUB_DESC): Add new fields that were added in W2K. + * include/rpcproxy.h (CStdStubBuffer): Ditto. + +2004-04-13 Filip Navara , David Welch + + * include/ddk/ntapi.h (NtCurrentProcess, NtCurrentThread, + LPC_MESSAGE_BASE_SIZE): Define. + * include/ddk/ntifs.h: Move the pack pragma under header inclusion. + +2004-04-13 Filip Navara + + * include/commctrl.h (TB_MARKBUTTON, NMTBGETINFOTIP[AW]): + Declare. + 2004-04-18 Allan Bazinet * include/winuser.h (MONITORINFOEX[AW]): Change to be derived from diff --git a/winsup/w32api/include/commctrl.h b/winsup/w32api/include/commctrl.h index e60656d19..e7e39b0dc 100644 --- a/winsup/w32api/include/commctrl.h +++ b/winsup/w32api/include/commctrl.h @@ -513,6 +513,9 @@ extern "C" { #define TB_PRESSBUTTON (WM_USER+3) #define TB_HIDEBUTTON (WM_USER+4) #define TB_INDETERMINATE (WM_USER+5) +#if (_WIN32_IE >= 0x0400) +#define TB_MARKBUTTON (WM_USER+6) +#endif #define TB_ISBUTTONENABLED (WM_USER+9) #define TB_ISBUTTONCHECKED (WM_USER+10) #define TB_ISBUTTONPRESSED (WM_USER+11) @@ -1883,6 +1886,22 @@ typedef struct { LPWSTR pszText; int cchText; } NMTBDISPINFOW, *LPNMTBDISPINFOW; +typedef struct tagNMTBGETINFOTIPA +{ + NMHDR hdr; + LPSTR pszText; + int cchTextMax; + int iItem; + LPARAM lParam; +} NMTBGETINFOTIPA, *LPNMTBGETINFOTIPA; +typedef struct tagNMTBGETINFOTIPW +{ + NMHDR hdr; + LPWSTR pszText; + int cchTextMax; + int iItem; + LPARAM lParam; +} NMTBGETINFOTIPW, *LPNMTBGETINFOTIPW; typedef struct tagNMMOUSE { NMHDR hdr; DWORD_PTR dwItemSpec; @@ -3243,6 +3262,8 @@ typedef NMHDDISPINFOW NMHDDISPINFO, *LPNMHDDISPINFO; #define TBN_GETDISPINFO TBN_GETDISPINFOW #define NMTBDISPINFO NMTBDISPINFOW #define LPNMTBDISPINFO LPNMTBDISPINFOW +#define NMTBGETINFOTIP NMTBGETINFOTIPW +#define LPNMTBGETINFOTIP LPNMTBGETINFOTIPW #endif #define TBNOTIFY TBNOTIFYW #define LPTBNOTIFY LPTBNOTIFYW @@ -3386,6 +3407,8 @@ typedef NMHDDISPINFOW NMHDDISPINFO, *LPNMHDDISPINFO; #define TBN_GETDISPINFO TBN_GETDISPINFOA #define NMTBDISPINFO NMTBDISPINFOA #define LPNMTBDISPINFO LPNMTBDISPINFOA +#define NMTBGETINFOTIP NMTBGETINFOTIPA +#define LPNMTBGETINFOTIP LPNMTBGETINFOTIPA #endif /* _WIN32_IE >= 0x0400 */ #define SB_GETTEXT SB_GETTEXTA #define SB_SETTEXT SB_SETTEXTA diff --git a/winsup/w32api/include/ddk/ntapi.h b/winsup/w32api/include/ddk/ntapi.h index a9a6b6e5c..c653e765b 100644 --- a/winsup/w32api/include/ddk/ntapi.h +++ b/winsup/w32api/include/ddk/ntapi.h @@ -48,6 +48,12 @@ typedef PVOID POBJECT_TYPE_LIST; typedef PVOID PEXECUTION_STATE; typedef PVOID PLANGID; +#ifndef NtCurrentProcess +#define NtCurrentProcess() ((HANDLE)0xFFFFFFFF) +#endif /* NtCurrentProcess */ +#ifndef NtCurrentThread +#define NtCurrentThread() ((HANDLE)0xFFFFFFFE) +#endif /* NtCurrentThread */ /* System information and control */ @@ -1924,9 +1930,6 @@ NTAPI ZwStopProfile( IN HANDLE ProfileHandle); - - - /* Local Procedure Call (LPC) */ typedef struct _LPC_MESSAGE { @@ -1940,6 +1943,8 @@ typedef struct _LPC_MESSAGE { UCHAR Data[ANYSIZE_ARRAY]; } LPC_MESSAGE, *PLPC_MESSAGE; +#define LPC_MESSAGE_BASE_SIZE 24 + typedef enum _LPC_TYPE { LPC_NEW_MESSAGE, LPC_REQUEST, diff --git a/winsup/w32api/include/ddk/ntifs.h b/winsup/w32api/include/ddk/ntifs.h index b09c16306..0621d83c6 100644 --- a/winsup/w32api/include/ddk/ntifs.h +++ b/winsup/w32api/include/ddk/ntifs.h @@ -32,11 +32,11 @@ extern "C" { #endif -#pragma pack(push,4) - #include "ntddk.h" #include "ntapi.h" +#pragma pack(push,4) + #define VER_PRODUCTBUILD 10000 #ifndef NTSYSAPI diff --git a/winsup/w32api/include/ddk/winddi.h b/winsup/w32api/include/ddk/winddi.h index 5659e6f89..c658f4910 100644 --- a/winsup/w32api/include/ddk/winddi.h +++ b/winsup/w32api/include/ddk/winddi.h @@ -38,12 +38,9 @@ extern "C" { #include "ntddk.h" #include -#if 1 +#ifndef __DD_INCLUDED__ /* FIXME: Some DirectDraw structures not added yet */ typedef ULONG_PTR FLATPTR; -typedef PVOID LPVIDMEM; -typedef PVOID LPVMEMHEAP; -typedef PVOID PGLYPHOS; typedef struct _DD_SURFACECALLBACKS { } DD_SURFACECALLBACKS, *PDD_SURFACECALLBACKS; typedef struct _DD_PALETTECALLBACKS { @@ -52,10 +49,6 @@ typedef struct _DD_CALLBACKS { } DD_CALLBACKS, *PDD_CALLBACKS; typedef struct _DD_HALINFO { } DD_HALINFO, *PDD_HALINFO; -typedef struct _DDSCAPS { -} DDSCAPS, *PDDSCAPS; -typedef struct _DDSCAPSEX { -} DDSCAPSEX, *PDDSCAPSEX; typedef struct _VIDEOMEMORY { } VIDEOMEMORY, *LPVIDEOMEMORY; typedef struct _DD_DIRECTDRAW_GLOBAL { @@ -64,6 +57,18 @@ typedef struct _DD_SURFACE_LOCAL { } DD_SURFACE_LOCAL, *PDD_SURFACE_LOCAL, *LPDD_SURFACE_LOCAL; #endif +#ifndef __DDRAWI_INCLUDED__ +typedef PVOID LPVIDMEM; +#endif + +#if !defined(__DD_INCLUDED__) && !defined(__DDRAWI_INCLUDED__) +typedef struct _DDSCAPS { +} DDSCAPS, *PDDSCAPS; +typedef struct _DDSCAPSEX { +} DDSCAPSEX, *PDDSCAPSEX; +typedef PVOID LPVMEMHEAP; +#endif + #if defined(_WIN32K_) #define WIN32KAPI DECL_EXPORT #else @@ -464,6 +469,13 @@ typedef struct _DRVENABLEDATA { DECLARE_HANDLE(HSEMAPHORE); +typedef struct { + DWORD nSize; + HDC hdc; + PBYTE pvEMF; + PBYTE pvCurrentRecord; +} EMFINFO, *PEMFINFO; + typedef struct _ENGSAFESEMAPHORE { HSEMAPHORE hsem; LONG lCount; @@ -2147,7 +2159,7 @@ EngStretchBlt( IN CLIPOBJ *pco, IN XLATEOBJ *pxlo, IN COLORADJUSTMENT *pca, - IN POINTL pptlHTOrg, + IN POINTL *pptlHTOrg, IN RECTL *prclDest, IN RECTL *prclSrc, IN POINTL *pptlMask, @@ -2211,7 +2223,7 @@ EngTextOut( IN RECTL *prclOpaque, IN BRUSHOBJ *pboFore, IN BRUSHOBJ *pboOpaque, - IN POINTL pptlOrg, + IN POINTL *pptlOrg, IN MIX mix); WIN32KAPI @@ -2490,7 +2502,7 @@ FONTOBJ_cGetGlyphs( IN ULONG iMode, IN ULONG cGlyph, IN HGLYPH *phg, - OUT PVOID **ppvGlyph); + OUT PVOID *ppvGlyph); WIN32KAPI FD_GLYPHSET* @@ -2684,7 +2696,7 @@ DDKAPI STROBJ_bEnumPositionsOnly( IN STROBJ *pstro, OUT ULONG *pc, - OUT PGLYPHOS **ppgpos); + OUT PGLYPHPOS *ppgpos); WIN32KAPI BOOL diff --git a/winsup/w32api/include/objidl.h b/winsup/w32api/include/objidl.h index 5dd99fdbb..409e3ee54 100644 --- a/winsup/w32api/include/objidl.h +++ b/winsup/w32api/include/objidl.h @@ -179,7 +179,7 @@ typedef struct tagRPCOLEMESSAGE { ULONG iMethod; PVOID reserved2[5]; ULONG rpcFlags; -} RPCOLEMESSAGE; +} RPCOLEMESSAGE, *PRPCOLEMESSAGE; typedef enum tagMKSYS { MKSYS_NONE, MKSYS_GENERICCOMPOSITE, diff --git a/winsup/w32api/include/rpc.h b/winsup/w32api/include/rpc.h index 0e3df5eaf..3ca74e9cd 100644 --- a/winsup/w32api/include/rpc.h +++ b/winsup/w32api/include/rpc.h @@ -17,6 +17,12 @@ extern "C" { #define RPC_UNICODE_SUPPORTED #endif +#ifdef _RPCRT4_ +#define RPCRTAPI DECLSPEC_EXPORT +#else +#define RPCRTAPI DECLSPEC_IMPORT +#endif + #ifndef __MIDL_USER_DEFINED #define midl_user_allocate MIDL_user_allocate #define midl_user_free MIDL_user_free diff --git a/winsup/w32api/include/rpcdce.h b/winsup/w32api/include/rpcdce.h index f2adce40f..59599d784 100644 --- a/winsup/w32api/include/rpcdce.h +++ b/winsup/w32api/include/rpcdce.h @@ -345,6 +345,7 @@ RPC_STATUS RPC_ENTRY RpcServerInqIf(RPC_IF_HANDLE,UUID*,RPC_MGR_EPV**); RPC_STATUS RPC_ENTRY RpcServerListen(unsigned int,unsigned int,unsigned int); RPC_STATUS RPC_ENTRY RpcServerRegisterIf(RPC_IF_HANDLE,UUID*,RPC_MGR_EPV*); RPC_STATUS RPC_ENTRY RpcServerRegisterIfEx(RPC_IF_HANDLE,UUID*,RPC_MGR_EPV*,unsigned int,unsigned int,RPC_IF_CALLBACK_FN*); +RPC_STATUS RPC_ENTRY RpcServerRegisterIf2(RPC_IF_HANDLE,UUID*,RPC_MGR_EPV*,unsigned int,unsigned int,unsigned int,RPC_IF_CALLBACK_FN*); RPC_STATUS RPC_ENTRY RpcServerUnregisterIf(RPC_IF_HANDLE,UUID*,unsigned int); RPC_STATUS RPC_ENTRY RpcServerUseAllProtseqs(unsigned int,void*); RPC_STATUS RPC_ENTRY RpcServerUseAllProtseqsEx(unsigned int,void*,PRPC_POLICY); diff --git a/winsup/w32api/include/rpcdcep.h b/winsup/w32api/include/rpcdcep.h index c45bc4690..399d4acc4 100644 --- a/winsup/w32api/include/rpcdcep.h +++ b/winsup/w32api/include/rpcdcep.h @@ -77,10 +77,11 @@ typedef struct _RPC_TRANSFER_SYNTAX { unsigned short VersMajor; unsigned short VersMinor; } RPC_TRANSFER_SYNTAX; -typedef long(__stdcall *RPC_BLOCKING_FUNCTION)(void*,void*); +typedef RPC_STATUS (*RPC_BLOCKING_FN)(void*,void*,void*); long __stdcall I_RpcGetBuffer(RPC_MESSAGE*); long __stdcall I_RpcSendReceive(RPC_MESSAGE*); +long __stdcall I_RpcSend(RPC_MESSAGE*); long __stdcall I_RpcFreeBuffer(RPC_MESSAGE*); void __stdcall I_RpcRequestMutex(I_RPC_MUTEX*); void __stdcall I_RpcClearMutex(I_RPC_MUTEX); @@ -110,7 +111,7 @@ void __stdcall I_RpcSsDontSerializeContext(void); long __stdcall I_RpcServerRegisterForwardFunction(RPC_FORWARD_FUNCTION*); long __stdcall I_RpcConnectionInqSockBuffSize(unsigned long*,unsigned long*); long __stdcall I_RpcConnectionSetSockBuffSize(unsigned long,unsigned long); -long __stdcall I_RpcBindingSetAsync(HANDLE,RPC_BLOCKING_FUNCTION); +long __stdcall I_RpcBindingSetAsync(HANDLE,RPC_BLOCKING_FN); long __stdcall I_RpcAsyncSendReceive(RPC_MESSAGE*,void*); long __stdcall I_RpcGetThreadWindowHandle(void**); long __stdcall I_RpcServerThreadPauseListening(void); diff --git a/winsup/w32api/include/rpcndr.h b/winsup/w32api/include/rpcndr.h index 8b728bbb5..d1c4eec72 100644 --- a/winsup/w32api/include/rpcndr.h +++ b/winsup/w32api/include/rpcndr.h @@ -196,7 +196,7 @@ typedef struct _MIDL_STUB_MESSAGE { unsigned long *SizePtrLengthArray; void*pArgQueue; unsigned long dwStubPhase; - unsigned long Reserved[5]; + unsigned long w2kReserved[5]; } MIDL_STUB_MESSAGE,*PMIDL_STUB_MESSAGE; #pragma pack(pop) typedef void*(__RPC_API *GENERIC_BINDING_ROUTINE)(void*); @@ -226,6 +226,37 @@ typedef struct _COMM_FAULT_OFFSETS { short CommOffset; short FaultOffset; } COMM_FAULT_OFFSETS; +typedef unsigned long (__RPC_USER *USER_MARSHAL_SIZING_ROUTINE)(unsigned long *,unsigned long,void *); +typedef unsigned char *(__RPC_USER *USER_MARSHAL_MARSHALLING_ROUTINE)(unsigned long *,unsigned char *,void *); +typedef unsigned char *(__RPC_USER *USER_MARSHAL_UNMARSHALLING_ROUTINE)(unsigned long *,unsigned char *,void *); +typedef void (__RPC_USER *USER_MARSHAL_FREEING_ROUTINE)(unsigned long *,void *); +typedef struct _USER_MARSHAL_ROUTINE_QUADRUPLE { + USER_MARSHAL_SIZING_ROUTINE pfnBufferSize; + USER_MARSHAL_MARSHALLING_ROUTINE pfnMarshall; + USER_MARSHAL_UNMARSHALLING_ROUTINE pfnUnmarshall; + USER_MARSHAL_FREEING_ROUTINE pfnFree; +} USER_MARSHAL_ROUTINE_QUADRUPLE; +typedef void (__RPC_USER *NDR_NOTIFY_ROUTINE)(void); +typedef enum _IDL_CS_CONVERT { + IDL_CS_NO_CONVERT, + IDL_CS_IN_PLACE_CONVERT, + IDL_CS_NEW_BUFFER_CONVERT +} IDL_CS_CONVERT; +typedef void (__RPC_USER *CS_TYPE_NET_SIZE_ROUTINE)(RPC_BINDING_HANDLE,unsigned long,unsigned long,IDL_CS_CONVERT*,unsigned long*,error_status_t*); +typedef void (__RPC_USER *CS_TYPE_LOCAL_SIZE_ROUTINE)(RPC_BINDING_HANDLE,unsigned long,unsigned long,IDL_CS_CONVERT*,unsigned long*,error_status_t*); +typedef void (__RPC_USER *CS_TYPE_TO_NETCS_ROUTINE)(RPC_BINDING_HANDLE,unsigned long,void*,unsigned long,byte*,unsigned long*,error_status_t*); +typedef void (__RPC_USER *CS_TYPE_FROM_NETCS_ROUTINE)(RPC_BINDING_HANDLE,unsigned long,byte*,unsigned long,unsigned long,void*,unsigned long*,error_status_t*); +typedef void (__RPC_USER *CS_TAG_GETTING_ROUTINE)(RPC_BINDING_HANDLE,int,unsigned long*,unsigned long*,unsigned long*,error_status_t*); +typedef struct _NDR_CS_SIZE_CONVERT_ROUTINES { + CS_TYPE_NET_SIZE_ROUTINE pfnNetSize; + CS_TYPE_TO_NETCS_ROUTINE pfnToNetCs; + CS_TYPE_LOCAL_SIZE_ROUTINE pfnLocalSize; + CS_TYPE_FROM_NETCS_ROUTINE pfnFromNetCs; +} NDR_CS_SIZE_CONVERT_ROUTINES; +typedef struct _NDR_CS_ROUTINES { + NDR_CS_SIZE_CONVERT_ROUTINES *pSizeConvertRoutines; + CS_TAG_GETTING_ROUTINE *pTagGettingRoutines; +} NDR_CS_ROUTINES; typedef struct _MIDL_STUB_DESC { void*RpcInterfaceInformation; void*(__RPC_API *pfnAllocate)(unsigned int); @@ -245,6 +276,12 @@ typedef struct _MIDL_STUB_DESC { MALLOC_FREE_STRUCT *pMallocFreeStruct; long MIDLVersion; const COMM_FAULT_OFFSETS *CommFaultOffsets; + const USER_MARSHAL_ROUTINE_QUADRUPLE *aUserMarshalQuadruple; + const NDR_NOTIFY_ROUTINE *NotifyRoutineTable; + ULONG_PTR mFlags; + const NDR_CS_ROUTINES *CsRoutineTables; + void *Reserved4; + ULONG_PTR Reserved5; } MIDL_STUB_DESC; typedef const MIDL_STUB_DESC *PMIDL_STUB_DESC; typedef void*PMIDL_XMIT_TYPE; @@ -467,6 +504,11 @@ void*RPC_ENTRY NdrAllocate(PMIDL_STUB_MESSAGE,unsigned int); void RPC_ENTRY NdrClearOutParameters(PMIDL_STUB_MESSAGE,PFORMAT_STRING,void*); void*RPC_ENTRY NdrOleAllocate(unsigned int); void RPC_ENTRY NdrOleFree(void*); +unsigned char*RPC_ENTRY NdrUserMarshalMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +unsigned char*RPC_ENTRY NdrUserMarshalUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char); +void RPC_ENTRY NdrUserMarshalBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +unsigned long RPC_ENTRY NdrUserMarshalMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); +void RPC_ENTRY NdrUserMarshalFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); #ifdef __cplusplus } #endif diff --git a/winsup/w32api/include/rpcproxy.h b/winsup/w32api/include/rpcproxy.h index 5700e541a..d4fcce533 100644 --- a/winsup/w32api/include/rpcproxy.h +++ b/winsup/w32api/include/rpcproxy.h @@ -152,6 +152,10 @@ typedef struct tagCStdStubBuffer { const struct IRpcStubBufferVtbl * lpVtbl; long RefCount; struct IUnknown *pvServerObject; + const struct ICallFactoryVtbl * pCallFactoryVtbl; + const IID * pAsyncIID; + struct IPSFactoryBuffer * pPSFactory; + const struct IReleaseMarshalBuffersVtbl * pRMBVtbl; } CStdStubBuffer; typedef struct tagCStdPSFactoryBuffer { const IPSFactoryBufferVtbl *lpVtbl; diff --git a/winsup/w32api/include/winbase.h b/winsup/w32api/include/winbase.h index c953afa9f..4cfadbf0c 100644 --- a/winsup/w32api/include/winbase.h +++ b/winsup/w32api/include/winbase.h @@ -1369,6 +1369,7 @@ DWORD WINAPI GetFullPathNameA(LPCSTR,DWORD,LPSTR,LPSTR*); DWORD WINAPI GetFullPathNameW(LPCWSTR,DWORD,LPWSTR,LPWSTR*); BOOL WINAPI GetHandleInformation(HANDLE,PDWORD); BOOL WINAPI GetKernelObjectSecurity(HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD); +DWORD WINAPI GetLastError(void); DWORD WINAPI GetLengthSid(PSID); void WINAPI GetLocalTime(LPSYSTEMTIME); DWORD WINAPI GetLogicalDrives(void); @@ -1562,7 +1563,7 @@ BOOL WINAPI InitializeCriticalSectionAndSpinCount(LPCRITICAL_SECTION,DWORD); DWORD WINAPI SetCriticalSectionSpinCount(LPCRITICAL_SECTION,DWORD); BOOL WINAPI InitializeSecurityDescriptor(PSECURITY_DESCRIPTOR,DWORD); BOOL WINAPI InitializeSid (PSID,PSID_IDENTIFIER_AUTHORITY,BYTE); -#if (_WIN32_WINNT >= 0x0501) +#if !defined(__WINDDK_H) && _WIN32_WINNT >= 0x0501 VOID WINAPI InitializeSListHead(PSLIST_HEADER); #endif #ifndef __INTERLOCKED_DECLARED diff --git a/winsup/w32api/include/wingdi.h b/winsup/w32api/include/wingdi.h index ec91de103..a4324b699 100644 --- a/winsup/w32api/include/wingdi.h +++ b/winsup/w32api/include/wingdi.h @@ -2014,6 +2014,14 @@ typedef struct tagENHMETAHEADER { DWORD nPalEntries; SIZEL szlDevice; SIZEL szlMillimeters; +#if (WINVER >= 0x0400) + DWORD cbPixelFormat; + DWORD offPixelFormat; + DWORD bOpenGL; +#endif +#if (WINVER >= 0x0500) + SIZEL szlMicrometers; +#endif } ENHMETAHEADER,*LPENHMETAHEADER; typedef struct tagMETARECORD { DWORD rdSize; @@ -2114,6 +2122,21 @@ typedef struct _GLYPHMETRICS { short gmCellIncX; short gmCellIncY; } GLYPHMETRICS,*LPGLYPHMETRICS; +#if (_WIN32_WINNT >= 0x0500) +typedef struct tagWCRANGE +{ + WCHAR wcLow; + USHORT cGlyphs; +} WCRANGE, *PWCRANGE, *LPWCRANGE; +typedef struct tagGLYPHSET +{ + DWORD cbThis; + DWORD flAccel; + DWORD cGlyphsSupported; + DWORD cRanges; + WCRANGE ranges[1]; +} GLYPHSET, *PGLYPHSET, *LPGLYPHSET; +#endif typedef struct tagKERNINGPAIR { WORD wFirst; WORD wSecond; @@ -2210,7 +2233,7 @@ typedef struct _POLYTEXTA { UINT uiFlags; RECT rcl; int *pdx; -} POLYTEXTA, *PPOLYTEXTA; +} POLYTEXTA, *PPOLYTEXTA, *LPPOLYTEXTA; typedef struct _POLYTEXTW { int x; int y; @@ -2219,7 +2242,7 @@ typedef struct _POLYTEXTW { UINT uiFlags; RECT rcl; int *pdx; -} POLYTEXTW, *PPOLYTEXTW; +} POLYTEXTW, *PPOLYTEXTW, *LPPOLYTEXTW; typedef struct tagPIXELFORMATDESCRIPTOR { WORD nSize; WORD nVersion; @@ -2348,8 +2371,8 @@ typedef struct tagENUMLOGFONTEXA { typedef struct tagENUMLOGFONTEXW { LOGFONTW elfLogFont; WCHAR elfFullName[LF_FULLFACESIZE]; - BYTE elfStyle[LF_FACESIZE]; - BYTE elfScript[LF_FACESIZE]; + WCHAR elfStyle[LF_FACESIZE]; + WCHAR elfScript[LF_FACESIZE]; } ENUMLOGFONTEXW,*LPENUMLOGFONTEXW; typedef struct tagPOINTFX { FIXED x; @@ -2414,6 +2437,18 @@ typedef struct _DESIGNVECTOR { DWORD dvNumAxes; LONG dvValues[MM_MAX_NUMAXES]; } DESIGNVECTOR, *PDESIGNVECTOR, FAR *LPDESIGNVECTOR; +#if _WIN32_WINNT >= 0x0500 +typedef struct tagENUMLOGFONTEXDVA +{ + ENUMLOGFONTEXA elfEnumLogfontEx; + DESIGNVECTOR elfDesignVector; +} ENUMLOGFONTEXDVA, *PENUMLOGFONTEXDVA, *LPENUMLOGFONTEXDVA; +typedef struct tagENUMLOGFONTEXDVW +{ + ENUMLOGFONTEXW elfEnumLogfontEx; + DESIGNVECTOR elfDesignVector; +} ENUMLOGFONTEXDVW, *PENUMLOGFONTEXDVW, *LPENUMLOGFONTEXDVW; +#endif /* _WIN32_WINNT >= 0x0500 */ typedef USHORT COLOR16; typedef struct _TRIVERTEX { LONG x; @@ -2843,10 +2878,13 @@ typedef TEXTMETRICW TEXTMETRIC,*PTEXTMETRIC,*LPTEXTMETRIC; #define ICMENUMPROC ICMENUMPROCW #define FONTENUMPROC FONTENUMPROCW typedef DEVMODEW DEVMODE,*PDEVMODE,*LPDEVMODE; +typedef ENUMLOGFONTEXDVW ENUMLOGFONTEXDV; +typedef PENUMLOGFONTEXDVW PENUMLOGFONTEXDV; +typedef LPENUMLOGFONTEXDVW LPENUMLOGFONTEXDV; typedef EXTLOGFONTW EXTLOGFONT,*PEXTLOGFONT,*LPEXTLOGFONT; typedef GCP_RESULTSW GCP_RESULTS,*LPGCP_RESULTS; typedef OUTLINETEXTMETRICW OUTLINETEXTMETRIC,*POUTLINETEXTMETRIC,*LPOUTLINETEXTMETRIC; -typedef POLYTEXTW POLYTEXT; +typedef POLYTEXTW POLYTEXT,*PPOLYTEXT,*LPPOLYTEXT; typedef LOGCOLORSPACEW LOGCOLORSPACE,*LPLOGCOLORSPACE; typedef NEWTEXTMETRICW NEWTEXTMETRIC,*PNEWTEXTMETRIC,*LPNEWTEXTMETRIC; typedef NEWTEXTMETRICEXW NEWTEXTMETRICEX; @@ -2912,10 +2950,13 @@ typedef TEXTMETRICA TEXTMETRIC,*PTEXTMETRIC,*LPTEXTMETRIC; #define ICMENUMPROC ICMENUMPROCA #define FONTENUMPROC FONTENUMPROCA typedef DEVMODEA DEVMODE,*PDEVMODE,*LPDEVMODE; +typedef ENUMLOGFONTEXDVA ENUMLOGFONTEXDV; +typedef PENUMLOGFONTEXDVA PENUMLOGFONTEXDV; +typedef LPENUMLOGFONTEXDVA LPENUMLOGFONTEXDV; typedef EXTLOGFONTA EXTLOGFONT,*PEXTLOGFONT,*LPEXTLOGFONT; typedef GCP_RESULTSA GCP_RESULTS,*LPGCP_RESULTS; typedef OUTLINETEXTMETRICA OUTLINETEXTMETRIC,*POUTLINETEXTMETRIC,*LPOUTLINETEXTMETRIC; -typedef POLYTEXTA POLYTEXT; +typedef POLYTEXTA POLYTEXT,*PPOLYTEXT,*LPPOLYTEXT; typedef LOGCOLORSPACEA LOGCOLORSPACE,*LPLOGCOLORSPACE; typedef NEWTEXTMETRICA NEWTEXTMETRIC,*PNEWTEXTMETRIC,*LPNEWTEXTMETRIC; typedef NEWTEXTMETRICEXA NEWTEXTMETRICEX; diff --git a/winsup/w32api/include/winspool.h b/winsup/w32api/include/winspool.h index cc803ca27..e18eeda88 100644 --- a/winsup/w32api/include/winspool.h +++ b/winsup/w32api/include/winspool.h @@ -587,7 +587,7 @@ BOOL WINAPI DeletePrintProcessorW(LPWSTR,LPWSTR,LPWSTR); BOOL WINAPI DeletePrintProvidorA(LPSTR,LPSTR,LPSTR); BOOL WINAPI DeletePrintProvidorW(LPWSTR,LPWSTR,LPWSTR); LONG WINAPI DocumentPropertiesA(HWND,HANDLE,LPSTR,PDEVMODEA,PDEVMODEA,DWORD); -LONG WINAPI DocumentPropertiesW(HWND,HANDLE,LPWSTR,PDEVMODEA,PDEVMODEA,DWORD); +LONG WINAPI DocumentPropertiesW(HWND,HANDLE,LPWSTR,PDEVMODEW,PDEVMODEW,DWORD); BOOL WINAPI EndDocPrinter(HANDLE); BOOL WINAPI EndPagePrinter(HANDLE); BOOL WINAPI EnumFormsA(HANDLE,DWORD,PBYTE,DWORD,PDWORD,PDWORD); diff --git a/winsup/w32api/include/winuser.h b/winsup/w32api/include/winuser.h index 186c5c052..2c020d06c 100644 --- a/winsup/w32api/include/winuser.h +++ b/winsup/w32api/include/winuser.h @@ -534,6 +534,7 @@ extern "C" { #define SB_RIGHT 7 #define SB_BOTTOM 7 #define SB_TOP 6 +#define IS_INTRESOURCE(i) (((ULONG_PTR)(i) >> 16) == 0) #define MAKEINTRESOURCEA(i) (LPSTR)((DWORD)((WORD)(i))) #define MAKEINTRESOURCEW(i) (LPWSTR)((DWORD)((WORD)(i))) #ifndef XFree86Server @@ -743,6 +744,9 @@ extern "C" { #define MB_NOFOCUS 0x00008000 #define MB_TYPEMASK 15 #define MB_TOPMOST 0x40000 +#if (WINVER >= 0x0500) +#define MB_CANCELTRYCONTINUE 6 +#endif #define IDOK 1 #define IDCANCEL 2 @@ -1203,6 +1207,41 @@ extern "C" { #define SPI_SETTOGGLEKEYS 53 #define SPI_SETWHEELSCROLLLINES 105 #define SPI_SETWORKAREA 47 +#if (WINVER >= 0x0500) +#define SPI_GETDESKWALLPAPER 115 +#define SPI_GETMOUSESPEED 112 +#define SPI_GETSCREENSAVERRUNNING 114 +#define SPI_GETACTIVEWINDOWTRACKING 0x1000 +#define SPI_GETACTIVEWNDTRKZORDER 0x100C +#define SPI_GETCOMBOBOXANIMATION 0x1004 +#define SPI_GETCURSORSHADOW 0x101A +#define SPI_GETGRADIENTCAPTIONS 0x1008 +#define SPI_GETHOTTRACKING 0x100E +#define SPI_GETKEYBOARDCUES 0x100A +#define SPI_GETLISTBOXSMOOTHSCROLLING 0x1006 +#define SPI_GETMENUANIMATION 0x1002 +#define SPI_GETMENUFADE 0x1012 +#define SPI_GETMENUUNDERLINES 0x100A +#define SPI_GETSELECTIONFADE 0x1014 +#define SPI_GETTOOLTIPANIMATION 0x1016 +#define SPI_GETTOOLTIPFADE 0x1018 +#define SPI_SETACTIVEWINDOWTRACKING 0x1001 +#define SPI_SETACTIVEWNDTRKZORDER 0x100D +#define SPI_SETCOMBOBOXANIMATION 0x1005 +#define SPI_SETCURSORSHADOW 0x101B +#define SPI_SETGRADIENTCAPTIONS 0x1009 +#define SPI_SETHOTTRACKING 0x100F +#define SPI_SETKEYBOARDCUES 0x100B +#define SPI_SETLISTBOXSMOOTHSCROLLING 0x1007 +#define SPI_SETMENUANIMATION 0x1003 +#define SPI_SETMENUFADE 0x1013 +#define SPI_SETMENUUNDERLINES 0x100B +#define SPI_SETMOUSESPEED 113 +#define SPI_SETSELECTIONFADE 0x1015 +#define SPI_SETTOOLTIPANIMATION 0x1017 +#define SPI_SETTOOLTIPFADE 0x1019 +#endif + #define SPIF_UPDATEINIFILE 1 #define SPIF_SENDWININICHANGE 2 #define SPIF_SENDCHANGE 2 @@ -1314,6 +1353,11 @@ extern "C" { #define WM_NCMBUTTONDBLCLK 169 #define WM_NCMBUTTONDOWN 167 #define WM_NCMBUTTONUP 168 +#if (_WIN32_WINNT >= 0x0500) +#define WM_NCXBUTTONDOWN 171 +#define WM_NCXBUTTONUP 172 +#define WM_NCXBUTTONDBLCLK 173 +#endif #define WM_NCMOUSEMOVE 160 #define WM_NCPAINT 133 #define WM_NCRBUTTONDBLCLK 166 @@ -1394,7 +1438,14 @@ extern "C" { #define WM_MBUTTONDBLCLK 521 #define WM_MOUSEWHEEL 522 #define WM_MOUSEFIRST 512 +#if (_WIN32_WINNT >= 0x0500) +#define WM_XBUTTONDOWN 523 +#define WM_XBUTTONUP 524 +#define WM_XBUTTONDBLCLK 525 +#define WM_MOUSELAST 525 +#else #define WM_MOUSELAST 522 +#endif #define WM_MOUSEHOVER 0x2A1 #define WM_MOUSELEAVE 0x2A3 #if (_WIN32_WINNT >= 0x0400) @@ -1594,6 +1645,7 @@ extern "C" { #define DCX_CLIPSIBLINGS 16 #define DCX_CLIPCHILDREN 8 #define DCX_NORESETATTRS 4 +#define DCX_INTERSECTUPDATE 0x200 #define DCX_LOCKWINDOWUPDATE 0x400 #define DCX_EXCLUDERGN 64 #define DCX_INTERSECTRGN 128 @@ -1813,6 +1865,10 @@ extern "C" { #define MK_SHIFT 4 #define MK_CONTROL 8 #define MK_MBUTTON 16 +#if(_WIN32_WINNT >= 0x0500) +#define MK_XBUTTON1 32 +#define MK_XBUTTON2 64 +#endif #define TPM_CENTERALIGN 4 #define TPM_LEFTALIGN 0 #define TPM_RIGHTALIGN 8 @@ -1841,6 +1897,7 @@ extern "C" { #define HELP_QUIT 2 #define HELP_SETCONTENTS 5 #define HELP_SETINDEX 5 +#define HELP_SETWINPOS 0x203 #define HELP_CONTEXTMENU 0xa #define HELP_FINDER 0xb #define HELP_WM_HELP 0xc @@ -3147,7 +3204,8 @@ long WINAPI BroadcastSystemMessageW(DWORD,LPDWORD,UINT,WPARAM,LPARAM); long WINAPI BroadcastSystemMessageExA(DWORD,LPDWORD,UINT,WPARAM,LPARAM,PBSMINFO); long WINAPI BroadcastSystemMessageExW(DWORD,LPDWORD,UINT,WPARAM,LPARAM,PBSMINFO); #endif /* (_WIN32_WINNT >= 0x0501) */ -BOOL WINAPI CallMsgFilter(PMSG,int); +BOOL WINAPI CallMsgFilterA(LPMSG,INT); +BOOL WINAPI CallMsgFilterW(LPMSG,INT); LRESULT WINAPI CallNextHookEx(HHOOK,int,WPARAM,LPARAM); LRESULT WINAPI CallWindowProcA(WNDPROC,HWND,UINT,WPARAM,LPARAM); LRESULT WINAPI CallWindowProcW(WNDPROC,HWND,UINT,WPARAM,LPARAM); @@ -3388,7 +3446,6 @@ int WINAPI GetKeyNameTextA(LONG,LPSTR,int); int WINAPI GetKeyNameTextW(LONG,LPWSTR,int); SHORT WINAPI GetKeyState(int); HWND WINAPI GetLastActivePopup(HWND); -DWORD WINAPI GetLastError(void); HMENU WINAPI GetMenu(HWND); LONG WINAPI GetMenuCheckMarkDimensions(void); DWORD WINAPI GetMenuContextHelpId(HMENU); @@ -3503,6 +3560,7 @@ BOOL WINAPI InsertMenuA(HMENU,UINT,UINT,UINT,LPCSTR); BOOL WINAPI InsertMenuW(HMENU,UINT,UINT,UINT,LPCWSTR); BOOL WINAPI InsertMenuItemA(HMENU,UINT,BOOL,LPCMENUITEMINFOA); BOOL WINAPI InsertMenuItemW(HMENU,UINT,BOOL,LPCMENUITEMINFOW); +INT WINAPI InternalGetWindowText(HWND,LPWSTR,INT); BOOL WINAPI IntersectRect(LPRECT,LPCRECT,LPCRECT); BOOL WINAPI InvalidateRect(HWND,LPCRECT,BOOL); BOOL WINAPI InvalidateRgn(HWND,HRGN,BOOL); @@ -3722,7 +3780,8 @@ LONG_PTR WINAPI SetWindowLongPtrW(HWND,int,LONG_PTR); BOOL WINAPI SetWindowPlacement(HWND hWnd,const WINDOWPLACEMENT*); BOOL WINAPI SetWindowPos(HWND,HWND,int,int,int,int,UINT); int WINAPI SetWindowRgn(HWND,HRGN,BOOL); -HOOKPROC WINAPI SetWindowsHookA(int,HOOKPROC); +HHOOK WINAPI SetWindowsHookA(int,HOOKPROC); +HHOOK WINAPI SetWindowsHookW(int,HOOKPROC); HHOOK WINAPI SetWindowsHookExA(int,HOOKPROC,HINSTANCE,DWORD); HHOOK WINAPI SetWindowsHookExW(int,HOOKPROC,HINSTANCE,DWORD); BOOL WINAPI SetWindowTextA(HWND,LPCSTR); @@ -3828,6 +3887,7 @@ typedef MONITORINFOEXW MONITORINFOEX, *LPMONITORINFOEX; #define AppendMenu AppendMenuW #define BroadcastSystemMessage BroadcastSystemMessageW #define BroadcastSystemMessageEx BroadcastSystemMessageExW +#define CallMsgFilter CallMsgFilterW #define CallWindowProc CallWindowProcW #define ChangeMenu ChangeMenuW #define CharLower CharLowerW @@ -3992,6 +4052,7 @@ typedef MONITORINFOEXA MONITORINFOEX, *LPMONITORINFOEX; #define AppendMenu AppendMenuA #define BroadcastSystemMessage BroadcastSystemMessageA #define BroadcastSystemMessageEx BroadcastSystemMessageExA +#define CallMsgFilter CallMsgFilterA #define CallWindowProc CallWindowProcA #define ChangeMenu ChangeMenuA #define CharLower CharLowerA