INetworkConnectionEvents支持什么
INetworkConnectionEvents Supports what?
我正在尝试使用这个API;然而,我无法让事件触发。所以这是使用网络列表1.0类型库。com.
下面是我的代码: public class AvailibleWLan : INetworkListManagerEvents, INetworkEvents, INetworkConnectionEvents
{
public NETWORKLIST.INetworkListManager NewWorkList {get;set;}
public List<WirelessNetwork> Connections { get; set; }
public AvailibleWLan()
{
Connections = new List<WirelessNetwork>();
NewWorkList = new NETWORKLIST.NetworkListManager();
foreach (NETWORKLIST.INetwork Network in NewWorkList.GetNetworks(NETWORKLIST.NLM_ENUM_NETWORK.NLM_ENUM_NETWORK_ALL))
{
String Name = Network.GetName();
var Connectivity = Network.GetConnectivity();
var Description = Network.GetDescription();
}
}
//public event NetworkPropertyChanged NetworkConnectivityChanged;
public WirelessNetwork Network { get; set; }
void INetworkListManagerEvents.ConnectivityChanged(NLM_CONNECTIVITY newConnectivity)
{
throw new NotImplementedException();
}
void INetworkConnectionEvents.NetworkConnectionConnectivityChanged(Guid connectionId, NLM_CONNECTIVITY newConnectivity)
{
throw new NotImplementedException();
}
void INetworkConnectionEvents.NetworkConnectionPropertyChanged(Guid connectionId, NLM_CONNECTION_PROPERTY_CHANGE Flags)
{
throw new NotImplementedException();
}
void INetworkEvents.NetworkAdded(Guid networkId)
{
throw new NotImplementedException();
}
void INetworkEvents.NetworkConnectivityChanged(Guid networkId, NLM_CONNECTIVITY newConnectivity)
{
throw new NotImplementedException();
}
void INetworkEvents.NetworkDeleted(Guid networkId)
{
throw new NotImplementedException();
}
void INetworkEvents.NetworkPropertyChanged(Guid networkId, NLM_NETWORK_PROPERTY_CHANGE Flags)
{
throw new NotImplementedException();
}
}
所以我把所有的事件都中断了。而vs永远不会爆发。
您定义了所有必要的回调函数,这很好。但是,您必须为感兴趣的网络调用网络接口方法"advise"来注册这些事件。
下面是一个示例代码:
namespace NetworkListSample
{
class TestNetworkEvents : INetworkListManagerEvents, INetworkConnectionEvents
{
private INetworkListManager m_nlm = new NetworkListManager();
private static Guid s_INetworkListManagerEventsGuid = typeof(INetworkListManagerEvents).GUID;
private static Guid s_INetworkConnectionEventsGuid = typeof(INetworkConnectionEvents).GUID;
public void RegisterForEvents()
{
// Here it will only register for events of a network which is connected,
// if you wish to register for events of disconnected networks
// use a different NLM_ENUM_NETWORK enum value
IEnumNetworks Networks = m_nlm.GetNetworks(NLM_ENUM_NETWORK.NLM_ENUM_NETWORK_CONNECTED);
foreach (INetwork item in Networks)
{
IConnectionPoint cp = null;
IConnectionPointContainer icpc = (IConnectionPointContainer)m_nlm;
int cookie = -1;
Guid tempGuid = s_INetworkListManagerEventsGuid;
icpc.FindConnectionPoint(ref tempGuid, out cp);
cp.Advise(this, out cookie);
}
}
public void ConnectivityChanged(NLM_CONNECTIVITY newConnectivity)
{
throw new NotImplementedException();
}
public void NetworkConnectionConnectivityChanged(Guid connectionId, NLM_CONNECTIVITY newConnectivity)
{
throw new NotImplementedException();
}
public void NetworkConnectionPropertyChanged(Guid connectionId, NLM_CONNECTION_PROPERTY_CHANGE Flags)
{
throw new NotImplementedException();
}
}
}
请不要忘记"unadvise",它接受整型cookie作为参数
相关文章:
- 当使用比格式支持的精度更高的精度来显示数字时,会写出什么数据
- 可以在 macOS 上启用的最低支持的 SSE 标志是什么?
- 当我在支持 avx2 的机器上编译并在另一台仅支持 avx 的机器上运行二进制文件时会发生什么?
- 什么是编程语言支持定义您自己的自定义运算符?
- 使用共享库版本支持不同 ABI 的最佳实践是什么?
- C++不支持非成员虚拟功能的原因是什么?
- 在Apple llvm 4.1上使用libc++与libstc++时,c++11支持的确切区别是什么
- 要设置动画的QPropertyAnimation中支持什么属性
- 最低合理支持的GCC版本是什么
- 什么是支持优先级、更新、推送和弹出的最佳数据结构
- c++支持原生无符号整数,而java不支持的优点是什么?
- 有什么方法可以解决 c++ 不支持运行时模板的事实吗?
- 支持c++ 11所需的libstdc++的最低合理版本是什么?
- 页面文件支持的内存映射文件与堆 -- 有什么区别?
- 我应该使用什么数据结构来支持插入、删除和随机选择
- ANSI C 89和c++支持的C有什么区别?
- INetworkConnectionEvents支持什么
- 我如何知道编译器支持什么标准格式
- 什么是支持向量数学和复数的好的开源 C/C++ 数学库
- wstring支持什么区域设置