2 * TAPI32 Assisted Telephony
4 * Copyright 1999 Andreas Mohr
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
21 #define WIN32_NO_STATUS
23 #define COM_NO_WINDOWS_H
26 //#include "wine/port.h"
36 #include <wine/debug.h>
38 WINE_DEFAULT_DEBUG_CHANNEL(tapi
);
40 /***********************************************************************
41 * tapiGetLocationInfo (TAPI32.@)
43 DWORD WINAPI
tapiGetLocationInfoA(LPSTR lpszCountryCode
, LPSTR lpszCityCode
)
52 if(!RegOpenKeyA(HKEY_LOCAL_MACHINE
,
53 "Software\\Microsoft\\Windows\\CurrentVersion\\Telephony\\Locations",
54 &hkey
) != ERROR_SUCCESS
) {
55 valsize
= sizeof( DWORD
);
56 if(!RegQueryValueExA(hkey
, "CurrentID", 0, &type
, (LPBYTE
) &currid
,
57 &valsize
) && type
== REG_DWORD
) {
58 /* find a subkey called Location1, Location2... */
59 sprintf( szlockey
, "Location%u", currid
);
60 if( !RegOpenKeyA( hkey
, szlockey
, &hsubkey
)) {
63 if( !RegQueryValueExA( hsubkey
, "AreaCode", 0, &type
, buf
,
64 &bufsize
) && type
== REG_SZ
) {
65 lstrcpynA( lpszCityCode
, (char *) buf
, 8);
67 lpszCityCode
[0] = '\0';
69 if( lpszCountryCode
) {
71 if( !RegQueryValueExA( hsubkey
, "Country", 0, &type
, buf
,
72 &bufsize
) && type
== REG_DWORD
)
73 snprintf( lpszCountryCode
, 8, "%u", *(LPDWORD
) buf
);
75 lpszCountryCode
[0] = '\0';
77 TRACE("(%p \"%s\", %p \"%s\"): success.\n",
78 lpszCountryCode
, debugstr_a(lpszCountryCode
),
79 lpszCityCode
, debugstr_a(lpszCityCode
));
81 RegCloseKey( hsubkey
);
82 return 0; /* SUCCESS */
87 WARN("(%p, %p): failed (no telephony registry entries?).\n",
88 lpszCountryCode
, lpszCityCode
);
89 return TAPIERR_REQUESTFAILED
;
92 /***********************************************************************
93 * tapiRequestMakeCall (TAPI32.@)
95 DWORD WINAPI
tapiRequestMakeCallA(LPCSTR lpszDestAddress
, LPCSTR lpszAppName
,
96 LPCSTR lpszCalledParty
, LPCSTR lpszComment
)
98 FIXME("(%s, %s, %s, %s): stub.\n", lpszDestAddress
, lpszAppName
, lpszCalledParty
, lpszComment
);