void OnDeviceConnected(WlanHostedNetworkPeerState peerState) { this.ConnectedDeviceCount++; if (DeviceConnected != null) { var args = new DeviceConnectedEventArgs(peerState.PeerMacAddress, Convert.ToBoolean(peerState.PeerAuthState)); DeviceConnected(this, args); } }
private WlanHostedNetworkStatus ConvertHostedNetworkStatusPtr(IntPtr statusPtr, out WlanHostedNetworkPeerState[] peerList) { WlanHostedNetworkStatus status = (WlanHostedNetworkStatus)Marshal.PtrToStructure(statusPtr, typeof(WlanHostedNetworkStatus)); uint numberOfItems = status.NumberOfPeers; Int64 peersIterator = statusPtr.ToInt64() + Marshal.OffsetOf(typeof(WlanHostedNetworkStatus), "PeerList").ToInt64(); peerList = new WlanHostedNetworkPeerState[numberOfItems]; for (int i = 0; i < numberOfItems; i++) { peerList[i] = (WlanHostedNetworkPeerState)Marshal.PtrToStructure(new IntPtr(peersIterator), typeof(WlanHostedNetworkPeerState)); peersIterator += Marshal.SizeOf(typeof(WlanHostedNetworkPeerState)); } return(status); }