Re: Using WZCEnumInterfaces using interop in C#



So why exactly are you wasting time doing this and not using OpenNETCF's implementation? It comes with full source if you buy the extensions, and it seems to me that if you've spent more than 30 minutes already trying to get this working, then it's worth the $50 to just purchase it.

-Chris


"Abhi" <rkabhi@xxxxxxxxx> wrote in message news:2687bf9e-c17d-4190-8b3a-637bbe8ec4dc@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Hi,

I am trying to use the native WinCE API WZCEnumInterfaces using
interop in C# .NET compact framework. I have to develop this without
the OpenNetCF wrapper. But whenever I call the function, I get the
exception "System.NotSupportedException". I looked at the help page
for this exception and I think I have taken care of all the possible
causes for the exception. Could anyone please let me know anything
that I could be doing wrong. Please find my code below:

[StructLayout(LayoutKind.Sequential)]
struct INTF_KEY_ENTRY
{
[MarshalAs(UnmanagedType.LPWStr)]
public string wszGuid;
}

[StructLayout(LayoutKind.Sequential)]
struct INTFS_KEY_TABLE
{
public uint dwNumIntfs;

public IntPtr pIntfs; //This is a pointer to
INTF_KEY_ENTRY in the native c++
}

[DllImport("wzcsapi.dll", SetLastError = true)]
private static extern ulong WZCEnumInterfaces(string pSrvAddr,
ref INTFS_KEY_TABLE pIntfs);

/// <summary>
/// find the first wireless network cards
/// </summary>
public void GetFirstWirelessNetworkCard()
{
INTFS_KEY_TABLE IntfsTable = new
INTFS_KEY_TABLE();
IntfsTable.dwNumIntfs = 0;

IntfsTable.pIntfs =
Marshal.AllocHGlobal(Marshal.SizeOf(typeof(IntPtr)) *
(int)IntfsTable.dwNumIntfs);

ulong dwStatus = 0;

try
{
dwStatus = WZCEnumInterfaces(null , ref IntfsTable);
}
catch(Exception e)
{
int errorNum = Marshal.GetLastWin32Error();

MessageBox.Show(e.Message + " Error: " + errorNum,
"Fatal Error!");
return;
}
}

.



Relevant Pages

  • Re: Using WZCEnumInterfaces using interop in C#
    ... exception "System.NotSupportedException". ... private static extern ulong WZCEnumInterfaces(string pSrvAddr, ... dwStatus = WZCEnumInterfaces(null, ref IntfsTable); ...
    (microsoft.public.dotnet.framework.compactframework)
  • Using WZCEnumInterfaces using interop in C#
    ... exception "System.NotSupportedException". ... private static extern ulong WZCEnumInterfaces(string pSrvAddr, ... dwStatus = WZCEnumInterfaces(null, ref IntfsTable); ...
    (microsoft.public.dotnet.framework.compactframework)
  • Re: Autovivification by foreach
    ... FS> Can't use an undefined value as an ARRAY reference ... there is no exception anymore. ... undef and used where a ref should be. ... it seems to me that autovivification in this context is useful. ...
    (comp.lang.perl.misc)
  • RE: Insert Excel Chart into Word document fails intermittently
    ... Once I isolated the problem code, ... The server threw an exception. ... ref oClassType, ...
    (microsoft.public.word.drawing.graphics)
  • Re: Trap Request Timed Out (80004005)
    ... This is not a .NET Framework exception, that's why it cannot be caught by the error handling code in the Global.asax file. ... It has a REF ... > .NET Software Developer ...
    (microsoft.public.dotnet.framework)