On Thu, 8 Jun 2000, Andreas Mohr wrote: > Hi, > > as there are already going on some prolonged discussions about this matter, > > what about WINSPOOL.DeviceCapabilities(/A/W) ? > > I guess it's the same here... > > (an app I have needs DeviceCapabilities) Reminded that this was not answered to by the WWN... Yes. I think it's the same thing except that: * DeviceCapabilities is correctly declared in winspool.h * DeviceCapabilities is declared a stub in the spec file so we cannot have compilation problems du to the macro In the documentation they mention that DeviceCapabilities was implemented in the printer driver in Win16 and that one had to manually load the dll and do a GetProcAddress on it. They also say that now it's part of the standard API and you don't have to do this gymnastic anymore (and we do have a GDI_CallDeviceCapabilities16 in graphics/driver.c, that's the one, right?). Maybe there's something here that can explain the current state of affairs (still speculating). Back to MCIWndCreate. I know about the UNICODE macro and how it impacts whether you get the A or W version of the APIs. Yet initially I was under the impression that MCIWndCreate was able to select between the A and W version at runtime. But this does not seem to make any sense. Right? Then, as Alexandre pointed out, we should make MCIWndCreate and DeviceCapabilities point to the Ansi implementation directly in the spec file. Here a patch that does that. If there's no objection I'll post it to wine-patches. -- Francois Gouget [EMAIL PROTECTED] http://fgouget.free.fr/ War doesn't determine who's right. War determines who's left.
Index: include/vfw.h =================================================================== RCS file: /home/wine/wine/include/vfw.h,v retrieving revision 1.13 diff -u -r1.13 vfw.h --- include/vfw.h 2000/06/11 20:07:08 1.13 +++ include/vfw.h 2000/06/15 22:55:47 @@ -10,6 +10,9 @@ #define VFWAPI WINAPI #define VFWAPIV WINAPIV +HWND VFWAPIV MCIWndCreateA(HWND hwndParent, HINSTANCE hInstance, DWORD +dwStyle, LPCSTR szFile); +HWND VFWAPIV MCIWndCreateW(HWND hwndParent, HINSTANCE hInstance, DWORD +dwStyle, LPCWSTR szFile); +#define MCIWndCreate WINELIB_NAME_AW(MCIWndCreate) #ifndef mmioFOURCC #define mmioFOURCC( ch0, ch1, ch2, ch3 ) \ Index: dlls/msvideo/msvfw32.spec =================================================================== RCS file: /home/wine/wine/dlls/msvideo/msvfw32.spec,v retrieving revision 1.3 diff -u -r1.3 msvfw32.spec --- dlls/msvideo/msvfw32.spec 2000/04/19 16:54:02 1.3 +++ dlls/msvideo/msvfw32.spec 2000/06/15 22:55:34 @@ -48,7 +48,7 @@ 41 stub ICSeqCompressFrame 42 stub ICSeqCompressFrameEnd 43 stub ICSeqCompressFrameStart - 44 cdecl MCIWndCreate (long long long ptr) MCIWndCreate + 44 cdecl MCIWndCreate (long long long ptr) MCIWndCreateA 45 cdecl MCIWndCreateA (long long long str) MCIWndCreateA 46 cdecl MCIWndCreateW (long long long wstr) MCIWndCreateW 47 stub MCIWndRegisterClass Index: dlls/msvideo/msvideo_main.c =================================================================== RCS file: /home/wine/wine/dlls/msvideo/msvideo_main.c,v retrieving revision 1.6 diff -u -r1.6 msvideo_main.c --- dlls/msvideo/msvideo_main.c 2000/03/24 20:46:05 1.6 +++ dlls/msvideo/msvideo_main.c 2000/06/15 22:55:35 @@ -466,17 +466,8 @@ return 0; } -/*********************************************************************** - * MCIWndCreate [MSVFW.44] - */ -HWND VFWAPIV MCIWndCreate (HWND hwndParent, HINSTANCE hInstance, - DWORD dwStyle,LPVOID szFile) -{ FIXME("%x %x %lx %p\n",hwndParent, hInstance, dwStyle, szFile); - return 0; -} - /*********************************************************************** - * MCIWndCreateA [MSVFW.45] + * MCIWndCreateA [MSVFW.44 & MSVFW.45] */ HWND VFWAPIV MCIWndCreateA(HWND hwndParent, HINSTANCE hInstance, DWORD dwStyle,LPCSTR szFile) Index: dlls/winspool/winspool.spec =================================================================== RCS file: /home/wine/wine/dlls/winspool/winspool.spec,v retrieving revision 1.4 diff -u -r1.4 winspool.spec --- dlls/winspool/winspool.spec 1999/10/24 21:35:18 1.4 +++ dlls/winspool/winspool.spec 2000/06/15 22:55:43 @@ -52,7 +52,7 @@ 147 stub DeletePrinterDriverW 148 stub DeletePrinterIC 149 stub DevQueryPrint -150 stub DeviceCapabilities +150 stdcall DeviceCapabilities(str str long ptr ptr) DeviceCapabilitiesA 151 stdcall DeviceCapabilitiesA(str str long ptr ptr) DeviceCapabilitiesA 152 stdcall DeviceCapabilitiesW(wstr wstr long wstr ptr) DeviceCapabilitiesW 153 stub DeviceMode Index: dlls/winspool/info.c =================================================================== RCS file: /home/wine/wine/dlls/winspool/info.c,v retrieving revision 1.14 diff -u -r1.14 info.c --- dlls/winspool/info.c 2000/05/25 23:02:46 1.14 +++ dlls/winspool/info.c 2000/06/15 22:55:43 @@ -277,7 +277,7 @@ } /****************************************************************** - * DeviceCapabilitiesA [WINSPOOL.151] + * DeviceCapabilitiesA [WINSPOOL.150 & WINSPOOL.151] * */ INT WINAPI DeviceCapabilitiesA(LPCSTR pDeivce,LPCSTR pPort, WORD cap, @@ -300,7 +300,7 @@ /***************************************************************************** - * DeviceCapabilitiesW + * DeviceCapabilitiesW [WINSPOOL.152] * * Call DeviceCapabilitiesA since we later call 16bit stuff anyway *