* Sync with Wine 1.7.1.
CORE-7469

svn path=/trunk/; revision=60415
This commit is contained in:
Amine Khaldi 2013-09-28 15:07:20 +00:00
parent 8726317ef7
commit 6ea82ebd44
6 changed files with 319 additions and 64 deletions

View file

@ -1,7 +1,6 @@
include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine) include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine)
add_definitions(-D__WINESRC__) add_definitions(-D__WINESRC__)
spec2def(tapi32.dll tapi32.spec) spec2def(tapi32.dll tapi32.spec)
list(APPEND SOURCE list(APPEND SOURCE
@ -13,12 +12,7 @@ list(APPEND SOURCE
${CMAKE_CURRENT_BINARY_DIR}/tapi32.def) ${CMAKE_CURRENT_BINARY_DIR}/tapi32.def)
add_library(tapi32 SHARED ${SOURCE}) add_library(tapi32 SHARED ${SOURCE})
set_module_type(tapi32 win32dll) set_module_type(tapi32 win32dll)
target_link_libraries(tapi32 wine) target_link_libraries(tapi32 wine)
add_importlibs(tapi32 advapi32 msvcrt kernel32 ntdll)
add_importlibs(tapi32 msvcrt advapi32 kernel32 ntdll)
add_dependencies(tapi32 psdk)
add_cd_file(TARGET tapi32 DESTINATION reactos/system32 FOR all) add_cd_file(TARGET tapi32 DESTINATION reactos/system32 FOR all)

View file

@ -2,6 +2,7 @@
* TAPI32 Assisted Telephony * TAPI32 Assisted Telephony
* *
* Copyright 1999 Andreas Mohr * Copyright 1999 Andreas Mohr
* Copyright 2011 André Hentschel
* *
* This library is free software; you can redistribute it and/or * This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public * modify it under the terms of the GNU Lesser General Public
@ -33,50 +34,61 @@
#include <winreg.h> #include <winreg.h>
#include <objbase.h> #include <objbase.h>
#include <tapi.h> #include <tapi.h>
#include <wine/unicode.h>
#include <wine/debug.h> #include <wine/debug.h>
WINE_DEFAULT_DEBUG_CHANNEL(tapi); 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; HKEY hkey, hsubkey;
DWORD currid; DWORD currid;
DWORD valsize; DWORD valsize;
DWORD type; DWORD type;
DWORD bufsize; DWORD bufsize;
BYTE buf[100]; BYTE buf[200];
char szlockey[20]; WCHAR szlockey[20];
if(!RegOpenKeyA(HKEY_LOCAL_MACHINE,
"Software\\Microsoft\\Windows\\CurrentVersion\\Telephony\\Locations", static const WCHAR currentidW[] = {'C','u','r','r','e','n','t','I','D',0};
&hkey) != ERROR_SUCCESS) { 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); valsize = sizeof( DWORD);
if(!RegQueryValueExA(hkey, "CurrentID", 0, &type, (LPBYTE) &currid, if(!RegQueryValueExW(hkey, currentidW, 0, &type, (LPBYTE) &currid, &valsize) &&
&valsize) && type == REG_DWORD) { type == REG_DWORD) {
/* find a subkey called Location1, Location2... */ /* find a subkey called Location1, Location2... */
sprintf( szlockey, "Location%u", currid); sprintfW( szlockey, locationW, currid);
if( !RegOpenKeyA( hkey, szlockey, &hsubkey)) { if( !RegOpenKeyW( hkey, szlockey, &hsubkey)) {
if( lpszCityCode) { if( citycode) {
bufsize=sizeof(buf); bufsize=sizeof(buf);
if( !RegQueryValueExA( hsubkey, "AreaCode", 0, &type, buf, if( !RegQueryValueExW( hsubkey, areacodeW, 0, &type, buf, &bufsize) &&
&bufsize) && type == REG_SZ) { type == REG_SZ) {
lstrcpynA( lpszCityCode, (char *) buf, 8); lstrcpynW( citycode, (WCHAR *) buf, 8);
} else } else
lpszCityCode[0] = '\0'; citycode[0] = '\0';
} }
if( lpszCountryCode) { if( countrycode) {
bufsize=sizeof(buf); bufsize=sizeof(buf);
if( !RegQueryValueExA( hsubkey, "Country", 0, &type, buf, if( !RegQueryValueExW( hsubkey, countryW, 0, &type, buf, &bufsize) &&
&bufsize) && type == REG_DWORD) type == REG_DWORD)
snprintf( lpszCountryCode, 8, "%u", *(LPDWORD) buf ); snprintfW( countrycode, 8, fmtW, *(LPDWORD) buf );
else else
lpszCountryCode[0] = '\0'; countrycode[0] = '\0';
} }
TRACE("(%p \"%s\", %p \"%s\"): success.\n", TRACE("(%p \"%s\", %p \"%s\"): success.\n", countrycode, debugstr_w(countrycode),
lpszCountryCode, debugstr_a(lpszCountryCode), citycode, debugstr_w(citycode));
lpszCityCode, debugstr_a(lpszCityCode));
RegCloseKey( hkey); RegCloseKey( hkey);
RegCloseKey( hsubkey); RegCloseKey( hsubkey);
return 0; /* SUCCESS */ return 0; /* SUCCESS */
@ -84,11 +96,34 @@ DWORD WINAPI tapiGetLocationInfoA(LPSTR lpszCountryCode, LPSTR lpszCityCode)
} }
RegCloseKey( hkey); RegCloseKey( hkey);
} }
WARN("(%p, %p): failed (no telephony registry entries?).\n", WARN("(%p, %p): failed (no telephony registry entries?).\n", countrycode, citycode);
lpszCountryCode, lpszCityCode);
return TAPIERR_REQUESTFAILED; 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;
}
/*********************************************************************** /***********************************************************************
* tapiRequestMakeCall (TAPI32.@) * tapiRequestMakeCall (TAPI32.@)
*/ */

