ReactOS  0.4.13-dev-687-g023794c
winwlx.h
Go to the documentation of this file.
1 /*
2  * WinWlx.h
3  *
4  * WinLogon eXtension
5  *
6  * Contributors:
7  * Created by Thomas Weidenmueller <w3seek@users.sourceforge.net>
8  *
9  * THIS SOFTWARE IS NOT COPYRIGHTED
10  *
11  * This source code is offered for use in the public domain. You may
12  * use, modify or distribute it freely.
13  *
14  * This code is distributed in the hope that it will be useful but
15  * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
16  * DISCLAIMED. This includes but is not limited to warranties of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18  *
19  */
20 
21 #ifndef __WINWLX_H
22 #define __WINWLX_H
23 
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27 
28 #define WLX_VERSION_1_0 0x00010000
29 #define WLX_VERSION_1_1 0x00010001
30 #define WLX_VERSION_1_2 0x00010002
31 #define WLX_VERSION_1_3 0x00010003
32 #define WLX_VERSION_1_4 0x00010004
33 #define WLX_CURRENT_VERSION (WLX_VERSION_1_4)
34 
35 #define WLX_SAS_TYPE_TIMEOUT 0x0000
36 #define WLX_SAS_TYPE_CTRL_ALT_DEL 0x0001
37 #define WLX_SAS_TYPE_SCRNSVR_TIMEOUT 0x0002
38 #define WLX_SAS_TYPE_SCRNSVR_ACTIVITY 0x0003
39 #define WLX_SAS_TYPE_USER_LOGOFF 0x0004
40 #define WLX_SAS_TYPE_SC_INSERT 0x0005
41 #define WLX_SAS_TYPE_SC_REMOVE 0x0006
42 #define WLX_SAS_TYPE_AUTHENTICATED 0x0007
43 #define WLX_SAS_TYPE_SC_FIRST_READER_ARRIVED 0x0008
44 #define WLX_SAS_TYPE_SC_LAST_READER_REMOVED 0x0009
45 #define WLX_SAS_TYPE_SWITCHUSER 0x000A
46 #define WLX_SAS_TYPE_MAX_MSFT_VALUE 0x007F
47 
48 #define WLX_LOGON_OPT_NO_PROFILE 0x0001
49 
50 #define WLX_PROFILE_TYPE_V1_0 0x0001
51 #define WLX_PROFILE_TYPE_V2_0 0x0002 /* Default */
52 
53 #define WLX_SAS_ACTION_LOGON 0x0001
54 #define WLX_SAS_ACTION_NONE 0x0002
55 #define WLX_SAS_ACTION_LOCK_WKSTA 0x0003
56 #define WLX_SAS_ACTION_LOGOFF 0x0004
57 #define WLX_SAS_ACTION_SHUTDOWN 0x0005
58 #define WLX_SAS_ACTION_PWD_CHANGED 0x0006
59 #define WLX_SAS_ACTION_TASKLIST 0x0007
60 #define WLX_SAS_ACTION_UNLOCK_WKSTA 0x0008
61 #define WLX_SAS_ACTION_FORCE_LOGOFF 0x0009
62 #define WLX_SAS_ACTION_SHUTDOWN_POWER_OFF 0x000A
63 #define WLX_SAS_ACTION_SHUTDOWN_REBOOT 0x000B
64 #define WLX_SAS_ACTION_SHUTDOWN_SLEEP 0x000C
65 #define WLX_SAS_ACTION_SHUTDOWN_SLEEP2 0x000D
66 #define WLX_SAS_ACTION_SHUTDOWN_HIBERNATE 0x000E
67 #define WLX_SAS_ACTION_RECONNECTED 0x000F
68 #define WLX_SAS_ACTION_DELAYED_FORCE_LOGOFF 0x0010
69 #define WLX_SAS_ACTION_SWITCH_CONSOLE 0x0011
70 
71 #define WLX_WM_SAS (WM_USER + 0x0259)
72 
73 #define WLX_DLG_SAS 0x0065
74 #define WLX_DLG_INPUT_TIMEOUT 0x0066 /* Input (keys, ...) timed out */
75 #define WLX_DLG_SCREEN_SAVER_TIMEOUT 0x0067 /* Screen saver activated */
76 #define WLX_DLG_USER_LOGOFF 0x0068 /* User logged off */
77 
78 #define WLX_DIRECTORY_LENGTH 0x0100
79 
80 #define WLX_CREDENTIAL_TYPE_V1_0 0x0001
81 #define WLX_CREDENTIAL_TYPE_V2_0 0x0002
82 
83 #define WLX_CONSOLESWITCHCREDENTIAL_TYPE_V1_0 0x0001
84 
85 #define STATUSMSG_OPTION_NOANIMATION 0x0001
86 #define STATUSMSG_OPTION_SETFOREGROUND 0x0002
87 
95 
104 
134 
135 typedef struct _WLX_MPR_NOTIFY_INFO {
141 
142 typedef struct _WLX_PROFILE_V1_0 {
146 
147 typedef struct _WLX_PROFILE_V2_0 {
155 
162 
168 
169 /* GINA Version 1.0 */
170 
171 BOOL
172 WINAPI
174  _In_ PVOID pWlxContext,
175  _In_ PWSTR pszDesktopName,
176  _In_ PWSTR pszMprLogonScript,
177  _In_ PVOID pEnvironment);
178 
179 VOID
180 WINAPI
182  _In_ PVOID pWlxContext);
183 
184 VOID
185 WINAPI
187  _In_ PVOID pWlxContext);
188 
189 BOOL
190 WINAPI
192  _In_ LPWSTR lpWinsta,
193  _In_ HANDLE hWlx,
195  _In_ PVOID pWinlogonFunctions,
196  _Out_ PVOID *pWlxContext);
197 
198 BOOL
199 WINAPI
201  _In_ PVOID pWlxContext);
202 
203 BOOL
204 WINAPI
206  _In_ PVOID pWlxContext);
207 
208 INT
209 WINAPI
211  _In_ PVOID pWlxContext,
212  _In_ DWORD dwSasType,
213  _In_ PVOID pReserved);
214 
215 INT
216 WINAPI
218  _In_ PVOID pWlxContext,
219  _In_ DWORD dwSasType,
220  _Out_ PLUID pAuthenticationId,
221  _Inout_ PSID pLogonSid,
222  _Out_ PDWORD pdwOptions,
224  _Out_ PWLX_MPR_NOTIFY_INFO pNprNotifyInfo,
225  _Out_ PVOID *pProfile);
226 
227 VOID
228 WINAPI
229 WlxLogoff(
230  _In_ PVOID pWlxContext);
231 
232 BOOL
233 WINAPI
235  _In_ DWORD dwWinlogonVersion,
236  _Out_ PDWORD pdwDllVersion);
237 
238 VOID
239 WINAPI
241  _In_ PVOID pWlxContext,
242  _In_ DWORD ShutdownType);
243 
244 INT
245 WINAPI
247  _In_ PVOID pWlxContext,
248  _In_ DWORD dwSasType);
249 
250 /* GINA Version 1.1 */
251 
252 BOOL
253 WINAPI
255  _In_ PVOID pWlxContext,
256  _Inout_ BOOL *pSecure);
257 
258 BOOL
259 WINAPI
261  _In_ PVOID pWlxContext,
262  _In_ PWSTR pszDesktopName,
263  _In_ PVOID pEnvironment,
264  _In_ PWSTR pszCmdLine);
265 
266 /* GINA Version 1.3 */
267 
268 BOOL
269 WINAPI
271  _In_ PVOID pWlxContext,
272  _In_ HDESK hDesktop,
274  _In_ PWSTR pTitle,
275  _In_ PWSTR pMessage);
276 
277 BOOL
278 WINAPI
280  _In_ PVOID pWlxContext,
281  _Out_ DWORD *pdwOptions,
282  _Out_ PWSTR pMessage,
283  _In_ DWORD dwBufferSize);
284 
285 BOOL
286 WINAPI
288  _In_ PVOID pWlxContext,
289  _Out_ PWLX_MPR_NOTIFY_INFO pNprNotifyInfo);
290 
291 BOOL
292 WINAPI
294  _In_ PVOID pWlxContext);
295 
296 /* GINA Version 1.4 */
297 
298 VOID
299 WINAPI
301  _In_ PVOID pWlxContext);
302 
303 BOOL
304 WINAPI
306  _In_ PVOID pWlxContext,
307  _Out_ PVOID pCredInfo);
308 
309 VOID
310 WINAPI
312  _In_ PVOID pWlxContext);
313 
314 /* Services that Winlogon provides */
315 
316 #define WLX_DESKTOP_NAME 0x0001 /* Name present */
317 #define WLX_DESKTOP_HANDLE 0x0002 /* Handle present */
318 
319 #define WLX_CREATE_INSTANCE_ONLY 0x0001
320 #define WLX_CREATE_USER 0x0002
321 
322 #define WLX_OPTION_USE_CTRL_ALT_DEL 0x0001
323 #define WLX_OPTION_CONTEXT_POINTER 0x0002
324 #define WLX_OPTION_USE_SMART_CARD 0x0003
325 #define WLX_OPTION_FORCE_LOGOFF_TIME 0x0004
326 #define WLX_OPTION_IGNORE_AUTO_LOGON 0x0008
327 #define WLX_OPTION_NO_SWITCH_ON_SAS 0x0009
328 
329 #define WLX_OPTION_SMART_CARD_PRESENT 0x00010001
330 #define WLX_OPTION_SMART_CARD_INFO 0x00010002
331 #define WLX_OPTION_DISPATCH_TABLE_SIZE 0x00010003
332 
333 typedef struct _WLX_DESKTOP {
336  HDESK hDesktop;
339 
340 typedef INT
342  _In_ HANDLE hWlx,
343  _In_ HANDLE hToken,
346 
347 typedef INT
349  _In_ HANDLE hWlx,
350  _In_ PWLX_MPR_NOTIFY_INFO pMprInfo,
351  _In_ DWORD dwChangeInfo);
352 
353 typedef INT
355  _In_ HANDLE hWlx,
356  _In_ PWLX_MPR_NOTIFY_INFO pMprInfo,
357  _In_ DWORD dwChangeInfo,
358  _In_ PWSTR ProviderName,
360 
361 typedef BOOL
363  _In_ HANDLE hWlx,
364  _In_ PWLX_DESKTOP pDesktop,
365  _In_ HANDLE hToken);
366 
367 typedef BOOL
369  _In_ HANDLE hWlx,
370  _In_ HANDLE hToken,
371  _In_ DWORD Flags,
372  _In_ PWSTR pszDesktopName,
373  _Out_ PWLX_DESKTOP *ppDesktop);
374 
375 typedef INT
377  _In_ HANDLE hWlx,
378  _In_ HANDLE hInst,
379  _In_ LPWSTR lpszTemplate,
380  _In_ HWND hwndOwner,
381  _In_ DLGPROC dlgprc);
382 
383 typedef INT
385  _In_ HANDLE hWlx,
386  _In_ HANDLE hInst,
387  _In_ LPCDLGTEMPLATE hDialogTemplate,
388  _In_ HWND hwndOwner,
389  _In_ DLGPROC dlgprc);
390 
391 typedef INT
393  _In_ HANDLE hWlx,
394  _In_ HANDLE hInst,
395  _In_ LPCDLGTEMPLATE hDialogTemplate,
396  _In_ HWND hwndOwner,
397  _In_ DLGPROC dlgprc,
398  _In_ LPARAM dwInitParam);
399 
400 typedef INT
402  _In_ HANDLE hWlx,
403  _In_ HANDLE hInst,
404  _In_ LPWSTR lpszTemplate,
405  _In_ HWND hwndOwner,
406  _In_ DLGPROC dlgprc,
407  _In_ LPARAM dwInitParam);
408 
409 typedef BOOL
411 
412 typedef BOOL
414  _In_ HANDLE hWlx,
415  _In_ DWORD Option,
417 
418 typedef BOOL
420  _In_ HANDLE hWlx,
421  _Out_ PWLX_DESKTOP *ppDesktop);
422 
423 typedef INT
425  _In_ HANDLE hWlx,
426  _In_ HWND hwndOwner,
427  _In_ LPWSTR lpszText,
428  _In_ LPWSTR lpszTitle,
429  _In_ UINT fuStyle);
430 
431 typedef BOOL
434 
435 typedef DWORD
438 
439 typedef BOOL
442 
443 typedef DWORD
445  _In_ HANDLE hWlx,
447  _In_ WCHAR *UserName,
448  _In_ WCHAR *Domain);
449 
450 typedef BOOL
453 
454 typedef VOID
456  _In_ HANDLE hWlx,
457  _In_ DWORD dwSasType);
458 
459 typedef VOID
461  _In_ HANDLE hWlx,
462  _In_ PVOID pWlxContext);
463 
464 typedef BOOL
466  _In_ HANDLE hWlx,
467  _In_ DWORD Option,
469  _Out_ ULONG_PTR *OldValue);
470 
471 typedef BOOL
473  _In_ HANDLE hWlx,
474  _In_ PWLX_DESKTOP pDesktop);
475 
476 typedef BOOL
478  _In_ HANDLE hWlx,
479  _In_ DWORD Timeout);
480 
481 typedef INT
483  _In_ HANDLE hWlx);
484 
485 typedef INT
487  _In_ HANDLE hWlx);
488 
489 typedef VOID
491  _In_ HANDLE hWlx);
492 
493 typedef VOID
495  _In_ HANDLE hWlx);
496 
497 /* Function dispatch tables */
498 
514 
534 
555 
583 
613 
614 /* Non-GINA notification DLLs */
615 
616 typedef DWORD
619  _In_ LPWSTR lpMessage);
620 
621 typedef struct _WLX_NOTIFICATION_INFO {
628  HDESK hDesktop;
631 
632 #ifdef __cplusplus
633 }
634 #endif
635 
636 #endif /*__WINWLX_H */
PWLX_CHANGE_PASSWORD_NOTIFY_EX WlxChangePasswordNotifyEx
Definition: winwlx.h:573
_In_opt_ ULONG _Out_ PULONG Value
Definition: rtlfuncs.h:2343
PWLX_USE_CTRL_ALT_DEL WlxUseCtrlAltDel
Definition: winwlx.h:536
DWORD dwOptions
Definition: solitaire.cpp:23
VOID(WINAPI * PWLX_SET_CONTEXT_POINTER)(_In_ HANDLE hWlx, _In_ PVOID pWlxContext)
Definition: winwlx.h:460
PWLX_CREATE_USER_DESKTOP WlxCreateUserDesktop
Definition: winwlx.h:531
PWSTR pszOldPassword
Definition: winwlx.h:139
DWORD Size
Definition: winwlx.h:334
PWLX_CREATE_USER_DESKTOP WlxCreateUserDesktop
Definition: winwlx.h:551
PWLX_USE_CTRL_ALT_DEL WlxUseCtrlAltDel
Definition: winwlx.h:516
struct _WLX_DISPATCH_VERSION_1_0 * PWLX_DISPATCH_VERSION_1_0
struct _WLX_DISPATCH_VERSION_1_0 WLX_DISPATCH_VERSION_1_0
PWLX_CLOSE_USER_DESKTOP WlxCloseUserDesktop
Definition: winwlx.h:553
PWLX_CHANGE_PASSWORD_NOTIFY_EX WlxChangePasswordNotifyEx
Definition: winwlx.h:532
BOOL WINAPI WlxNegotiate(_In_ DWORD dwWinlogonVersion, _Out_ PDWORD pdwDllVersion)
struct _WLX_DISPATCH_VERSION_1_1 * PWLX_DISPATCH_VERSION_1_1
BOOL(WINAPI * PWLX_DISCONNECT)(VOID)
Definition: winwlx.h:410
PWLX_SET_RETURN_DESKTOP WlxSetReturnDesktop
Definition: winwlx.h:530
BOOL(WINAPI * PWLX_GET_SOURCE_DESKTOP)(_In_ HANDLE hWlx, _Out_ PWLX_DESKTOP *ppDesktop)
Definition: winwlx.h:419
PWLX_USE_CTRL_ALT_DEL WlxUseCtrlAltDel
Definition: winwlx.h:557
PWLX_GET_SOURCE_DESKTOP WlxGetSourceDesktop
Definition: winwlx.h:529
BOOL WINAPI WlxInitialize(_In_ LPWSTR lpWinsta, _In_ HANDLE hWlx, _In_ PVOID pvReserved, _In_ PVOID pWinlogonFunctions, _Out_ PVOID *pWlxContext)
struct _WLX_PROFILE_V2_0 WLX_PROFILE_V2_0
PWLX_CHANGE_PASSWORD_NOTIFY WlxChangePasswordNotify
Definition: winwlx.h:569
PWLX_MESSAGE_BOX WlxMessageBox
Definition: winwlx.h:541
uint16_t * PWSTR
Definition: typedefs.h:54
PWLX_DIALOG_BOX_INDIRECT WlxDialogBoxIndirect
Definition: winwlx.h:593
PWLX_DIALOG_BOX WlxDialogBox
Definition: winwlx.h:542
struct _WLX_TERMINAL_SERVICES_DATA * PWLX_TERMINAL_SERVICES_DATA
struct _WLX_CLIENT_CREDENTIALS_INFO_2_0 WLX_CLIENT_CREDENTIALS_INFO_V2_0
PWLX_CHANGE_PASSWORD_NOTIFY WlxChangePasswordNotify
Definition: winwlx.h:597
#define INT
Definition: polytest.cpp:20
#define CALLBACK
Definition: compat.h:27
PWLX_SET_CONTEXT_POINTER WlxSetContextPointer
Definition: winwlx.h:501
VOID WINAPI WlxShutdown(_In_ PVOID pWlxContext, _In_ DWORD ShutdownType)
INT(WINAPI * PWLX_SWITCH_DESKTOP_TO_WINLOGON)(_In_ HANDLE hWlx)
Definition: winwlx.h:486
struct _WLX_NOTIFICATION_INFO * PWLX_NOTIFICATION_INFO
PWLX_DIALOG_BOX_INDIRECT WlxDialogBoxIndirect
Definition: winwlx.h:524
PWLX_SAS_NOTIFY WlxSasNotify
Definition: winwlx.h:587
_In_ BOOL _In_ HANDLE hProcess
Definition: mapping.h:70
PWLX_SWITCH_DESKTOP_TO_USER WlxSwitchDesktopToUser
Definition: winwlx.h:567
PWLX_GET_OPTION WlxGetOption
Definition: winwlx.h:604
VOID WINAPI WlxDisplaySASNotice(_In_ PVOID pWlxContext)
PWSTR pszProfile
Definition: winwlx.h:144
PWLX_SAS_NOTIFY WlxSasNotify
Definition: winwlx.h:538
#define BOOL
Definition: nt_native.h:43
#define DWORD
Definition: nt_native.h:44
int32_t INT
Definition: typedefs.h:56
struct _WLX_CLIENT_CREDENTIALS_INFO WLX_CLIENT_CREDENTIALS_INFO_V1_0
PWLX_QUERY_CLIENT_CREDENTIALS WlxQueryClientCredentials
Definition: winwlx.h:606
PWLX_CHANGE_PASSWORD_NOTIFY WlxChangePasswordNotify
Definition: winwlx.h:528
PWLX_DIALOG_BOX WlxDialogBox
Definition: winwlx.h:591
PWLX_SET_TIMEOUT WlxSetTimeout
Definition: winwlx.h:560
PWLX_GET_OPTION WlxGetOption
Definition: winwlx.h:576
struct _WLX_MPR_NOTIFY_INFO WLX_MPR_NOTIFY_INFO
PFNMSGECALLBACK pStatusCallback
Definition: winwlx.h:629
PWLX_ASSIGN_SHELL_PROTECTION WlxAssignShellProtection
Definition: winwlx.h:520
uint32_t ULONG_PTR
Definition: typedefs.h:63
PWLX_ASSIGN_SHELL_PROTECTION WlxAssignShellProtection
Definition: winwlx.h:589
PWLX_SET_OPTION WlxSetOption
Definition: winwlx.h:603
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170
PWLX_SWITCH_DESKTOP_TO_WINLOGON WlxSwitchDesktopToWinlogon
Definition: winwlx.h:511
PWLX_CHANGE_PASSWORD_NOTIFY WlxChangePasswordNotify
Definition: winwlx.h:512
struct _WLX_TERMINAL_SERVICES_DATA WLX_TERMINAL_SERVICES_DATA
PWLX_WIN31_MIGRATE WlxWin31Migrate
Definition: winwlx.h:605
unsigned int BOOL
Definition: ntddk_ex.h:94
PWLX_SWITCH_DESKTOP_TO_WINLOGON WlxSwitchDesktopToWinlogon
Definition: winwlx.h:568
struct _WLX_SC_NOTIFICATION_INFO WLX_SC_NOTIFICATION_INFO
struct _WLX_PROFILE_V1_0 WLX_PROFILE_V1_0
PWLX_MESSAGE_BOX WlxMessageBox
Definition: winwlx.h:521
BOOL WINAPI WlxStartApplication(_In_ PVOID pWlxContext, _In_ PWSTR pszDesktopName, _In_ PVOID pEnvironment, _In_ PWSTR pszCmdLine)
PWLX_SWITCH_DESKTOP_TO_USER WlxSwitchDesktopToUser
Definition: winwlx.h:526
VOID WINAPI WlxDisplayLockedNotice(_In_ PVOID pWlxContext)
struct _WLX_MPR_NOTIFY_INFO * PWLX_MPR_NOTIFY_INFO
PWSTR pszServerName
Definition: winwlx.h:152
BOOL WINAPI WlxIsLogoffOk(_In_ PVOID pWlxContext)
BOOL WINAPI WlxNetworkProviderLoad(_In_ PVOID pWlxContext, _Out_ PWLX_MPR_NOTIFY_INFO pNprNotifyInfo)
VOID WINAPI WlxDisconnectNotify(_In_ PVOID pWlxContext)
BOOL WINAPI WlxGetStatusMessage(_In_ PVOID pWlxContext, _Out_ DWORD *pdwOptions, _Out_ PWSTR pMessage, _In_ DWORD dwBufferSize)
PWLX_CLOSE_USER_DESKTOP WlxCloseUserDesktop
Definition: winwlx.h:574
struct _WLX_DESKTOP * PWLX_DESKTOP
INT WINAPI WlxLoggedOnSAS(_In_ PVOID pWlxContext, _In_ DWORD dwSasType, _In_ PVOID pReserved)
#define _Out_
Definition: no_sal2.h:323
LONG_PTR LPARAM
Definition: windef.h:208
PWLX_SAS_NOTIFY WlxSasNotify
Definition: winwlx.h:518
PWLX_SWITCH_DESKTOP_TO_WINLOGON WlxSwitchDesktopToWinlogon
Definition: winwlx.h:547
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
PWLX_SET_RETURN_DESKTOP WlxSetReturnDesktop
Definition: winwlx.h:571
PWLX_DIALOG_BOX_PARAM WlxDialogBoxParam
Definition: winwlx.h:564
PWSTR pszNetworkDefaultUserProfile
Definition: winwlx.h:151
PWLX_DIALOG_BOX_INDIRECT_PARAM WlxDialogBoxIndirectParam
Definition: winwlx.h:545
PWLX_SET_CONTEXT_POINTER WlxSetContextPointer
Definition: winwlx.h:537
INT(WINAPI * PWLX_CHANGE_PASSWORD_NOTIFY)(_In_ HANDLE hWlx, _In_ PWLX_MPR_NOTIFY_INFO pMprInfo, _In_ DWORD dwChangeInfo)
Definition: winwlx.h:348
BOOL WINAPI WlxActivateUserShell(_In_ PVOID pWlxContext, _In_ PWSTR pszDesktopName, _In_ PWSTR pszMprLogonScript, _In_ PVOID pEnvironment)
BOOL WINAPI WlxScreenSaverNotify(_In_ PVOID pWlxContext, _Inout_ BOOL *pSecure)
PWLX_DIALOG_BOX_PARAM WlxDialogBoxParam
Definition: winwlx.h:543
VOID(WINAPI * PWLX_SAS_NOTIFY)(_In_ HANDLE hWlx, _In_ DWORD dwSasType)
Definition: winwlx.h:455
BOOL(WINAPI * PWLX_SET_OPTION)(_In_ HANDLE hWlx, _In_ DWORD Option, _In_ ULONG_PTR Value, _Out_ ULONG_PTR *OldValue)
Definition: winwlx.h:465
BOOL WINAPI WlxIsLockOk(_In_ PVOID pWlxContext)
INT(WINAPI * PWLX_DIALOG_BOX_INDIRECT)(_In_ HANDLE hWlx, _In_ HANDLE hInst, _In_ LPCDLGTEMPLATE hDialogTemplate, _In_ HWND hwndOwner, _In_ DLGPROC dlgprc)
Definition: winwlx.h:384
BOOL(WINAPI * PWLX_QUERY_TS_LOGON_CREDENTIALS)(_Out_ PWLX_CLIENT_CREDENTIALS_INFO_V2_0 pCred)
Definition: winwlx.h:451
PWLX_ASSIGN_SHELL_PROTECTION WlxAssignShellProtection
Definition: winwlx.h:504
PWLX_DISCONNECT WlxDisconnect
Definition: winwlx.h:608
PWLX_DIALOG_BOX_PARAM WlxDialogBoxParam
Definition: winwlx.h:523
INT(WINAPI * PWLX_ASSIGN_SHELL_PROTECTION)(_In_ HANDLE hWlx, _In_ HANDLE hToken, _In_ HANDLE hProcess, _In_ HANDLE hThread)
Definition: winwlx.h:341
__wchar_t WCHAR
Definition: xmlstorage.h:180
BOOL(WINAPI * PWLX_SET_TIMEOUT)(_In_ HANDLE hWlx, _In_ DWORD Timeout)
Definition: winwlx.h:477
static LPCSTR DWORD void * pvReserved
Definition: str.c:196
#define WINAPI
Definition: msvc.h:8
VOID WINAPI WlxLogoff(_In_ PVOID pWlxContext)
HDESK hDesktop
Definition: winwlx.h:336
BOOL(WINAPI * PWLX_CREATE_USER_DESKTOP)(_In_ HANDLE hWlx, _In_ HANDLE hToken, _In_ DWORD Flags, _In_ PWSTR pszDesktopName, _Out_ PWLX_DESKTOP *ppDesktop)
Definition: winwlx.h:368
PWLX_SET_TIMEOUT WlxSetTimeout
Definition: winwlx.h:519
_In_opt_ LPSTR _In_opt_ LPSTR _In_ DWORD _In_ DWORD _Out_opt_ PHANDLE phToken
Definition: winbase.h:2651
unsigned long DWORD
Definition: ntddk_ex.h:95
struct _WLX_CLIENT_CREDENTIALS_INFO * PWLX_CLIENT_CREDENTIALS_INFO_V1_0
INT(WINAPI * PWLX_DIALOG_BOX)(_In_ HANDLE hWlx, _In_ HANDLE hInst, _In_ LPWSTR lpszTemplate, _In_ HWND hwndOwner, _In_ DLGPROC dlgprc)
Definition: winwlx.h:376
VOID(WINAPI * PWLX_WIN31_MIGRATE)(_In_ HANDLE hWlx)
Definition: winwlx.h:494
INT WINAPI WlxLoggedOutSAS(_In_ PVOID pWlxContext, _In_ DWORD dwSasType, _Out_ PLUID pAuthenticationId, _Inout_ PSID pLogonSid, _Out_ PDWORD pdwOptions, _Out_ PHANDLE phToken, _Out_ PWLX_MPR_NOTIFY_INFO pNprNotifyInfo, _Out_ PVOID *pProfile)
#define _Inout_
Definition: no_sal2.h:244
PWLX_DIALOG_BOX_INDIRECT WlxDialogBoxIndirect
Definition: winwlx.h:565
INT WINAPI WlxWkstaLockedSAS(_In_ PVOID pWlxContext, _In_ DWORD dwSasType)
BOOL bVerbose
Definition: logoff.c:26
PWLX_QUERY_IC_CREDENTIALS WlxQueryInetConnectorCredentials
Definition: winwlx.h:579
struct _WLX_CONSOLESWITCH_CREDENTIALS_INFO WLX_CONSOLESWITCH_CREDENTIALS_INFO_V1_0
PWLX_QUERY_IC_CREDENTIALS WlxQueryInetConnectorCredentials
Definition: winwlx.h:607
struct _WLX_CLIENT_CREDENTIALS_INFO_2_0 * PWLX_CLIENT_CREDENTIALS_INFO_V2_0
PWSTR pszProfile
Definition: winwlx.h:149
DWORD(WINAPI * PWLX_QUERY_CONSOLESWITCH_CREDENTIALS)(_Out_ PWLX_CONSOLESWITCH_CREDENTIALS_INFO_V1_0 pCred)
Definition: winwlx.h:436
PWLX_SET_TIMEOUT WlxSetTimeout
Definition: winwlx.h:539
struct _WLX_DISPATCH_VERSION_1_4 WLX_DISPATCH_VERSION_1_4
PWLX_SAS_NOTIFY WlxSasNotify
Definition: winwlx.h:502
INT(WINAPI * PWLX_CHANGE_PASSWORD_NOTIFY_EX)(_In_ HANDLE hWlx, _In_ PWLX_MPR_NOTIFY_INFO pMprInfo, _In_ DWORD dwChangeInfo, _In_ PWSTR ProviderName, _In_ PVOID Reserved)
Definition: winwlx.h:354
BOOL(WINAPI * PWLX_QUERY_IC_CREDENTIALS)(_Out_ PWLX_CLIENT_CREDENTIALS_INFO_V1_0 pCred)
Definition: winwlx.h:440
PWLX_MESSAGE_BOX WlxMessageBox
Definition: winwlx.h:590
PWLX_DIALOG_BOX_INDIRECT WlxDialogBoxIndirect
Definition: winwlx.h:544
PVOID *typedef PHANDLE
Definition: ntsecpkg.h:414
#define VOID
Definition: acefi.h:82
PWLX_ASSIGN_SHELL_PROTECTION WlxAssignShellProtection
Definition: winwlx.h:540
PWLX_DIALOG_BOX_INDIRECT_PARAM WlxDialogBoxIndirectParam
Definition: winwlx.h:566
PWLX_GET_SOURCE_DESKTOP WlxGetSourceDesktop
Definition: winwlx.h:570
PWLX_SET_RETURN_DESKTOP WlxSetReturnDesktop
Definition: winwlx.h:599
PWLX_SWITCH_DESKTOP_TO_USER WlxSwitchDesktopToUser
Definition: winwlx.h:595
PWLX_QUERY_TERMINAL_SERVICES_DATA WlxQueryTerminalServicesData
Definition: winwlx.h:581
INT(WINAPI * PWLX_DIALOG_BOX_INDIRECT_PARAM)(_In_ HANDLE hWlx, _In_ HANDLE hInst, _In_ LPCDLGTEMPLATE hDialogTemplate, _In_ HWND hwndOwner, _In_ DLGPROC dlgprc, _In_ LPARAM dwInitParam)
Definition: winwlx.h:392
struct _WLX_DISPATCH_VERSION_1_1 WLX_DISPATCH_VERSION_1_1
DWORD(WINAPI * PWLX_QUERY_TERMINAL_SERVICES_DATA)(_In_ HANDLE hWlx, _Out_ PWLX_TERMINAL_SERVICES_DATA pTSData, _In_ WCHAR *UserName, _In_ WCHAR *Domain)
Definition: winwlx.h:444
struct _WLX_DISPATCH_VERSION_1_3 * PWLX_DISPATCH_VERSION_1_3
PWLX_GET_SOURCE_DESKTOP WlxGetSourceDesktop
Definition: winwlx.h:549
PWLX_SET_OPTION WlxSetOption
Definition: winwlx.h:575
PWLX_ASSIGN_SHELL_PROTECTION WlxAssignShellProtection
Definition: winwlx.h:561
PWLX_SET_CONTEXT_POINTER WlxSetContextPointer
Definition: winwlx.h:517
BOOL(WINAPI * PWLX_CLOSE_USER_DESKTOP)(_In_ HANDLE hWlx, _In_ PWLX_DESKTOP pDesktop, _In_ HANDLE hToken)
Definition: winwlx.h:362
INT_PTR(CALLBACK * DLGPROC)(HWND, UINT, WPARAM, LPARAM)
Definition: winuser.h:2870
PWLX_DISCONNECT WlxDisconnect
Definition: winwlx.h:580
#define _In_
Definition: no_sal2.h:204
DWORD(CALLBACK * PFNMSGECALLBACK)(_In_ BOOL bVerbose, _In_ LPWSTR lpMessage)
Definition: winwlx.h:617
PWLX_DIALOG_BOX_PARAM WlxDialogBoxParam
Definition: winwlx.h:507
struct _WLX_PROFILE_V1_0 * PWLX_PROFILE_V1_0
BOOL(WINAPI * PWLX_GET_OPTION)(_In_ HANDLE hWlx, _In_ DWORD Option, _Out_ ULONG_PTR *Value)
Definition: winwlx.h:413
PWSTR pszPolicy
Definition: winwlx.h:150
BOOL WINAPI WlxDisplayStatusMessage(_In_ PVOID pWlxContext, _In_ HDESK hDesktop, _In_ DWORD dwOptions, _In_ PWSTR pTitle, _In_ PWSTR pMessage)
HINSTANCE hInst
Definition: dxdiag.c:13
PWLX_CHANGE_PASSWORD_NOTIFY_EX WlxChangePasswordNotifyEx
Definition: winwlx.h:601
static ULONG Timeout
Definition: ping.c:61
PWLX_DIALOG_BOX_INDIRECT_PARAM WlxDialogBoxIndirectParam
Definition: winwlx.h:509
PWLX_SET_RETURN_DESKTOP WlxSetReturnDesktop
Definition: winwlx.h:550
struct _WLX_PROFILE_V2_0 * PWLX_PROFILE_V2_0
unsigned short USHORT
Definition: pedump.c:61
PWLX_SAS_NOTIFY WlxSasNotify
Definition: winwlx.h:559
struct _WLX_DISPATCH_VERSION_1_2 * PWLX_DISPATCH_VERSION_1_2
PWLX_USE_CTRL_ALT_DEL WlxUseCtrlAltDel
Definition: winwlx.h:585
struct _WLX_DISPATCH_VERSION_1_3 WLX_DISPATCH_VERSION_1_3
struct _WLX_DISPATCH_VERSION_1_4 * PWLX_DISPATCH_VERSION_1_4
struct _WLX_CONSOLESWITCH_CREDENTIALS_INFO * PWLX_CONSOLESWITCH_CREDENTIALS_INFO_V1_0
PWLX_CLOSE_USER_DESKTOP WlxCloseUserDesktop
Definition: winwlx.h:602
PWLX_SWITCH_DESKTOP_TO_WINLOGON WlxSwitchDesktopToWinlogon
Definition: winwlx.h:527
PWLX_SET_CONTEXT_POINTER WlxSetContextPointer
Definition: winwlx.h:558
PWLX_SET_TIMEOUT WlxSetTimeout
Definition: winwlx.h:503
PWLX_SWITCH_DESKTOP_TO_USER WlxSwitchDesktopToUser
Definition: winwlx.h:510
PWLX_DIALOG_BOX WlxDialogBox
Definition: winwlx.h:522
unsigned int UINT
Definition: ndis.h:50
PWLX_QUERY_TERMINAL_SERVICES_DATA WlxQueryTerminalServicesData
Definition: winwlx.h:609
PWLX_WIN31_MIGRATE WlxWin31Migrate
Definition: winwlx.h:577
PWLX_USE_CTRL_ALT_DEL WlxUseCtrlAltDel
Definition: winwlx.h:500
HANDLE hThread
Definition: wizard.c:27
DWORD * PDWORD
Definition: pedump.c:68
PWLX_GET_SOURCE_DESKTOP WlxGetSourceDesktop
Definition: winwlx.h:598
struct _WLX_DISPATCH_VERSION_1_2 WLX_DISPATCH_VERSION_1_2
VOID(WINAPI * PWLX_USE_CTRL_ALT_DEL)(_In_ HANDLE hWlx)
Definition: winwlx.h:490
PWLX_CREATE_USER_DESKTOP WlxCreateUserDesktop
Definition: winwlx.h:572
PWLX_DIALOG_BOX_INDIRECT_PARAM WlxDialogBoxIndirectParam
Definition: winwlx.h:525
PWLX_DIALOG_BOX WlxDialogBox
Definition: winwlx.h:506
PWLX_DIALOG_BOX WlxDialogBox
Definition: winwlx.h:563
WCHAR ProfilePath[WLX_DIRECTORY_LENGTH+1]
Definition: winwlx.h:164
PWLX_QUERY_CLIENT_CREDENTIALS WlxQueryClientCredentials
Definition: winwlx.h:578
struct _WLX_SC_NOTIFICATION_INFO * PWLX_SC_NOTIFICATION_INFO
BOOL WINAPI WlxRemoveStatusMessage(_In_ PVOID pWlxContext)
INT(WINAPI * PWLX_SWITCH_DESKTOP_TO_USER)(_In_ HANDLE hWlx)
Definition: winwlx.h:482
PWLX_DIALOG_BOX_PARAM WlxDialogBoxParam
Definition: winwlx.h:592
PWLX_QUERY_CONSOLESWITCH_CREDENTIALS WlxQueryConsoleSwitchCredentials
Definition: winwlx.h:610
unsigned int ULONG
Definition: retypes.h:1
PWLX_SWITCH_DESKTOP_TO_USER WlxSwitchDesktopToUser
Definition: winwlx.h:546
BOOL(WINAPI * PWLX_SET_RETURN_DESKTOP)(_In_ HANDLE hWlx, _In_ PWLX_DESKTOP pDesktop)
Definition: winwlx.h:472
PWLX_DIALOG_BOX_INDIRECT WlxDialogBoxIndirect
Definition: winwlx.h:508
WCHAR HomeDir[WLX_DIRECTORY_LENGTH+1]
Definition: winwlx.h:165
PWLX_SET_CONTEXT_POINTER WlxSetContextPointer
Definition: winwlx.h:586
PWLX_DIALOG_BOX_INDIRECT_PARAM WlxDialogBoxIndirectParam
Definition: winwlx.h:594
PWLX_SET_TIMEOUT WlxSetTimeout
Definition: winwlx.h:588
BOOL(WINAPI * PWLX_QUERY_CLIENT_CREDENTIALS)(_Out_ PWLX_CLIENT_CREDENTIALS_INFO_V1_0 pCred)
Definition: winwlx.h:432
struct _WLX_DESKTOP WLX_DESKTOP
WCHAR * LPWSTR
Definition: xmlstorage.h:184
PWLX_MESSAGE_BOX WlxMessageBox
Definition: winwlx.h:562
PWLX_CHANGE_PASSWORD_NOTIFY_EX WlxChangePasswordNotifyEx
Definition: winwlx.h:552
PWLX_CREATE_USER_DESKTOP WlxCreateUserDesktop
Definition: winwlx.h:600
struct _WLX_NOTIFICATION_INFO WLX_NOTIFICATION_INFO
VOID WINAPI WlxReconnectNotify(_In_ PVOID pWlxContext)
#define WLX_DIRECTORY_LENGTH
Definition: winwlx.h:78
PWSTR pszEnvironment
Definition: winwlx.h:153
BYTE * PBYTE
Definition: pedump.c:66
PWLX_CHANGE_PASSWORD_NOTIFY WlxChangePasswordNotify
Definition: winwlx.h:548
INT(WINAPI * PWLX_DIALOG_BOX_PARAM)(_In_ HANDLE hWlx, _In_ HANDLE hInst, _In_ LPWSTR lpszTemplate, _In_ HWND hwndOwner, _In_ DLGPROC dlgprc, _In_ LPARAM dwInitParam)
Definition: winwlx.h:401
BOOL WINAPI WlxGetConsoleSwitchCredentials(_In_ PVOID pWlxContext, _Out_ PVOID pCredInfo)
PWSTR pszDesktopName
Definition: winwlx.h:337
PWLX_SWITCH_DESKTOP_TO_WINLOGON WlxSwitchDesktopToWinlogon
Definition: winwlx.h:596
DWORD Flags
Definition: winwlx.h:335
PWLX_MESSAGE_BOX WlxMessageBox
Definition: winwlx.h:505
PWLX_QUERY_TS_LOGON_CREDENTIALS WlxQueryTsLogonCredentials
Definition: winwlx.h:611
INT(WINAPI * PWLX_MESSAGE_BOX)(_In_ HANDLE hWlx, _In_ HWND hwndOwner, _In_ LPWSTR lpszText, _In_ LPWSTR lpszTitle, _In_ UINT fuStyle)
Definition: winwlx.h:424