本文整理汇总了C++中COperator::ReleaseTheCall方法的典型用法代码示例。如果您正苦于以下问题:C++ COperator::ReleaseTheCall方法的具体用法?C++ COperator::ReleaseTheCall怎么用?C++ COperator::ReleaseTheCall使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类COperator
的用法示例。
在下文中一共展示了COperator::ReleaseTheCall方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: MainDialogProc
//.........这里部分代码省略.........
}
case WM_COMMAND:
{
if ( LOWORD(wParam) == IDCANCEL )
{
// Quit
EndDialog( hDlg, 0 );
return 1;
}
switch ( LOWORD(wParam) )
{
case IDC_AUTOANSWER:
{
// Auto answer check box state was changed
pThis->m_fAutoAnswer = !pThis->m_fAutoAnswer;
return 1;
}
case IDC_ANSWER:
{
// Answer the call
pThis->SetStatusMessage(L"Answering...");
if ( S_OK == pThis->AnswerTheCall() )
{
pThis->SetStatusMessage(L"Connected");
::EnableWindow( ::GetDlgItem( hDlg, IDC_ANSWER ), FALSE );
// Connected: Talk to the caller
// PLEASE NOTE: This is a single-threaded app, so if the caller
// hangs up after the call-handling sequence has started, the
// app will not be notified until after the entire call sequence
// has finished.
// If you want to be able to cut the call-handling short because
// the caller hung up, you need to have a separate thread listening
// for TAPI's CS_DISCONNECT notification.
HRESULT hrHandleCall = pThis->HandleCall();
if ( FAILED( hrHandleCall ) )
{
if ( TAPI_E_DROPPED == hrHandleCall )
{
pThis->SetStatusMessage( L"Caller hung up prematurely" );
}
else
{
pThis->DoMessage( L"Error encountered handling the call" );
}
}
// Hang up if we still need to
if ( NULL != pThis->m_pCall )
{
// The caller is still around; hang up on him
pThis->SetStatusMessage(L"Disconnecting...");
if (S_OK != pThis->DisconnectTheCall())
{
pThis->DoMessage(L"Disconnect failed");
}
}
}
else
{
::EnableWindow( ::GetDlgItem( hDlg, IDC_ANSWER ), FALSE );
pThis->DoMessage(L"Answer failed");
}
// Waiting for the next call...
pThis->SetStatusMessage(L"Waiting for a call...");
return 1;
}
case IDC_DISCONNECTED:
{
// This message is sent from OnTapiEvent()
// Disconnected notification -- release the call
pThis->ReleaseTheCall();
::EnableWindow( ::GetDlgItem( hDlg, IDC_ANSWER ), FALSE );
pThis->SetStatusMessage(L"Waiting for a call...");
return 1;
}
default:
return 0;
}
}
default:
return 0;
}
} /* MainDialogProc */