private Object QueryProperty(WlanHostedNetworkOpcode opCode) { IntPtr data; uint dataSize; WlanOpcodeValueType opcodeValueType; Util.ThrowIfError( NativeMethods.WlanHostedNetworkQueryProperty(client.clientHandle, opCode, out dataSize, out data, out opcodeValueType, IntPtr.Zero)); try { switch (opCode) { case WlanHostedNetworkOpcode.ConnectionSettings: return(Marshal.PtrToStructure(data, typeof(WlanHostedNetworkConnectionSettings))); case WlanHostedNetworkOpcode.SecuritySettings: return(Marshal.PtrToStructure(data, typeof(WlanHostedNetworkSecuritySettings))); case WlanHostedNetworkOpcode.StationProfile: return(Marshal.PtrToStringUni(data)); //PWSTR case WlanHostedNetworkOpcode.Enable: return(Convert.ToBoolean(Marshal.ReadByte(data))); default: throw new NotSupportedException(); } } finally { NativeMethods.WlanFreeMemory(data); } }
private void SetProperty(WlanHostedNetworkOpcode opCode, Object value) { IntPtr data; int dataSize = Marshal.SizeOf(value); data = Marshal.AllocHGlobal(dataSize); switch (opCode) { case WlanHostedNetworkOpcode.ConnectionSettings: Marshal.StructureToPtr(value, data, false); //dataSize = Marshal.SizeOf(value); break; case WlanHostedNetworkOpcode.Enable: Marshal.WriteInt32(data, Convert.ToInt32(value)); //dataSize = sizeof(int); break; default: throw new NotSupportedException(); } try { WlanOpcodeValueType opcodeValueType; Util.ThrowIfError( NativeMethods.WlanHostedNetworkSetProperty(client.clientHandle, opCode, dataSize, data, out opcodeValueType, IntPtr.Zero)); } finally { Marshal.FreeHGlobal(data); } }
internal static extern uint WlanHostedNetworkSetProperty( [In] WlanHandle clientHandle, [In] WlanHostedNetworkOpcode opCode, uint dataSize, IntPtr data, [Out] out WlanHostedNetworkReason failReason, IntPtr reserved);
internal static extern uint WlanHostedNetworkQueryProperty( [In] WlanHandle clientHandle, [In] WlanHostedNetworkOpcode opCode, [Out] out uint dataSize, [Out] out IntPtr data, [Out] out WlanOpcodeValueType wlanOpcodeValueType, IntPtr reserved);
internal static extern int WlanHostedNetworkSetProperty( [In] IntPtr hClientHandle, [In] WlanHostedNetworkOpcode OpCode, [In] int pdwDataSize, [In] IntPtr ppvData, [Out, Optional] out WlanOpcodeValueType pWlanOpcodeValueType, [In, Out] IntPtr pvReserved );
public static extern int WlanHostedNetworkSetProperty(IntPtr hClientHandle, WlanHostedNetworkOpcode opCode, uint dwDataSize, IntPtr pvData, [Out] out WlanHostedNetworkReason pFailReason, IntPtr pReserved);
public static extern int WlanHostedNetworkQueryProperty(IntPtr hClientHandle, WlanHostedNetworkOpcode opCode, [Out] out uint pDataSize, [Out] out IntPtr ppvData, [Out] out WlanOpcodeValueType pWlanOpcodeValueType, IntPtr pReserved);