119 lines
2.1 KiB
C
119 lines
2.1 KiB
C
|
|
/* Copyright (c) 1999 Microsoft Corporation */
|
|
|
|
#include <windows.h>
|
|
#include <winuser.h>
|
|
#include <strmif.h>
|
|
#include <control.h>
|
|
|
|
#include <TCHAR.h>
|
|
#include <tapi3.h>
|
|
#include <mmsystem.h>
|
|
#include <string.h>
|
|
|
|
#include "resource.h"
|
|
#include "tones.h"
|
|
|
|
typedef struct _MYPHONE
|
|
{
|
|
HPHONE hPhone;
|
|
|
|
DWORD dwDevID;
|
|
|
|
DWORD dwPrivilege;
|
|
|
|
DWORD dwAPIVersion;
|
|
|
|
HPHONEAPP hPhoneApp;
|
|
|
|
LONG lRenderID;
|
|
|
|
LONG lCaptureID;
|
|
|
|
DWORD dwHandsetMode;
|
|
|
|
LPWSTR wszDialStr;
|
|
|
|
CRITICAL_SECTION csdial;
|
|
|
|
CTonePlayer * pTonePlayer;
|
|
|
|
} MYPHONE, *PMYPHONE;
|
|
|
|
static BYTE pbData[WAVE_FILE_SIZE];
|
|
|
|
PMYPHONE gpPhone;
|
|
DWORD gdwNumPhoneDevs;
|
|
HPHONEAPP ghPhoneApp;
|
|
DWORD gdwAPIVersion = 0x00030000;
|
|
|
|
LPWSTR g_wszMsg, g_wszDest,g_szDialStr;
|
|
const WCHAR *gszTapi30 = L"TAPI 3.0 Outgoing Call Demo Using Phone TSP";
|
|
|
|
HINSTANCE ghInst;
|
|
HWND ghDlg = NULL;
|
|
ITTAPI * gpTapi;
|
|
ITAddress * gpAddress = NULL;
|
|
ITBasicCallControl * gpCall;
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
INT_PTR
|
|
CALLBACK
|
|
MainWndProc(
|
|
HWND hDlg,
|
|
UINT uMsg,
|
|
WPARAM wParam,
|
|
LPARAM lParam
|
|
);
|
|
|
|
VOID
|
|
CALLBACK
|
|
tapiCallback(
|
|
DWORD hDevice,
|
|
DWORD dwMsg,
|
|
ULONG_PTR CallbackInstance,
|
|
ULONG_PTR Param1,
|
|
ULONG_PTR Param2,
|
|
ULONG_PTR Param3
|
|
);
|
|
|
|
void
|
|
SetStatusMessage(
|
|
LPWSTR pszMessage
|
|
);
|
|
|
|
void
|
|
CreatePhone(
|
|
PMYPHONE pPhone,
|
|
DWORD dwDevID
|
|
);
|
|
|
|
void
|
|
FreePhone(
|
|
PMYPHONE pPhone
|
|
);
|
|
|
|
PMYPHONE
|
|
GetPhone(
|
|
HPHONE hPhone
|
|
);
|
|
|
|
PMYPHONE
|
|
GetPhoneByID (
|
|
DWORD dwDevID
|
|
);
|
|
|
|
void
|
|
RemovePhone (PMYPHONE pPhone);
|
|
|
|
PMYPHONE
|
|
AddPhone ();
|
|
|
|
void
|
|
DoMessage(
|
|
LPWSTR pszMessage
|
|
);
|
|
|
|
|