View file

@ -35,6 +35,7 @@
#include <objbase.h> #include <objbase.h>
#include <tapi.h> #include <tapi.h>
#include <wine/debug.h> #include <wine/debug.h>
#include <wine/unicode.h>
WINE_DEFAULT_DEBUG_CHANNEL(tapi); WINE_DEFAULT_DEBUG_CHANNEL(tapi);
@ -137,6 +138,15 @@ DWORD WINAPI lineConfigDialogA(DWORD dwDeviceID, HWND hwndOwner, LPCSTR lpszDevi
return 0; return 0;
} }
/***********************************************************************
* 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.@) * lineConfigDialogEdit (TAPI32.@)
*/ */
@ -191,6 +201,15 @@ DWORD WINAPI lineDialA(HCALL hCall, LPCSTR lpszDestAddress, DWORD dwCountryCode)
return 1; return 1;
} }
/***********************************************************************
* 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.@) * lineDrop (TAPI32.@)
*/ */
@ -299,18 +318,8 @@ DWORD WINAPI lineGetConfRelatedCalls(HCALL hCall, LPLINECALLLIST lpCallList)
return 0; 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) DWORD WINAPI lineGetCountryA(DWORD dwCountryID, DWORD dwAPIVersion, LPLINECOUNTRYLIST lpLineCountryList)
{ {
@ -469,13 +478,152 @@ DWORD WINAPI lineGetCountryA(DWORD dwCountryID, DWORD dwAPIVersion, LPLINECOUNTR
return 0; return 0;
} }
/***********************************************************************
* 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.@) * lineGetDevCapsW (TAPI32.@)
*/ */
DWORD WINAPI lineGetDevCapsW(HLINEAPP hLineApp, DWORD dwDeviceID, DWORD dwAPIVersion, DWORD WINAPI lineGetDevCapsW(HLINEAPP hLineApp, DWORD dwDeviceID, DWORD dwAPIVersion,
DWORD dwExtVersion, LPLINEDEVCAPS lpLineDevCaps) 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); dwExtVersion, lpLineDevCaps);
return LINEERR_OPERATIONFAILED; return LINEERR_OPERATIONFAILED;
} }
@ -486,7 +634,10 @@ DWORD WINAPI lineGetDevCapsW(HLINEAPP hLineApp, DWORD dwDeviceID, DWORD dwAPIVer
DWORD WINAPI lineGetDevCapsA(HLINEAPP hLineApp, DWORD dwDeviceID, DWORD dwAPIVersion, DWORD WINAPI lineGetDevCapsA(HLINEAPP hLineApp, DWORD dwDeviceID, DWORD dwAPIVersion,
DWORD dwExtVersion, LPLINEDEVCAPS lpLineDevCaps) 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); dwExtVersion, lpLineDevCaps);
return LINEERR_OPERATIONFAILED; return LINEERR_OPERATIONFAILED;
} }
@ -541,6 +692,15 @@ DWORD WINAPI lineGetLineDevStatusA(HLINE hLine, LPLINEDEVSTATUS lpLineDevStatus)
return 0; return 0;
} }
/***********************************************************************
* lineGetMessage (TAPI32.@)
*/
DWORD WINAPI lineGetMessage(HLINEAPP hLineApp, LPLINEMESSAGE lpMessage, DWORD dwTimeout)
{
FIXME("(%p, %p, %08x): stub.\n", hLineApp, lpMessage, dwTimeout);
return 0;
}
/*********************************************************************** /***********************************************************************
* lineGetNewCalls (TAPI32.@) * lineGetNewCalls (TAPI32.@)
*/ */
@ -818,7 +978,7 @@ DWORD WINAPI lineGetTranslateCapsA(HLINEAPP hLineApp, DWORD dwAPIVersion,
strptr = ((LPBYTE) lpTranslateCaps) + strptr = ((LPBYTE) lpTranslateCaps) +
lpTranslateCaps->dwCardListOffset + lpTranslateCaps->dwCardListSize; lpTranslateCaps->dwCardListOffset + lpTranslateCaps->dwCardListSize;
pLocEntry = (LPLINELOCATIONENTRY) (lpTranslateCaps + 1); pLocEntry = (LPLINELOCATIONENTRY) (lpTranslateCaps + 1);
/* key with Preferred CardID's */ /* key with Preferred CardIDs */
if( RegOpenKeyA(HKEY_CURRENT_USER, szLocationsKey, &hkCardLocations) if( RegOpenKeyA(HKEY_CURRENT_USER, szLocationsKey, &hkCardLocations)
!= ERROR_SUCCESS ) != ERROR_SUCCESS )
hkCardLocations = 0; hkCardLocations = 0;
@ -1022,6 +1182,16 @@ LONG WINAPI lineInitializeExA(LPHLINEAPP lphLineApp, HINSTANCE hInstance, LINECA
return 0; return 0;
} }
/***********************************************************************
* 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.@) * lineMakeCallW (TAPI32.@)
*/ */
@ -1083,8 +1253,11 @@ DWORD WINAPI lineNegotiateAPIVersion(
LPLINEEXTENSIONID lpExtensionID LPLINEEXTENSIONID lpExtensionID
) )
{ {
FIXME("(%p, %d, %d, %d, %p, %p): stub.\n", hLineApp, dwDeviceID, static int warn_once;
dwAPILowVersion, dwAPIHighVersion, lpdwAPIVersion, lpExtensionID);
if(!warn_once++)
FIXME("(%p, %d, %d, %d, %p, %p): stub.\n", hLineApp, dwDeviceID,
dwAPILowVersion, dwAPIHighVersion, lpdwAPIVersion, lpExtensionID);
*lpdwAPIVersion = dwAPIHighVersion; *lpdwAPIVersion = dwAPIHighVersion;
return 0; return 0;
} }
@ -1365,6 +1538,18 @@ DWORD WINAPI lineTranslateAddressA(HLINEAPP hLineApp, DWORD dwDeviceID, DWORD dw
return 0; return 0;
} }
/***********************************************************************
* 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.@) * lineTranslateDialog (TAPI32.@)
*/ */
@ -1374,6 +1559,17 @@ DWORD WINAPI lineTranslateDialogA(HLINEAPP hLineApp, DWORD dwDeviceID, DWORD dwA
return 0; return 0;
} }
/***********************************************************************
* 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.@) * lineUncompleteCall (TAPI32.@)
*/ */

