microsoft/TypeAgent

Public

mirrored fromhttps://github.com/microsoft/TypeAgentAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
8045fcf722740ff3aa763f87dd9d993afe617eaa

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

dotnet/autoShell/AutoShell_Win32.cs

511lines · modecode

1// Copyright (c) Microsoft Corporation.
2// Licensed under the MIT License.
3
4using System;
5using System.Collections.Generic;
6using System.Linq;
7using System.Runtime.InteropServices;
8using System.Text;
9using System.Threading.Tasks;
10using System.Windows;
11
12namespace autoShell
13{
14 internal unsafe partial class AutoShell
15 {
16 private const int SPI_SETDESKWALLPAPER = 20;
17 private const int SPIF_UPDATEINIFILE = 0x01;
18 private const int SPIF_SENDCHANGE = 0x02;
19 private const uint LOAD_LIBRARY_AS_DATAFILE = 0x00000002;
20
21 // window rect structure
22 internal struct RECT
23 {
24 public int Left; // x position of upper-left corner
25 public int Top; // y position of upper-left corner
26 public int Right; // x position of lower-right corner
27 public int Bottom; // y position of lower-right corner
28 }
29
30 internal struct Size
31 {
32 public int x;
33 public int y;
34 }
35
36 // import GetWindowRect
37 [DllImport("user32.dll")]
38 static extern bool GetWindowRect(IntPtr hWnd, ref RECT Rect);
39
40 // import GetShellWindow
41 [DllImport("user32.dll")]
42 static extern IntPtr GetShellWindow();
43
44 // import GetDesktopWindow
45 [DllImport("user32.dll")]
46 static extern IntPtr GetDesktopWindow();
47
48 // import SetForegroundWindow
49 [System.Runtime.InteropServices.DllImport("user32.dll")]
50 private static extern bool SetForegroundWindow(IntPtr hWnd);
51
52 [DllImport("user32.dll", EntryPoint = "SendMessage", SetLastError = true)]
53 static extern IntPtr SendMessage(IntPtr hWnd, UInt32 Msg, UInt32 wParam, IntPtr lParam);
54
55 [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
56 static extern IntPtr SendMessageTimeout(
57 IntPtr hWnd,
58 uint Msg,
59 IntPtr wParam,
60 string lParam,
61 uint fuFlags,
62 uint uTimeout,
63 out IntPtr lpdwResult);
64
65 // import SetWindowPos
66 [DllImport("user32.dll")]
67 static extern bool SetWindowPos(IntPtr hWnd, IntPtr hWndInsertAfter, int X, int Y, int cx, int cy, uint uFlags);
68
69 // import FindWindowEx
70 [DllImport("user32.dll")]
71 static extern IntPtr FindWindowEx(IntPtr hWndParent, IntPtr hWndChildAfter, string lpClassName, string lpWindowName);
72
73 [DllImport("user32.dll", CharSet = CharSet.Auto)]
74 private static extern int SystemParametersInfo(int uAction, int uParam, string lpvParam, int fuWinIni);
75
76 [System.Runtime.InteropServices.DllImport("kernel32.dll", SetLastError = true)]
77 private static extern IntPtr LoadLibraryEx(string lpFileName, IntPtr hFile, uint dwFlags);
78
79 [System.Runtime.InteropServices.DllImport("kernel32.dll", SetLastError = true)]
80 private static extern bool FreeLibrary(IntPtr hModule);
81
82 [System.Runtime.InteropServices.DllImport("user32.dll", CharSet = System.Runtime.InteropServices.CharSet.Auto)]
83 private static extern int LoadString(IntPtr hInstance, uint uID, StringBuilder lpBuffer, int nBufferMax);
84
85 #region Virtual Desktop APIs
86
87 public enum APPLICATION_VIEW_CLOAK_TYPE : int
88 {
89 AVCT_NONE = 0,
90 AVCT_DEFAULT = 1,
91 AVCT_VIRTUAL_DESKTOP = 2
92 }
93
94 public enum APPLICATION_VIEW_COMPATIBILITY_POLICY : int
95 {
96 AVCP_NONE = 0,
97 AVCP_SMALL_SCREEN = 1,
98 AVCP_TABLET_SMALL_SCREEN = 2,
99 AVCP_VERY_SMALL_SCREEN = 3,
100 AVCP_HIGH_SCALE_FACTOR = 4
101 }
102
103 // Virtual Desktop COM Interface GUIDs
104 public static readonly Guid CLSID_ImmersiveShell = new Guid("C2F03A33-21F5-47FA-B4BB-156362A2F239");
105 public static readonly Guid CLSID_VirtualDesktopManagerInternal = new Guid("C5E0CDCA-7B6E-41B2-9FC4-D93975CC467B");
106 public static readonly Guid CLSID_VirtualDesktopManager = new Guid("AA509086-5CA9-4C25-8F95-589D3C07B48A");
107 public static readonly Guid CLSID_VirtualDesktopPinnedApps = new Guid("B5A399E7-1C87-46B8-88E9-FC5747B171BD");
108
109 // IServiceProvider COM Interface
110 [ComImport]
111 [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
112 [Guid("6D5140C1-7436-11CE-8034-00AA006009FA")]
113 private interface IServiceProvider
114 {
115 [return: MarshalAs(UnmanagedType.IUnknown)]
116 void QueryService(ref Guid guidService, ref Guid riid, [MarshalAs(UnmanagedType.IUnknown)] out object ppvObject);
117 }
118
119 // IVirtualDesktopManager COM Interface
120 [ComImport]
121 [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
122 [Guid("A5CD92FF-29BE-454C-8D04-D82879FB3F1B")]
123 internal interface IVirtualDesktopManager
124 {
125 bool IsWindowOnCurrentVirtualDesktop(IntPtr topLevelWindow);
126 Guid GetWindowDesktopId(IntPtr topLevelWindow);
127 void MoveWindowToDesktop(IntPtr topLevelWindow, ref Guid desktopId);
128 }
129
130 // IVirtualDesktop COM Interface (Windows 10/11)
131 [ComImport]
132 [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
133 [Guid("3F07F4BE-B107-441A-AF0F-39D82529072C")]
134 internal interface IVirtualDesktop
135 {
136 bool IsViewVisible(IApplicationView view);
137 Guid GetId();
138 // TODO: proper HSTRING custom marshaling
139 [return: MarshalAs(UnmanagedType.HString)]
140 string GetName();
141 [return: MarshalAs(UnmanagedType.HString)]
142 string GetWallpaperPath();
143 bool IsRemote();
144 }
145
146 // IVirtualDesktopManagerInternal COM Interface
147 [ComImport]
148 [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
149 [Guid("53F5CA0B-158F-4124-900C-057158060B27")]
150 internal interface IVirtualDesktopManagerInternal_BUGBUG
151 {
152 int GetCount();
153 void MoveViewToDesktop(IApplicationView view, IVirtualDesktop desktop);
154 bool CanViewMoveDesktops(IApplicationView view);
155 IVirtualDesktop GetCurrentDesktop();
156 void GetDesktops(out IObjectArray desktops);
157 [PreserveSig]
158 int GetAdjacentDesktop(IVirtualDesktop from, int direction, out IVirtualDesktop desktop);
159 void SwitchDesktop(IVirtualDesktop desktop);
160 IVirtualDesktop CreateDesktop();
161 void MoveDesktop(IVirtualDesktop desktop, int nIndex);
162 void RemoveDesktop(IVirtualDesktop desktop, IVirtualDesktop fallback);
163 IVirtualDesktop FindDesktop(ref Guid desktopid);
164 void GetDesktopSwitchIncludeExcludeViews(IVirtualDesktop desktop, out IObjectArray unknown1, out IObjectArray unknown2);
165 void SetDesktopName(IVirtualDesktop desktop, [MarshalAs(UnmanagedType.HString)] string name);
166 void SetDesktopWallpaper(IVirtualDesktop desktop, [MarshalAs(UnmanagedType.HString)] string path);
167 void UpdateWallpaperPathForAllDesktops([MarshalAs(UnmanagedType.HString)] string path);
168 void CopyDesktopState(IApplicationView pView0, IApplicationView pView1);
169 void CreateRemoteDesktop([MarshalAs(UnmanagedType.HString)] string path, out IVirtualDesktop desktop);
170 void SwitchRemoteDesktop(IVirtualDesktop desktop, IntPtr switchtype);
171 void SwitchDesktopWithAnimation(IVirtualDesktop desktop);
172 void GetLastActiveDesktop(out IVirtualDesktop desktop);
173 void WaitForAnimationToComplete();
174 }
175
176 // IVirtualDesktopManagerInternal COM Interface
177 [ComImport]
178 [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
179 [Guid("53F5CA0B-158F-4124-900C-057158060B27")]
180 internal interface IVirtualDesktopManagerInternal
181 {
182 int GetCount();
183 void MoveViewToDesktop(IApplicationView view, IVirtualDesktop desktop);
184 bool CanViewMoveDesktops(IApplicationView view);
185 IVirtualDesktop GetCurrentDesktop();
186 void GetDesktops(out IObjectArray desktops);
187 [PreserveSig]
188 int GetAdjacentDesktop(IVirtualDesktop from, int direction, out IVirtualDesktop desktop);
189 void SwitchDesktop(IVirtualDesktop desktop);
190 void SwitchDesktopAndMoveForegroundView(IVirtualDesktop desktop);
191 IVirtualDesktop CreateDesktop();
192 void MoveDesktop(IVirtualDesktop desktop, int nIndex);
193 void RemoveDesktop(IVirtualDesktop desktop, IVirtualDesktop fallback);
194 IVirtualDesktop FindDesktop(ref Guid desktopid);
195 void GetDesktopSwitchIncludeExcludeViews(IVirtualDesktop desktop, out IObjectArray unknown1, out IObjectArray unknown2);
196 void SetDesktopName(IVirtualDesktop desktop, [MarshalAs(UnmanagedType.HString)] string name);
197 void SetDesktopWallpaper(IVirtualDesktop desktop, [MarshalAs(UnmanagedType.HString)] string path);
198 void UpdateWallpaperPathForAllDesktops([MarshalAs(UnmanagedType.HString)] string path);
199 void CopyDesktopState(IApplicationView pView0, IApplicationView pView1);
200 void CreateRemoteDesktop([MarshalAs(UnmanagedType.HString)] string path, out IVirtualDesktop desktop);
201 void SwitchRemoteDesktop(IVirtualDesktop desktop, IntPtr switchtype);
202 void SwitchDesktopWithAnimation(IVirtualDesktop desktop);
203 void GetLastActiveDesktop(out IVirtualDesktop desktop);
204 void WaitForAnimationToComplete();
205 }
206
207 // IObjectArray COM Interface
208 [ComImport]
209 [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
210 [Guid("92CA9DCD-5622-4BBA-A805-5E9F541BD8C9")]
211 internal interface IObjectArray
212 {
213 void GetCount(out int pcObjects);
214 void GetAt(int uiIndex, ref Guid riid, [MarshalAs(UnmanagedType.IUnknown)] out object ppv);
215 }
216
217 [ComImport]
218 [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
219 [Guid("372E1D3B-38D3-42E4-A15B-8AB2B178F513")]
220 internal interface IApplicationView
221 {
222 int SetFocus();
223 int SwitchTo();
224 int TryInvokeBack(IntPtr /* IAsyncCallback* */ callback);
225 int GetThumbnailWindow(out IntPtr hwnd);
226 int GetMonitor(out IntPtr /* IImmersiveMonitor */ immersiveMonitor);
227 int GetVisibility(out int visibility);
228 int SetCloak(APPLICATION_VIEW_CLOAK_TYPE cloakType, int unknown);
229 int GetPosition(ref Guid guid /* GUID for IApplicationViewPosition */, out IntPtr /* IApplicationViewPosition** */ position);
230 int SetPosition(ref IntPtr /* IApplicationViewPosition* */ position);
231 int InsertAfterWindow(IntPtr hwnd);
232 int GetExtendedFramePosition(out Rect rect);
233 int GetAppUserModelId([MarshalAs(UnmanagedType.LPWStr)] out string id);
234 int SetAppUserModelId(string id);
235 int IsEqualByAppUserModelId(string id, out int result);
236 int GetViewState(out uint state);
237 int SetViewState(uint state);
238 int GetNeediness(out int neediness);
239 int GetLastActivationTimestamp(out ulong timestamp);
240 int SetLastActivationTimestamp(ulong timestamp);
241 int GetVirtualDesktopId(out Guid guid);
242 int SetVirtualDesktopId(ref Guid guid);
243 int GetShowInSwitchers(out int flag);
244 int SetShowInSwitchers(int flag);
245 int GetScaleFactor(out int factor);
246 int CanReceiveInput(out bool canReceiveInput);
247 int GetCompatibilityPolicyType(out APPLICATION_VIEW_COMPATIBILITY_POLICY flags);
248 int SetCompatibilityPolicyType(APPLICATION_VIEW_COMPATIBILITY_POLICY flags);
249 int GetSizeConstraints(IntPtr /* IImmersiveMonitor* */ monitor, out Size size1, out Size size2);
250 int GetSizeConstraintsForDpi(uint uint1, out Size size1, out Size size2);
251 int SetSizeConstraintsForDpi(ref uint uint1, ref Size size1, ref Size size2);
252 int OnMinSizePreferencesUpdated(IntPtr hwnd);
253 int ApplyOperation(IntPtr /* IApplicationViewOperation* */ operation);
254 int IsTray(out bool isTray);
255 int IsInHighZOrderBand(out bool isInHighZOrderBand);
256 int IsSplashScreenPresented(out bool isSplashScreenPresented);
257 int Flash();
258 int GetRootSwitchableOwner(out IApplicationView rootSwitchableOwner);
259 int EnumerateOwnershipTree(out IObjectArray ownershipTree);
260 int GetEnterpriseId([MarshalAs(UnmanagedType.LPWStr)] out string enterpriseId);
261 int IsMirrored(out bool isMirrored);
262 int Unknown1(out int unknown);
263 int Unknown2(out int unknown);
264 int Unknown3(out int unknown);
265 int Unknown4(out int unknown);
266 int Unknown5(out int unknown);
267 int Unknown6(int unknown);
268 int Unknown7();
269 int Unknown8(out int unknown);
270 int Unknown9(int unknown);
271 int Unknown10(int unknownX, int unknownY);
272 int Unknown11(int unknown);
273 int Unknown12(out Size size1);
274 }
275
276 [ComImport]
277 [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
278 [Guid("1841C6D7-4F9D-42C0-AF41-8747538F10E5")]
279 internal interface IApplicationViewCollection
280 {
281 int GetViews(out IObjectArray array);
282 int GetViewsByZOrder(out IObjectArray array);
283 int GetViewsByAppUserModelId(string id, out IObjectArray array);
284 int GetViewForHwnd(IntPtr hwnd, out IApplicationView view);
285 int GetViewForApplication(object application, out IApplicationView view);
286 int GetViewForAppUserModelId(string id, out IApplicationView view);
287 int GetViewInFocus(out IntPtr view);
288 int Unknown1(out IntPtr view);
289 void RefreshCollection();
290 int RegisterForApplicationViewChanges(object listener, out int cookie);
291 int UnregisterForApplicationViewChanges(int cookie);
292 }
293
294 [ComImport]
295 [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
296 [Guid("4CE81583-1E4C-4632-A621-07A53543148F")]
297 internal interface IVirtualDesktopPinnedApps
298 {
299 bool IsAppIdPinned(string appId);
300 void PinAppID(string appId);
301 void UnpinAppID(string appId);
302 bool IsViewPinned(IApplicationView applicationView);
303 void PinView(IApplicationView applicationView);
304 void UnpinView(IApplicationView applicationView);
305 }
306
307 [ComImport]
308 [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
309 [Guid("6D5140C1-7436-11CE-8034-00AA006009FA")]
310 internal interface IServiceProvider10
311 {
312 [return: MarshalAs(UnmanagedType.IUnknown)]
313 object QueryService(ref Guid service, ref Guid riid);
314 }
315
316 #endregion Virtual Desktop APIs
317
318 [DllImport("kernel32.dll", CharSet = CharSet.Unicode)]
319 private static extern IntPtr GetCommandLineW();
320
321
322 #region Window Functions
323
324 // Delegate for EnumWindows callback
325 internal delegate bool EnumWindowsProc(IntPtr hWnd, IntPtr lParam);
326
327 [DllImport("user32.dll")]
328 [return: MarshalAs(UnmanagedType.Bool)]
329 static extern bool EnumWindows(EnumWindowsProc lpEnumFunc, IntPtr lParam);
330
331 [DllImport("user32.dll", CharSet = CharSet.Unicode)]
332 static extern int GetWindowText(IntPtr hWnd, StringBuilder lpString, int nMaxCount);
333
334 [DllImport("user32.dll")]
335 [return: MarshalAs(UnmanagedType.Bool)]
336 static extern bool IsWindowVisible(IntPtr hWnd);
337
338 [DllImport("user32.dll")]
339 static extern uint GetWindowThreadProcessId(IntPtr hWnd, out uint lpdwProcessId);
340
341 // get handle of active window
342 [DllImport("user32.dll")]
343 private static extern IntPtr GetForegroundWindow();
344
345 #endregion Window Functions
346
347 [DllImport("shell32.dll", CharSet = CharSet.Unicode)]
348 private static extern IntPtr ShellExecute(
349 IntPtr hwnd,
350 string lpOperation,
351 string lpFile,
352 string lpParameters,
353 string lpDirectory,
354 int nShowCmd);
355
356
357 [DllImport("combase.dll")]
358 internal static extern int WindowsCreateString(char* sourceString, int length, out IntPtr hstring);
359
360 [DllImport("combase.dll")]
361 internal static extern int WindowsDeleteString(IntPtr hstring);
362
363 [DllImport("combase.dll")]
364 internal static extern char* WindowsGetStringRawBuffer(IntPtr hstring, out uint length);
365
366 // Add these COM interface definitions for Radio Management API
367
368 // GUIDs for Radio Management API
369 internal static readonly Guid CLSID_RadioManagementAPI = new Guid(0x581333f6, 0x28db, 0x41be, 0xbc, 0x7a, 0xff, 0x20, 0x1f, 0x12, 0xf3, 0xf6);
370 internal static readonly Guid IID_IRadioManager = new Guid(0xdb3afbfb, 0x08e6, 0x46c6, 0xaa, 0x70, 0xbf, 0x9a, 0x34, 0xc3, 0x0a, 0xb7);
371
372 [ComImport]
373 [Guid("db3afbfb-08e6-46c6-aa70-bf9a34c30ab7")]
374 [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
375 internal interface IRadioManager
376 {
377 [PreserveSig]
378 int IsRMSupported(out uint pdwState);
379
380 [PreserveSig]
381 int GetUIRadioInstances([MarshalAs(UnmanagedType.IUnknown)] out object ppCollection);
382
383 [PreserveSig]
384 int GetSystemRadioState(out int pbEnabled, out int param2, out int pChangeReason);
385
386 [PreserveSig]
387 int SetSystemRadioState(int bEnabled);
388
389 [PreserveSig]
390 int Refresh();
391
392 [PreserveSig]
393 int OnHardwareSliderChange(int param1, int param2);
394 }
395
396 #region WiFi
397
398 // WLAN API P/Invoke declarations
399 [DllImport("wlanapi.dll")]
400 static extern int WlanOpenHandle(uint dwClientVersion, IntPtr pReserved, out uint pdwNegotiatedVersion, out IntPtr phClientHandle);
401
402 [DllImport("wlanapi.dll")]
403 static extern int WlanCloseHandle(IntPtr hClientHandle, IntPtr pReserved);
404
405 [DllImport("wlanapi.dll")]
406 static extern int WlanEnumInterfaces(IntPtr hClientHandle, IntPtr pReserved, out IntPtr ppInterfaceList);
407
408 [DllImport("wlanapi.dll")]
409 static extern int WlanGetAvailableNetworkList(IntPtr hClientHandle, ref Guid pInterfaceGuid, uint dwFlags, IntPtr pReserved, out IntPtr ppAvailableNetworkList);
410
411 [DllImport("wlanapi.dll")]
412 static extern int WlanScan(IntPtr hClientHandle, ref Guid pInterfaceGuid, IntPtr pDot11Ssid, IntPtr pIeData, IntPtr pReserved);
413
414 [DllImport("wlanapi.dll")]
415 static extern void WlanFreeMemory(IntPtr pMemory);
416
417 [DllImport("wlanapi.dll")]
418 static extern int WlanConnect(IntPtr hClientHandle, ref Guid pInterfaceGuid, ref WLAN_CONNECTION_PARAMETERS pConnectionParameters, IntPtr pReserved);
419
420 [DllImport("wlanapi.dll")]
421 static extern int WlanDisconnect(IntPtr hClientHandle, ref Guid pInterfaceGuid, IntPtr pReserved);
422
423 [DllImport("wlanapi.dll")]
424 static extern int WlanSetProfile(IntPtr hClientHandle, ref Guid pInterfaceGuid, uint dwFlags, [MarshalAs(UnmanagedType.LPWStr)] string strProfileXml, [MarshalAs(UnmanagedType.LPWStr)] string strAllUserProfileSecurity, bool bOverwrite, IntPtr pReserved, out uint pdwReasonCode);
425
426 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
427 struct WLAN_INTERFACE_INFO
428 {
429 public Guid InterfaceGuid;
430 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
431 public string strInterfaceDescription;
432 public int isState;
433 }
434
435 [StructLayout(LayoutKind.Sequential)]
436 struct WLAN_INTERFACE_INFO_LIST
437 {
438 public uint dwNumberOfItems;
439 public uint dwIndex;
440 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 1)]
441 public WLAN_INTERFACE_INFO[] InterfaceInfo;
442 }
443
444 [StructLayout(LayoutKind.Sequential)]
445 struct DOT11_SSID
446 {
447 public uint SSIDLength;
448 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
449 public byte[] SSID;
450 }
451
452 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
453 struct WLAN_AVAILABLE_NETWORK
454 {
455 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
456 public string strProfileName;
457 public DOT11_SSID dot11Ssid;
458 public int dot11BssType;
459 public uint uNumberOfBssids;
460 public bool bNetworkConnectable;
461 public uint wlanNotConnectableReason;
462 public uint uNumberOfPhyTypes;
463 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
464 public int[] dot11PhyTypes;
465 public bool bMorePhyTypes;
466 public uint wlanSignalQuality;
467 public bool bSecurityEnabled;
468 public int dot11DefaultAuthAlgorithm;
469 public int dot11DefaultCipherAlgorithm;
470 public uint dwFlags;
471 public uint dwReserved;
472 }
473
474 [StructLayout(LayoutKind.Sequential)]
475 struct WLAN_AVAILABLE_NETWORK_LIST
476 {
477 public uint dwNumberOfItems;
478 public uint dwIndex;
479 }
480
481 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
482 struct WLAN_CONNECTION_PARAMETERS
483 {
484 public WLAN_CONNECTION_MODE wlanConnectionMode;
485 [MarshalAs(UnmanagedType.LPWStr)]
486 public string strProfile;
487 public IntPtr pDot11Ssid;
488 public IntPtr pDesiredBssidList;
489 public DOT11_BSS_TYPE dot11BssType;
490 public uint dwFlags;
491 }
492
493 enum WLAN_CONNECTION_MODE
494 {
495 wlan_connection_mode_profile = 0,
496 wlan_connection_mode_temporary_profile = 1,
497 wlan_connection_mode_discovery_secure = 2,
498 wlan_connection_mode_discovery_unsecure = 3,
499 wlan_connection_mode_auto = 4
500 }
501
502 enum DOT11_BSS_TYPE
503 {
504 dot11_BSS_type_infrastructure = 1,
505 dot11_BSS_type_independent = 2,
506 dot11_BSS_type_any = 3
507 }
508
509 #endregion WiFi
510 }
511}
512