From: Simon Neve on 11 Feb 2005 06:29 Hello, We're trying to retrieve GRPS signal strength on an XDA device (running PPC2003 phone edition). We started to look at the OpenNETCF.Net but that seems to return signal strength for RF cards only. So our research tells us we can use TAPI API's or use RIL. We've tried using TAPI but keep getting a 'NotSupportedException'. Before we spend days relearning eVC++, is there a way of getting signal strength using .Net? Can we call RIL functions from within .Net? Thanks in advance, Simon Neve
From: Peter Foot [MVP] on 11 Feb 2005 07:03 You can use TAPI from .NET - see Alex's wrapper:- http://www.alexfeinman.com/download.asp?doc=tapi1.1.zip A NotSupportedException probably indicates an incorrect type passed when P/Invoking, commonly passing a long instead of an int (In .NET long is 64bits). If you post your code for the specific method which is causing you problems we can take a look - but you may find it's already implemented in the above. Peter -- Peter Foot Windows Embedded MVP www.inthehand.com | www.opennetcf.org "Simon Neve" <SimonNeve(a)discussions.microsoft.com> wrote in message news:361959FF-8889-47B0-ACCC-890A70FD659A(a)microsoft.com... > Hello, > > We're trying to retrieve GRPS signal strength on an XDA device (running > PPC2003 phone edition). We started to look at the OpenNETCF.Net but that > seems to return signal strength for RF cards only. So our research tells > us > we can use TAPI API's or use RIL. We've tried using TAPI but keep getting > a > 'NotSupportedException'. Before we spend days relearning eVC++, is there > a > way of getting signal strength using .Net? Can we call RIL functions from > within .Net? > > Thanks in advance, > > Simon Neve
From: Simon Neve on 11 Feb 2005 10:11 That was exactly what we needed - thanks. Unfortunately, I tried calling the function lineGetLineDevStatus in the MakeCall function but it returned no line related data at all. I've posted the code below, but unless there's anything you can see that I'm doing wrong, it's back to the RIL via C++ i guess? Thanks, Simon public Call MakeCall(string Destination, int CountryCode, /*LINECALLPARAMS*/ byte[] Params) { IAsyncResult ar = BeginMakeCall(Destination, CountryCode, Params, null, null); bSyncMakeCall = true; MakeCallAsyncResult mc = ar as MakeCallAsyncResult; bool bDone = false; while ( !bDone ) { Monitor.Enter(mc); if ( mc.IsCompleted ) bDone = true; Monitor.Exit(mc); Application.DoEvents(); } // if ( !(ar as MakeCallAsyncResult).IsCompleted ) // ar.AsyncWaitHandle.WaitOne(); // Start spn code changes int i = Marshal.SizeOf(typeof(LINEDEVSTATUS)); LINEDEVSTATUS lds = new LINEDEVSTATUS(Marshal.SizeOf(typeof(LINEDEVSTATUS))); byte[] data = new byte[Marshal.SizeOf(typeof(LINEDEVSTATUS))]; NativeTapi.lineGetLineDevStatus(m_hLine, data); ByteCopy.ByteArrayToStruct(data, lds); MessageBox.Show(lds.dwSignalLevel.ToString()); // End spn code changes Call call = EndMakeCall(ar); return call; } "Peter Foot [MVP]" wrote: > You can use TAPI from .NET - see Alex's wrapper:- > http://www.alexfeinman.com/download.asp?doc=tapi1.1.zip > > A NotSupportedException probably indicates an incorrect type passed when > P/Invoking, commonly passing a long instead of an int (In .NET long is > 64bits). If you post your code for the specific method which is causing you > problems we can take a look - but you may find it's already implemented in > the above. > > Peter > > -- > Peter Foot > Windows Embedded MVP > www.inthehand.com | www.opennetcf.org > > "Simon Neve" <SimonNeve(a)discussions.microsoft.com> wrote in message > news:361959FF-8889-47B0-ACCC-890A70FD659A(a)microsoft.com... > > Hello, > > > > We're trying to retrieve GRPS signal strength on an XDA device (running > > PPC2003 phone edition). We started to look at the OpenNETCF.Net but that > > seems to return signal strength for RF cards only. So our research tells > > us > > we can use TAPI API's or use RIL. We've tried using TAPI but keep getting > > a > > 'NotSupportedException'. Before we spend days relearning eVC++, is there > > a > > way of getting signal strength using .Net? Can we call RIL functions from > > within .Net? > > > > Thanks in advance, > > > > Simon Neve > > >
From: Peter Foot [MVP] on 11 Feb 2005 12:55 The first member in the LINEDEVSTATUS structure indicates the size of the allocated structure, youprobably need to set this in the buffer you pass into lineGetDevStatus so it knows how much space it has to write to. Peter -- Peter Foot Windows Embedded MVP www.inthehand.com | www.opennetcf.org "Simon Neve" <SimonNeve(a)discussions.microsoft.com> wrote in message news:D7709589-6834-4EB8-87F0-D9ABD01CBFDA(a)microsoft.com... > That was exactly what we needed - thanks. > > Unfortunately, I tried calling the function lineGetLineDevStatus in the > MakeCall function but it returned no line related data at all. I've > posted > the code below, but unless there's anything you can see that I'm doing > wrong, > it's back to the RIL via C++ i guess? > > Thanks, > Simon > > > > public Call MakeCall(string Destination, int CountryCode, > /*LINECALLPARAMS*/ > byte[] Params) > { > IAsyncResult ar = BeginMakeCall(Destination, CountryCode, Params, null, > null); > bSyncMakeCall = true; > MakeCallAsyncResult mc = ar as MakeCallAsyncResult; > bool bDone = false; > while ( !bDone ) > { > Monitor.Enter(mc); > if ( mc.IsCompleted ) > bDone = true; > Monitor.Exit(mc); > Application.DoEvents(); > } > // if ( !(ar as MakeCallAsyncResult).IsCompleted ) > // ar.AsyncWaitHandle.WaitOne(); > > // Start spn code changes > int i = Marshal.SizeOf(typeof(LINEDEVSTATUS)); > > LINEDEVSTATUS lds = new > LINEDEVSTATUS(Marshal.SizeOf(typeof(LINEDEVSTATUS))); > byte[] data = new byte[Marshal.SizeOf(typeof(LINEDEVSTATUS))]; > > NativeTapi.lineGetLineDevStatus(m_hLine, data); > > ByteCopy.ByteArrayToStruct(data, lds); > > MessageBox.Show(lds.dwSignalLevel.ToString()); > > // End spn code changes > > Call call = EndMakeCall(ar); > return call; > } > > "Peter Foot [MVP]" wrote: > >> You can use TAPI from .NET - see Alex's wrapper:- >> http://www.alexfeinman.com/download.asp?doc=tapi1.1.zip >> >> A NotSupportedException probably indicates an incorrect type passed when >> P/Invoking, commonly passing a long instead of an int (In .NET long is >> 64bits). If you post your code for the specific method which is causing >> you >> problems we can take a look - but you may find it's already implemented >> in >> the above. >> >> Peter >> >> -- >> Peter Foot >> Windows Embedded MVP >> www.inthehand.com | www.opennetcf.org >> >> "Simon Neve" <SimonNeve(a)discussions.microsoft.com> wrote in message >> news:361959FF-8889-47B0-ACCC-890A70FD659A(a)microsoft.com... >> > Hello, >> > >> > We're trying to retrieve GRPS signal strength on an XDA device (running >> > PPC2003 phone edition). We started to look at the OpenNETCF.Net but >> > that >> > seems to return signal strength for RF cards only. So our research >> > tells >> > us >> > we can use TAPI API's or use RIL. We've tried using TAPI but keep >> > getting >> > a >> > 'NotSupportedException'. Before we spend days relearning eVC++, is >> > there >> > a >> > way of getting signal strength using .Net? Can we call RIL functions >> > from >> > within .Net? >> > >> > Thanks in advance, >> > >> > Simon Neve >> >> >>
From: Alex Feinman [MVP] on 11 Feb 2005 18:07 Here is roughly what you want to do: Tapi tapi = new Tapi(); int lineNo = tapi.Initialize(); Line line = null; for( int i= 0; i < lineNo; i++) { LINEDEVCAPS dc; if ( tapi.GetDevCaps(i, out dc) == 0 ) { if ( dc.ProviderName == CellTSP.CELLTSP_PROVIDERINFO_STRING ) { line = tapi.CreateLine(i, LINEMEDIAMODE.INTERACTIVEVOICE, LINECALLPRIVILEGE.NONE); } } } if ( line != null ) { LINEDEVSTATUS status = new LINEDEVSTATUS(1024); status.Store(); NativeTapi.lineGetLineDevStatus(line.hLine, status.Data); status.Load(); label1.Text = "Signal strength is: " + status.dwSignalLevel.ToString(); } line.Dispose(); tapi.Shutdown(); -- Alex Feinman --- Visit http://www.opennetcf.org "Simon Neve" <SimonNeve(a)discussions.microsoft.com> wrote in message news:D7709589-6834-4EB8-87F0-D9ABD01CBFDA(a)microsoft.com... > That was exactly what we needed - thanks. > > Unfortunately, I tried calling the function lineGetLineDevStatus in the > MakeCall function but it returned no line related data at all. I've > posted > the code below, but unless there's anything you can see that I'm doing > wrong, > it's back to the RIL via C++ i guess? > > Thanks, > Simon > > > > public Call MakeCall(string Destination, int CountryCode, > /*LINECALLPARAMS*/ > byte[] Params) > { > IAsyncResult ar = BeginMakeCall(Destination, CountryCode, Params, null, > null); > bSyncMakeCall = true; > MakeCallAsyncResult mc = ar as MakeCallAsyncResult; > bool bDone = false; > while ( !bDone ) > { > Monitor.Enter(mc); > if ( mc.IsCompleted ) > bDone = true; > Monitor.Exit(mc); > Application.DoEvents(); > } > // if ( !(ar as MakeCallAsyncResult).IsCompleted ) > // ar.AsyncWaitHandle.WaitOne(); > > // Start spn code changes > int i = Marshal.SizeOf(typeof(LINEDEVSTATUS)); > > LINEDEVSTATUS lds = new > LINEDEVSTATUS(Marshal.SizeOf(typeof(LINEDEVSTATUS))); > byte[] data = new byte[Marshal.SizeOf(typeof(LINEDEVSTATUS))]; > > NativeTapi.lineGetLineDevStatus(m_hLine, data); > > ByteCopy.ByteArrayToStruct(data, lds); > > MessageBox.Show(lds.dwSignalLevel.ToString()); > > // End spn code changes > > Call call = EndMakeCall(ar); > return call; > } > > "Peter Foot [MVP]" wrote: > >> You can use TAPI from .NET - see Alex's wrapper:- >> http://www.alexfeinman.com/download.asp?doc=tapi1.1.zip >> >> A NotSupportedException probably indicates an incorrect type passed when >> P/Invoking, commonly passing a long instead of an int (In .NET long is >> 64bits). If you post your code for the specific method which is causing >> you >> problems we can take a look - but you may find it's already implemented >> in >> the above. >> >> Peter >> >> -- >> Peter Foot >> Windows Embedded MVP >> www.inthehand.com | www.opennetcf.org >> >> "Simon Neve" <SimonNeve(a)discussions.microsoft.com> wrote in message >> news:361959FF-8889-47B0-ACCC-890A70FD659A(a)microsoft.com... >> > Hello, >> > >> > We're trying to retrieve GRPS signal strength on an XDA device (running >> > PPC2003 phone edition). We started to look at the OpenNETCF.Net but >> > that >> > seems to return signal strength for RF cards only. So our research >> > tells >> > us >> > we can use TAPI API's or use RIL. We've tried using TAPI but keep >> > getting >> > a >> > 'NotSupportedException'. Before we spend days relearning eVC++, is >> > there >> > a >> > way of getting signal strength using .Net? Can we call RIL functions >> > from >> > within .Net? >> > >> > Thanks in advance, >> > >> > Simon Neve >> >> >>
|
Next
|
Last
Pages: 1 2 Prev: DataGrid only displays header cells Next: "Resgen.exe" exited with code error appears |