Ureader.com  
Microsoft software help and Community
   home   |   control panel login   |   archive   |  
 
Windos
win32.3rdparty
win32.directx.audio
win32.directx.ddk
win32.directx.graphics
win32.directx.input
win32.directx.managed
win32.directx.misc
win32.directx.networking
win32.directx.sdk
win32.directx.video
win32.dirx.grap.shaders
win32.gdi
win32.international
win32.kernel
win32.messaging
win32.mmedia
win32.networks
win32.ole
win32.rtc
win32.tapi
win32.tapi.beta
win32.tools
win32.ui
win32.wince
win32.wmi
windows.mediacenter
winfx.aero
winfx.announcements
winfx.avalon
winfx.collaboration
winfx.fundamentals
winfx.general
winfx.indigo
winfx.sdk
winfx.winfs
  
 
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]

Re: Exception from HRESULT: 0x80040010   
I am using TAPI3.0 from managed code. the problem i was confronting is
solved by disposing off basic call control object after making a
call......if you dont believe i can even send you sample code..

The statement that solved the problem is as under,
System.Interop.Rutime.Marshal.ReleaseComObj(bcc);

any way thanks for your support....

Regards
date: Wed, 30 Jul 2008 23:21:29 -0700 (PDT)   author:   khurram

Re: Exception from HRESULT: 0x80040010   
khurram,

I believe that you solved the problem this way!

Though, there might come other problems. I just wanted to warn
you. It could be very disappointing if you would find after a lot of
work that you run into a problem that can't be solved...

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:3783f8af-d078-43ea-a21d-d32dd03b9e6b@a3g2000prm.googlegroups.com...
>
> I am using TAPI3.0 from managed code. the problem i was confronting is
> solved by disposing off basic call control object after making a
> call......if you dont believe i can even send you sample code..
>
> The statement that solved the problem is as under,
> System.Interop.Rutime.Marshal.ReleaseComObj(bcc);
>
> any way thanks for your support....
>
> Regards
date: Thu, 31 Jul 2008 17:45:05 +0200   author:   Matthias Moetje [MVP]

Google
 
Web ureader.com


    COPYRIGHT 2007, YARDI TECHNOLOGY LIMITED, ALL RIGHT RESERVE  |   contact us