windows-nt/Source/XPSP1/NT/multimedia/media/dplayx/dplay/serial/dial.h
2020-09-26 16:20:57 +08:00

73 lines
3.2 KiB
C

/*==========================================================================
*
* Copyright (C) 1996 Microsoft Corporation. All Rights Reserved.
*
* File: dial.c
* Content: Header for TAPI routines
*@@BEGIN_MSINTERNAL
* History:
* Date By Reason
* ==== == ======
* 6/10/96 kipo created it
* 7/08/96 kipo added support for new dialogs
* 8/10/96 kipo added support for dialing location
* 3/04/97 kipo close com port handle when deallocating call; use string
* table for modem strings; updated debug output.
* 3/24/97 kipo added support for specifying which modem to use
* 4/08/97 kipo added support for separate modem and serial baud rates
* 5/07/97 kipo added support for modem choice list
* 11/25/97 kipo set TAPI_CURRENT_VERSION to 1.4 so the NT build won't
* use NT-only features (15209)
* 5/07/98 a-peterz Track call errors in DPDIAL
*@@END_MSINTERNAL
***************************************************************************/
// need to add this line so that NT builds won't define Tapi 2.0 by default,
// which causes it to link with ANSI versions of Tapi functions that are not
// available on Win 95, causing LoadLibrary to fail.
#define TAPI_CURRENT_VERSION 0x00010004
#include "tapi.h"
#include "comport.h"
#define TAPIVERSION 0x00010003 // TAPI version to require
#define LINEDROPTIMEOUT 5000 // ms to wait for call to drop
#define SUCCESS 0
#define MAXSTRINGSIZE 400
// DPDIAL.dwCallError values
enum { CALL_OK, CALL_LINEERROR, CALL_DISCONNECTED, CALL_CLOSED };
typedef LONG LINERESULT;
typedef struct {
HLINEAPP hLineApp; // handle to line application
HLINE hLine; // handle to the line device
HCALL hCall; // handle to the call
HANDLE hComm; // handle to com port
LPDPCOMPORT lpComPort; // pointer to com port object
DWORD dwAPIVersion; // api version
DWORD dwNumLines; // number of line devices supported by the service provider
DWORD dwLineID; // line id of open line
DWORD_PTR dwCallState; // current call state of session
DWORD dwAsyncID; // id of pending async operation
DWORD dwCallError; // last error
} DPDIAL, *LPDPDIAL;
extern LINERESULT dialInitialize(HINSTANCE hInst, LPTSTR szAppName, LPDPCOMPORT lpComPort, LPDPDIAL *storage);
extern LINERESULT dialShutdown(LPDPDIAL globals);
extern LINERESULT dialLineOpen(LPDPDIAL globals, DWORD dwLine);
extern LINERESULT dialLineClose(LPDPDIAL globals);
extern LINERESULT dialMakeCall(LPDPDIAL globals, LPTSTR szDestination);
extern LINERESULT dialDropCall(LPDPDIAL globals);
extern LINERESULT dialDeallocCall(LPDPDIAL globals);
extern BOOL dialIsConnected(LPDPDIAL globals);
extern LINERESULT dialGetBaudRate(LPDPDIAL globals, LPDWORD lpdwBaudRate);
extern LRESULT dialGetDeviceIDFromName(LPDPDIAL globals, LPCSTR szTargetName, DWORD *lpdwDeviceID);
extern LINERESULT dialGetModemList(LPDPDIAL globals, BOOL bAnsi, LPVOID *lplpData, LPDWORD lpdwDataSize);
extern void dialFillModemComboBox(LPDPDIAL globals, HWND hwndDlg, int item, DWORD dwDefaultDevice);
extern void dialFillLocationComboBox(LPDPDIAL globals, HWND hwndDlg, int item, DWORD dwDefaultLocation);
extern LINERESULT dialTranslateDialog(LPDPDIAL globals, HWND hWnd,
DWORD dwDeviceID, LPTSTR szPhoneNumber);