Author: akhaldi
Date: Sat Sep 28 15:07:20 2013
New Revision: 60415
URL:
http://svn.reactos.org/svn/reactos?rev=60415&view=rev
Log:
[TAPI32]
* Sync with Wine 1.7.1.
CORE-7469
Modified:
trunk/reactos/dll/win32/tapi32/CMakeLists.txt
trunk/reactos/dll/win32/tapi32/assisted.c
trunk/reactos/dll/win32/tapi32/line.c
trunk/reactos/dll/win32/tapi32/phone.c
trunk/reactos/dll/win32/tapi32/tapi32.spec
trunk/reactos/media/doc/README.WINE
Modified: trunk/reactos/dll/win32/tapi32/CMakeLists.txt
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/tapi32/CMakeList…
==============================================================================
--- trunk/reactos/dll/win32/tapi32/CMakeLists.txt [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/tapi32/CMakeLists.txt [iso-8859-1] Sat Sep 28 15:07:20 2013
@@ -1,7 +1,6 @@
include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine)
add_definitions(-D__WINESRC__)
-
spec2def(tapi32.dll tapi32.spec)
list(APPEND SOURCE
@@ -13,12 +12,7 @@
${CMAKE_CURRENT_BINARY_DIR}/tapi32.def)
add_library(tapi32 SHARED ${SOURCE})
-
set_module_type(tapi32 win32dll)
-
target_link_libraries(tapi32 wine)
-
-add_importlibs(tapi32 msvcrt advapi32 kernel32 ntdll)
-add_dependencies(tapi32 psdk)
-
+add_importlibs(tapi32 advapi32 msvcrt kernel32 ntdll)
add_cd_file(TARGET tapi32 DESTINATION reactos/system32 FOR all)
Modified: trunk/reactos/dll/win32/tapi32/assisted.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/tapi32/assisted.…
==============================================================================
--- trunk/reactos/dll/win32/tapi32/assisted.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/tapi32/assisted.c [iso-8859-1] Sat Sep 28 15:07:20 2013
@@ -2,6 +2,7 @@
* TAPI32 Assisted Telephony
*
* Copyright 1999 Andreas Mohr
+ * Copyright 2011 André Hentschel
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -33,50 +34,61 @@
#include <winreg.h>
#include <objbase.h>
#include <tapi.h>
+#include <wine/unicode.h>
#include <wine/debug.h>
WINE_DEFAULT_DEBUG_CHANNEL(tapi);
/***********************************************************************
- * tapiGetLocationInfo (TAPI32.@)
+ * tapiGetLocationInfoW (TAPI32.@)
*/
-DWORD WINAPI tapiGetLocationInfoA(LPSTR lpszCountryCode, LPSTR lpszCityCode)
+DWORD WINAPI tapiGetLocationInfoW(LPWSTR countrycode, LPWSTR citycode)
{
HKEY hkey, hsubkey;
DWORD currid;
DWORD valsize;
DWORD type;
DWORD bufsize;
- BYTE buf[100];
- char szlockey[20];
- if(!RegOpenKeyA(HKEY_LOCAL_MACHINE,
-
"Software\\Microsoft\\Windows\\CurrentVersion\\Telephony\\Locations",
- &hkey) != ERROR_SUCCESS) {
+ BYTE buf[200];
+ WCHAR szlockey[20];
+
+ static const WCHAR currentidW[] =
{'C','u','r','r','e','n','t','I','D',0};
+ static const WCHAR locationW[] =
{'L','o','c','a','t','i','o','n','%','u',0};
+ static const WCHAR areacodeW[] =
{'A','r','e','a','C','o','d','e',0};
+ static const WCHAR countryW[] =
{'C','o','u','n','t','r','y',0};
+ static const WCHAR fmtW[] = {'%','u',0};
+
+ static const WCHAR locations_keyW[] =
+
{'S','o','f','t','w','a','r','e','\\','M','i','c','r','o','s','o','f','t','\\',
+
'W','i','n','d','o','w','s','\\',
+
'C','u','r','r','e','n','t','V','e','r','s','i','o','n','\\',
+
'T','e','l','e','p','h','o','n','y','\\','L','o','c','a','t','i','o','n','s',0};
+
+ if(!RegOpenKeyW(HKEY_LOCAL_MACHINE, locations_keyW, &hkey) != ERROR_SUCCESS) {
valsize = sizeof( DWORD);
- if(!RegQueryValueExA(hkey, "CurrentID", 0, &type, (LPBYTE)
&currid,
- &valsize) && type == REG_DWORD) {
+ if(!RegQueryValueExW(hkey, currentidW, 0, &type, (LPBYTE) &currid,
&valsize) &&
+ type == REG_DWORD) {
/* find a subkey called Location1, Location2... */
- sprintf( szlockey, "Location%u", currid);
- if( !RegOpenKeyA( hkey, szlockey, &hsubkey)) {
- if( lpszCityCode) {
+ sprintfW( szlockey, locationW, currid);
+ if( !RegOpenKeyW( hkey, szlockey, &hsubkey)) {
+ if( citycode) {
bufsize=sizeof(buf);
- if( !RegQueryValueExA( hsubkey, "AreaCode", 0, &type,
buf,
- &bufsize) && type == REG_SZ) {
- lstrcpynA( lpszCityCode, (char *) buf, 8);
+ if( !RegQueryValueExW( hsubkey, areacodeW, 0, &type, buf,
&bufsize) &&
+ type == REG_SZ) {
+ lstrcpynW( citycode, (WCHAR *) buf, 8);
} else
- lpszCityCode[0] = '\0';
+ citycode[0] = '\0';
}
- if( lpszCountryCode) {
+ if( countrycode) {
bufsize=sizeof(buf);
- if( !RegQueryValueExA( hsubkey, "Country", 0, &type,
buf,
- &bufsize) && type == REG_DWORD)
- snprintf( lpszCountryCode, 8, "%u", *(LPDWORD) buf );
+ if( !RegQueryValueExW( hsubkey, countryW, 0, &type, buf,
&bufsize) &&
+ type == REG_DWORD)
+ snprintfW( countrycode, 8, fmtW, *(LPDWORD) buf );
else
- lpszCountryCode[0] = '\0';
+ countrycode[0] = '\0';
}
- TRACE("(%p \"%s\", %p \"%s\"):
success.\n",
- lpszCountryCode, debugstr_a(lpszCountryCode),
- lpszCityCode, debugstr_a(lpszCityCode));
+ TRACE("(%p \"%s\", %p \"%s\"): success.\n",
countrycode, debugstr_w(countrycode),
+ citycode, debugstr_w(citycode));
RegCloseKey( hkey);
RegCloseKey( hsubkey);
return 0; /* SUCCESS */
@@ -84,9 +96,32 @@
}
RegCloseKey( hkey);
}
- WARN("(%p, %p): failed (no telephony registry entries?).\n",
- lpszCountryCode, lpszCityCode);
+ WARN("(%p, %p): failed (no telephony registry entries?).\n", countrycode,
citycode);
return TAPIERR_REQUESTFAILED;
+}
+
+
+/***********************************************************************
+ * tapiGetLocationInfoA (TAPI32.@)
+ */
+DWORD WINAPI tapiGetLocationInfoA(LPSTR countrycode, LPSTR citycode)
+{
+ DWORD ret, len;
+ LPWSTR country, city;
+
+ len = MultiByteToWideChar( CP_ACP, 0, countrycode, -1, NULL, 0 );
+ country = HeapAlloc( GetProcessHeap(), 0, len );
+ MultiByteToWideChar( CP_ACP, 0, countrycode, -1, country, len );
+
+ len = MultiByteToWideChar( CP_ACP, 0, citycode, -1, NULL, 0 );
+ city = HeapAlloc( GetProcessHeap(), 0, len );
+ MultiByteToWideChar( CP_ACP, 0, citycode, -1, city, len );
+
+ ret = tapiGetLocationInfoW(country, city);
+
+ HeapFree( GetProcessHeap(), 0, city );
+ HeapFree( GetProcessHeap(), 0, country );
+ return ret;
}
/***********************************************************************
Modified: trunk/reactos/dll/win32/tapi32/line.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/tapi32/line.c?re…
==============================================================================
--- trunk/reactos/dll/win32/tapi32/line.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/tapi32/line.c [iso-8859-1] Sat Sep 28 15:07:20 2013
@@ -35,6 +35,7 @@
#include <objbase.h>
#include <tapi.h>
#include <wine/debug.h>
+#include <wine/unicode.h>
WINE_DEFAULT_DEBUG_CHANNEL(tapi);
@@ -138,6 +139,15 @@
}
/***********************************************************************
+ * lineConfigDialogW (TAPI32.@)
+ */
+DWORD WINAPI lineConfigDialogW(DWORD dwDeviceID, HWND hwndOwner, LPCWSTR
lpszDeviceClass)
+{
+ FIXME("(%08x, %p, %s): stub.\n", dwDeviceID, hwndOwner,
debugstr_w(lpszDeviceClass));
+ return 0;
+}
+
+/***********************************************************************
* lineConfigDialogEdit (TAPI32.@)
*/
DWORD WINAPI lineConfigDialogEditA(DWORD dwDeviceID, HWND hwndOwner, LPCSTR
lpszDeviceClass, LPVOID const lpDeviceConfigIn, DWORD dwSize, LPVARSTRING
lpDeviceConfigOut)
@@ -192,6 +202,15 @@
}
/***********************************************************************
+ * lineDialW (TAPI32.@)
+ */
+DWORD WINAPI lineDialW(HCALL hCall, LPCWSTR lpszDestAddress, DWORD dwCountryCode)
+{
+ FIXME("(%p, %s, %08x): stub.\n", hCall, debugstr_w(lpszDestAddress),
dwCountryCode);
+ return 1;
+}
+
+/***********************************************************************
* lineDrop (TAPI32.@)
*/
DWORD WINAPI lineDrop(HCALL hCall, LPCSTR lpsUserUserInfo, DWORD dwSize)
@@ -299,18 +318,8 @@
return 0;
}
-typedef struct tagTAPI_CountryInfo
-{
- DWORD dwCountryID;
- DWORD dwCountryCode;
- LPSTR lpCountryName;
- LPSTR lpSameAreaRule;
- LPSTR lpLongDistanceRule;
- LPSTR lpInternationalRule;
-} TAPI_CountryInfo;
-
-/***********************************************************************
- * lineGetCountry (TAPI32.@)
+/***********************************************************************
+ * lineGetCountryA (TAPI32.@)
*/
DWORD WINAPI lineGetCountryA(DWORD dwCountryID, DWORD dwAPIVersion, LPLINECOUNTRYLIST
lpLineCountryList)
{
@@ -470,12 +479,151 @@
}
/***********************************************************************
+ * lineGetCountryW (TAPI32.@)
+ */
+DWORD WINAPI lineGetCountryW(DWORD id, DWORD version, LPLINECOUNTRYLIST list)
+{
+ static const WCHAR country_listW[] =
+
{'S','o','f','t','w','a','r','e','\\','M','i','c','r','o','s','o','f','t','\\',
+
'W','i','n','d','o','w','s','\\','C','u','r','r','e','n','t','V','e','r','s','i','o','n','\\',
+
'T','e','l','e','p','h','o','n','y','\\','C','o','u','n','t','r','y','
','L','i','s','t',0};
+ static const WCHAR international_ruleW[] =
+
{'I','n','t','e','r','n','a','t','i','o','n','a','l','R','u','l','e',0};
+ static const WCHAR longdistance_ruleW[] =
+
{'L','o','n','g','D','i','s','t','a','n','c','e','R','u','l','e',0};
+ static const WCHAR samearea_ruleW[] =
+
{'S','a','m','e','A','r','e','a','R','u','l','e',0};
+ static const WCHAR nameW[] =
+ {'N','a','m','e',0};
+ static const WCHAR country_codeW[] =
+
{'C','o','u','n','t','r','y','C','o','d','e',0};
+ DWORD total_size, offset, i, num_countries, max_subkey_len;
+ LINECOUNTRYENTRY *entry;
+ WCHAR *subkey_name;
+ HKEY hkey;
+
+ if (!list) return LINEERR_INVALPOINTER;
+ TRACE("(%08x, %08x, %p(%d))\n", id, version, list, list->dwTotalSize);
+
+ if (RegOpenKeyW(HKEY_LOCAL_MACHINE, country_listW, &hkey) != ERROR_SUCCESS)
+ return LINEERR_INIFILECORRUPT;
+
+ total_size = list->dwTotalSize;
+ offset = sizeof(LINECOUNTRYLIST);
+ if (total_size < offset) return LINEERR_STRUCTURETOOSMALL;
+
+ memset(list, 0, total_size);
+ list->dwTotalSize = total_size;
+ list->dwUsedSize = offset;
+ list->dwNumCountries = 0;
+ list->dwCountryListSize = 0;
+ list->dwCountryListOffset = offset;
+
+ entry = (LINECOUNTRYENTRY *)(list + 1);
+
+ if (RegQueryInfoKeyW(hkey, NULL, NULL, NULL, &num_countries,
&max_subkey_len,
+ NULL, NULL, NULL, NULL, NULL, NULL) != ERROR_SUCCESS)
+ {
+ RegCloseKey(hkey);
+ return LINEERR_OPERATIONFAILED;
+ }
+ if (id) offset = sizeof(LINECOUNTRYENTRY);
+ else offset += num_countries * sizeof(LINECOUNTRYENTRY);
+
+ max_subkey_len++;
+ if (!(subkey_name = HeapAlloc(GetProcessHeap(), 0, max_subkey_len * sizeof(WCHAR))))
+ {
+ RegCloseKey(hkey);
+ return LINEERR_NOMEM;
+ }
+ for (i = 0; i < num_countries; i++)
+ {
+ DWORD len, size, size_int, size_long, size_name, size_same;
+ HKEY hsubkey;
+
+ if (RegEnumKeyW(hkey, i, subkey_name, max_subkey_len) != ERROR_SUCCESS)
continue;
+ if (id && (atoiW(subkey_name) != id)) continue;
+ if (RegOpenKeyW(hkey, subkey_name, &hsubkey) != ERROR_SUCCESS) continue;
+
+ RegQueryValueExW(hsubkey, international_ruleW, NULL, NULL, NULL, &size_int);
+ len = size_int;
+
+ RegQueryValueExW(hsubkey, longdistance_ruleW, NULL, NULL, NULL, &size_long);
+ len += size_long;
+
+ RegQueryValueExW(hsubkey, nameW, NULL, NULL, NULL, &size_name);
+ len += size_name;
+
+ RegQueryValueExW(hsubkey, samearea_ruleW, NULL, NULL, NULL, &size_same);
+ len += size_same;
+
+ if (total_size < offset + len)
+ {
+ offset += len;
+ RegCloseKey(hsubkey);
+ if (id) break;
+ continue;
+ }
+ list->dwNumCountries++;
+ list->dwCountryListSize += sizeof(LINECOUNTRYENTRY);
+ list->dwUsedSize += len + sizeof(LINECOUNTRYENTRY);
+
+ if (id) i = 0;
+ entry[i].dwCountryID = atoiW(subkey_name);
+ size = sizeof(DWORD);
+ RegQueryValueExW(hsubkey, country_codeW, NULL, NULL, (BYTE
*)&entry[i].dwCountryCode, &size);
+ entry[i].dwNextCountryID = 0;
+
+ if (i > 0) entry[i - 1].dwNextCountryID = entry[i].dwCountryID;
+
+ /* add country name */
+ entry[i].dwCountryNameSize = size_name;
+ entry[i].dwCountryNameOffset = offset;
+ RegQueryValueExW(hsubkey, nameW, NULL, NULL, (BYTE *)list + offset,
&size_name);
+ offset += size_name;
+
+ /* add Same Area Rule */
+ entry[i].dwSameAreaRuleSize = size_same;
+ entry[i].dwSameAreaRuleOffset = offset;
+ RegQueryValueExW(hsubkey, samearea_ruleW, NULL, NULL, (BYTE *)list + offset,
&size_same);
+ offset += size_same;
+
+ /* add Long Distance Rule */
+ entry[i].dwLongDistanceRuleSize = size_long;
+ entry[i].dwLongDistanceRuleOffset = offset;
+ RegQueryValueExW(hsubkey, longdistance_ruleW, NULL, NULL, (BYTE *)list + offset,
&size_long);
+ offset += size_long;
+
+ /* add Long Distance Rule */
+ entry[i].dwInternationalRuleSize = size_int;
+ entry[i].dwInternationalRuleOffset = offset;
+ RegQueryValueExW(hsubkey, international_ruleW, NULL, NULL, (BYTE *)list + offset,
&size_int);
+ offset += size_int;
+ RegCloseKey(hsubkey);
+
+ TRACE("added country %s at %p\n",
+ debugstr_w((const WCHAR *)((const char *)list +
entry[i].dwCountryNameOffset)), &entry[i]);
+ if (id) break;
+ }
+ list->dwNeededSize = offset;
+
+ TRACE("%d available %d required\n", total_size, offset);
+
+ HeapFree(GetProcessHeap(), 0, subkey_name);
+ RegCloseKey(hkey);
+ return 0;
+}
+
+/***********************************************************************
* lineGetDevCapsW (TAPI32.@)
*/
DWORD WINAPI lineGetDevCapsW(HLINEAPP hLineApp, DWORD dwDeviceID, DWORD dwAPIVersion,
DWORD dwExtVersion, LPLINEDEVCAPS lpLineDevCaps)
{
- FIXME("(%p, %08x, %08x, %08x, %p): stub.\n", hLineApp, dwDeviceID,
dwAPIVersion,
+ static int warn_once;
+
+ if(!warn_once++)
+ FIXME("(%p, %08x, %08x, %08x, %p): stub.\n", hLineApp, dwDeviceID,
dwAPIVersion,
dwExtVersion, lpLineDevCaps);
return LINEERR_OPERATIONFAILED;
}
@@ -486,7 +634,10 @@
DWORD WINAPI lineGetDevCapsA(HLINEAPP hLineApp, DWORD dwDeviceID, DWORD dwAPIVersion,
DWORD dwExtVersion, LPLINEDEVCAPS lpLineDevCaps)
{
- FIXME("(%p, %08x, %08x, %08x, %p): stub.\n", hLineApp, dwDeviceID,
dwAPIVersion,
+ static int warn_once;
+
+ if(!warn_once++)
+ FIXME("(%p, %08x, %08x, %08x, %p): stub.\n", hLineApp, dwDeviceID,
dwAPIVersion,
dwExtVersion, lpLineDevCaps);
return LINEERR_OPERATIONFAILED;
}
@@ -538,6 +689,15 @@
DWORD WINAPI lineGetLineDevStatusA(HLINE hLine, LPLINEDEVSTATUS lpLineDevStatus)
{
FIXME("(%p, %p): stub.\n", hLine, lpLineDevStatus);
+ return 0;
+}
+
+/***********************************************************************
+ * lineGetMessage (TAPI32.@)
+ */
+DWORD WINAPI lineGetMessage(HLINEAPP hLineApp, LPLINEMESSAGE lpMessage, DWORD dwTimeout)
+{
+ FIXME("(%p, %p, %08x): stub.\n", hLineApp, lpMessage, dwTimeout);
return 0;
}
@@ -818,7 +978,7 @@
strptr = ((LPBYTE) lpTranslateCaps) +
lpTranslateCaps->dwCardListOffset + lpTranslateCaps->dwCardListSize;
pLocEntry = (LPLINELOCATIONENTRY) (lpTranslateCaps + 1);
- /* key with Preferred CardID's */
+ /* key with Preferred CardIDs */
if( RegOpenKeyA(HKEY_CURRENT_USER, szLocationsKey, &hkCardLocations)
!= ERROR_SUCCESS )
hkCardLocations = 0;
@@ -1023,6 +1183,16 @@
}
/***********************************************************************
+ * lineInitializeExW (TAPI32.@)
+ */
+LONG WINAPI lineInitializeExW(LPHLINEAPP lphLineApp, HINSTANCE hInstance, LINECALLBACK
lpfnCallback, LPCWSTR lpszFriendlyAppName, LPDWORD lpdwNumDevs, LPDWORD lpdwAPIVersion,
LPLINEINITIALIZEEXPARAMS lpLineInitializeExParams)
+{
+ FIXME("(%p, %p, %p, %s, %p, %p, %p): stub.\n", lphLineApp, hInstance,
+ lpfnCallback, debugstr_w(lpszFriendlyAppName), lpdwNumDevs, lpdwAPIVersion,
lpLineInitializeExParams);
+ return 0;
+}
+
+/***********************************************************************
* lineMakeCallW (TAPI32.@)
*/
DWORD WINAPI lineMakeCallW(HLINE hLine, LPHCALL lphCall, LPCWSTR lpszDestAddress,
@@ -1083,8 +1253,11 @@
LPLINEEXTENSIONID lpExtensionID
)
{
- FIXME("(%p, %d, %d, %d, %p, %p): stub.\n", hLineApp, dwDeviceID,
- dwAPILowVersion, dwAPIHighVersion, lpdwAPIVersion, lpExtensionID);
+ static int warn_once;
+
+ if(!warn_once++)
+ FIXME("(%p, %d, %d, %d, %p, %p): stub.\n", hLineApp, dwDeviceID,
+ dwAPILowVersion, dwAPIHighVersion, lpdwAPIVersion, lpExtensionID);
*lpdwAPIVersion = dwAPIHighVersion;
return 0;
}
@@ -1366,6 +1539,18 @@
}
/***********************************************************************
+ * lineTranslateAddressW (TAPI32.@)
+ */
+DWORD WINAPI lineTranslateAddressW(HLINEAPP hLineApp, DWORD dwDeviceID,
+ DWORD dwAPIVersion, LPCWSTR lpszAddressIn, DWORD dwCard,
+ DWORD dwTranslateOptions, LPLINETRANSLATEOUTPUT lpTranslateOutput)
+{
+ FIXME("(%p, %08x, %08x, %s, %08x, %08x, %p): stub.\n", hLineApp,
dwDeviceID, dwAPIVersion,
+ debugstr_w(lpszAddressIn), dwCard, dwTranslateOptions, lpTranslateOutput);
+ return 0;
+}
+
+/***********************************************************************
* lineTranslateDialog (TAPI32.@)
*/
DWORD WINAPI lineTranslateDialogA(HLINEAPP hLineApp, DWORD dwDeviceID, DWORD
dwAPIVersion, HWND hwndOwner, LPCSTR lpszAddressIn)
@@ -1375,6 +1560,17 @@
}
/***********************************************************************
+ * lineTranslateDialogW (TAPI32.@)
+ */
+DWORD WINAPI lineTranslateDialogW(HLINEAPP hLineApp, DWORD dwDeviceID,
+ DWORD dwAPIVersion, HWND hwndOwner, LPCWSTR lpszAddressIn)
+{
+ FIXME("(%p, %08x, %08x, %p, %s): stub.\n", hLineApp, dwDeviceID,
+ dwAPIVersion, hwndOwner, debugstr_w(lpszAddressIn));
+ return 0;
+}
+
+/***********************************************************************
* lineUncompleteCall (TAPI32.@)
*/
DWORD WINAPI lineUncompleteCall(HLINE hLine, DWORD dwCompletionID)
Modified: trunk/reactos/dll/win32/tapi32/phone.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/tapi32/phone.c?r…
==============================================================================
--- trunk/reactos/dll/win32/tapi32/phone.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/tapi32/phone.c [iso-8859-1] Sat Sep 28 15:07:20 2013
@@ -160,6 +160,15 @@
}
/***********************************************************************
+ * phoneGetMessage (TAPI32.@)
+ */
+DWORD WINAPI phoneGetMessage(HPHONEAPP hPhoneApp, LPPHONEMESSAGE lpMessage, DWORD
dwTimeout)
+{
+ FIXME("(%p, %p, %08x): stub.\n", hPhoneApp, lpMessage, dwTimeout);
+ return 0;
+}
+
+/***********************************************************************
* phoneGetRing (TAPI32.@)
*/
DWORD WINAPI phoneGetRing(HPHONE hPhone, LPDWORD lpdwRingMode, LPDWORD lpdwVolume)
@@ -205,6 +214,26 @@
DWORD WINAPI phoneInitialize(LPHPHONEAPP lphPhoneApp, HINSTANCE hInstance, PHONECALLBACK
lpfnCallback, LPCSTR lpszAppName, LPDWORD lpdwNumDevs)
{
FIXME("(%p, %p, %p, %s, %p): stub.\n", lphPhoneApp, hInstance,
lpfnCallback, lpszAppName, lpdwNumDevs);
+ return 0;
+}
+
+/***********************************************************************
+ * phoneInitializeiExA (TAPI32.@)
+ */
+DWORD WINAPI phoneInitializeExA(LPHPHONEAPP lphPhoneApp, HINSTANCE hInstance,
PHONECALLBACK lpfnCallback, LPCSTR lpszAppName, LPDWORD lpdwNumDevs, LPDWORD
lpdwAPIVersion, LPPHONEINITIALIZEEXPARAMS lpPhoneInitializeExParams)
+{
+ FIXME("(%p, %p, %p, %s, %p, %p, %p): stub.\n", lphPhoneApp, hInstance,
lpfnCallback, lpszAppName, lpdwNumDevs, lpdwAPIVersion, lpPhoneInitializeExParams);
+ *lpdwNumDevs = 0;
+ return 0;
+}
+
+/***********************************************************************
+ * phoneInitializeiExW (TAPI32.@)
+ */
+DWORD WINAPI phoneInitializeExW(LPHPHONEAPP lphPhoneApp, HINSTANCE hInstance,
PHONECALLBACK lpfnCallback, LPCWSTR lpszAppName, LPDWORD lpdwNumDevs, LPDWORD
lpdwAPIVersion, LPPHONEINITIALIZEEXPARAMS lpPhoneInitializeExParams)
+{
+ FIXME("(%p, %p, %p, %s, %p, %p, %p): stub.\n", lphPhoneApp, hInstance,
lpfnCallback, debugstr_w(lpszAppName), lpdwNumDevs, lpdwAPIVersion,
lpPhoneInitializeExParams);
+ *lpdwNumDevs = 0;
return 0;
}
Modified: trunk/reactos/dll/win32/tapi32/tapi32.spec
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/tapi32/tapi32.sp…
==============================================================================
--- trunk/reactos/dll/win32/tapi32/tapi32.spec [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/tapi32/tapi32.spec [iso-8859-1] Sat Sep 28 15:07:20 2013
@@ -30,6 +30,7 @@
@ stdcall lineAccept(long str long)
@ stdcall lineAddProvider(str long ptr) lineAddProviderA
@ stdcall lineAddProviderA(str long ptr)
+@ stdcall lineAddProviderW(wstr long ptr)
@ stdcall lineAddToConference(long long)
@ stub lineAgentSpecific
@ stdcall lineAnswer(long str long)
@@ -41,10 +42,10 @@
@ stdcall lineCompleteTransfer(long long ptr long)
@ stdcall lineConfigDialog(long long str) lineConfigDialogA
@ stdcall lineConfigDialogA(long long str)
+@ stdcall lineConfigDialogW(long long wstr)
@ stdcall lineConfigDialogEdit(long long str ptr long ptr) lineConfigDialogEditA
@ stdcall lineConfigDialogEditA(long long str ptr long ptr)
@ stub lineConfigDialogEditW
-@ stub lineConfigDialogW
@ stdcall lineConfigProvider(long long)
@ stub lineCreateAgentA
@ stub lineCreateAgentSessionA
@@ -55,7 +56,7 @@
@ stdcall lineDevSpecificFeature(long long ptr long)
@ stdcall lineDial(long str long) lineDialA
@ stdcall lineDialA(long str long)
-@ stub lineDialW
+@ stdcall lineDialW(long wstr long)
@ stdcall lineDrop(long str long)
@ stdcall lineForward(long long long ptr long ptr ptr) lineForwardA
@ stdcall lineForwardA(long long long ptr long ptr ptr)
@@ -97,10 +98,10 @@
@ stdcall lineGetConfRelatedCalls(long ptr)
@ stdcall lineGetCountry(long long ptr) lineGetCountryA
@ stdcall lineGetCountryA(long long ptr)
-@ stub lineGetCountryW
+@ stdcall lineGetCountryW(long long ptr)
@ stdcall lineGetDevCaps(long long long long ptr) lineGetDevCapsA
@ stdcall lineGetDevCapsA(long long long long ptr)
-@ stdcall lineGetDevCapsW(ptr long long long ptr)
+@ stdcall lineGetDevCapsW(long long long long ptr)
@ stdcall lineGetDevConfig(long ptr str) lineGetDevConfigA
@ stdcall lineGetDevConfigA(long ptr str)
@ stub lineGetDevConfigW
@@ -108,14 +109,14 @@
@ stub lineGetGroupListW
@ stdcall lineGetID(long long long long ptr str) lineGetIDA
@ stdcall lineGetIDA(long long long long ptr str)
-@ stdcall lineGetIDW(ptr long ptr long ptr ptr)
+@ stdcall lineGetIDW(long long long long ptr wstr)
@ stdcall lineGetIcon(long str ptr) lineGetIconA
@ stdcall lineGetIconA(long str ptr)
@ stub lineGetIconW
@ stdcall lineGetLineDevStatus(long ptr) lineGetLineDevStatusA
@ stdcall lineGetLineDevStatusA(long ptr)
@ stub lineGetLineDevStatusW
-@ stub lineGetMessage
+@ stdcall lineGetMessage(long ptr long)
@ stdcall lineGetNewCalls(long long long ptr)
@ stdcall lineGetNumRings(long long ptr)
@ stdcall lineGetProviderList(long ptr) lineGetProviderListA
@@ -138,10 +139,10 @@
@ stdcall lineHold(long)
@ stdcall lineInitialize(ptr long ptr str ptr)
@ stdcall lineInitializeExA(ptr long ptr str ptr ptr ptr)
-@ stub lineInitializeExW
+@ stdcall lineInitializeExW(ptr long ptr wstr ptr ptr ptr)
@ stdcall lineMakeCall(long ptr str long ptr) lineMakeCallA
@ stdcall lineMakeCallA(long ptr str long ptr)
-@ stdcall lineMakeCallW(ptr ptr ptr long ptr)
+@ stdcall lineMakeCallW(long ptr wstr long ptr)
@ stdcall lineMonitorDigits(long long)
@ stdcall lineMonitorMedia(long long)
@ stdcall lineMonitorTones(long ptr long)
@@ -209,10 +210,10 @@
@ stdcall lineSwapHold(long long)
@ stdcall lineTranslateAddress(long long long str long long ptr) lineTranslateAddressA
@ stdcall lineTranslateAddressA(long long long str long long ptr)
-@ stub lineTranslateAddressW
+@ stdcall lineTranslateAddressW(long long long wstr long long ptr)
@ stdcall lineTranslateDialog(long long long long str) lineTranslateDialogA
@ stdcall lineTranslateDialogA(long long long long str)
-@ stub lineTranslateDialogW
+@ stdcall lineTranslateDialogW(long long long long wstr)
@ stdcall lineUncompleteCall(long long)
@ stdcall lineUnhold(long)
@ stdcall lineUnpark(long long ptr str) lineUnparkA
@@ -240,7 +241,7 @@
@ stdcall phoneGetIconA(long str ptr)
@ stub phoneGetIconW
@ stdcall phoneGetLamp(long long ptr)
-@ stub phoneGetMessage
+@ stdcall phoneGetMessage(long ptr long)
@ stdcall phoneGetRing(long ptr ptr)
@ stdcall phoneGetStatus(long ptr) phoneGetStatusA
@ stdcall phoneGetStatusA(long ptr)
@@ -248,8 +249,8 @@
@ stub phoneGetStatusW
@ stdcall phoneGetVolume(long long ptr)
@ stdcall phoneInitialize(ptr long ptr str ptr)
-@ stub phoneInitializeExA
-@ stub phoneInitializeExW
+@ stdcall phoneInitializeExA(ptr long ptr str ptr ptr ptr)
+@ stdcall phoneInitializeExW(ptr long ptr str ptr ptr ptr)
@ stdcall phoneNegotiateAPIVersion(long long long long ptr ptr)
@ stdcall phoneNegotiateExtVersion(long long long long long ptr)
@ stdcall phoneOpen(long long ptr long long long long)
@@ -267,7 +268,7 @@
@ stdcall phoneShutdown(long)
@ stdcall tapiGetLocationInfo(str str) tapiGetLocationInfoA
@ stdcall tapiGetLocationInfoA(str str)
-@ stub tapiGetLocationInfoW
+@ stdcall tapiGetLocationInfoW(wstr wstr)
@ stub tapiRequestDrop
@ stdcall tapiRequestMakeCall(str str str str) tapiRequestMakeCallA
@ stdcall tapiRequestMakeCallA(str str str str)
Modified: trunk/reactos/media/doc/README.WINE
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/doc/README.WINE?rev=…
==============================================================================
--- trunk/reactos/media/doc/README.WINE [iso-8859-1] (original)
+++ trunk/reactos/media/doc/README.WINE [iso-8859-1] Sat Sep 28 15:07:20 2013
@@ -186,7 +186,7 @@
reactos/dll/win32/stdole32.tlb # Synced to Wine-1.5.19
reactos/dll/win32/sti # Synced to Wine-1.7.1
reactos/dll/win32/sxs # Synced to Wine-1.7.1
-reactos/dll/win32/tapi32 # Autosync
+reactos/dll/win32/tapi32 # Synced to Wine-1.7.1
reactos/dll/win32/traffic # Synced to Wine-1.5.19
reactos/dll/win32/twain_32 # Out of sync
reactos/dll/win32/unicows # Synced to Wine-1.3.32 (Win9x only, why do we need
this?!)