View file

@ -159,6 +159,15 @@ DWORD WINAPI phoneGetLamp(HPHONE hPhone, DWORD dwButtonLampID,
return 0; return 0;
} }
/***********************************************************************
* phoneGetMessage (TAPI32.@)
*/
DWORD WINAPI phoneGetMessage(HPHONEAPP hPhoneApp, LPPHONEMESSAGE lpMessage, DWORD dwTimeout)
{
FIXME("(%p, %p, %08x): stub.\n", hPhoneApp, lpMessage, dwTimeout);
return 0;
}
/*********************************************************************** /***********************************************************************
* phoneGetRing (TAPI32.@) * phoneGetRing (TAPI32.@)
*/ */
@ -208,6 +217,26 @@ DWORD WINAPI phoneInitialize(LPHPHONEAPP lphPhoneApp, HINSTANCE hInstance, PHONE
return 0; 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;
}
/*********************************************************************** /***********************************************************************
* phoneNegotiateAPIVersion (TAPI32.@) * phoneNegotiateAPIVersion (TAPI32.@)
*/ */

View file

@ -30,6 +30,7 @@
@ stdcall lineAccept(long str long) @ stdcall lineAccept(long str long)
@ stdcall lineAddProvider(str long ptr) lineAddProviderA @ stdcall lineAddProvider(str long ptr) lineAddProviderA
@ stdcall lineAddProviderA(str long ptr) @ stdcall lineAddProviderA(str long ptr)
@ stdcall lineAddProviderW(wstr long ptr)
@ stdcall lineAddToConference(long long) @ stdcall lineAddToConference(long long)
@ stub lineAgentSpecific @ stub lineAgentSpecific
@ stdcall lineAnswer(long str long) @ stdcall lineAnswer(long str long)
@ -41,10 +42,10 @@
@ stdcall lineCompleteTransfer(long long ptr long) @ stdcall lineCompleteTransfer(long long ptr long)
@ stdcall lineConfigDialog(long long str) lineConfigDialogA @ stdcall lineConfigDialog(long long str) lineConfigDialogA
@ stdcall lineConfigDialogA(long long str) @ stdcall lineConfigDialogA(long long str)
@ stdcall lineConfigDialogW(long long wstr)
@ stdcall lineConfigDialogEdit(long long str ptr long ptr) lineConfigDialogEditA @ stdcall lineConfigDialogEdit(long long str ptr long ptr) lineConfigDialogEditA
@ stdcall lineConfigDialogEditA(long long str ptr long ptr) @ stdcall lineConfigDialogEditA(long long str ptr long ptr)
@ stub lineConfigDialogEditW @ stub lineConfigDialogEditW
@ stub lineConfigDialogW
@ stdcall lineConfigProvider(long long) @ stdcall lineConfigProvider(long long)
@ stub lineCreateAgentA @ stub lineCreateAgentA
@ stub lineCreateAgentSessionA @ stub lineCreateAgentSessionA
@ -55,7 +56,7 @@
@ stdcall lineDevSpecificFeature(long long ptr long) @ stdcall lineDevSpecificFeature(long long ptr long)
@ stdcall lineDial(long str long) lineDialA @ stdcall lineDial(long str long) lineDialA
@ stdcall lineDialA(long str long) @ stdcall lineDialA(long str long)
@ stub lineDialW @ stdcall lineDialW(long wstr long)
@ stdcall lineDrop(long str long) @ stdcall lineDrop(long str long)
@ stdcall lineForward(long long long ptr long ptr ptr) lineForwardA @ stdcall lineForward(long long long ptr long ptr ptr) lineForwardA
@ stdcall lineForwardA(long long long ptr long ptr ptr) @ stdcall lineForwardA(long long long ptr long ptr ptr)
@ -97,10 +98,10 @@
@ stdcall lineGetConfRelatedCalls(long ptr) @ stdcall lineGetConfRelatedCalls(long ptr)
@ stdcall lineGetCountry(long long ptr) lineGetCountryA @ stdcall lineGetCountry(long long ptr) lineGetCountryA
@ stdcall lineGetCountryA(long long ptr) @ stdcall lineGetCountryA(long long ptr)
@ stub lineGetCountryW @ stdcall lineGetCountryW(long long ptr)
@ stdcall lineGetDevCaps(long long long long ptr) lineGetDevCapsA @ stdcall lineGetDevCaps(long long long long ptr) lineGetDevCapsA
@ stdcall lineGetDevCapsA(long long long long ptr) @ 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 lineGetDevConfig(long ptr str) lineGetDevConfigA
@ stdcall lineGetDevConfigA(long ptr str) @ stdcall lineGetDevConfigA(long ptr str)
@ stub lineGetDevConfigW @ stub lineGetDevConfigW
@ -108,14 +109,14 @@
@ stub lineGetGroupListW @ stub lineGetGroupListW
@ stdcall lineGetID(long long long long ptr str) lineGetIDA @ stdcall lineGetID(long long long long ptr str) lineGetIDA
@ stdcall lineGetIDA(long long long long ptr str) @ 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 lineGetIcon(long str ptr) lineGetIconA
@ stdcall lineGetIconA(long str ptr) @ stdcall lineGetIconA(long str ptr)
@ stub lineGetIconW @ stub lineGetIconW
@ stdcall lineGetLineDevStatus(long ptr) lineGetLineDevStatusA @ stdcall lineGetLineDevStatus(long ptr) lineGetLineDevStatusA
@ stdcall lineGetLineDevStatusA(long ptr) @ stdcall lineGetLineDevStatusA(long ptr)
@ stub lineGetLineDevStatusW @ stub lineGetLineDevStatusW
@ stub lineGetMessage @ stdcall lineGetMessage(long ptr long)
@ stdcall lineGetNewCalls(long long long ptr) @ stdcall lineGetNewCalls(long long long ptr)
@ stdcall lineGetNumRings(long long ptr) @ stdcall lineGetNumRings(long long ptr)
@ stdcall lineGetProviderList(long ptr) lineGetProviderListA @ stdcall lineGetProviderList(long ptr) lineGetProviderListA
@ -138,10 +139,10 @@
@ stdcall lineHold(long) @ stdcall lineHold(long)
@ stdcall lineInitialize(ptr long ptr str ptr) @ stdcall lineInitialize(ptr long ptr str ptr)
@ stdcall lineInitializeExA(ptr long ptr str ptr ptr 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 lineMakeCall(long ptr str long ptr) lineMakeCallA
@ stdcall lineMakeCallA(long ptr str long ptr) @ 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 lineMonitorDigits(long long)
@ stdcall lineMonitorMedia(long long) @ stdcall lineMonitorMedia(long long)
@ stdcall lineMonitorTones(long ptr long) @ stdcall lineMonitorTones(long ptr long)
@ -209,10 +210,10 @@
@ stdcall lineSwapHold(long long) @ stdcall lineSwapHold(long long)
@ stdcall lineTranslateAddress(long long long str long long ptr) lineTranslateAddressA @ stdcall lineTranslateAddress(long long long str long long ptr) lineTranslateAddressA
@ stdcall lineTranslateAddressA(long long long str long long ptr) @ 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 lineTranslateDialog(long long long long str) lineTranslateDialogA
@ stdcall lineTranslateDialogA(long long long long str) @ stdcall lineTranslateDialogA(long long long long str)
@ stub lineTranslateDialogW @ stdcall lineTranslateDialogW(long long long long wstr)
@ stdcall lineUncompleteCall(long long) @ stdcall lineUncompleteCall(long long)
@ stdcall lineUnhold(long) @ stdcall lineUnhold(long)
@ stdcall lineUnpark(long long ptr str) lineUnparkA @ stdcall lineUnpark(long long ptr str) lineUnparkA
@ -240,7 +241,7 @@
@ stdcall phoneGetIconA(long str ptr) @ stdcall phoneGetIconA(long str ptr)
@ stub phoneGetIconW @ stub phoneGetIconW
@ stdcall phoneGetLamp(long long ptr) @ stdcall phoneGetLamp(long long ptr)
@ stub phoneGetMessage @ stdcall phoneGetMessage(long ptr long)
@ stdcall phoneGetRing(long ptr ptr) @ stdcall phoneGetRing(long ptr ptr)
@ stdcall phoneGetStatus(long ptr) phoneGetStatusA @ stdcall phoneGetStatus(long ptr) phoneGetStatusA
@ stdcall phoneGetStatusA(long ptr) @ stdcall phoneGetStatusA(long ptr)
@ -248,8 +249,8 @@
@ stub phoneGetStatusW @ stub phoneGetStatusW
@ stdcall phoneGetVolume(long long ptr) @ stdcall phoneGetVolume(long long ptr)
@ stdcall phoneInitialize(ptr long ptr str ptr) @ stdcall phoneInitialize(ptr long ptr str ptr)
@ stub phoneInitializeExA @ stdcall phoneInitializeExA(ptr long ptr str ptr ptr ptr)
@ stub phoneInitializeExW @ stdcall phoneInitializeExW(ptr long ptr str ptr ptr ptr)
@ stdcall phoneNegotiateAPIVersion(long long long long ptr ptr) @ stdcall phoneNegotiateAPIVersion(long long long long ptr ptr)
@ stdcall phoneNegotiateExtVersion(long long long long long ptr) @ stdcall phoneNegotiateExtVersion(long long long long long ptr)
@ stdcall phoneOpen(long long ptr long long long long) @ stdcall phoneOpen(long long ptr long long long long)
@ -267,7 +268,7 @@
@ stdcall phoneShutdown(long) @ stdcall phoneShutdown(long)
@ stdcall tapiGetLocationInfo(str str) tapiGetLocationInfoA @ stdcall tapiGetLocationInfo(str str) tapiGetLocationInfoA
@ stdcall tapiGetLocationInfoA(str str) @ stdcall tapiGetLocationInfoA(str str)
@ stub tapiGetLocationInfoW @ stdcall tapiGetLocationInfoW(wstr wstr)
@ stub tapiRequestDrop @ stub tapiRequestDrop
@ stdcall tapiRequestMakeCall(str str str str) tapiRequestMakeCallA @ stdcall tapiRequestMakeCall(str str str str) tapiRequestMakeCallA
@ stdcall tapiRequestMakeCallA(str str str str) @ stdcall tapiRequestMakeCallA(str str str str)

View file

@ -186,7 +186,7 @@ reactos/dll/win32/stdole2.tlb # Synced to Wine-1.5.19
reactos/dll/win32/stdole32.tlb # Synced to Wine-1.5.19 reactos/dll/win32/stdole32.tlb # Synced to Wine-1.5.19
reactos/dll/win32/sti # Synced to Wine-1.7.1 reactos/dll/win32/sti # Synced to Wine-1.7.1
reactos/dll/win32/sxs # 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/traffic # Synced to Wine-1.5.19
reactos/dll/win32/twain_32 # Out of sync 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?!) reactos/dll/win32/unicows # Synced to Wine-1.3.32 (Win9x only, why do we need this?!)