From 0c0e3bebb8acdd41e60843ed12c529d789b1ac85 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Thu, 10 Dec 1998 15:49:22 +0000 Subject: [PATCH] Authors: Francis Beaudet , Sylvain St-Germain , Thuy Nguyen Lots of new stubs. --- controls/edit.c | 2 - dlls/comctl32/Makefile.in | 1 + dlls/comctl32/comctl32undoc.c | 93 +++++++++++ dlls/comctl32/propsheet.c | 65 ++++++++ dlls/shell32/shell32_main.c | 33 ++++ files/file.c | 58 +++++++ graphics/metafiledrv/init.c | 57 ++++++- graphics/painting.c | 66 ++++++++ if1632/ddeml.spec | 10 +- include/commctrl.h | 174 ++++++++++++++++++++ include/ddeml.h | 23 ++- include/shlobj.h | 4 - include/windows.h | 20 ++- include/wintypes.h | 1 + memory/string.c | 101 ++++++++++++ misc/ddeml.c | 122 ++++++++++++-- misc/network.c | 61 +++++++ misc/printdrv.c | 301 ++++++++++++++++++++++++++++++++++ misc/tapi32.c | 34 ++++ objects/bitmap.c | 19 +++ objects/dc.c | 9 + objects/enhmetafile.c | 10 ++ objects/font.c | 12 +- objects/metafile.c | 11 ++ relay32/comctl32.spec | 28 ++-- relay32/gdi32.spec | 24 +-- relay32/kernel32.spec | 11 +- relay32/mpr.spec | 10 +- relay32/shell32.spec | 4 +- relay32/tapi32.spec | 4 +- relay32/user32.spec | 26 +-- relay32/winspool.spec | 54 +++--- win32/console.c | 13 +- win32/kernel32.c | 36 ++++ win32/time.c | 13 ++ windows/input.c | 44 +++++ windows/message.c | 11 ++ 37 files changed, 1448 insertions(+), 117 deletions(-) create mode 100644 dlls/comctl32/propsheet.c diff --git a/controls/edit.c b/controls/edit.c index efc578afdbf..d9ccbba148e 100644 --- a/controls/edit.c +++ b/controls/edit.c @@ -43,8 +43,6 @@ wrapped line, instead of in front of the next character */ #define EF_USE_SOFTBRK 0x0100 /* Enable soft breaks in text. */ -typedef BOOL32 *LPBOOL32; - typedef enum { END_0 = 0, /* line ends with terminating '\0' character */ diff --git a/dlls/comctl32/Makefile.in b/dlls/comctl32/Makefile.in index 5f5869456aa..5bd0b5af739 100644 --- a/dlls/comctl32/Makefile.in +++ b/dlls/comctl32/Makefile.in @@ -20,6 +20,7 @@ C_SRCS = \ nativefont.c \ pager.c \ progress.c \ + propsheet.c \ rebar.c \ status.c \ tab.c \ diff --git a/dlls/comctl32/comctl32undoc.c b/dlls/comctl32/comctl32undoc.c index 3e9fa58e3eb..b3f8be45813 100644 --- a/dlls/comctl32/comctl32undoc.c +++ b/dlls/comctl32/comctl32undoc.c @@ -25,6 +25,15 @@ extern HANDLE32 COMCTL32_hHeap; /* handle to the private heap */ +/* + * We put some function prototypes here that don't seem to belong in + * any header file. When they find their place, we can remove them. + */ +extern LPWSTR __cdecl CRTDLL_wcschr(LPCWSTR, WCHAR); +extern LPSTR WINAPI lstrrchr(LPCSTR, LPCSTR, WORD); +extern LPWSTR WINAPI lstrrchrw(LPCWSTR, LPCWSTR, WORD); +extern LPWSTR WINAPI strstrw(LPCWSTR, LPCWSTR); + /************************************************************************** * DPA_Merge [COMCTL32.11] @@ -1781,3 +1790,87 @@ DSA_DestroyCallback (const HDSA hdsa, DSAENUMPROC enumProc, LPARAM lParam) return DSA_Destroy (hdsa); } +/************************************************************************** + * StrCSpnA [COMCTL32.356] + * + */ +INT32 WINAPI COMCTL32_StrCSpnA( LPCSTR lpStr, LPCSTR lpSet) { + return strcspn(lpStr, lpSet); +} + +/************************************************************************** + * StrChrW [COMCTL32.358] + * + */ +LPWSTR WINAPI COMCTL32_StrChrW( LPCWSTR lpStart, WORD wMatch) { + return CRTDLL_wcschr(lpStart, wMatch); +} + +/************************************************************************** + * StrCmpNA [COMCTL32.352] + * + */ +INT32 WINAPI COMCTL32_StrCmpNA( LPCSTR lpStr1, LPCSTR lpStr2, int nChar) { + return lstrncmp32A(lpStr1, lpStr2, nChar); +} + +/************************************************************************** + * StrCmpNW [COMCTL32.360] + * + */ +INT32 WINAPI COMCTL32_StrCmpNW( LPCWSTR lpStr1, LPCWSTR lpStr2, int nChar) { + return lstrncmp32W(lpStr1, lpStr2, nChar); +} + +/************************************************************************** + * StrRChrA [COMCTL32.351] + * + */ +LPSTR WINAPI COMCTL32_StrRChrA( LPCSTR lpStart, LPCSTR lpEnd, WORD wMatch) { + return lstrrchr(lpStart, lpEnd, wMatch); +} + +/************************************************************************** + * StrRChrW [COMCTL32.359] + * + */ +LPWSTR WINAPI COMCTL32_StrRChrW( LPCWSTR lpStart, LPCWSTR lpEnd, WORD wMatch) { + return lstrrchrw(lpStart, lpEnd, wMatch); +} + +/************************************************************************** + * StrStrA [COMCTL32.354] + * + */ +LPSTR WINAPI COMCTL32_StrStrA( LPCSTR lpFirst, LPCSTR lpSrch) { + return strstr(lpFirst, lpSrch); +} + +/************************************************************************** + * StrStrW [COMCTL32.362] + * + */ +LPWSTR WINAPI COMCTL32_StrStrW( LPCWSTR lpFirst, LPCWSTR lpSrch) { + return strstrw(lpFirst, lpSrch); +} + +/************************************************************************** + * StrSpnW [COMCTL32.364] + * + */ +INT32 WINAPI COMCTL32_StrSpnW( LPWSTR lpStr, LPWSTR lpSet) { + LPWSTR lpLoop = lpStr; + + /* validate ptr */ + if ((lpStr == 0) || (lpSet == 0)) return 0; + +/* while(*lpLoop) { if lpLoop++; } */ + + for(; (*lpLoop != 0); lpLoop++) + if( CRTDLL_wcschr(lpSet, *(WORD*)lpLoop)) + return (INT32)(lpLoop-lpStr); + + return (INT32)(lpLoop-lpStr); +} + + diff --git a/dlls/comctl32/propsheet.c b/dlls/comctl32/propsheet.c new file mode 100644 index 00000000000..4bfd3af7188 --- /dev/null +++ b/dlls/comctl32/propsheet.c @@ -0,0 +1,65 @@ +/* + * Property Sheets + * + * Copyright 1998 Francis Beaudet + * + * TODO: + * - All the functions are simply stubs + * + */ + +#include "windows.h" +#include "commctrl.h" +#include "win.h" +#include "debug.h" + +/***************************************************************** + * PropertySheet32A (COMCTL32.84) + */ +INT32 WINAPI PropertySheet32A(LPCPROPSHEETHEADER32A propertySheetHeader) +{ + FIXME(commctrl, "(%p): stub\n", propertySheetHeader); + + return -1; +} + +/***************************************************************** + * PropertySheet32W (COMCTL32.85) + */ +INT32 WINAPI PropertySheet32W(LPCPROPSHEETHEADER32W propertySheetHeader) +{ + FIXME(commctrl, "(%p): stub\n", propertySheetHeader); + + return -1; +} + +/***************************************************************** + * CreatePropertySheetPage32A (COMCTL32.19) + */ +HPROPSHEETPAGE WINAPI CreatePropertySheetPage32A(LPCPROPSHEETPAGE32A lpPropSheetPage) +{ + FIXME(commctrl, "(%p): stub\n", lpPropSheetPage); + + return 0; +} + +/***************************************************************** + * CreatePropertySheetPage32W (COMCTL32.20) + */ +HPROPSHEETPAGE WINAPI CreatePropertySheetPage32W(LPCPROPSHEETPAGE32W lpPropSheetPage) +{ + FIXME(commctrl, "(%p): stub\n", lpPropSheetPage); + + return 0; +} + +/***************************************************************** + * DestroyPropertySheetPage32 (COMCTL32.24) + */ +BOOL32 WINAPI DestroyPropertySheetPage32(HPROPSHEETPAGE hPropPage) +{ + FIXME(commctrl, "(0x%x): stub\n", hPropPage); + + return FALSE; +} + diff --git a/dlls/shell32/shell32_main.c b/dlls/shell32/shell32_main.c index 83439ffe488..ad42cdba381 100644 --- a/dlls/shell32/shell32_main.c +++ b/dlls/shell32/shell32_main.c @@ -287,6 +287,16 @@ HINSTANCE32 WINAPI FindExecutable32A( LPCSTR lpFile, LPCSTR lpDirectory, return retval; } +/************************************************************************* + * FindExecutable32W (SHELL32.219) + */ +HINSTANCE32 WINAPI FindExecutable32W(LPCWSTR lpFile, LPCWSTR lpDirectory, + LPWSTR lpResult) +{ + FIXME(shell, "(%p,%p,%p): stub\n", lpFile, lpDirectory, lpResult); + return 31; /* default - 'No association was found' */ +} + typedef struct { LPCSTR szApp; LPCSTR szOtherStuff; @@ -650,6 +660,29 @@ HINSTANCE32 WINAPI ShellExecute32A( HWND32 hWnd, LPCSTR lpOperation, lpDirectory, iShowCmd ); } +/************************************************************************* + * ShellExecute32W [SHELL32.294] + * from shellapi.h + * WINSHELLAPI HINSTANCE APIENTRY ShellExecuteW(HWND hwnd, LPCWSTR lpOperation, + * LPCWSTR lpFile, LPCWSTR lpParameters, LPCWSTR lpDirectory, INT nShowCmd); + */ +HINSTANCE32 WINAPI +ShellExecute32W( + HWND32 hwnd, + LPCWSTR lpOperation, + LPCWSTR lpFile, + LPCWSTR lpParameters, + LPCWSTR lpDirectory, + INT32 nShowCmd) { + + FIXME(shell,": stub\n"); + return 0; +} + + + + + /************************************************************************* * AboutDlgProc32 (not an exported API function) diff --git a/files/file.c b/files/file.c index e4afe2100a9..2b2216703e5 100644 --- a/files/file.c +++ b/files/file.c @@ -3,6 +3,10 @@ * * Copyright 1993 John Burton * Copyright 1996 Alexandre Julliard + * + * TODO: + * Fix the CopyFileEx methods to implement the "extented" functionality. + * Right now, they simply call the CopyFile method. */ #include @@ -2005,6 +2009,60 @@ BOOL32 WINAPI CopyFile32W( LPCWSTR source, LPCWSTR dest, BOOL32 fail_if_exists) } +/************************************************************************** + * CopyFileEx32A (KERNEL32.858) + * + * This implementation ignores most of the extra parameters passed-in into + * the "ex" version of the method and calls the CopyFile method. + * It will have to be fixed eventually. + */ +BOOL32 WINAPI CopyFileEx32A(LPCSTR sourceFilename, + LPCSTR destFilename, + LPPROGRESS_ROUTINE progressRoutine, + LPVOID appData, + LPBOOL32 cancelFlagPointer, + DWORD copyFlags) +{ + BOOL32 failIfExists = FALSE; + + /* + * Interpret the only flag that CopyFile can interpret. + */ + if ( (copyFlags & COPY_FILE_FAIL_IF_EXISTS) != 0) + { + failIfExists = TRUE; + } + + return CopyFile32A(sourceFilename, destFilename, failIfExists); +} + +/************************************************************************** + * CopyFileEx32W (KERNEL32.859) + */ +BOOL32 WINAPI CopyFileEx32W(LPCWSTR sourceFilename, + LPCWSTR destFilename, + LPPROGRESS_ROUTINE progressRoutine, + LPVOID appData, + LPBOOL32 cancelFlagPointer, + DWORD copyFlags) +{ + LPSTR sourceA = HEAP_strdupWtoA( GetProcessHeap(), 0, sourceFilename ); + LPSTR destA = HEAP_strdupWtoA( GetProcessHeap(), 0, destFilename ); + + BOOL32 ret = CopyFileEx32A(sourceA, + destA, + progressRoutine, + appData, + cancelFlagPointer, + copyFlags); + + HeapFree( GetProcessHeap(), 0, sourceA ); + HeapFree( GetProcessHeap(), 0, destA ); + + return ret; +} + + /*********************************************************************** * SetFileTime (KERNEL32.650) */ diff --git a/graphics/metafiledrv/init.c b/graphics/metafiledrv/init.c index 3aee5e05c9c..8684b0ad2e5 100644 --- a/graphics/metafiledrv/init.c +++ b/graphics/metafiledrv/init.c @@ -196,6 +196,23 @@ HDC32 WINAPI CreateMetaFile32A( return CreateMetaFile16( filename ); } +/********************************************************************** + * CreateMetaFile32W (GDI32.52) + */ +HDC32 WINAPI CreateMetaFile32W(LPCWSTR filename) +{ + LPSTR filenameA; + HDC32 hReturnDC; + + filenameA = HEAP_strdupWtoA( GetProcessHeap(), 0, filename ); + + hReturnDC = CreateMetaFile32A(filenameA); + + HeapFree( GetProcessHeap(), 0, filenameA ); + + return hReturnDC; +} + static DC *METAFILE_CloseMetaFile( HDC32 hdc ) { DC *dc; @@ -310,8 +327,8 @@ BOOL32 WINAPI DeleteMetaFile32( **********************************************************************/ -/* - need wide version as well +/********************************************************************** + * CreateEnhMetaFile32A (GDI32.41) */ HDC32 WINAPI CreateEnhMetaFile32A( HDC32 hdc, /* optional reference DC */ @@ -351,9 +368,45 @@ HDC32 WINAPI CreateEnhMetaFile32A( TRACE(metafile, "returning %04x\n", dc->hSelf); return dc->hSelf; #endif + + FIXME(metafile, + "(0x%lx,%s,%p,%s): stub\n", + hdc, + filename, + rect, + description); + return 0; } +/********************************************************************** + * CreateEnhMetaFile32W (GDI32.42) + */ +HDC32 WINAPI CreateEnhMetaFile32W( + HDC32 hdc, /* optional reference DC */ + LPCWSTR filename, /* optional filename for disk metafiles */ + const RECT32* rect, /* optional bounding rectangle */ + LPCWSTR description /* optional description */ + ) +{ + LPSTR filenameA; + LPSTR descriptionA; + HDC32 hReturnDC; + + filenameA = HEAP_strdupWtoA( GetProcessHeap(), 0, filename ); + descriptionA = HEAP_strdupWtoA( GetProcessHeap(), 0, description ); + + hReturnDC = CreateEnhMetaFile32A(hdc, + filenameA, + rect, + descriptionA); + + HeapFree( GetProcessHeap(), 0, filenameA ); + HeapFree( GetProcessHeap(), 0, descriptionA ); + + return hReturnDC; +} + HENHMETAFILE32 WINAPI CloseEnhMetaFile32( HDC32 hdc /* metafile DC */ ) diff --git a/graphics/painting.c b/graphics/painting.c index 6992cf7d553..df9b38e1b52 100644 --- a/graphics/painting.c +++ b/graphics/painting.c @@ -126,6 +126,43 @@ BOOL32 WINAPI Arc32( HDC32 hdc, INT32 left, INT32 top, INT32 right, dc->funcs->pArc(dc,left,top,right,bottom,xstart,ystart,xend,yend); } +/*********************************************************************** + * ArcTo32 (GDI32.8) + */ +BOOL32 WINAPI ArcTo32( HDC32 hdc, + INT32 left, INT32 top, + INT32 right, INT32 bottom, + INT32 xstart, INT32 ystart, + INT32 xend, INT32 yend ) +{ + BOOL32 result; + + /* + * According to the documentation, a line is drawn from the current + * position to the starting point of the arc. + */ + LineTo32(hdc, xstart, ystart); + + /* + * Then the arc is drawn. + */ + result = Arc32(hdc, + left, top, + right, bottom, + xstart, ystart, + xend, yend); + + /* + * If no error occured, the current position is moved to the ending + * point of the arc. + */ + if (result) + { + MoveToEx32(hdc, xend, yend, NULL); + } + + return result; +} /*********************************************************************** * Pie16 (GDI.26) @@ -1144,3 +1181,32 @@ BOOL32 WINAPI PolyBezierTo32( HDC32 hdc, const POINT32* lppt, DWORD cPoints ) return ret; } + +/************************************************************************* + * StartDoc32W [GDI32.348] + * + */ +INT32 WINAPI +StartDoc32W(HDC32 hdc ,const DOCINFO32W* doc) { + FIXME(gdi,"stub\n"); + SetLastError(ERROR_CALL_NOT_IMPLEMENTED); + return 0; /* failure*/ +} + +/****************************************************************************** + * PolylineTo32 [GDI32.277] + */ +BOOL32 WINAPI PolylineTo32(HDC32 hdc, const POINT32 *lppt, DWORD cCount) +{ + FIXME(gdi, "(%d,%p,%ld): stub\n", hdc, lppt, cCount); + return 1; +} + +/****************************************************************************** + * AbortDoc32 [GDI32.0] + */ +INT32 WINAPI AbortDoc32(HDC32 hdc) +{ + FIXME(gdi, "(%d): stub\n", hdc); + return 1; +} diff --git a/if1632/ddeml.spec b/if1632/ddeml.spec index 34aa4f90f65..39e8691221e 100644 --- a/if1632/ddeml.spec +++ b/if1632/ddeml.spec @@ -14,11 +14,11 @@ type win16 DdeClientTransaction16 12 pascal DdeAbandonTransaction(long word long) DdeAbandonTransaction 13 pascal DdePostAdvise(long word word) DdePostAdvise16 -14 pascal DdeCreateDataHandle(long ptr long long word word word) DdeCreateDataHandle +14 pascal DdeCreateDataHandle(long ptr long long word word word) DdeCreateDataHandle16 15 pascal DdeAddData(word ptr long long) DdeAddData 16 pascal DdeGetData(word ptr long long) DdeGetData16 -17 pascal DdeAccessData(word ptr) DdeAccessData -18 pascal DdeUnaccessData(word) DdeUnaccessData +17 pascal DdeAccessData(word ptr) DdeAccessData16 +18 pascal DdeUnaccessData(word) DdeUnaccessData16 19 pascal16 DdeFreeDataHandle(long) DdeFreeDataHandle16 20 pascal16 DdeGetLastError(long) DdeGetLastError16 21 pascal DdeCreateStringHandle(long str s_word) DdeCreateStringHandle16 @@ -26,8 +26,8 @@ type win16 23 stub DdeQueryString #(long word ptr long word) DdeQueryString 24 pascal16 DdeKeepStringHandle(long long) DdeKeepStringHandle16 -26 pascal DdeEnableCallback(long word word) DdeEnableCallback +26 pascal DdeEnableCallback(long word word) DdeEnableCallback16 27 pascal DdeNameService(long long long s_word) DdeNameService16 -36 pascal DdeCmpStringHandles(word word) DdeCmpStringHandles +36 pascal DdeCmpStringHandles(word word) DdeCmpStringHandles16 37 pascal DdeReconnect(long) DdeReconnect diff --git a/include/commctrl.h b/include/commctrl.h index 1bbf6b60928..fc6b1a82ff9 100644 --- a/include/commctrl.h +++ b/include/commctrl.h @@ -2503,8 +2503,182 @@ LRESULT WINAPI COMCTL32_SendNotify (HWND32, HWND32, UINT32, LPNMHDR); /* type and functionality of last parameter is still unknown */ LRESULT WINAPI COMCTL32_SendNotifyEx (HWND32, HWND32, UINT32, LPNMHDR, DWORD); +/* + * Property sheet support (callback procs) + */ +struct _PROPSHEETPAGE32A; /** need to forward declare those structs **/ +struct _PROPSHEETPAGE32W; + +typedef UINT32 (CALLBACK *LPFNPSPCALLBACK32A)(HWND32, UINT32, struct _PROPSHEETPAGE32A*); +typedef UINT32 (CALLBACK *LPFNPSPCALLBACK32W)(HWND32, UINT32, struct _PROPSHEETPAGE32W*); +typedef INT32 (CALLBACK *PFNPROPSHEETCALLBACK32)(HWND32, UINT32, LPARAM); + +/* + * Property sheet support (structures) + */ +typedef struct _PROPSHEETPAGE32A +{ + DWORD dwSize; + DWORD dwFlags; + HINSTANCE32 hInstance; + union + { + LPCSTR lpszTemplate; + LPCDLGTEMPLATE pResource; + }u; + union + { + HICON32 hIcon; + LPCSTR pszIcon; + }u1; + LPCSTR pszTitle; + DLGPROC32 pfnDlgProc; + LPARAM lParam; + LPFNPSPCALLBACK32A pfnCallback; + UINT32* pcRefParent; + LPCWSTR pszHeaderTitle; + LPCWSTR pszHeaderSubTitle; +} PROPSHEETPAGE32A, *LPPROPSHEETPAGE32A; + +typedef const PROPSHEETPAGE32A *LPCPROPSHEETPAGE32A; + +typedef struct _PROPSHEETPAGE32W +{ + DWORD dwSize; + DWORD dwFlags; + HINSTANCE32 hInstance; + union + { + LPCWSTR lpszTemplate; + LPCDLGTEMPLATE pResource; + }u; + union + { + HICON32 hIcon; + LPCWSTR pszIcon; + }u2; + LPCWSTR pszTitle; + DLGPROC32 pfnDlgProc; + LPARAM lParam; + LPFNPSPCALLBACK32W pfnCallback; + UINT32* pcRefParent; + LPCWSTR pszHeaderTitle; + LPCWSTR pszHeaderSubTitle; +} PROPSHEETPAGE32W, *LPPROPSHEETPAGE32W; + +typedef const PROPSHEETPAGE32W *LPCPROPSHEETPAGE32W; + +struct _PSP; +typedef struct _PSP *HPROPSHEETPAGE; + + +typedef struct _PROPSHEETHEADER32A +{ + DWORD dwSize; + DWORD dwFlags; + HWND32 hwndParent; + HINSTANCE32 hInstance; + union + { + HICON32 hIcon; + LPCSTR pszIcon; + }u; + LPCSTR pszCaption; + UINT32 nPages; + union + { + UINT32 nStartPage; + LPCSTR pStartPage; + }u2; + union + { + LPCPROPSHEETPAGE32A ppsp; + HPROPSHEETPAGE* phpage; + }u3; + PFNPROPSHEETCALLBACK32 pfnCallback; + union + { + HBITMAP32 hbmWatermark; + LPCSTR pszbmWatermark; + }u4; + HPALETTE32 hplWatermark; + union + { + HBITMAP32 hbmHeader; + LPCSTR pszbmHeader; + }u5; +} PROPSHEETHEADER32A, *LPPROPSHEETHEADER32A; + +typedef const PROPSHEETHEADER32A *LPCPROPSHEETHEADER32A; + +typedef struct _PROPSHEETHEADER32W +{ + DWORD dwSize; + DWORD dwFlags; + HWND32 hwndParent; + HINSTANCE32 hInstance; + union + { + HICON32 hIcon; + LPCSTR pszIcon; + }u; + LPCWSTR pszCaption; + UINT32 nPages; + union + { + UINT32 nStartPage; + LPCWSTR pStartPage; + }u2; + union + { + LPCPROPSHEETPAGE32W ppsp; + HPROPSHEETPAGE* phpage; + }u3; + PFNPROPSHEETCALLBACK32 pfnCallback; + union + { + HBITMAP32 hbmWatermark; + LPCWSTR pszbmWatermark; + }u4; + HPALETTE32 hplWatermark; + union + { + HBITMAP32 hbmHeader; + LPCWSTR pszbmHeader; + }u5; +} PROPSHEETHEADER32W, *LPPROPSHEETHEADER32W; + +typedef const PROPSHEETHEADER32W *LPCPROPSHEETHEADER32W; + + +/* + * Property sheet support (methods) + */ +INT32 WINAPI PropertySheet32A(LPCPROPSHEETHEADER32A); +INT32 WINAPI PropertySheet32W(LPCPROPSHEETHEADER32W); +#define PropertySheet WINELIB_NAME(PropertySheet) +HPROPSHEETPAGE WINAPI CreatePropertySheetPage32A(LPCPROPSHEETPAGE32A); +HPROPSHEETPAGE WINAPI CreatePropertySheetPage32W(LPCPROPSHEETPAGE32W); +#define CreatePropertySheetPage WINELIB_NAME_AW(CreatePropertySheetPage) +BOOL32 WINAPI DestroyPropertySheetPage32(HPROPSHEETPAGE hPropPage); +#define DestroyPropertySheetPage WINELIB_NAME(DestroyPropertySheetPage) + +/* + * Property sheet support (UNICODE-WineLib) + */ +DECL_WINELIB_TYPE_AW(PROPSHEETPAGE) +DECL_WINELIB_TYPE_AW(LPPROPSHEETPAGE) +DECL_WINELIB_TYPE_AW(LPCPROPSHEETPAGE) +DECL_WINELIB_TYPE_AW(PROPSHEETHEADER) +DECL_WINELIB_TYPE_AW(LPPROPSHEETHEADER) +DECL_WINELIB_TYPE_AW(LPCPROPSHEETHEADER) +DECL_WINELIB_TYPE_AW(LPFNPSPCALLBACK) +DECL_WINELIB_TYPE(PFNPROPSHEETCALLBACK) + #ifdef __cplusplus } #endif #endif /* __WINE_COMMCTRL_H */ + + diff --git a/include/ddeml.h b/include/ddeml.h index 375448ce231..0f5838460e3 100644 --- a/include/ddeml.h +++ b/include/ddeml.h @@ -57,6 +57,9 @@ HCONVLIST WINAPI DdeConnectList32(DWORD,HSZ,HSZ,HCONVLIST,LPCONVCONTEXT32); HCONV WINAPI DdeQueryNextServer16(HCONVLIST, HCONV); HCONV WINAPI DdeQueryNextServer32(HCONVLIST, HCONV); #define DdeQueryNextServer WINELIB_NAME(DdeQueryNextServer) +DWORD WINAPI DdeQueryString32A(DWORD, HSZ, LPSTR, DWORD, INT32); +DWORD WINAPI DdeQueryString32W(DWORD, HSZ, LPWSTR, DWORD, INT32); +#define DdeQueryString WINELIB_NAME(DdeQueryString) BOOL16 WINAPI DdeDisconnectList16(HCONVLIST); BOOL32 WINAPI DdeDisconnectList32(HCONVLIST); #define DdeDisConnectList WINELIB_NAME(DdeDisconnectList) @@ -67,7 +70,9 @@ BOOL16 WINAPI DdeDisconnect16(HCONV); BOOL32 WINAPI DdeDisconnect32(HCONV); #define DdeDisconnect WINELIB_NAME(DdeDisconnect) BOOL16 WINAPI DdeSetUserHandle(HCONV,DWORD,DWORD); -HDDEDATA WINAPI DdeCreateHandleData(DWORD,LPBYTE,DWORD,DWORD,HSZ,UINT16,UINT16); +HDDEDATA WINAPI DdeCreateDataHandle16(DWORD,LPBYTE,DWORD,DWORD,HSZ,UINT16,UINT16); +HDDEDATA WINAPI DdeCreateDataHandle32(DWORD,LPBYTE,DWORD,DWORD,HSZ,UINT32,UINT32); +#define DdeCreateDataHandle WINELIB_NAME(DdeCreateDataHandle) HCONV WINAPI DdeReconnect(HCONV); HSZ WINAPI DdeCreateStringHandle16(DWORD,LPCSTR,INT16); HSZ WINAPI DdeCreateStringHandle32A(DWORD,LPCSTR,INT32); @@ -93,10 +98,18 @@ BOOL32 WINAPI DdePostAdvise32(DWORD,HSZ,HSZ); #define DdePostAdvise WINELIB_NAME(DdePostAdvise) HDDEDATA WINAPI DdeAddData(HDDEDATA,LPBYTE,DWORD,DWORD); DWORD WINAPI DdeGetData(HDDEDATA,LPBYTE,DWORD,DWORD); -LPBYTE WINAPI DdeAccessData(HDDEDATA,LPDWORD); -BOOL16 WINAPI DdeUnaccessData(HDDEDATA); -BOOL16 WINAPI DdeEnableCallback(DWORD,HCONV,UINT16); -int WINAPI DdeCmpStringHandles(HSZ,HSZ); +LPBYTE WINAPI DdeAccessData16(HDDEDATA,LPDWORD); +LPBYTE WINAPI DdeAccessData32(HDDEDATA,LPDWORD); +#define DdeAccessData WINELIB_NAME(DdeAccessData) +BOOL16 WINAPI DdeUnaccessData16(HDDEDATA); +BOOL32 WINAPI DdeUnaccessData32(HDDEDATA); +#define DdeUnaccessData WINELIB_NAME(DdeUnaccessData) +BOOL16 WINAPI DdeEnableCallback16(DWORD,HCONV,UINT16); +BOOL32 WINAPI DdeEnableCallback32(DWORD,HCONV,UINT32); +#define DdeEnableCallback WINELIB_NAME(DdeEnableCallback) +int WINAPI DdeCmpStringHandles16(HSZ,HSZ); +int WINAPI DdeCmpStringHandles32(HSZ,HSZ); +#define DdeCmpStringHandles WINELIB_NAME(DdeCmpStringHandles) HDDEDATA WINAPI DdeNameService16(DWORD,HSZ,HSZ,UINT16); diff --git a/include/shlobj.h b/include/shlobj.h index 459d3f7807f..ae5af71de16 100644 --- a/include/shlobj.h +++ b/include/shlobj.h @@ -543,10 +543,6 @@ typedef struct typedef const FOLDERSETTINGS * LPCFOLDERSETTINGS; -/* FIXME; the next two lines are propersheet related, move to prsht.h when created */ -struct _PSP; -typedef struct _PSP FAR* HPROPSHEETPAGE; - typedef BOOL32 (CALLBACK FAR * LPFNADDPROPSHEETPAGE)(HPROPSHEETPAGE, LPARAM); typedef BOOL32 (CALLBACK FAR * LPFNADDPROPSHEETPAGES)(LPVOID, LPFNADDPROPSHEETPAGE,LPARAM); diff --git a/include/windows.h b/include/windows.h index 62537eeb80c..30134ae18e7 100644 --- a/include/windows.h +++ b/include/windows.h @@ -951,7 +951,6 @@ typedef struct _DEBUG_EVENT { #define IDCLOSE 8 #define IDHELP 9 - typedef struct { HWND16 hwnd; @@ -2392,6 +2391,11 @@ typedef struct #define SEM_NOALIGNMENTFAULTEXCEPT 0x0004 #define SEM_NOOPENFILEERRORBOX 0x8000 +/* CopyFileEx flags */ +#define COPY_FILE_FAIL_IF_EXISTS 0x00000001 +#define COPY_FILE_RESTARTABLE 0x00000002 +#define COPY_FILE_OPEN_SOURCE_FOR_WRITE 0x00000004 + /* GetTempFileName() Flags */ #define TF_FORCEDRIVE 0x80 @@ -6580,6 +6584,14 @@ typedef struct tagDLGITEMTEMPLATE }DLGITEMTEMPLATE, *LPDLGITEMTEMPLATE; typedef const DLGITEMTEMPLATE *LPCDLGITEMTEMPLATE; +/* + * This one seems to be a Win32 only definition. It also is defined with + * WINAPI instead of CALLBACK in the windows headers. + */ +typedef DWORD (WINAPI *LPPROGRESS_ROUTINE)(LARGE_INTEGER, LARGE_INTEGER, LARGE_INTEGER, + LARGE_INTEGER, DWORD, DWORD, HANDLE32, + HANDLE32, LPVOID); + #pragma pack(4) /* Declarations for functions that exist only in Win16 */ @@ -6764,6 +6776,9 @@ HENHMETAFILE32 WINAPI CopyEnhMetaFile32W(HENHMETAFILE32,LPCWSTR); BOOL32 WINAPI CopyFile32A(LPCSTR,LPCSTR,BOOL32); BOOL32 WINAPI CopyFile32W(LPCWSTR,LPCWSTR,BOOL32); #define CopyFile WINELIB_NAME_AW(CopyFile) +BOOL32 WINAPI CopyFileEx32A(LPCSTR, LPCSTR, LPPROGRESS_ROUTINE, LPVOID, LPBOOL32, DWORD); +BOOL32 WINAPI CopyFileEx32W(LPCWSTR, LPCWSTR, LPPROGRESS_ROUTINE, LPVOID, LPBOOL32, DWORD); +#define CopyFileEx WINELIB_NAME_AW(CopyFileEx) INT32 WINAPI CompareFileTime(LPFILETIME,LPFILETIME); BOOL32 WINAPI ControlService(HANDLE32,DWORD,LPSERVICE_STATUS); HANDLE32 WINAPI CreateEvent32A(LPSECURITY_ATTRIBUTES,BOOL32,BOOL32,LPCSTR); @@ -6986,6 +7001,9 @@ BOOL32 WINAPI IsDBCSLeadByteEx(UINT32,BYTE); BOOL32 WINAPI IsProcessorFeaturePresent(DWORD); BOOL32 WINAPI IsWindowUnicode(HWND32); BOOL32 WINAPI IsValidLocale(DWORD,DWORD); +HKL32 WINAPI LoadKeyboardLayout32A(LPCSTR,UINT32); +HKL32 WINAPI LoadKeyboardLayout32W(LPCWSTR,UINT32); +#define LoadKeyboardLayout WINELIB_NAME_AW(LoadKeyboardLayout) BOOL32 WINAPI LocalFileTimeToFileTime(const FILETIME*,LPFILETIME); BOOL32 WINAPI LockFile(HFILE32,DWORD,DWORD,DWORD,DWORD); BOOL32 WINAPI LookupPrivilegeValue32A(LPCSTR,LPCSTR,LPVOID); diff --git a/include/wintypes.h b/include/wintypes.h index f265c4279ed..561f16da453 100644 --- a/include/wintypes.h +++ b/include/wintypes.h @@ -138,6 +138,7 @@ typedef INT32 *LPINT32; typedef UINT32 *LPUINT32; typedef HKEY *LPHKEY; typedef FLOAT *LPFLOAT; +typedef BOOL32 *LPBOOL32; /* Special case: a segmented pointer is just a pointer in the user's code. */ diff --git a/memory/string.c b/memory/string.c index e7c83ccf499..a0a89d7def0 100644 --- a/memory/string.c +++ b/memory/string.c @@ -52,6 +52,12 @@ static const BYTE STRING_Ansi2Oem[256] = #define OEM_TO_ANSI(ch) (STRING_Oem2Ansi[(unsigned char)(ch)]) #define ANSI_TO_OEM(ch) (STRING_Ansi2Oem[(unsigned char)(ch)]) +/* Internaly used by strchr family functions */ +static BOOL32 ChrCmpA( WORD word1, WORD word2); +static BOOL32 ChrCmpW( WORD word1, WORD word2); + +extern LPWSTR __cdecl CRTDLL_wcschr(LPCWSTR str,WCHAR xchar); + /*********************************************************************** * hmemcpy (KERNEL.348) @@ -663,3 +669,98 @@ INT32 WINAPI LocalToWideChar32( MultiByteToWideChar(CP_ACP,0,pLocal,-1,pWide,dwChars); return lstrlen32W(pWide); } + + +/*********************************************************************** + * lstrrchr (Not a Windows API) + * + * This is the implementation meant to be invoked form within + * COMCTL32_StrRChrA and shell32(TODO)... + * + * Return a pointer to the last occurence of wMatch in lpStart + * not looking further than lpEnd... + */ +LPSTR WINAPI lstrrchr( LPCSTR lpStart, LPCSTR lpEnd, WORD wMatch ) +{ + LPCSTR lpGotIt = NULL; + + TRACE(string,"(%s, %s)\n", lpStart, lpEnd); + + if (!lpEnd) lpEnd = lpStart + strlen(lpStart); + + for(; lpStart < lpEnd; lpStart = CharNext32A(lpStart)) + if (!ChrCmpA( GET_WORD(lpStart), wMatch)) + lpGotIt = lpStart; + + return ((LPSTR)lpGotIt); +} + +/*********************************************************************** + * lstrrchrw (Not a Windows API) + * + * This is the implementation meant to be invoked form within + * COMCTL32_StrRChrW and shell32(TODO)... + * + * Return a pointer to the last occurence of wMatch in lpStart + * not looking further than lpEnd... + */ +LPWSTR WINAPI lstrrchrw( LPCWSTR lpStart, LPCWSTR lpEnd, WORD wMatch ) +{ + LPCWSTR lpGotIt = NULL; + + TRACE(string,"(%p, %p, %c)\n", lpStart, lpEnd, wMatch); + if (!lpEnd) lpEnd = lpStart + lstrlen32W(lpStart); + + for(; lpStart < lpEnd; lpStart = CharNext32W(lpStart)) + if (!ChrCmpW( GET_WORD(lpStart), wMatch)) + lpGotIt = lpStart; + + return (LPWSTR)lpGotIt; +} + +/*********************************************************************** + * strstrw (Not a Windows API) + * + * This is the implementation meant to be invoked form within + * COMCTL32_StrStrW and shell32(TODO)... + * + */ +LPWSTR WINAPI strstrw( LPCWSTR lpFirst, LPCWSTR lpSrch) { + UINT32 uSrchLen = (UINT32)lstrlen32W(lpSrch); + WORD wMatchBeg = *(WORD*)lpSrch; + + TRACE(string,"(%p, %p)\n", lpFirst, lpSrch); + + for(; + ((lpFirst=CRTDLL_wcschr(lpFirst, wMatchBeg))!=0) && + lstrncmp32W(lpFirst, lpSrch, uSrchLen); + lpFirst++) { + continue; + } + return (LPWSTR)lpFirst; +} + + +/*********************************************************************** + * ChrCmpA + * This fuction returns FALSE if both words match, TRUE otherwise... + */ +static BOOL32 ChrCmpA( WORD word1, WORD word2) { + if (LOBYTE(word1) == LOBYTE(word2)) { + if (IsDBCSLeadByte32(LOBYTE(word1))) { + return (word1 != word2); + } + return FALSE; + } + return TRUE; +} + +/*********************************************************************** + * ChrCmpW + * This fuction returns FALSE if both words match, TRUE otherwise... + */ +static BOOL32 ChrCmpW( WORD word1, WORD word2) { + return (word1 != word2); +} + + diff --git a/misc/ddeml.c b/misc/ddeml.c index fdd421557ae..7f36086478d 100644 --- a/misc/ddeml.c +++ b/misc/ddeml.c @@ -145,6 +145,38 @@ HCONV WINAPI DdeQueryNextServer32( HCONVLIST hConvList, HCONV hConvPrev ) return 0; } +/***************************************************************** + * DdeQueryString32A [USER32.113] + */ +DWORD WINAPI DdeQueryString32A(DWORD idInst, HSZ hsz, LPSTR psz, DWORD cchMax, INT32 iCodePage) +{ + FIXME(ddeml, + "(%ld, 0x%lx, %p, %ld, %d): stub\n", + idInst, + hsz, + psz, + cchMax, + iCodePage); + + return 0; +} + +/***************************************************************** + * DdeQueryString32W [USER32.114] + */ +DWORD WINAPI DdeQueryString32W(DWORD idInst, HSZ hsz, LPWSTR psz, DWORD cchMax, INT32 iCodePage) +{ + FIXME(ddeml, + "(%ld, 0x%lx, %p, %ld, %d): stub\n", + idInst, + hsz, + psz, + cchMax, + iCodePage); + + return 0; +} + /***************************************************************** * DdeDisconnectList (DDEML.6) @@ -211,14 +243,38 @@ BOOL16 WINAPI DdeSetUserHandle( HCONV hConv, DWORD id, DWORD hUser ) } /***************************************************************** - * DdeCreateDataHandle (DDEML.14) + * DdeCreateDataHandle16 (DDEML.14) */ -HDDEDATA WINAPI DdeCreateDataHandle( DWORD idInst, LPBYTE pSrc, DWORD cb, +HDDEDATA WINAPI DdeCreateDataHandle16( DWORD idInst, LPBYTE pSrc, DWORD cb, DWORD cbOff, HSZ hszItem, UINT16 wFmt, UINT16 afCmd ) { - FIXME( ddeml, "(%ld,%p,%ld,%ld,%ld,%d,%d): stub\n",idInst,pSrc,cb,cbOff, - hszItem, wFmt, afCmd ); + return DdeCreateDataHandle32(idInst, + pSrc, + cb, + cbOff, + hszItem, + wFmt, + afCmd); +} + +/***************************************************************** + * DdeCreateDataHandle32 (USER32.94) + */ +HDDEDATA WINAPI DdeCreateDataHandle32( DWORD idInst, LPBYTE pSrc, DWORD cb, + DWORD cbOff, HSZ hszItem, UINT32 wFmt, + UINT32 afCmd ) +{ + FIXME( ddeml, + "(%ld,%p,%ld,%ld,0x%lx,%d,%d): stub\n", + idInst, + pSrc, + cb, + cbOff, + hszItem, + wFmt, + afCmd ); + return 0; } @@ -448,29 +504,55 @@ DWORD WINAPI DdeGetData16( /***************************************************************** - * DdeAccessData (DDEML.17) + * DdeAccessData16 (DDEML.17) */ -LPBYTE WINAPI DdeAccessData( HDDEDATA hData, LPDWORD pcbDataSize ) +LPBYTE WINAPI DdeAccessData16( HDDEDATA hData, LPDWORD pcbDataSize ) { - FIXME( ddeml, "empty stub\n" ); + return DdeAccessData32(hData, pcbDataSize); +} + +/***************************************************************** + * DdeAccessData32 (USER32.88) + */ +LPBYTE WINAPI DdeAccessData32( HDDEDATA hData, LPDWORD pcbDataSize ) +{ + FIXME( ddeml, "(%ld,%p): stub\n", hData, pcbDataSize); return 0; } /***************************************************************** - * DdeUnaccessData (DDEML.18) + * DdeUnaccessData16 (DDEML.18) */ -BOOL16 WINAPI DdeUnaccessData( HDDEDATA hData ) +BOOL16 WINAPI DdeUnaccessData16( HDDEDATA hData ) { - FIXME( ddeml, "empty stub\n" ); + return DdeUnaccessData32(hData); +} + +/***************************************************************** + * DdeUnaccessData32 (USER32.118) + */ +BOOL32 WINAPI DdeUnaccessData32( HDDEDATA hData ) +{ + FIXME( ddeml, "(0x%lx): stub\n", hData); + return 0; } /***************************************************************** - * DdeEnableCallback (DDEML.26) + * DdeEnableCallback16 (DDEML.26) */ -BOOL16 WINAPI DdeEnableCallback( DWORD idInst, HCONV hConv, UINT16 wCmd ) +BOOL16 WINAPI DdeEnableCallback16( DWORD idInst, HCONV hConv, UINT16 wCmd ) { - FIXME( ddeml, "empty stub\n" ); + return DdeEnableCallback32(idInst, hConv, wCmd); +} + +/***************************************************************** + * DdeEnableCallback32 (USER32.99) + */ +BOOL32 WINAPI DdeEnableCallback32( DWORD idInst, HCONV hConv, UINT32 wCmd ) +{ + FIXME( ddeml, "(%ld, 0x%lx, %d) stub\n", idInst, hConv, wCmd); + return 0; } @@ -531,11 +613,19 @@ UINT32 WINAPI DdeGetLastError32( DWORD idInst ) /***************************************************************** - * DdeCmpStringHandles (DDEML.36) + * DdeCmpStringHandles16 (DDEML.36) */ -int WINAPI DdeCmpStringHandles( HSZ hsz1, HSZ hsz2 ) +int WINAPI DdeCmpStringHandles16( HSZ hsz1, HSZ hsz2 ) { - FIXME( ddeml, "empty stub\n" ); + return DdeCmpStringHandles32(hsz1, hsz2); +} + +/***************************************************************** + * DdeCmpStringHandles32 (USER32.91) + */ +int WINAPI DdeCmpStringHandles32( HSZ hsz1, HSZ hsz2 ) +{ + FIXME( ddeml, "(0x%lx, 0x%lx): stub\n", hsz1, hsz2 ); return 0; } diff --git a/misc/network.c b/misc/network.c index 85e3095ae58..de63eaf4899 100644 --- a/misc/network.c +++ b/misc/network.c @@ -761,3 +761,64 @@ DWORD WINAPI NPSGetProviderHandle32A(DWORD x) { FIXME(mpr,"(0x%08lx),stub!\n",x); return 0; } + +/***************************************************************** + * WNetCancelConnection232A [MPR.53] + */ +DWORD WINAPI WNetCancelConnection232A( + LPCSTR lpName, + DWORD dwFlags, + BOOL32 fForce) { + + FIXME(wnet,": stub\n"); + return WN_SUCCESS; +} + +/***************************************************************** + * WNetCancelConnection232W [MPR.54] + */ +DWORD WINAPI WNetCancelConnection232W( + LPCWSTR lpName, + DWORD dwFlags, + BOOL32 fForce) { + + FIXME(wnet,": stub\n"); + return WN_SUCCESS; +} + +/***************************************************************** + * WNetCancelConnection32A [MPR.55] + */ +DWORD WINAPI WNetCancelConnection32A( + LPCSTR lpName, + DWORD dwFlags, + BOOL32 fForce) { + + FIXME(wnet,": stub\n"); + return WN_SUCCESS; +} + +/***************************************************************** + * WNetCancelConnection32W [MPR.56] + */ +DWORD WINAPI WNetCancelConnection32W( + LPCWSTR lpName, + DWORD dwFlags, + BOOL32 fForce) { + + FIXME(wnet,": stub\n"); + return WN_SUCCESS; +} + +/***************************************************************** + * WNetGetUser32W [MPR.87] + */ +DWORD WINAPI WNetGetUser32W( + LPCWSTR lpName, + LPWSTR lpUserName, + LPDWORD lpnLength) { + + FIXME(wnet,": stub\n"); + SetLastError(WN_NO_NETWORK); + return WN_NO_NETWORK; +} diff --git a/misc/printdrv.c b/misc/printdrv.c index 1af67440236..50bb32b0418 100644 --- a/misc/printdrv.c +++ b/misc/printdrv.c @@ -293,6 +293,18 @@ INT32 WINAPI DeviceCapabilities32A(LPCSTR printer,LPCSTR target,WORD z, } +/***************************************************************************** + * DeviceCapabilities32W + */ +INT32 WINAPI DeviceCapabilities32W(LPCWSTR pDevice, LPCWSTR pPort, + WORD fwCapability, LPWSTR pOutput, + const DEVMODE32W *pDevMode) +{ + FIXME(print,"(%p,%p,%d,%p,%p): stub\n", + pDevice, pPort, fwCapability, pOutput, pDevMode); + return -1; +} + /****************************************************************** * DocumentProperties32A [WINSPOOL.155] * @@ -308,6 +320,20 @@ LONG WINAPI DocumentProperties32A(HWND32 hWnd,HANDLE32 hPrinter, } +/***************************************************************************** + * DocumentProperties32W + */ +LONG WINAPI DocumentProperties32W(HWND32 hWnd, HANDLE32 hPrinter, + LPWSTR pDeviceName, + LPDEVMODE32W pDevModeOutput, + LPDEVMODE32W pDevModeInput, DWORD fMode) +{ + FIXME(print,"(%d,%d,%s,%p,%p,%ld): stub\n", + hWnd,hPrinter,pDeviceName,pDevModeOutput,pDevModeInput,fMode); + return -1; +} + + /****************************************************************** * OpenPrinter32A [WINSPOOL.196] * @@ -414,3 +440,278 @@ DeletePort32A (LPSTR pName, HWND32 hWnd, LPSTR pPortName) return FALSE; } +/****************************************************************************** + * SetPrinter32W [WINSPOOL.214] + */ +BOOL32 WINAPI +SetPrinter32W( + HANDLE32 hPrinter, + DWORD Level, + LPBYTE pPrinter, + DWORD Command) { + + FIXME(print,"():stub\n"); + SetLastError(ERROR_CALL_NOT_IMPLEMENTED); + return FALSE; +} + +/****************************************************************************** + * WritePrinter32 [WINSPOOL.223] + */ +BOOL32 WINAPI +WritePrinter32( + HANDLE32 hPrinter, + LPVOID pBuf, + DWORD cbBuf, + LPDWORD pcWritten) { + + FIXME(print,"():stub\n"); + SetLastError(ERROR_CALL_NOT_IMPLEMENTED); + return FALSE; +} + +/***************************************************************************** + * AddForm32A [WINSPOOL.103] + */ +BOOL32 WINAPI AddForm32A(HANDLE32 hPrinter, DWORD Level, LPBYTE pForm) +{ + FIXME(print, "(%d,%ld,%p): stub\n", hPrinter, Level, pForm); + return 1; +} + +/***************************************************************************** + * AddForm32W [WINSPOOL.104] + */ +BOOL32 WINAPI AddForm32W(HANDLE32 hPrinter, DWORD Level, LPBYTE pForm) +{ + FIXME(print, "(%d,%ld,%p): stub\n", hPrinter, Level, pForm); + return 1; +} + +/***************************************************************************** + * AddJob32A [WINSPOOL.105] + */ +BOOL32 WINAPI AddJob32A(HANDLE32 hPrinter, DWORD Level, LPBYTE pData, + DWORD cbBuf, LPDWORD pcbNeeded) +{ + FIXME(print, "(%d,%ld,%p,%ld,%p): stub\n", hPrinter, Level, pData, cbBuf, + pcbNeeded); + return 1; +} + +/***************************************************************************** + * AddJob32W [WINSPOOL.106] + */ +BOOL32 WINAPI AddJob32W(HANDLE32 hPrinter, DWORD Level, LPBYTE pData, DWORD cbBuf, + LPDWORD pcbNeeded) +{ + FIXME(print, "(%d,%ld,%p,%ld,%p): stub\n", hPrinter, Level, pData, cbBuf, + pcbNeeded); + return 1; +} + +/***************************************************************************** + * AddPrinter32A [WINSPOOL.117] + */ +HANDLE32 WINAPI AddPrinter32A(LPSTR pName, DWORD Level, LPBYTE pPrinter) +{ + FIXME(print, "(%s,%ld,%p): stub\n", pName, Level, pPrinter); + return NULL; +} + +/***************************************************************************** + * AddPrinter32W [WINSPOOL.122] + */ +HANDLE32 WINAPI AddPrinter32W(LPWSTR pName, DWORD Level, LPBYTE pPrinter) +{ + FIXME(print, "(%p,%ld,%p): stub\n", pName, Level, pPrinter); + return 0; +} + + +/***************************************************************************** + * ClosePrinter32 [WINSPOOL.126] + */ +BOOL32 WINAPI ClosePrinter32(HANDLE32 hPrinter) +{ + FIXME(print, "(%d): stub\n", hPrinter); + return 1; +} + +/***************************************************************************** + * DeleteForm32A [WINSPOOL.133] + */ +BOOL32 WINAPI DeleteForm32A(HANDLE32 hPrinter, LPSTR pFormName) +{ + FIXME(print, "(%d,%s): stub\n", hPrinter, pFormName); + return 1; +} + +/***************************************************************************** + * DeleteForm32W [WINSPOOL.134] + */ +BOOL32 WINAPI DeleteForm32W(HANDLE32 hPrinter, LPWSTR pFormName) +{ + FIXME(print, "(%d,%s): stub\n", hPrinter, pFormName); + return 1; +} + +/***************************************************************************** + * DeletePrinter32 [WINSPOOL.143] + */ +BOOL32 DeletePrinter32(HANDLE32 hPrinter) +{ + FIXME(print, "(%d): stub\n", hPrinter); + return 1; +} + +/***************************************************************************** + * SetPrinter32A [WINSPOOL.211] + */ +BOOL32 WINAPI SetPrinter32A(HANDLE32 hPrinter, DWORD Level, LPBYTE pPrinter, + DWORD Command) +{ + FIXME(print, "(%d,%ld,%p,%ld): stub\n",hPrinter,Level,pPrinter,Command); + return FALSE; +} + +/***************************************************************************** + * SetJob32A [WINSPOOL.209] + */ +BOOL32 WINAPI SetJob32A(HANDLE32 hPrinter, DWORD JobId, DWORD Level, + LPBYTE pJob, DWORD Command) +{ + FIXME(print, "(%d,%ld,%ld,%p,%ld): stub\n",hPrinter,JobId,Level,pJob, + Command); + return FALSE; +} + +/***************************************************************************** + * SetJob32W [WINSPOOL.210] + */ +BOOL32 WINAPI SetJob32W(HANDLE32 hPrinter, DWORD JobId, DWORD Level, + LPBYTE pJob, DWORD Command) +{ + FIXME(print, "(%d,%ld,%ld,%p,%ld): stub\n",hPrinter,JobId,Level,pJob, + Command); + return FALSE; +} + +/***************************************************************************** + * GetForm32A [WINSPOOL.181] + */ +BOOL32 WINAPI GetForm32A(HANDLE32 hPrinter, LPSTR pFormName, DWORD Level, + LPBYTE pForm, DWORD cbBuf, LPDWORD pcbNeeded) +{ + FIXME(print, "(%d,%s,%ld,%p,%ld,%p): stub\n",hPrinter,pFormName, + Level,pForm,cbBuf,pcbNeeded); + return FALSE; +} + +/***************************************************************************** + * GetForm32W [WINSPOOL.182] + */ +BOOL32 WINAPI GetForm32W(HANDLE32 hPrinter, LPWSTR pFormName, DWORD Level, + LPBYTE pForm, DWORD cbBuf, LPDWORD pcbNeeded) +{ + FIXME(print, "(%d,%s,%ld,%p,%ld,%p): stub\n",hPrinter,pFormName, + Level,pForm,cbBuf,pcbNeeded); + return FALSE; +} + +/***************************************************************************** + * SetForm32A [WINSPOOL.207] + */ +BOOL32 WINAPI SetForm32A(HANDLE32 hPrinter, LPSTR pFormName, DWORD Level, + LPBYTE pForm) +{ + FIXME(print, "(%d,%s,%ld,%p): stub\n",hPrinter,pFormName,Level,pForm); + return FALSE; +} + +/***************************************************************************** + * SetForm32W [WINSPOOL.208] + */ +BOOL32 WINAPI SetForm32W(HANDLE32 hPrinter, LPWSTR pFormName, DWORD Level, + LPBYTE pForm) +{ + FIXME(print, "(%d,%p,%ld,%p): stub\n",hPrinter,pFormName,Level,pForm); + return FALSE; +} + +/***************************************************************************** + * ReadPrinter32 [WINSPOOL.202] + */ +BOOL32 WINAPI ReadPrinter32(HANDLE32 hPrinter, LPVOID pBuf, DWORD cbBuf, + LPDWORD pNoBytesRead) +{ + FIXME(print, "(%d,%p,%ld,%p): stub\n",hPrinter,pBuf,cbBuf,pNoBytesRead); + return FALSE; +} + +/***************************************************************************** + * ResetPrinter32A [WINSPOOL.203] + */ +BOOL32 WINAPI ResetPrinter32A(HANDLE32 hPrinter, LPPRINTER_DEFAULTS32A pDefault) +{ + FIXME(print, "(%d, %p): stub\n", hPrinter, pDefault); + return FALSE; +} + +/***************************************************************************** + * ResetPrinter32W [WINSPOOL.204] + */ +BOOL32 WINAPI ResetPrinter32W(HANDLE32 hPrinter, LPPRINTER_DEFAULTS32W pDefault) +{ + FIXME(print, "(%d, %p): stub\n", hPrinter, pDefault); + return FALSE; +} + +/***************************************************************************** + * GetPrinter32A [WINSPOOL.187] + */ +BOOL32 WINAPI GetPrinter32A(HANDLE32 hPrinter, DWORD Level, LPBYTE pPrinter, + DWORD cbBuf, LPDWORD pcbNeeded) +{ + FIXME(print, "(%d,%ld,%p,%ld,%p): stub\n", hPrinter, Level, pPrinter, + cbBuf, pcbNeeded); + return FALSE; +} + +/***************************************************************************** + * GetPrinter32W [WINSPOOL.194] + */ +BOOL32 WINAPI GetPrinter32W(HANDLE32 hPrinter, DWORD Level, LPBYTE pPrinter, + DWORD cbBuf, LPDWORD pcbNeeded) +{ + FIXME(print, "(%d,%ld,%p,%ld,%p): stub\n", hPrinter, Level, pPrinter, + cbBuf, pcbNeeded); + return FALSE; +} + +/***************************************************************************** + * GetPrinterDriver32A [WINSPOOL.190] + */ +BOOL32 WINAPI GetPrinterDriver32A(HANDLE32 hPrinter, LPSTR pEnvironment, + DWORD Level, LPBYTE pDriverInfo, + DWORD cbBuf, LPDWORD pcbNeeded) +{ + FIXME(print, "(%d,%s,%ld,%p,%ld,%p): stub\n",hPrinter,pEnvironment, + Level,pDriverInfo,cbBuf, pcbNeeded); + return FALSE; +} + +/***************************************************************************** + * GetPrinterDriver32W [WINSPOOL.193] + */ +BOOL32 WINAPI GetPrinterDriver32W(HANDLE32 hPrinter, LPWSTR pEnvironment, + DWORD Level, LPBYTE pDriverInfo, + DWORD cbBuf, LPDWORD pcbNeeded) +{ + FIXME(print, "(%d,%p,%ld,%p,%ld,%p): stub\n",hPrinter,pEnvironment, + Level,pDriverInfo,cbBuf, pcbNeeded); + return FALSE; +} + + + diff --git a/misc/tapi32.c b/misc/tapi32.c index 87e45fbeb4b..e5e223cbd80 100644 --- a/misc/tapi32.c +++ b/misc/tapi32.c @@ -40,3 +40,37 @@ UINT32 WINAPI lineNegotiateAPIVersion( *lpdwAPIVersion = dwAPIHighVersion; return 0; } + +/************************************************************************* + * lineRedirect32 [TAPI32.53] + * + */ +LONG WINAPI lineRedirect32( + HANDLE32* hCall, + LPCSTR lpszDestAddress, + DWORD dwCountryCode) { + + FIXME(comm, ": stub.\n"); + return -1; +/* return LINEERR_OPERATIONFAILED; */ +} + +/************************************************************************* + * tapiRequestMakeCall32 [TAPI32.113] + * + */ +LONG WINAPI tapiRequestMakeCall32( + LPCSTR lpszDestAddress, + LPCSTR lpszAppName, + LPCSTR lpszCalledParty, + LPCSTR lpszComment) { + + FIXME(comm, ": stub.\n"); + return -1; +/* return TAPIERR_REQUESTQUEUEFULL; */ +} + + + + + diff --git a/objects/bitmap.c b/objects/bitmap.c index d10c7c74484..f0697508176 100644 --- a/objects/bitmap.c +++ b/objects/bitmap.c @@ -928,3 +928,22 @@ DWORD WINAPI SetBitmapDimension( HBITMAP16 hbitmap, INT16 x, INT16 y ) return MAKELONG( size.cx, size.cy ); } +/*********************************************************************** + * MaskBlt32 [GDI32.252] + */ +BOOL32 WINAPI MaskBlt32(HDC32 hdcDest, + INT32 nXDest, INT32 nYDest, + INT32 nWidth, INT32 nHeight, + HDC32 hdcSource, + INT32 nXSrc, INT32 nYSrc, + HBITMAP32 hbmMask, + INT32 xMask, INT32 yMask, + DWORD dwRop) +{ + FIXME(bitmap, "(%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%ld): stub\n", + hdcDest,nXDest,nYDest,nWidth,nHeight,hdcSource,nXSrc,nYSrc, + hbmMask,xMask,yMask,dwRop); + + return 1; +} + diff --git a/objects/dc.c b/objects/dc.c index b38663b6715..eb98918e99b 100644 --- a/objects/dc.c +++ b/objects/dc.c @@ -1250,3 +1250,12 @@ UINT16 WINAPI SetBoundsRect16(HDC16 hdc, const RECT16* rect, UINT16 flags) return DCB_RESET | DCB_DISABLE; /* bounding rectangle always empty and disabled*/ } +/*********************************************************************** + * SetBoundsRect32 (GDI32.307) + */ +UINT32 WINAPI SetBoundsRect32(HDC32 hdc, const RECT32* rect, UINT32 flags) +{ + FIXME(dc, "(): stub\n"); + return DCB_DISABLE; /* bounding rectangle always empty */ +} + diff --git a/objects/enhmetafile.c b/objects/enhmetafile.c index c57b127208d..b405ca125be 100644 --- a/objects/enhmetafile.c +++ b/objects/enhmetafile.c @@ -38,6 +38,16 @@ HENHMETAFILE32 WINAPI GetEnhMetaFile32A( return hmf; } +/***************************************************************************** + * GetEnhMetaFile32W (GDI32.180) + */ +HENHMETAFILE32 WINAPI GetEnhMetaFile32W( + LPCWSTR lpszMetaFile) /* filename of enhanced metafile */ +{ + FIXME(metafile, "(%p): stub\n", lpszMetaFile); + return NULL; +} + /***************************************************************************** * GetEnhMetaFileHeader (GDI32.178) * diff --git a/objects/font.c b/objects/font.c index 7c966f1ac91..9e0d53417e9 100644 --- a/objects/font.c +++ b/objects/font.c @@ -1020,7 +1020,17 @@ UINT32 WINAPI GetOutlineTextMetrics32A( return rtn; } - +/*********************************************************************** + * GetOutlineTextMetrics32W [GDI32.208] + */ +UINT32 WINAPI GetOutlineTextMetrics32W( + HDC32 hdc, /* [in] Handle of device context */ + UINT32 cbData, /* [in] Size of metric data array */ + LPOUTLINETEXTMETRIC32W lpOTM) /* [out] Address of metric data array */ +{ + FIXME(font, "(%d,%d,%p): stub\n", hdc, cbData, lpOTM); + return 0; +} /*********************************************************************** * GetCharWidth16 (GDI.350) diff --git a/objects/metafile.c b/objects/metafile.c index 0bdbe9ce78b..bbd95c58a13 100644 --- a/objects/metafile.c +++ b/objects/metafile.c @@ -1068,6 +1068,17 @@ UINT32 WINAPI GetMetaFileBitsEx( return MIN(nSize, h->mtSize); } +/****************************************************************** + * GetWinMetaFileBits [GDI32.241] + */ +UINT32 WINAPI GetWinMetaFileBits(HENHMETAFILE32 hemf, + UINT32 cbBuffer, LPBYTE lpbBuffer, + INT32 fnMapMode, HDC32 hdcRef) +{ + FIXME(metafile, "(%d,%d,%p,%d,%d): stub\n", + hemf, cbBuffer, lpbBuffer, fnMapMode, hdcRef); + return 0; +} /****************************************************************** * MF_Meta_CreateRegion diff --git a/relay32/comctl32.spec b/relay32/comctl32.spec index bcf84c11967..3a2f96e8928 100644 --- a/relay32/comctl32.spec +++ b/relay32/comctl32.spec @@ -24,12 +24,12 @@ init COMCTL32_LibMain 16 stdcall CreateUpDownControl(long long long long long long long long long long long long) CreateUpDownControl 17 stdcall InitCommonControls() InitCommonControls 18 stub CreatePropertySheetPage - 19 stub CreatePropertySheetPageA - 20 stub CreatePropertySheetPageW + 19 stdcall CreatePropertySheetPageA(ptr) CreatePropertySheetPage32A + 20 stdcall CreatePropertySheetPageW(ptr) CreatePropertySheetPage32W 21 stdcall CreateStatusWindow(long str long long) CreateStatusWindow32AW 22 stdcall CreateStatusWindowW(long wstr long long) CreateStatusWindow32W 23 stdcall CreateToolbarEx(long long long long long long ptr long long long long long long) CreateToolbarEx - 24 stub DestroyPropertySheetPage + 24 stdcall DestroyPropertySheetPage(long) DestroyPropertySheetPage32 25 stdcall DllGetVersion(ptr) COMCTL32_DllGetVersion 26 stub DllInstall 27 stdcall DrawStatusText(long ptr ptr long) DrawStatusText32AW @@ -89,8 +89,8 @@ init COMCTL32_LibMain 81 stdcall InitCommonControlsEx(ptr) InitCommonControlsEx 82 stub InitializeFlatSB 83 stub PropertySheet - 84 stub PropertySheetA - 85 stub PropertySheetW + 84 stdcall PropertySheetA(ptr) PropertySheet32A + 85 stdcall PropertySheetW(ptr) PropertySheet32W 86 stub UninitializeFlatSB 87 stub _TrackMouseEvent @@ -138,20 +138,20 @@ init COMCTL32_LibMain 342 stdcall SendNotifyEx(long long long ptr long) COMCTL32_SendNotifyEx 350 stdcall StrChrA(str str) COMCTL32_StrChrA -351 stub StrRChrA -352 stub StrCmpNA +351 stdcall StrRChrA(str str long) COMCTL32_StrRChrA +352 stdcall StrCmpNA(str str long) COMCTL32_StrCmpNA 353 stub StrCmpNIA -354 stub StrStrA +354 stdcall StrStrA(str str) COMCTL32_StrStrA 355 stdcall StrStrIA(str str) COMCTL32_StrStrIA -356 stub StrCSpnA +356 stdcall StrCSpnA(str str) COMCTL32_StrCSpnA 357 stdcall StrToIntA(str) COMCTL32_StrToIntA -358 stub StrChrW -359 stub StrRChrW -360 stub StrCmpNW +358 stdcall StrChrW(wstr long) COMCTL32_StrChrW +359 stdcall StrRChrW(wstr wstr long) COMCTL32_StrRChrW +360 stdcall StrCmpNW(wstr wstr long) COMCTL32_StrCmpNW 361 stub StrCmpNIW -362 stub StrStrW +362 stdcall StrStrW(wstr wstr) COMCTL32_StrStrW 363 stub StrStrIW -364 stub StrSpnW +364 stdcall StrSpnW(wstr wstr) COMCTL32_StrSpnW 365 stub StrToIntW 366 stub StrChrIA 367 stub StrChrIW diff --git a/relay32/gdi32.spec b/relay32/gdi32.spec index 6a9dc1e5df6..d8e1d87f727 100644 --- a/relay32/gdi32.spec +++ b/relay32/gdi32.spec @@ -2,7 +2,7 @@ name gdi32 type win32 init MAIN_GdiInit - 0 stub AbortDoc + 0 stdcall AbortDoc(long) AbortDoc32 1 stdcall AbortPath(long) AbortPath32 2 stdcall AddFontResourceA(str) AddFontResource32A 3 stub AddFontResourceTracking @@ -10,7 +10,7 @@ init MAIN_GdiInit 5 stub AngleArc 6 stdcall AnimatePalette(long long long ptr) AnimatePalette32 7 stdcall Arc(long long long long long long long long long) Arc32 - 8 stub ArcTo + 8 stdcall ArcTo(long long long long long long long long long) ArcTo32 9 stdcall BeginPath(long) BeginPath32 10 stdcall BitBlt(long long long long long long long long long) BitBlt32 11 stub CancelDC @@ -43,8 +43,8 @@ init MAIN_GdiInit 38 stdcall CreateDiscardableBitmap(long long long) CreateDiscardableBitmap32 39 stdcall CreateEllipticRgn(long long long long) CreateEllipticRgn32 40 stdcall CreateEllipticRgnIndirect(ptr) CreateEllipticRgnIndirect32 - 41 stdcall CreateEnhMetaFileA(long ptr ptr ptr) CreateEnhMetaFile32A - 42 stub CreateEnhMetaFileW + 41 stdcall CreateEnhMetaFileA(long str ptr str) CreateEnhMetaFile32A + 42 stdcall CreateEnhMetaFileW(long wstr ptr wstr) CreateEnhMetaFile32W 43 stdcall CreateFontA(long long long long long long long long long long long long long str) CreateFont32A 44 stdcall CreateFontIndirectA(ptr) CreateFontIndirect32A 45 stdcall CreateFontIndirectW(ptr) CreateFontIndirect32W @@ -54,7 +54,7 @@ init MAIN_GdiInit 49 stdcall CreateICA(str str str ptr) CreateIC32A 50 stdcall CreateICW(wstr wstr wstr ptr) CreateIC32W 51 stdcall CreateMetaFileA(str) CreateMetaFile32A - 52 stub CreateMetaFileW + 52 stdcall CreateMetaFileW(wstr) CreateMetaFile32W 53 stdcall CreatePalette(ptr) CreatePalette32 54 stdcall CreatePatternBrush(long) CreatePatternBrush32 55 stdcall CreatePen(long long long) CreatePen32 @@ -182,7 +182,7 @@ init MAIN_GdiInit 177 stdcall GetEnhMetaFileDescriptionW(long long ptr) GetEnhMetaFileDescription32W 178 stdcall GetEnhMetaFileHeader(long long ptr) GetEnhMetaFileHeader 179 stdcall GetEnhMetaFilePaletteEntries (long long ptr) GetEnhMetaFilePaletteEntries -180 stub GetEnhMetaFileW +180 stdcall GetEnhMetaFileW(wstr) GetEnhMetaFile32W 181 stdcall GetFontData(long long long ptr long) GetFontData32 182 stdcall GetFontLanguageInfo(long) GetFontLanguageInfo32 183 stub GetFontResourceInfo @@ -210,7 +210,7 @@ init MAIN_GdiInit 205 stdcall GetObjectType(long) GetObjectType 206 stdcall GetObjectW(long long ptr) GetObject32W 207 stdcall GetOutlineTextMetricsA(long long ptr) GetOutlineTextMetrics32A -208 stub GetOutlineTextMetricsW +208 stdcall GetOutlineTextMetricsW(long long ptr) GetOutlineTextMetrics32W 209 stdcall GetPaletteEntries(long long long ptr) GetPaletteEntries32 210 stdcall GetPath(long ptr ptr long) GetPath32 211 stdcall GetPixel(long long long) GetPixel32 @@ -243,7 +243,7 @@ init MAIN_GdiInit 238 stub GetTransform 239 stdcall GetViewportExtEx(long ptr) GetViewportExtEx32 240 stdcall GetViewportOrgEx(long ptr) GetViewportOrgEx32 -241 stub GetWinMetaFileBits +241 stdcall GetWinMetaFileBits(long long ptr long long) GetWinMetaFileBits 242 stdcall GetWindowExtEx(long ptr) GetWindowExtEx32 243 stdcall GetWindowOrgEx(long ptr) GetWindowOrgEx32 244 stdcall GetWorldTransform(long ptr) GetWorldTransform @@ -254,7 +254,7 @@ init MAIN_GdiInit 249 stdcall LineTo(long long long) LineTo32 250 stub LoadImageColorMatcherA 251 stub LoadImageColorMatcherW -252 stub MaskBlt +252 stdcall MaskBlt(long long long long long long long long long long long long) MaskBlt32 253 stdcall ModifyWorldTransform(long ptr long) ModifyWorldTransform 254 stdcall MoveToEx(long long long ptr) MoveToEx32 255 stdcall OffsetClipRgn(long long long) OffsetClipRgn32 @@ -279,7 +279,7 @@ init MAIN_GdiInit 274 stub PolyTextOutW 275 stdcall Polygon(long ptr long) Polygon32 276 stdcall Polyline(long ptr long) Polyline32 -277 stub PolylineTo +277 stdcall PolylineTo(long ptr long) PolylineTo32 278 stdcall PtInRegion(long long long) PtInRegion32 279 stdcall PtVisible(long long long) PtVisible32 280 stdcall RealizePalette(long) RealizePalette32 @@ -309,7 +309,7 @@ init MAIN_GdiInit 304 stdcall SetBitmapDimensionEx(long long long ptr) SetBitmapDimensionEx32 305 stdcall SetBkColor(long long) SetBkColor32 306 stdcall SetBkMode(long long) SetBkMode32 -307 stub SetBoundsRect +307 stdcall SetBoundsRect(long ptr long) SetBoundsRect32 308 stdcall SetBrushOrgEx(long long long ptr) SetBrushOrgEx 309 stub SetColorAdjustment 310 stub SetColorSpace @@ -350,7 +350,7 @@ init MAIN_GdiInit 345 stdcall SetWindowOrgEx(long long long ptr) SetWindowOrgEx32 346 stdcall SetWorldTransform(long ptr) SetWorldTransform 347 stdcall StartDocA(long ptr) StartDoc32A -348 stub StartDocW +348 stdcall StartDocW(long ptr) StartDoc32W 349 stdcall StartPage(long) StartPage32 350 stdcall StretchBlt(long long long long long long long long long long long) StretchBlt32 351 stdcall StretchDIBits(long long long long long long long long long ptr ptr long long) StretchDIBits32 diff --git a/relay32/kernel32.spec b/relay32/kernel32.spec index 015027d5586..bf27de17e31 100644 --- a/relay32/kernel32.spec +++ b/relay32/kernel32.spec @@ -585,6 +585,7 @@ init MAIN_KernelInit 567 register RaiseException() RaiseException 568 stdcall ReadConsoleA(long ptr long ptr ptr) ReadConsole32A 569 stdcall ReadConsoleInputA(long ptr long ptr) ReadConsoleInput32A +570 stdcall ReadConsoleInputW(long ptr long ptr) ReadConsoleInput32W 570 stub ReadConsoleInputW 571 stub ReadConsoleOutputA 572 stub ReadConsoleOutputAttribute @@ -698,7 +699,7 @@ init MAIN_KernelInit 680 stdcall SleepEx(long long) SleepEx 681 stdcall SuspendThread(long) SuspendThread 682 stdcall SystemTimeToFileTime(ptr ptr) SystemTimeToFileTime -683 stub SystemTimeToTzSpecificLocalTime +683 stdcall SystemTimeToTzSpecificLocalTime (ptr ptr ptr) SystemTimeToTzSpecificLocalTime32 684 stdcall TerminateProcess(long long) TerminateProcess 685 stdcall TerminateThread(long long) TerminateThread 686 stub Thread32First @@ -722,8 +723,8 @@ init MAIN_KernelInit 704 stdcall UnlockFile(long long long long long) UnlockFile 705 stub UnlockFileEx 706 stdcall UnmapViewOfFile(ptr) UnmapViewOfFile -707 stub UpdateResourceA -708 stub UpdateResourceW +707 stdcall UpdateResourceA(long str str long ptr long) UpdateResource32A +708 stdcall UpdateResourceW(long wstr wstr long ptr long) UpdateResource32W 709 stdcall VerLanguageNameA(long str long) VerLanguageName32A 710 stdcall VerLanguageNameW(long wstr long) VerLanguageName32W 711 stdcall VirtualAlloc(ptr long long long) VirtualAlloc @@ -874,8 +875,8 @@ init MAIN_KernelInit # NT 4.0 additions 856 stub CancelIo 857 stub CancelWaitableTimer -858 stub CopyFileExA -859 stub CopyFileExW +858 stdcall CopyFileExA (str str ptr ptr ptr long) CopyFileEx32A +859 stdcall CopyFileExW (wstr wstr ptr ptr ptr long) CopyFileEx32W 860 stub CreateFiber 861 stub CreateWaitableTimerA 862 stub CreateWaitableTimerW diff --git a/relay32/mpr.spec b/relay32/mpr.spec index 067f99141e1..09fa6f4850e 100644 --- a/relay32/mpr.spec +++ b/relay32/mpr.spec @@ -53,10 +53,10 @@ type win32 0050 stdcall WNetAddConnectionA(str str str) WNetAddConnection32A 0051 stdcall WNetAddConnectionW(wstr wstr wstr) WNetAddConnection32W 0052 stdcall WNetCachePassword(str long str long long) WNetCachePassword -0053 stub WNetCancelConnection2A -0054 stub WNetCancelConnection2W -0055 stub WNetCancelConnectionA -0056 stub WNetCancelConnectionW +0053 stdcall WNetCancelConnection2A(str long long) WNetCancelConnection232A +0054 stdcall WNetCancelConnection2W(wstr long long) WNetCancelConnection232W +0055 stdcall WNetCancelConnectionA(str long) WNetCancelConnection32A +0056 stdcall WNetCancelConnectionW(wstr long) WNetCancelConnection32W 0057 stub WNetCloseEnum 0058 stdcall WNetConnectionDialog1A(ptr) WNetConnectionDialog1_32A 0059 stdcall WNetConnectionDialog1W(ptr) WNetConnectionDialog1_32W @@ -87,7 +87,7 @@ type win32 0084 stub WNetGetUniversalNameA 0085 stub WNetGetUniversalNameW 0086 stdcall WNetGetUserA(str ptr ptr) WNetGetUser32A -0087 stub WNetGetUserW +0087 stdcall WNetGetUserW(wstr wstr ptr) WNetGetUser32W 0088 stub WNetLogoffA 0089 stub WNetLogoffW 0090 stub WNetLogonA diff --git a/relay32/shell32.spec b/relay32/shell32.spec index 1c86019bdf1..8e0a11376b1 100644 --- a/relay32/shell32.spec +++ b/relay32/shell32.spec @@ -224,7 +224,7 @@ init Shell32LibMain 216 stub ExtractVersionResource16W # exported by name 217 stub FindExeDlgProc # exported by name 218 stdcall FindExecutableA(ptr ptr ptr) FindExecutable32A # exported by name - 219 stub FindExecutableW # exported by name + 219 stdcall FindExecutableW(wstr wstr wstr) FindExecutable32W # exported by name 220 stdcall FreeIconList(long) FreeIconList # exported by name 221 stub InternalExtractIconListA # exported by name 222 stub InternalExtractIconListW # exported by name @@ -300,7 +300,7 @@ init Shell32LibMain 291 stdcall ShellExecuteEx (long) ShellExecuteEx32 292 stdcall ShellExecuteExA (long) ShellExecuteEx32A 293 stdcall ShellExecuteExW (long) ShellExecuteEx32W - 294 stub ShellExecuteW + 294 stdcall ShellExecuteW (long wstr wstr wstr wstr long) ShellExecute32W 295 stub ShellHookProc # exported by name 296 stdcall Shell_NotifyIcon(long ptr) Shell_NotifyIcon 297 stdcall Shell_NotifyIconA(long ptr) Shell_NotifyIconA diff --git a/relay32/tapi32.spec b/relay32/tapi32.spec index 449df0cb7a8..3f45edd27c7 100644 --- a/relay32/tapi32.spec +++ b/relay32/tapi32.spec @@ -53,7 +53,7 @@ type win32 50 stub linePark 51 stub linePickup 52 stub linePrepareAddToConference - 53 stub lineRedirect + 53 stdcall lineRedirect(long ptr long) lineRedirect32 54 stub lineRegisterRequestRecipient 55 stub lineReleaseUserUserInfo 56 stub lineRemoveFromConference @@ -113,5 +113,5 @@ type win32 110 stub phoneShutdown 111 stub tapiGetLocationInfo 112 stub tapiRequestDrop -113 stub tapiRequestMakeCall +113 stdcall tapiRequestMakeCall(str str str str) tapiRequestMakeCall32 114 stub tapiRequestMediaCall diff --git a/relay32/user32.spec b/relay32/user32.spec index 0109b932663..08e282fd10d 100644 --- a/relay32/user32.spec +++ b/relay32/user32.spec @@ -2,7 +2,7 @@ name user32 type win32 init MAIN_UserInit - 1 stub ActivateKeyboardLayout + 1 stdcall ActivateKeyboardLayout(long long) ActivateKeyboardLayout32 2 stdcall AdjustWindowRect(ptr long long) AdjustWindowRect32 3 stdcall AdjustWindowRectEx(ptr long long long) AdjustWindowRectEx32 4 stdcall AnyPopup() AnyPopup32 @@ -89,18 +89,18 @@ init MAIN_UserInit 85 stub CreateWindowStationA 86 stdcall CreateWindowStationW(wstr long long ptr) CreateWindowStation32W 87 stub DdeAbandonTransaction - 88 stub DdeAccessData + 88 stdcall DdeAccessData(long ptr) DdeAccessData32 89 stub DdeAddData 90 stdcall DdeClientTransaction(ptr long long long long long long ptr) DdeClientTransaction32 - 91 stub DdeCmpStringHandles + 91 stdcall DdeCmpStringHandles(long long) DdeCmpStringHandles32 92 stdcall DdeConnect(long long long ptr) DdeConnect32 93 stdcall DdeConnectList(long long long long ptr) DdeConnectList32 - 94 stub DdeCreateDataHandle + 94 stdcall DdeCreateDataHandle(long ptr long long long long long) DdeCreateDataHandle32 95 stdcall DdeCreateStringHandleA(long str long) DdeCreateStringHandle32A 96 stdcall DdeCreateStringHandleW(long wstr long) DdeCreateStringHandle32W 97 stdcall DdeDisconnect(long) DdeDisconnect32 98 stdcall DdeDisconnectList(long) DdeDisconnectList32 - 99 stub DdeEnableCallback + 99 stdcall DdeEnableCallback(long long long) DdeEnableCallback32 100 stdcall DdeFreeDataHandle(long) DdeFreeDataHandle32 101 stdcall DdeFreeStringHandle(long long) DdeFreeStringHandle32 102 stdcall DdeGetData(long ptr long long) DdeGetData32 @@ -114,12 +114,12 @@ init MAIN_UserInit 110 stdcall DdePostAdvise(long long long) DdePostAdvise32 111 stub DdeQueryConvInfo 112 stdcall DdeQueryNextServer(long long) DdeQueryNextServer32 -113 stub DdeQueryStringA -114 stub DdeQueryStringW +113 stdcall DdeQueryStringA(long long ptr long long) DdeQueryString32A +114 stdcall DdeQueryStringW(long long ptr long long) DdeQueryString32W 115 stdcall DdeReconnect(long) DdeReconnect 116 stub DdeSetQualityOfService 117 stub DdeSetUserHandle -118 stub DdeUnaccessData +118 stdcall DdeUnaccessData(long) DdeUnaccessData32 119 stdcall DdeUninitialize(long) DdeUninitialize32 120 stdcall DefDlgProcA(long long long long) DefDlgProc32A 121 stdcall DefDlgProcW(long long long long) DefDlgProc32W @@ -164,7 +164,7 @@ init MAIN_UserInit 160 stdcall DrawIconEx(long long long long long long long long long) DrawIconEx32 161 stdcall DrawMenuBar(long) DrawMenuBar32 162 stdcall DrawStateA(long long ptr long long long long long long long) DrawState32A -163 stub DrawStateW +163 stdcall DrawStateW(long long ptr long long long long long long long) DrawState32W 164 stdcall DrawTextA(long str long ptr long) DrawText32A 165 stdcall DrawTextExA(long str long ptr long ptr) DrawTextEx32A 166 stdcall DrawTextExW(long wstr long ptr long ptr) DrawTextEx32W @@ -368,8 +368,8 @@ init MAIN_UserInit 364 stdcall LoadIconW(long wstr) LoadIcon32W 365 stdcall LoadImageA(long str long long long long) LoadImage32A 366 stdcall LoadImageW(long wstr long long long long) LoadImage32W -367 stub LoadKeyboardLayoutA -368 stub LoadKeyboardLayoutW +367 stdcall LoadKeyboardLayoutA(str long) LoadKeyboardLayout32A +368 stdcall LoadKeyboardLayoutW(wstr long) LoadKeyboardLayout32W 369 stdcall LoadLocalFonts() LoadLocalFonts 370 stdcall LoadMenuA(long str) LoadMenu32A 371 stdcall LoadMenuIndirectA(ptr) LoadMenuIndirect32A @@ -462,7 +462,7 @@ init MAIN_UserInit 458 stdcall SendMessageTimeoutW(long long long long ptr ptr) SendMessageTimeout32W 459 stdcall SendMessageW(long long long long) SendMessage32W 460 stdcall SendNotifyMessageA(long long long long) SendNotifyMessage32A -461 stub SendNotifyMessageW +461 stdcall SendNotifyMessageW(long long long long) SendNotifyMessage32W 462 stub ServerSetFunctionPointers 463 stdcall SetActiveWindow(long) SetActiveWindow32 464 stdcall SetCapture(long) SetCapture32 @@ -549,7 +549,7 @@ init MAIN_UserInit 545 stdcall TileWindows(long long ptr long ptr) TileWindows 546 stdcall ToAscii(long long ptr ptr long) ToAscii32 547 stub ToAsciiEx -548 stub ToUnicode +548 stdcall ToUnicode(long long ptr wstr long long) ToUnicode32 549 stdcall TrackPopupMenu(long long long long long long ptr) TrackPopupMenu32 550 stdcall TrackPopupMenuEx(long long long long long ptr) TrackPopupMenuEx 551 stdcall TranslateAccelerator(long long ptr) TranslateAccelerator32 diff --git a/relay32/winspool.spec b/relay32/winspool.spec index 7de40087c43..a99a998639c 100644 --- a/relay32/winspool.spec +++ b/relay32/winspool.spec @@ -3,10 +3,10 @@ type win32 101 stub ADVANCEDSETUPDIALOG 102 stub AbortPrinter -103 stub AddFormA -104 stub AddFormW -105 stub AddJobA -106 stub AddJobW +103 stdcall AddFormA(long long ptr) AddForm32A +104 stdcall AddFormW(long long ptr) AddForm32W +105 stdcall AddJobA(long long ptr long ptr) AddJob32A +106 stdcall AddJobW(long long ptr long ptr) AddJob32W 107 stdcall AddMonitorA(str long ptr) AddMonitor32A 108 stub AddMonitorW 109 stub AddPortA @@ -17,24 +17,24 @@ type win32 114 stub AddPrintProcessorW 115 stub AddPrintProvidorA 116 stub AddPrintProvidorW -117 stub AddPrinterA +117 stdcall AddPrinterA(str long ptr) AddPrinter32A 118 stub AddPrinterConnectionA 119 stub AddPrinterConnectionW 120 stub AddPrinterDriverA 121 stub AddPrinterDriverW -122 stub AddPrinterW +122 stdcall AddPrinterW(wstr long ptr) AddPrinter32W 123 stub AdvancedDocumentPropertiesA 124 stub AdvancedDocumentPropertiesW 125 stub AdvancedSetupDialog -126 stub ClosePrinter +126 stdcall ClosePrinter(long) ClosePrinter32 127 stub ConfigurePortA 128 stub ConfigurePortW 129 stub ConnectToPrinterDlg 130 stub CreatePrinterIC 131 stub DEVICECAPABILITIES 132 stub DEVICEMODE -133 stub DeleteFormA -134 stub DeleteFormW +133 stdcall DeleteFormA(long str) DeleteForm32A +134 stdcall DeleteFormW(long wstr) DeleteForm32W 135 stdcall DeleteMonitorA(str str str) DeleteMonitor32A 136 stub DeleteMonitorW 137 stdcall DeletePortA(str long str) DeletePort32A @@ -43,7 +43,7 @@ type win32 140 stub DeletePrintProcessorW 141 stub DeletePrintProvidorA 142 stub DeletePrintProvidorW -143 stub DeletePrinter +143 stdcall DeletePrinter(long) DeletePrinter32 144 stub DeletePrinterConnectionA 145 stub DeletePrinterConnectionW 146 stdcall DeletePrinterDriverA(str str str) DeletePrinterDriver32A @@ -52,7 +52,7 @@ type win32 149 stub DevQueryPrint 150 stub DeviceCapabilities 151 stdcall DeviceCapabilitiesA(str str long ptr ptr) DeviceCapabilities32A -152 stub DeviceCapabilitiesW +152 stdcall DeviceCapabilitiesW(wstr wstr long wstr ptr) DeviceCapabilities32W 153 stub DeviceMode 154 stub DocumentEvent 155 stdcall DocumentPropertiesA(long long ptr ptr ptr long) DocumentProperties32A @@ -81,20 +81,20 @@ type win32 178 stub FindFirstPrinterChangeNotification 179 stub FindNextPrinterChangeNotification 180 stub FreePrinterNotifyInfo -181 stub GetFormA -182 stub GetFormW +181 stdcall GetFormA(long str long ptr long ptr) GetForm32A +182 stdcall GetFormW(long wstr long ptr long ptr) GetForm32W 183 stub GetJobA 184 stub GetJobW 185 stub GetPrintProcessorDirectoryA 186 stub GetPrintProcessorDirectoryW -187 stub GetPrinterA +187 stdcall GetPrinterA(long long ptr long ptr) GetPrinter32A 188 stub GetPrinterDataA 189 stub GetPrinterDataW -190 stub GetPrinterDriverA +190 stdcall GetPrinterDriverA(long str long ptr long ptr) GetPrinterDriver32A 191 stub GetPrinterDriverDirectoryA 192 stub GetPrinterDriverDirectoryW -193 stub GetPrinterDriverW -194 stub GetPrinterW +193 stdcall GetPrinterDriverW(long str long ptr long ptr) GetPrinterDriver32W +194 stdcall GetPrinterW(long long ptr long ptr) GetPrinter32W 195 stub InitializeDll 196 stdcall OpenPrinterA(str ptr ptr) OpenPrinter32A 197 stdcall OpenPrinterW(wstr ptr ptr) OpenPrinter32W @@ -102,19 +102,19 @@ type win32 199 stub PrinterMessageBoxA 200 stub PrinterMessageBoxW 201 stub PrinterProperties -202 stub ReadPrinter -203 stub ResetPrinterA -204 stub ResetPrinterW +202 stdcall ReadPrinter(long ptr long ptr) ReadPrinter32 +203 stdcall ResetPrinterA(long ptr) ResetPrinter32A +204 stdcall ResetPrinterW(long ptr) ResetPrinter32W 205 stub ScheduleJob 206 stub SetAllocFailCount -207 stub SetFormA -208 stub SetFormW -209 stub SetJobA -210 stub SetJobW -211 stub SetPrinterA +207 stdcall SetFormA(long str long ptr) SetForm32A +208 stdcall SetFormW(long wstr long ptr) SetForm32W +209 stdcall SetJobA(long long long ptr long) SetJob32A +210 stdcall SetJobW(long long long ptr long) SetJob32W +211 stdcall SetPrinterA(long long ptr long) SetPrinter32A 212 stub SetPrinterDataA 213 stub SetPrinterDataW -214 stub SetPrinterW +214 stdcall SetPrinterW(long long ptr long) SetPrinter32W 215 stub SpoolerDevQueryPrintW 216 stub SpoolerInit 217 stub StartDocDlgA @@ -123,4 +123,4 @@ type win32 220 stub StartDocPrinterW 221 stub StartPagePrinter 222 stub WaitForPrinterChange -223 stub WritePrinter +223 stdcall WritePrinter(long ptr long ptr) WritePrinter32 diff --git a/win32/console.c b/win32/console.c index 089416c0711..5f0b9e7a41e 100644 --- a/win32/console.c +++ b/win32/console.c @@ -1077,7 +1077,7 @@ BOOL32 WINAPI ReadConsole32W( HANDLE32 hConsoleInput, /****************************************************************************** - * ReadConsoleInputA [KERNEL32.569] Reads data from a console + * ReadConsoleInput32A [KERNEL32.569] Reads data from a console * * PARAMS * hConsoleInput [I] Handle to console input buffer @@ -1180,6 +1180,17 @@ BOOL32 WINAPI SetConsoleTitle32W( LPCWSTR title ) return ret; } +/*********************************************************************** + * ReadConsoleInput32W (KERNEL32.570) + */ +BOOL32 WINAPI ReadConsoleInput32W(HANDLE32 hConsoleInput, + LPINPUT_RECORD lpBuffer, + DWORD nLength, LPDWORD lpNumberOfEventsRead) +{ + FIXME(console, "(%d,%p,%ld,%p): stub\n",hConsoleInput, lpBuffer, nLength, + lpNumberOfEventsRead); + return 0; +} /*********************************************************************** * FlushConsoleInputBuffer (KERNEL32.132) diff --git a/win32/kernel32.c b/win32/kernel32.c index b90a01a4583..5faf0d34c79 100644 --- a/win32/kernel32.c +++ b/win32/kernel32.c @@ -22,6 +22,7 @@ #include "debug.h" #include "flatthunk.h" #include "syslevel.h" +#include "winerror.h" /*********************************************************************** @@ -1104,3 +1105,38 @@ REGS_ENTRYPOINT(K32Thk1632Epilog) } } +/*********************************************************************** + * UpdateResource32A (KERNEL32.707) + */ +BOOL32 WINAPI UpdateResource32A( + HANDLE32 hUpdate, + LPCSTR lpType, + LPCSTR lpName, + WORD wLanguage, + LPVOID lpData, + DWORD cbData) { + + FIXME(win32, ": stub\n"); + SetLastError(ERROR_CALL_NOT_IMPLEMENTED); + return FALSE; +} + +/*********************************************************************** + * UpdateResource32W (KERNEL32.708) + */ +BOOL32 WINAPI UpdateResource32W( + HANDLE32 hUpdate, + LPCWSTR lpType, + LPCWSTR lpName, + WORD wLanguage, + LPVOID lpData, + DWORD cbData) { + + FIXME(win32, ": stub\n"); + SetLastError(ERROR_CALL_NOT_IMPLEMENTED); + return FALSE; +} + + + + diff --git a/win32/time.c b/win32/time.c index fc82034710d..dbcca6780d3 100644 --- a/win32/time.c +++ b/win32/time.c @@ -138,3 +138,16 @@ BOOL32 WINAPI SetTimeZoneInformation(const LPTIME_ZONE_INFORMATION tzinfo) VOID WINAPI GetSystemTimeAsFileTime(LPFILETIME systemtimeAsfiletime) { DOSFS_UnixTimeToFileTime(time(NULL),systemtimeAsfiletime,0); } + +/*********************************************************************** + * SystemTimeToTzSpecificLocalTime32 (KERNEL32.683) + */ +BOOL32 WINAPI SystemTimeToTzSpecificLocalTime32( + LPTIME_ZONE_INFORMATION lpTimeZoneInformation, + LPSYSTEMTIME lpUniversalTime, + LPSYSTEMTIME lpLocalTime) { + + FIXME(win32, ":stub\n"); + SetLastError(ERROR_CALL_NOT_IMPLEMENTED); + return FALSE; +} diff --git a/windows/input.c b/windows/input.c index e38e90e77ea..f82585bcff7 100644 --- a/windows/input.c +++ b/windows/input.c @@ -791,6 +791,17 @@ HKL32 WINAPI GetKeyboardLayout(DWORD dwLayout) return layout; } +/********************************************************************** + * ActivateKeyboardLayout32 (USER32.1) + */ +HKL32 WINAPI ActivateKeyboardLayout32(HKL32 hLayout, UINT32 flags) +{ + FIXME(keyboard, "(%d, %d): stub\n", hLayout, flags); + + return 0; +} + + /*********************************************************************** * GetKeyboardLayoutList (USER32.251) * FIXME @@ -820,3 +831,36 @@ BOOL32 WINAPI UnregisterHotKey(HWND32 hwnd,INT32 id) { return TRUE; } + +/*********************************************************************** + * ToUnicode32 (USER32.548) + */ +INT32 WINAPI ToUnicode32( + UINT32 wVirtKey, + UINT32 wScanCode, + PBYTE lpKeyState, + LPWSTR pwszBuff, + int cchBuff, + UINT32 wFlags) { + + FIXME(keyboard,": stub\n"); + return 0; +} + +/*********************************************************************** + * LoadKeyboardLayout32A (USER32.367) + */ +HKL32 WINAPI LoadKeyboardLayout32A(LPCSTR pwszKLID, UINT32 Flags) +{ + FIXME(keyboard, "%s, %d): stub\n", pwszKLID, Flags); + return 0; +} + +/*********************************************************************** + * LoadKeyboardLayout32W (USER32.368) + */ +HKL32 WINAPI LoadKeyboardLayout32W(LPCWSTR pwszKLID, UINT32 Flags) +{ + FIXME(keyboard, "%p, %d): stub\n", pwszKLID, Flags); + return 0; +} diff --git a/windows/message.c b/windows/message.c index c7ad72d35bd..db0e657ca03 100644 --- a/windows/message.c +++ b/windows/message.c @@ -1981,6 +1981,17 @@ LONG WINAPI SendNotifyMessage32A(HWND32 hwnd,UINT32 msg,WPARAM32 wParam,LPARAM l } return ret; } + +/*********************************************************************** + * SendNotifyMessage32W (USER32.461) + */ +BOOL32 WINAPI SendNotifyMessage32W(HWND32 hWnd, UINT32 msg, WPARAM32 wParam, + LPARAM lParam) +{ + FIXME(msg, "(%04x,%08x,%08x,%08lx): stub\n", hWnd, msg, wParam, lParam); + return 0; +} + /*********************************************************************** * SendMessageCallBack32A * FIXME: It's like PostMessage. The callback gets called when the message