キャプティブ ポータルがインターネット接続 (コーヒー ショップに接続されたラップトップなど) で使用されていることを検出しようとしています。
Network List Manager COM オブジェクトを使用してこれを達成しようとしています:
NETWORKLIST.NetworkListManager _networkListManager = new NetworkListManager();
foreach (INetworkConnection net in _networkListManager.GetNetworkConnections())
{
if (net.GetConnectivity().HasFlag(NLM_CONNECTIVITY.NLM_CONNECTIVITY_IPV4_INTERNET) == true)
{
// Check if we are connected by a captive web portal
// using NLM_INTERNET_CONNECTIVITY_WEBHIJACK
}
}
ここのドキュメントによると: http://msdn.microsoft.com/en-us/library/windows/desktop/aa370750(v=vs.85).aspx
「これらの接続フラグは、INetwork または INetworkConnection インターフェイスの IPropertyBag インターフェイスを使用して NA_InternetConnectivityV4 または NA_InternetConnectivityV6 プロパティを照会することで取得できます」
NA_InternetConnectivityV4 列挙が存在しない (不完全な実装) か、それらの操作方法がわかりません。
誰かが実際にこれを使用したり、キャプティブポータルが使用されていることを検出する方法についてアイデアを持っていますか?