当前位置: 首页>>代码示例>>C++>>正文


C++ COperator::ReleaseTheCall方法代码示例

本文整理汇总了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 */
开发者ID:mkane848,项目名称:HLPlague,代码行数:101,代码来源:operator.cpp


注:本文中的COperator::ReleaseTheCall方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。