blob: 06ed98442437465975aced89646334dac0a950b8 [file] [log] [blame]
Andreas Mohr5aa96c11999-03-14 12:34:25 +00001/*
2 * TAPI32 Assisted Telephony
3 *
4 * Copyright 1999 Andreas Mohr
Alexandre Julliard0799c1a2002-03-09 23:29:33 +00005 *
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.
10 *
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.
15 *
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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Andreas Mohr5aa96c11999-03-14 12:34:25 +000019 */
20
Alexandre Julliarde37c6e12003-09-05 23:08:26 +000021#include <stdarg.h>
Rein Klazesab144292004-04-12 22:05:17 +000022#include <stdio.h>
Jim Aston2e1cafa1999-03-14 16:35:05 +000023#include "windef.h"
Alexandre Julliarde37c6e12003-09-05 23:08:26 +000024#include "winbase.h"
Rein Klazesab144292004-04-12 22:05:17 +000025#include "winreg.h"
Andreas Mohr5aa96c11999-03-14 12:34:25 +000026#include "tapi.h"
Alexandre Julliard0799c1a2002-03-09 23:29:33 +000027#include "wine/debug.h"
Andreas Mohr5aa96c11999-03-14 12:34:25 +000028
Alexandre Julliard0799c1a2002-03-09 23:29:33 +000029WINE_DEFAULT_DEBUG_CHANNEL(tapi);
Patrik Stridvallb4b9fae1999-04-19 14:56:29 +000030
Patrik Stridvallfcfacb92000-03-24 20:46:04 +000031/***********************************************************************
32 * tapiGetLocationInfo (TAPI32.@)
33 */
Andreas Mohr5aa96c11999-03-14 12:34:25 +000034DWORD WINAPI tapiGetLocationInfo(LPSTR lpszCountryCode, LPSTR lpszCityCode)
35{
Rein Klazesab144292004-04-12 22:05:17 +000036 HKEY hkey, hsubkey;
37 DWORD currid;
38 DWORD valsize;
39 DWORD type;
40 DWORD bufsize;
41 BYTE buf[100];
42 char szlockey[20];
43 if(!RegOpenKeyA(HKEY_LOCAL_MACHINE,
44 "Software\\Microsoft\\Windows\\CurrentVersion\\Telephony\\Locations",
45 &hkey) != ERROR_SUCCESS) {
46 valsize = sizeof( DWORD);
47 if(!RegQueryValueExA(hkey, "CurrentID", 0, &type, (LPBYTE) &currid,
48 &valsize) && type == REG_DWORD) {
49 /* find a subkey called Location1, Location2... */
50 sprintf( szlockey, "Location%lu", currid);
51 if( !RegOpenKeyA( hkey, szlockey, &hsubkey)) {
52 if( lpszCityCode) {
53 bufsize=sizeof(buf);
54 if( !RegQueryValueExA( hsubkey, "AreaCode", 0, &type, buf,
55 &bufsize) && type == REG_SZ) {
56 strncpy( lpszCityCode, (char *) buf, 8);
57 if(bufsize > 8) lpszCityCode[7] = '\0';
58 } else
59 lpszCityCode[0] = '\0';
60 }
61 if( lpszCountryCode) {
62 bufsize=sizeof(buf);
63 if( !RegQueryValueExA( hsubkey, "Country", 0, &type, buf,
64 &bufsize) && type == REG_DWORD)
65 snprintf( lpszCountryCode, 8, "%lu", *(LPDWORD) buf );
66 else
67 lpszCountryCode[0] = '\0';
68 }
69 TRACE("(%p \"%s\", %p \"%s\"): success.\n",
70 lpszCountryCode, debugstr_a(lpszCountryCode),
71 lpszCityCode, debugstr_a(lpszCityCode));
72 RegCloseKey( hkey);
73 RegCloseKey( hsubkey);
74 return 0; /* SUCCESS */
75 }
76 }
77 RegCloseKey( hkey);
78 }
79 WARN("(%p, %p): failed (no telephony registry entries?).\n",
80 lpszCountryCode, lpszCityCode);
81 return TAPIERR_REQUESTFAILED;
Andreas Mohr5aa96c11999-03-14 12:34:25 +000082}
83
Patrik Stridvallfcfacb92000-03-24 20:46:04 +000084/***********************************************************************
85 * tapiRequestMakeCall (TAPI32.@)
86 */
Andreas Mohr5aa96c11999-03-14 12:34:25 +000087DWORD WINAPI tapiRequestMakeCall(LPCSTR lpszDestAddress, LPCSTR lpszAppName,
88 LPCSTR lpszCalledParty, LPCSTR lpszComment)
89{
Alexandre Julliard9fe7a251999-05-14 08:17:14 +000090 FIXME("(%s, %s, %s, %s): stub.\n", lpszDestAddress, lpszAppName, lpszCalledParty, lpszComment);
Andreas Mohr5aa96c11999-03-14 12:34:25 +000091 return 0;
92}