1 /* 2 * TAPI32 phone services 3 * 4 * Copyright 1999 Andreas Mohr 5 * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 19 */ 20 21 #include <stdarg.h> 22 23 #include "windef.h" 24 #include "winbase.h" 25 #include "objbase.h" 26 #include "tapi.h" 27 #include "wine/debug.h" 28 29 /* 30 * Additional TSPI functions: 31 * - voiceGetHandles 32 * - TSPI_ProviderInit 33 * - TSPI_ProviderShutdown 34 * - TSPI_ProviderEnumDevices 35 * - TSPI_ProviderConfig 36 */ 37 WINE_DEFAULT_DEBUG_CHANNEL(tapi); 38 39 /*********************************************************************** 40 * phoneClose (TAPI32.@) 41 */ 42 DWORD WINAPI phoneClose(HPHONE hPhone) 43 { 44 FIXME("(%p), stub.\n", hPhone); 45 /* call TSPI function here ! */ 46 return 0; 47 } 48 49 /*********************************************************************** 50 * phoneConfigDialog (TAPI32.@) 51 */ 52 DWORD WINAPI phoneConfigDialogA(DWORD dwDeviceID, HWND hwndOwner, LPCSTR lpszDeviceClass) 53 { 54 FIXME("(%08x, %p, %s): stub.\n", dwDeviceID, hwndOwner, lpszDeviceClass); 55 return 0; 56 } 57 58 /*********************************************************************** 59 * phoneDevSpecific (TAPI32.@) 60 */ 61 DWORD WINAPI phoneDevSpecific(HPHONE hPhone, LPVOID lpParams, DWORD dwSize) 62 { 63 FIXME("(%p, %p, %d): stub.\n", hPhone, lpParams, dwSize); 64 return 1; 65 } 66 67 /*********************************************************************** 68 * phoneGetButtonInfo (TAPI32.@) 69 */ 70 DWORD WINAPI phoneGetButtonInfoA(HPHONE hPhone, DWORD dwButtonLampID, 71 LPPHONEBUTTONINFO lpButtonInfo) 72 { 73 FIXME("(%p, %08x, %p): stub.\n", hPhone, dwButtonLampID, lpButtonInfo); 74 return 0; 75 } 76 77 /*********************************************************************** 78 * phoneGetData (TAPI32.@) 79 */ 80 DWORD WINAPI phoneGetData(HPHONE hPhone, DWORD dwDataID, LPVOID lpData, DWORD dwSize) 81 { 82 FIXME("(%p, %08x, %p, %d): stub.\n", hPhone, dwDataID, lpData, dwSize); 83 return 0; 84 } 85 86 /*********************************************************************** 87 * phoneGetDevCaps (TAPI32.@) 88 */ 89 DWORD WINAPI phoneGetDevCapsA(HPHONEAPP hPhoneApp, DWORD dwDeviceID, 90 DWORD dwAPIVersion, DWORD dwExtVersion, LPPHONECAPS lpPhoneCaps) 91 { 92 FIXME("(%p, %08x, %08x, %08x, %p): stub.\n", hPhoneApp, dwDeviceID, dwAPIVersion, dwExtVersion, lpPhoneCaps); 93 /* call TSPI function here ! */ 94 return 0; 95 } 96 97 /*********************************************************************** 98 * phoneGetDisplay (TAPI32.@) 99 */ 100 DWORD WINAPI phoneGetDisplay(HPHONE hPhone, LPVARSTRING lpDisplay) 101 { 102 FIXME("(%p, %p): stub.\n", hPhone, lpDisplay); 103 return 0; 104 } 105 106 /*********************************************************************** 107 * phoneGetGain (TAPI32.@) 108 */ 109 DWORD WINAPI phoneGetGain(HPHONE hPhone, DWORD dwHookSwitchDev, LPDWORD lpdwGain) 110 { 111 FIXME("(%p, %08x, %p): stub.\n", hPhone, dwHookSwitchDev, lpdwGain); 112 /* call TSPI function here ! */ 113 return 0; 114 } 115 116 /*********************************************************************** 117 * phoneGetHookSwitch (TAPI32.@) 118 */ 119 DWORD WINAPI phoneGetHookSwitch(HPHONE hPhone, LPDWORD lpdwHookSwitchDevs) 120 { 121 FIXME("(%p, %p): stub.\n", hPhone, lpdwHookSwitchDevs); 122 /* call TSPI function here ! */ 123 return 0; 124 } 125 126 /*********************************************************************** 127 * phoneGetID (TAPI32.@) 128 */ 129 DWORD WINAPI phoneGetIDA(HPHONE hPhone, LPVARSTRING lpDeviceID, 130 LPCSTR lpszDeviceClass) 131 { 132 FIXME("(%p, %p, %s): stub.\n", hPhone, lpDeviceID, lpszDeviceClass); 133 /* call TSPI function here ! */ 134 return 0; 135 } 136 137 /*********************************************************************** 138 * phoneGetIcon (TAPI32.@) 139 */ 140 DWORD WINAPI phoneGetIconA(DWORD dwDeviceID, LPCSTR lpszDeviceClass, 141 HICON *lphIcon) 142 { 143 FIXME("(%08x, %s, %p): stub.\n", dwDeviceID, lpszDeviceClass, lphIcon); 144 /* call TSPI function here ! */ 145 return 0; 146 } 147 148 /*********************************************************************** 149 * phoneGetLamp (TAPI32.@) 150 */ 151 DWORD WINAPI phoneGetLamp(HPHONE hPhone, DWORD dwButtonLampID, 152 LPDWORD lpdwLampMode) 153 { 154 FIXME("(%p, %08x, %p): stub.\n", hPhone, dwButtonLampID, lpdwLampMode); 155 return 0; 156 } 157 158 /*********************************************************************** 159 * phoneGetMessage (TAPI32.@) 160 */ 161 DWORD WINAPI phoneGetMessage(HPHONEAPP hPhoneApp, LPPHONEMESSAGE lpMessage, DWORD dwTimeout) 162 { 163 FIXME("(%p, %p, %08x): stub.\n", hPhoneApp, lpMessage, dwTimeout); 164 return 0; 165 } 166 167 /*********************************************************************** 168 * phoneGetRing (TAPI32.@) 169 */ 170 DWORD WINAPI phoneGetRing(HPHONE hPhone, LPDWORD lpdwRingMode, LPDWORD lpdwVolume) 171 { 172 FIXME("(%p, %p, %p): stub.\n", hPhone, lpdwRingMode, lpdwVolume); 173 return 0; 174 } 175 176 /*********************************************************************** 177 * phoneGetStatus (TAPI32.@) 178 */ 179 DWORD WINAPI phoneGetStatusA(HPHONE hPhone, LPPHONESTATUS lpPhoneStatus) 180 { 181 FIXME("(%p, %p): stub.\n", hPhone, lpPhoneStatus); 182 /* call TSPI function here ! */ 183 return 0; 184 } 185 186 /*********************************************************************** 187 * phoneGetStatusMessages (TAPI32.@) 188 */ 189 DWORD WINAPI phoneGetStatusMessages(HPHONE hPhone, LPDWORD lpdwPhoneStates, 190 LPDWORD lpdwButtonModes, LPDWORD lpdwButtonStates) 191 { 192 FIXME("(%p, %p, %p, %p): stub.\n", hPhone, lpdwPhoneStates, lpdwButtonModes, lpdwButtonStates); 193 return 0; 194 } 195 196 /*********************************************************************** 197 * phoneGetVolume (TAPI32.@) 198 */ 199 DWORD WINAPI phoneGetVolume(HPHONE hPhone, DWORD dwHookSwitchDevs, 200 LPDWORD lpdwVolume) 201 { 202 FIXME("(%p, %08x, %p): stub.\n", hPhone, dwHookSwitchDevs, lpdwVolume); 203 /* call TSPI function here ! */ 204 return 0; 205 } 206 207 /*********************************************************************** 208 * phoneInitialize (TAPI32.@) 209 */ 210 DWORD WINAPI phoneInitialize(LPHPHONEAPP lphPhoneApp, HINSTANCE hInstance, PHONECALLBACK lpfnCallback, LPCSTR lpszAppName, LPDWORD lpdwNumDevs) 211 { 212 FIXME("(%p, %p, %p, %s, %p): stub.\n", lphPhoneApp, hInstance, lpfnCallback, lpszAppName, lpdwNumDevs); 213 return 0; 214 } 215 216 /*********************************************************************** 217 * phoneInitializeiExA (TAPI32.@) 218 */ 219 DWORD WINAPI phoneInitializeExA(LPHPHONEAPP lphPhoneApp, HINSTANCE hInstance, PHONECALLBACK lpfnCallback, LPCSTR lpszAppName, LPDWORD lpdwNumDevs, LPDWORD lpdwAPIVersion, LPPHONEINITIALIZEEXPARAMS lpPhoneInitializeExParams) 220 { 221 FIXME("(%p, %p, %p, %s, %p, %p, %p): stub.\n", lphPhoneApp, hInstance, lpfnCallback, lpszAppName, lpdwNumDevs, lpdwAPIVersion, lpPhoneInitializeExParams); 222 *lpdwNumDevs = 0; 223 return 0; 224 } 225 226 /*********************************************************************** 227 * phoneInitializeiExW (TAPI32.@) 228 */ 229 DWORD WINAPI phoneInitializeExW(LPHPHONEAPP lphPhoneApp, HINSTANCE hInstance, PHONECALLBACK lpfnCallback, LPCWSTR lpszAppName, LPDWORD lpdwNumDevs, LPDWORD lpdwAPIVersion, LPPHONEINITIALIZEEXPARAMS lpPhoneInitializeExParams) 230 { 231 FIXME("(%p, %p, %p, %s, %p, %p, %p): stub.\n", lphPhoneApp, hInstance, lpfnCallback, debugstr_w(lpszAppName), lpdwNumDevs, lpdwAPIVersion, lpPhoneInitializeExParams); 232 *lpdwNumDevs = 0; 233 return 0; 234 } 235 236 /*********************************************************************** 237 * phoneNegotiateAPIVersion (TAPI32.@) 238 */ 239 DWORD WINAPI phoneNegotiateAPIVersion(HPHONEAPP hPhoneApp, DWORD dwDeviceID, DWORD dwAPILowVersion, DWORD dwAPIHighVersion, LPDWORD lpdwAPIVersion, LPPHONEEXTENSIONID lpExtensionID) 240 { 241 FIXME("(): stub.\n"); 242 return 0; 243 } 244 245 /*********************************************************************** 246 * phoneNegotiateExtVersion (TAPI32.@) 247 */ 248 DWORD WINAPI phoneNegotiateExtVersion(HPHONEAPP hPhoneApp, DWORD dwDeviceID, 249 DWORD dwAPIVersion, DWORD dwExtLowVersion, 250 DWORD dwExtHighVersion, LPDWORD lpdwExtVersion) 251 { 252 FIXME("(): stub.\n"); 253 /* call TSPI function here ! */ 254 return 0; 255 } 256 257 /*********************************************************************** 258 * phoneOpen (TAPI32.@) 259 */ 260 DWORD WINAPI phoneOpen(HPHONEAPP hPhoneApp, DWORD dwDeviceID, LPHPHONE lphPhone, DWORD dwAPIVersion, DWORD dwExtVersion, DWORD dwCallbackInstance, DWORD dwPrivileges) 261 { 262 FIXME("(): stub.\n"); 263 /* call TSPI function here ! */ 264 return 0; 265 } 266 267 /*********************************************************************** 268 * phoneSetButtonInfo (TAPI32.@) 269 */ 270 DWORD WINAPI phoneSetButtonInfoA(HPHONE hPhone, DWORD dwButtonLampID, LPPHONEBUTTONINFO lpButtonInfo) 271 { 272 FIXME("(%p, %08x, %p): stub.\n", hPhone, dwButtonLampID, lpButtonInfo); 273 return 0; 274 } 275 276 /*********************************************************************** 277 * phoneSetData (TAPI32.@) 278 */ 279 DWORD WINAPI phoneSetData(HPHONE hPhone, DWORD dwDataID, LPVOID lpData, DWORD dwSize) 280 { 281 FIXME("(%p, %08x, %p, %d): stub.\n", hPhone, dwDataID, lpData, dwSize); 282 return 1; 283 } 284 285 /*********************************************************************** 286 * phoneSetDisplay (TAPI32.@) 287 */ 288 DWORD WINAPI phoneSetDisplay(HPHONE hPhone, DWORD dwRow, DWORD dwColumn, LPCSTR lpszDisplay, DWORD dwSize) 289 { 290 FIXME("(%p, '%s' at %d/%d, len %d): stub.\n", hPhone, lpszDisplay, dwRow, dwColumn, dwSize); 291 return 1; 292 } 293 294 /*********************************************************************** 295 * phoneSetGain (TAPI32.@) 296 */ 297 DWORD WINAPI phoneSetGain(HPHONE hPhone, DWORD dwHookSwitchDev, DWORD dwGain) 298 { 299 FIXME("(%p, %08x, %d): stub.\n", hPhone, dwHookSwitchDev, dwGain); 300 /* call TSPI function here ! */ 301 return 1; 302 } 303 304 /*********************************************************************** 305 * phoneSetHookSwitch (TAPI32.@) 306 */ 307 DWORD WINAPI phoneSetHookSwitch(HPHONE hPhone, DWORD dwHookSwitchDevs, DWORD dwHookSwitchMode) 308 { 309 FIXME("(%p, %08x, %08x): stub.\n", hPhone, dwHookSwitchDevs, dwHookSwitchMode); 310 /* call TSPI function here ! */ 311 return 1; 312 } 313 314 /*********************************************************************** 315 * phoneSetLamp (TAPI32.@) 316 */ 317 DWORD WINAPI phoneSetLamp(HPHONE hPhone, DWORD dwButtonLampID, DWORD lpdwLampMode) 318 { 319 FIXME("(%p, %08x, %08x): stub.\n", hPhone, dwButtonLampID, lpdwLampMode); 320 return 1; 321 } 322 323 /*********************************************************************** 324 * phoneSetRing (TAPI32.@) 325 */ 326 DWORD WINAPI phoneSetRing(HPHONE hPhone, DWORD dwRingMode, DWORD dwVolume) 327 { 328 FIXME("(%p, %08x, %08x): stub.\n", hPhone, dwRingMode, dwVolume); 329 return 1; 330 } 331 332 /*********************************************************************** 333 * phoneSetStatusMessages (TAPI32.@) 334 */ 335 DWORD WINAPI phoneSetStatusMessages(HPHONE hPhone, DWORD dwPhoneStates, DWORD dwButtonModes, DWORD dwButtonStates) 336 { 337 FIXME("(%p, %08x, %08x, %08x): stub.\n", hPhone, dwPhoneStates, dwButtonModes, dwButtonStates); 338 /* call TSPI function here ! */ 339 return 0; /* FIXME ? */ 340 } 341 342 /*********************************************************************** 343 * phoneSetVolume (TAPI32.@) 344 */ 345 DWORD WINAPI phoneSetVolume(HPHONE hPhone, DWORD dwHookSwitchDev, DWORD dwVolume) 346 { 347 FIXME("(%p, %08x, %08x): stub.\n", hPhone, dwHookSwitchDev, dwVolume); 348 /* call TSPI function here ! */ 349 return 1; 350 } 351 352 /*********************************************************************** 353 * phoneShutdown (TAPI32.@) 354 */ 355 DWORD WINAPI phoneShutdown(HPHONEAPP hPhoneApp) 356 { 357 FIXME("(%p): stub.\n", hPhoneApp); 358 return 0; 359 } 360