在Windows设备中获取WiFi信号强度

时间:2015-06-23 19:34:04

标签: c# .net unmanaged

我正在尝试使用.net获取Windows设备的WiFi信号强度。 我的设备不支持Windows零配置,使事情变得有点棘手。我的应用程序已经在使用Summit sdk,我试图用它来获得信号强度。现在使用峰值sdk对象库文件我有一个dll(C ++)引用库文件(.lib)。这个c ++ unmanaged dll(summit.dll)我使用p调用在我的.net代码中调用。

在我的summit.h文件中,我定义如下:

#ifdef SUMMIT_EXPORTS
#define SUMMIT_API extern "C" __declspec(dllexport)
#else
#define SUMMIT_API __declspec(dllimport)
#endif

SUMMIT_API int SignalStrength(void);

我在我的summit.cpp类文件中添加了以下代码:

 SUMMIT_API int SignalStrength(void)
{
CF10G_STATUS ss;
SDCERR sdcer;
sdcer=GetCurrentStatus(&ss);
return ss.rssi;
}

在上面的代码片段中,GetCurrentStatus是由sdc_sdk.h文件中声明的峰值提供的函数

SDCERR GetCurrentStatus(CF10G_STATUS * status);

在我的.net类文件中,我使用了pinvoke,如下所示:

[DllImport("summit.dll")]
        public static extern int SignalStrength();

并存储信号强度值如下:

int result=SignalStrength();

但它并没有给我任何价值。任何人都可以帮我理解我错在哪里吗?有什么我想念的吗?

0 个答案:

没有答案