|
|
|
date: Wed, 30 Jul 2008 05:00:59 -0700 (PDT),
group: microsoft.public.win32.programmer.tapi
back
Exception from HRESULT: 0x80040010
Here is my code. after dialing one call or accepting one call... i am
unable to do another call. i am getting this error at
" objCollectionStream =
(ITCollection)objStreamControl.Streams;"
can u plz help me ... Regards....
+ base {"Catastrophic failure (Exception from HRESULT: 0x8000FFFF
(E_UNEXPECTED))"} System.SystemException
{System.Runtime.InteropServices.COMException}
private void button2_Click(object sender, System.EventArgs e)
{
//make Call
TAPI3Lib.ITAddress ln=null;
ln=ia[line];
if(textBox1.Text.Length!=0)
{
//MessageBox.Show(""+textBox1.Text,"Calling to");
try
{
if(!h323)
{
//This was the orignial line
//bcc =
ln.CreateCall(textBox1.Text,TapiConstants.LINEADDRESSTYPE_PHONENUMBER|
TapiConstants.LINEADDRESSTYPE_IPADDRESS,TapiConstants.TAPIMEDIATYPE_DATAMODEM|
TapiConstants.TAPIMEDIATYPE_AUDIO);
//This replaced the line above to
//ITBasicCallControl2 bcc2 = null;
bcc = ln.CreateCall(textBox1.Text,
TapiConstants.LINEADDRESSTYPE_PHONENUMBER,
TapiConstants.TAPIMEDIATYPE_AUDIO);
//
bcc2.SetQOS(TapiConstants.TAPIMEDIATYPE_DATAMODEM |
TapiConstants.TAPIMEDIATYPE_AUDIO, QOS_SERVICE_LEVEL.QSL_BEST_EFFORT);
#region Select the Terminal
ITTerminalSupport objTerminalSupport = null;
ITTerminal objTerminalCapture = null;
ITTerminal objTerminalRender = null;
//IEnumTerminal iet =
its.EnumerateStaticTerminals();//.GetDefaultStaticTerminal(TapiConstants.TAPIMEDIATYPE_AUDIO,
TERMINAL_DIRECTION.TD_BIDIRECTIONAL);
objTerminalSupport = (ITTerminalSupport)ln;
//
objTerminalSupport.GetDefaultStaticTerminal(TapiConstants.TAPIMEDIATYPE_AUDIO,
TERMINAL_DIRECTION.TD_BIDIRECTIONAL);
objTerminalCapture =
objTerminalSupport.GetDefaultStaticTerminal(TapiConstants.TAPIMEDIATYPE_AUDIO,
TERMINAL_DIRECTION.TD_CAPTURE);
objTerminalRender =
objTerminalSupport.GetDefaultStaticTerminal(TapiConstants.TAPIMEDIATYPE_AUDIO,
TERMINAL_DIRECTION.TD_RENDER);
MessageBox.Show("Audio Capturer Name: " +
objTerminalCapture.Name + "Status: " + objTerminalCapture.State
+ "Audio Renderer Name: " +
objTerminalRender.Name + "Status: " + objTerminalRender.State, "Media
Device Details");
//bcc.SelectTerminalOnCall(objTerminalRender);
//
bcc.SelectTerminalOnCall(objTerminalCapture);
ITStreamControl objStreamControl = null;
objStreamControl = (ITStreamControl)bcc;
if (objStreamControl != null)
{
ITCollection objCollectionStream = null;
objCollectionStream =
(ITCollection)objStreamControl.Streams;
ITStream objStream = null;
for (int nIndex = 1; nIndex <=
objCollectionStream.Count; nIndex++)
{
objStream =
(ITStream)objCollectionStream[nIndex];
if (objStream.MediaType ==
TapiConstants.TAPIMEDIATYPE_AUDIO)
{
if (objStream.Direction ==
TERMINAL_DIRECTION.TD_CAPTURE)
objStream.SelectTerminal(objTerminalCapture);
else if (objStream.Direction ==
TERMINAL_DIRECTION.TD_RENDER)
objStream.SelectTerminal(objTerminalRender);
}
}
}
#endregion
bcc.Connect(false);
}
else
{
bcc =
ln.CreateCall(textBox1.Text,TapiConstants.LINEADDRESSTYPE_IPADDRESS,TapiConstants.TAPIMEDIATYPE_AUDIO);
//
bcc.SetQOS(TapiConstants.TAPIMEDIATYPE_AUDIO,
QOS_SERVICE_LEVEL.QSL_BEST_EFFORT);
#region Select the Terminal
ITTerminalSupport objTerminalSupport = null;
ITTerminal objTerminalCapture = null;
ITTerminal objTerminalRender = null;
ITTerminal objTerminalBiDirectional = null;
//IEnumTerminal iet =
its.EnumerateStaticTerminals();//.GetDefaultStaticTerminal(TapiConstants.TAPIMEDIATYPE_AUDIO,
TERMINAL_DIRECTION.TD_BIDIRECTIONAL);
objTerminalSupport = (ITTerminalSupport)ln;
objTerminalCapture =
objTerminalSupport.GetDefaultStaticTerminal(TapiConstants.TAPIMEDIATYPE_AUDIO,
TERMINAL_DIRECTION.TD_CAPTURE);
objTerminalRender =
objTerminalSupport.GetDefaultStaticTerminal(TapiConstants.TAPIMEDIATYPE_AUDIO,
TERMINAL_DIRECTION.TD_RENDER);
objTerminalBiDirectional =
objTerminalSupport.GetDefaultStaticTerminal(TapiConstants.TAPIMEDIATYPE_MULTITRACK,
TERMINAL_DIRECTION.TD_MULTITRACK_MIXED);
MessageBox.Show("Audio Capturer Name: " +
objTerminalCapture.Name + "Status: " + objTerminalCapture.State
+ "Audio Renderer Name: " +
objTerminalRender.Name + "Status: " + objTerminalRender.State, "Media
Device Details");
ITStreamControl objStreamControl = null;
objStreamControl = (ITStreamControl)bcc;
if (objStreamControl != null)
{
ITCollection objCollectionStream = null;
objCollectionStream =
(ITCollection)objStreamControl.Streams;
ITStream objStream = null;
for (int nIndex = 1; nIndex <=
objCollectionStream.Count; nIndex++)
{
objStream =
(ITStream)objCollectionStream[nIndex];
if (objStream.MediaType ==
TapiConstants.TAPIMEDIATYPE_AUDIO)
{
if (objStream.Direction ==
TERMINAL_DIRECTION.TD_CAPTURE)
objStream.SelectTerminal(objTerminalCapture);
else if (objStream.Direction ==
TERMINAL_DIRECTION.TD_RENDER)
objStream.SelectTerminal(objTerminalRender);
}
}
}
#endregion
bcc.Connect(false);
}
}
catch(Exception exp)
{
MessageBox.Show("Failed to create call!","TAPI3");
}
}
else
{
MessageBox.Show("Please enter number to dial.. ");
}
}
date: Wed, 30 Jul 2008 05:00:59 -0700 (PDT)
author: khurram
Re: Exception from HRESULT: 0x80040010
Khurram,
I've posted this often enough and even as reply to some of your questions:
Regarding TAPI and .NET see KB article "841712 - Telephony Application
Programming Interface (TAPI) functionality is not supported from managed
code".
http://support.microsoft.com/kb/841712
If you don't believe, then keep wondering...
Best regards,
Matthias Moetje
-------------------------------------
TAPI WIKI: http://www.tapi.info
-------------------------------------
TERASENS GmbH
Augustenstraße 24
80333 Munich, GERMANY
-------------------------------------
e-mail: moetje at terasens dot com
www: www.terasens.com
-------------------------------------
"khurram" wrote in message
news:e8b444be-db6b-49a3-9d04-f569c38b11be@e39g2000hsf.googlegroups.com...
> Here is my code. after dialing one call or accepting one call... i am
> unable to do another call. i am getting this error at
> " objCollectionStream =
> (ITCollection)objStreamControl.Streams;"
>
> can u plz help me ... Regards....
>
> + base {"Catastrophic failure (Exception from HRESULT: 0x8000FFFF
> (E_UNEXPECTED))"} System.SystemException
> {System.Runtime.InteropServices.COMException}
>
>
> private void button2_Click(object sender, System.EventArgs e)
> {
> //make Call
> TAPI3Lib.ITAddress ln=null;
> ln=ia[line];
> if(textBox1.Text.Length!=0)
> {
> //MessageBox.Show(""+textBox1.Text,"Calling to");
> try
> {
> if(!h323)
> {
> //This was the orignial line
> //bcc =
> ln.CreateCall(textBox1.Text,TapiConstants.LINEADDRESSTYPE_PHONENUMBER|
> TapiConstants.LINEADDRESSTYPE_IPADDRESS,TapiConstants.TAPIMEDIATYPE_DATAMODEM|
> TapiConstants.TAPIMEDIATYPE_AUDIO);
>
> //This replaced the line above to
> //ITBasicCallControl2 bcc2 = null;
> bcc = ln.CreateCall(textBox1.Text,
> TapiConstants.LINEADDRESSTYPE_PHONENUMBER,
> TapiConstants.TAPIMEDIATYPE_AUDIO);
> //
> bcc2.SetQOS(TapiConstants.TAPIMEDIATYPE_DATAMODEM |
> TapiConstants.TAPIMEDIATYPE_AUDIO, QOS_SERVICE_LEVEL.QSL_BEST_EFFORT);
>
>
> #region Select the Terminal
>
> ITTerminalSupport objTerminalSupport = null;
> ITTerminal objTerminalCapture = null;
> ITTerminal objTerminalRender = null;
>
> //IEnumTerminal iet =
> its.EnumerateStaticTerminals();//.GetDefaultStaticTerminal(TapiConstants.TAPIMEDIATYPE_AUDIO,
> TERMINAL_DIRECTION.TD_BIDIRECTIONAL);
> objTerminalSupport = (ITTerminalSupport)ln;
>
> //
> objTerminalSupport.GetDefaultStaticTerminal(TapiConstants.TAPIMEDIATYPE_AUDIO,
> TERMINAL_DIRECTION.TD_BIDIRECTIONAL);
>
>
> objTerminalCapture =
> objTerminalSupport.GetDefaultStaticTerminal(TapiConstants.TAPIMEDIATYPE_AUDIO,
> TERMINAL_DIRECTION.TD_CAPTURE);
> objTerminalRender =
> objTerminalSupport.GetDefaultStaticTerminal(TapiConstants.TAPIMEDIATYPE_AUDIO,
> TERMINAL_DIRECTION.TD_RENDER);
> MessageBox.Show("Audio Capturer Name: " +
> objTerminalCapture.Name + "Status: " + objTerminalCapture.State
> + "Audio Renderer Name: " +
> objTerminalRender.Name + "Status: " + objTerminalRender.State, "Media
> Device Details");
>
> //bcc.SelectTerminalOnCall(objTerminalRender);
> //
> bcc.SelectTerminalOnCall(objTerminalCapture);
>
>
> ITStreamControl objStreamControl = null;
> objStreamControl = (ITStreamControl)bcc;
> if (objStreamControl != null)
> {
> ITCollection objCollectionStream = null;
> objCollectionStream =
> (ITCollection)objStreamControl.Streams;
> ITStream objStream = null;
> for (int nIndex = 1; nIndex <=
> objCollectionStream.Count; nIndex++)
> {
> objStream =
> (ITStream)objCollectionStream[nIndex];
> if (objStream.MediaType ==
> TapiConstants.TAPIMEDIATYPE_AUDIO)
> {
> if (objStream.Direction ==
> TERMINAL_DIRECTION.TD_CAPTURE)
>
> objStream.SelectTerminal(objTerminalCapture);
> else if (objStream.Direction ==
> TERMINAL_DIRECTION.TD_RENDER)
>
> objStream.SelectTerminal(objTerminalRender);
> }
> }
> }
>
> #endregion
>
> bcc.Connect(false);
>
> }
> else
> {
> bcc =
> ln.CreateCall(textBox1.Text,TapiConstants.LINEADDRESSTYPE_IPADDRESS,TapiConstants.TAPIMEDIATYPE_AUDIO);
> //
> bcc.SetQOS(TapiConstants.TAPIMEDIATYPE_AUDIO,
> QOS_SERVICE_LEVEL.QSL_BEST_EFFORT);
> #region Select the Terminal
>
> ITTerminalSupport objTerminalSupport = null;
> ITTerminal objTerminalCapture = null;
> ITTerminal objTerminalRender = null;
> ITTerminal objTerminalBiDirectional = null;
> //IEnumTerminal iet =
> its.EnumerateStaticTerminals();//.GetDefaultStaticTerminal(TapiConstants.TAPIMEDIATYPE_AUDIO,
> TERMINAL_DIRECTION.TD_BIDIRECTIONAL);
> objTerminalSupport = (ITTerminalSupport)ln;
> objTerminalCapture =
> objTerminalSupport.GetDefaultStaticTerminal(TapiConstants.TAPIMEDIATYPE_AUDIO,
> TERMINAL_DIRECTION.TD_CAPTURE);
> objTerminalRender =
> objTerminalSupport.GetDefaultStaticTerminal(TapiConstants.TAPIMEDIATYPE_AUDIO,
> TERMINAL_DIRECTION.TD_RENDER);
> objTerminalBiDirectional =
> objTerminalSupport.GetDefaultStaticTerminal(TapiConstants.TAPIMEDIATYPE_MULTITRACK,
> TERMINAL_DIRECTION.TD_MULTITRACK_MIXED);
> MessageBox.Show("Audio Capturer Name: " +
> objTerminalCapture.Name + "Status: " + objTerminalCapture.State
> + "Audio Renderer Name: " +
> objTerminalRender.Name + "Status: " + objTerminalRender.State, "Media
> Device Details");
>
> ITStreamControl objStreamControl = null;
> objStreamControl = (ITStreamControl)bcc;
> if (objStreamControl != null)
> {
> ITCollection objCollectionStream = null;
> objCollectionStream =
> (ITCollection)objStreamControl.Streams;
> ITStream objStream = null;
> for (int nIndex = 1; nIndex <=
> objCollectionStream.Count; nIndex++)
> {
> objStream =
> (ITStream)objCollectionStream[nIndex];
> if (objStream.MediaType ==
> TapiConstants.TAPIMEDIATYPE_AUDIO)
> {
> if (objStream.Direction ==
> TERMINAL_DIRECTION.TD_CAPTURE)
>
> objStream.SelectTerminal(objTerminalCapture);
> else if (objStream.Direction ==
> TERMINAL_DIRECTION.TD_RENDER)
>
> objStream.SelectTerminal(objTerminalRender);
> }
> }
>
> }
>
> #endregion
>
> bcc.Connect(false);
>
> }
> }
> catch(Exception exp)
> {
> MessageBox.Show("Failed to create call!","TAPI3");
> }
> }
> else
> {
> MessageBox.Show("Please enter number to dial.. ");
> }
> }
date: Wed, 30 Jul 2008 15:37:26 +0200
author: Matthias Moetje [MVP]
|
|