Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers...
[reactos.git] / reactos / sdk / include / psdk / winwlx.h
diff --git a/reactos/sdk/include/psdk/winwlx.h b/reactos/sdk/include/psdk/winwlx.h
deleted file mode 100644 (file)
index 9136fe1..0000000
+++ /dev/null
@@ -1,636 +0,0 @@
-/*
- * WinWlx.h
- *
- * WinLogon eXtension
- *
- * Contributors:
- *   Created by Thomas Weidenmueller <w3seek@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __WINWLX_H
-#define __WINWLX_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define WLX_VERSION_1_0     0x00010000
-#define WLX_VERSION_1_1     0x00010001
-#define WLX_VERSION_1_2     0x00010002
-#define WLX_VERSION_1_3     0x00010003
-#define WLX_VERSION_1_4     0x00010004
-#define WLX_CURRENT_VERSION (WLX_VERSION_1_4)
-
-#define WLX_SAS_TYPE_TIMEOUT                 0x0000
-#define WLX_SAS_TYPE_CTRL_ALT_DEL            0x0001
-#define WLX_SAS_TYPE_SCRNSVR_TIMEOUT         0x0002
-#define WLX_SAS_TYPE_SCRNSVR_ACTIVITY        0x0003
-#define WLX_SAS_TYPE_USER_LOGOFF             0x0004
-#define WLX_SAS_TYPE_SC_INSERT               0x0005
-#define WLX_SAS_TYPE_SC_REMOVE               0x0006
-#define WLX_SAS_TYPE_AUTHENTICATED           0x0007
-#define WLX_SAS_TYPE_SC_FIRST_READER_ARRIVED 0x0008
-#define WLX_SAS_TYPE_SC_LAST_READER_REMOVED  0x0009
-#define WLX_SAS_TYPE_SWITCHUSER              0x000A
-#define WLX_SAS_TYPE_MAX_MSFT_VALUE          0x007F
-
-#define WLX_LOGON_OPT_NO_PROFILE 0x0001
-
-#define WLX_PROFILE_TYPE_V1_0 0x0001
-#define WLX_PROFILE_TYPE_V2_0 0x0002 /* Default */
-
-#define WLX_SAS_ACTION_LOGON                0x0001
-#define WLX_SAS_ACTION_NONE                 0x0002
-#define WLX_SAS_ACTION_LOCK_WKSTA           0x0003
-#define WLX_SAS_ACTION_LOGOFF               0x0004
-#define WLX_SAS_ACTION_SHUTDOWN             0x0005
-#define WLX_SAS_ACTION_PWD_CHANGED          0x0006
-#define WLX_SAS_ACTION_TASKLIST             0x0007
-#define WLX_SAS_ACTION_UNLOCK_WKSTA         0x0008
-#define WLX_SAS_ACTION_FORCE_LOGOFF         0x0009
-#define WLX_SAS_ACTION_SHUTDOWN_POWER_OFF   0x000A
-#define WLX_SAS_ACTION_SHUTDOWN_REBOOT      0x000B
-#define WLX_SAS_ACTION_SHUTDOWN_SLEEP       0x000C
-#define WLX_SAS_ACTION_SHUTDOWN_SLEEP2      0x000D
-#define WLX_SAS_ACTION_SHUTDOWN_HIBERNATE   0x000E
-#define WLX_SAS_ACTION_RECONNECTED          0x000F
-#define WLX_SAS_ACTION_DELAYED_FORCE_LOGOFF 0x0010
-#define WLX_SAS_ACTION_SWITCH_CONSOLE       0x0011
-
-#define WLX_WM_SAS (WM_USER + 0x0259)
-
-#define WLX_DLG_SAS                  0x0065
-#define WLX_DLG_INPUT_TIMEOUT        0x0066 /* Input (keys, ...) timed out */
-#define WLX_DLG_SCREEN_SAVER_TIMEOUT 0x0067 /* Screen saver activated */
-#define WLX_DLG_USER_LOGOFF          0x0068 /* User logged off */
-
-#define WLX_DIRECTORY_LENGTH 0x0100
-
-#define WLX_CREDENTIAL_TYPE_V1_0 0x0001
-#define WLX_CREDENTIAL_TYPE_V2_0 0x0002
-
-#define WLX_CONSOLESWITCHCREDENTIAL_TYPE_V1_0 0x0001
-
-#define STATUSMSG_OPTION_NOANIMATION   0x0001
-#define STATUSMSG_OPTION_SETFOREGROUND 0x0002
-
-typedef struct _WLX_CLIENT_CREDENTIALS_INFO {
-  DWORD dwType;
-  PWSTR pszUserName;
-  PWSTR pszDomain;
-  PWSTR pszPassword;
-  BOOL fPromptForPassword;
-} WLX_CLIENT_CREDENTIALS_INFO_V1_0, *PWLX_CLIENT_CREDENTIALS_INFO_V1_0;
-
-typedef struct _WLX_CLIENT_CREDENTIALS_INFO_2_0 {
-  DWORD dwType;
-  PWSTR pszUserName;
-  PWSTR pszDomain;
-  PWSTR pszPassword;
-  BOOL fPromptForPassword;
-  BOOL fDisconnectOnLogonFailure;
-} WLX_CLIENT_CREDENTIALS_INFO_V2_0, *PWLX_CLIENT_CREDENTIALS_INFO_V2_0;
-
-typedef struct _WLX_CONSOLESWITCH_CREDENTIALS_INFO {
-  DWORD dwType;
-  HANDLE UserToken;
-  LUID LogonId;
-  QUOTA_LIMITS  Quotas;
-  PWSTR UserName;
-  PWSTR Domain;
-  LARGE_INTEGER LogonTime;
-  BOOL SmartCardLogon;
-  ULONG ProfileLength;
-  DWORD MessageType;
-  USHORT LogonCount;
-  USHORT BadPasswordCount;
-  LARGE_INTEGER ProfileLogonTime;
-  LARGE_INTEGER LogoffTime;
-  LARGE_INTEGER KickOffTime;
-  LARGE_INTEGER PasswordLastSet;
-  LARGE_INTEGER PasswordCanChange;
-  LARGE_INTEGER PasswordMustChange;
-  PWSTR LogonScript;
-  PWSTR HomeDirectory;
-  PWSTR FullName;
-  PWSTR ProfilePath;
-  PWSTR HomeDirectoryDrive;
-  PWSTR LogonServer;
-  ULONG UserFlags;
-  ULONG PrivateDataLen;
-  PBYTE PrivateData;
-} WLX_CONSOLESWITCH_CREDENTIALS_INFO_V1_0, *PWLX_CONSOLESWITCH_CREDENTIALS_INFO_V1_0;
-
-typedef struct _WLX_MPR_NOTIFY_INFO {
-  PWSTR pszUserName;
-  PWSTR pszDomain;
-  PWSTR pszPassword;
-  PWSTR pszOldPassword;
-} WLX_MPR_NOTIFY_INFO, *PWLX_MPR_NOTIFY_INFO;
-
-typedef struct _WLX_PROFILE_V1_0 {
-  DWORD dwType;
-  PWSTR pszProfile;
-} WLX_PROFILE_V1_0, *PWLX_PROFILE_V1_0;
-
-typedef struct _WLX_PROFILE_V2_0 {
-  DWORD dwType;
-  PWSTR pszProfile;
-  PWSTR pszPolicy;
-  PWSTR pszNetworkDefaultUserProfile;
-  PWSTR pszServerName;
-  PWSTR pszEnvironment;
-} WLX_PROFILE_V2_0, *PWLX_PROFILE_V2_0;
-
-typedef struct _WLX_SC_NOTIFICATION_INFO {
-  PWSTR pszCard;
-  PWSTR pszReader;
-  PWSTR pszContainer;
-  PWSTR pszCryptoProvider;
-} WLX_SC_NOTIFICATION_INFO, *PWLX_SC_NOTIFICATION_INFO;
-
-typedef struct _WLX_TERMINAL_SERVICES_DATA {
-  WCHAR ProfilePath[WLX_DIRECTORY_LENGTH + 1];
-  WCHAR HomeDir[WLX_DIRECTORY_LENGTH + 1];
-  WCHAR HomeDirDrive[4];
-} WLX_TERMINAL_SERVICES_DATA, *PWLX_TERMINAL_SERVICES_DATA;
-
-/* GINA Version 1.0 */
-
-BOOL
-WINAPI
-WlxActivateUserShell(
-  _In_ PVOID pWlxContext,
-  _In_ PWSTR pszDesktopName,
-  _In_ PWSTR pszMprLogonScript,
-  _In_ PVOID pEnvironment);
-
-VOID
-WINAPI
-WlxDisplayLockedNotice(
-  _In_ PVOID pWlxContext);
-
-VOID
-WINAPI
-WlxDisplaySASNotice(
-  _In_ PVOID pWlxContext);
-
-BOOL
-WINAPI
-WlxInitialize(
-  _In_ LPWSTR lpWinsta,
-  _In_ HANDLE hWlx,
-  _In_ PVOID pvReserved,
-  _In_ PVOID pWinlogonFunctions,
-  _Out_ PVOID *pWlxContext);
-
-BOOL
-WINAPI
-WlxIsLockOk(
-  _In_ PVOID pWlxContext);
-
-BOOL
-WINAPI
-WlxIsLogoffOk(
-  _In_ PVOID pWlxContext);
-
-INT
-WINAPI
-WlxLoggedOnSAS(
-  _In_ PVOID pWlxContext,
-  _In_ DWORD dwSasType,
-  _In_ PVOID pReserved);
-
-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);
-
-VOID
-WINAPI
-WlxLogoff(
-  _In_ PVOID pWlxContext);
-
-BOOL
-WINAPI
-WlxNegotiate(
-  _In_ DWORD dwWinlogonVersion,
-  _Out_ PDWORD pdwDllVersion);
-
-VOID
-WINAPI
-WlxShutdown(
-  _In_ PVOID pWlxContext,
-  _In_ DWORD ShutdownType);
-
-INT
-WINAPI
-WlxWkstaLockedSAS(
-  _In_ PVOID pWlxContext,
-  _In_ DWORD dwSasType);
-
-/* GINA Version 1.1 */
-
-BOOL
-WINAPI
-WlxScreenSaverNotify(
-  _In_ PVOID pWlxContext,
-  _Inout_ BOOL *pSecure);
-
-BOOL
-WINAPI
-WlxStartApplication(
-  _In_ PVOID pWlxContext,
-  _In_ PWSTR pszDesktopName,
-  _In_ PVOID pEnvironment,
-  _In_ PWSTR pszCmdLine);
-
-/* GINA Version 1.3 */
-
-BOOL
-WINAPI
-WlxDisplayStatusMessage(
-  _In_ PVOID pWlxContext,
-  _In_ HDESK hDesktop,
-  _In_ DWORD dwOptions,
-  _In_ PWSTR pTitle,
-  _In_ PWSTR pMessage);
-
-BOOL
-WINAPI
-WlxGetStatusMessage(
-  _In_ PVOID pWlxContext,
-  _Out_ DWORD *pdwOptions,
-  _Out_ PWSTR pMessage,
-  _In_ DWORD dwBufferSize);
-
-BOOL
-WINAPI
-WlxNetworkProviderLoad(
-  _In_ PVOID pWlxContext,
-  _Out_ PWLX_MPR_NOTIFY_INFO pNprNotifyInfo);
-
-BOOL
-WINAPI
-WlxRemoveStatusMessage(
-  _In_ PVOID pWlxContext);
-
-/* GINA Version 1.4 */
-
-VOID
-WINAPI
-WlxDisconnectNotify(
-  _In_ PVOID pWlxContext);
-
-BOOL
-WINAPI
-WlxGetConsoleSwitchCredentials(
-  _In_ PVOID pWlxContext,
-  _Out_ PVOID pCredInfo);
-
-VOID
-WINAPI
-WlxReconnectNotify(
-  _In_ PVOID pWlxContext);
-
-/* Services that Winlogon provides */
-
-#define WLX_DESKTOP_NAME   0x0001 /* Name present */
-#define WLX_DESKTOP_HANDLE 0x0002 /* Handle present */
-
-#define WLX_CREATE_INSTANCE_ONLY 0x0001
-#define WLX_CREATE_USER          0x0002
-
-#define WLX_OPTION_USE_CTRL_ALT_DEL  0x0001
-#define WLX_OPTION_CONTEXT_POINTER   0x0002
-#define WLX_OPTION_USE_SMART_CARD    0x0003
-#define WLX_OPTION_FORCE_LOGOFF_TIME 0x0004
-#define WLX_OPTION_IGNORE_AUTO_LOGON 0x0008
-#define WLX_OPTION_NO_SWITCH_ON_SAS  0x0009
-
-#define WLX_OPTION_SMART_CARD_PRESENT  0x00010001
-#define WLX_OPTION_SMART_CARD_INFO     0x00010002
-#define WLX_OPTION_DISPATCH_TABLE_SIZE 0x00010003
-
-typedef struct _WLX_DESKTOP {
-  DWORD Size;
-  DWORD Flags;
-  HDESK hDesktop;
-  PWSTR pszDesktopName;
-} WLX_DESKTOP, *PWLX_DESKTOP;
-
-typedef INT
-(WINAPI *PWLX_ASSIGN_SHELL_PROTECTION)(
-  _In_ HANDLE hWlx,
-  _In_ HANDLE hToken,
-  _In_ HANDLE hProcess,
-  _In_ HANDLE hThread);
-
-typedef INT
-(WINAPI *PWLX_CHANGE_PASSWORD_NOTIFY)(
-  _In_ HANDLE hWlx,
-  _In_ PWLX_MPR_NOTIFY_INFO pMprInfo,
-  _In_ DWORD dwChangeInfo);
-
-typedef 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);
-
-typedef BOOL
-(WINAPI *PWLX_CLOSE_USER_DESKTOP)(
-  _In_ HANDLE hWlx,
-  _In_ PWLX_DESKTOP pDesktop,
-  _In_ HANDLE hToken);
-
-typedef BOOL
-(WINAPI *PWLX_CREATE_USER_DESKTOP)(
-  _In_ HANDLE hWlx,
-  _In_ HANDLE hToken,
-  _In_ DWORD Flags,
-  _In_ PWSTR pszDesktopName,
-  _Out_ PWLX_DESKTOP *ppDesktop);
-
-typedef INT
-(WINAPI *PWLX_DIALOG_BOX)(
-  _In_ HANDLE hWlx,
-  _In_ HANDLE hInst,
-  _In_ LPWSTR lpszTemplate,
-  _In_ HWND hwndOwner,
-  _In_ DLGPROC dlgprc);
-
-typedef INT
-(WINAPI *PWLX_DIALOG_BOX_INDIRECT)(
-  _In_ HANDLE hWlx,
-  _In_ HANDLE hInst,
-  _In_ LPCDLGTEMPLATE hDialogTemplate,
-  _In_ HWND hwndOwner,
-  _In_ DLGPROC dlgprc);
-
-typedef 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);
-
-typedef INT
-(WINAPI *PWLX_DIALOG_BOX_PARAM)(
-  _In_ HANDLE hWlx,
-  _In_ HANDLE hInst,
-  _In_ LPWSTR lpszTemplate,
-  _In_ HWND hwndOwner,
-  _In_ DLGPROC dlgprc,
-  _In_ LPARAM dwInitParam);
-
-typedef BOOL
-(WINAPI *PWLX_DISCONNECT)(VOID);
-
-typedef BOOL
-(WINAPI *PWLX_GET_OPTION)(
-  _In_ HANDLE hWlx,
-  _In_ DWORD Option,
-  _Out_ ULONG_PTR *Value);
-
-typedef BOOL
-(WINAPI *PWLX_GET_SOURCE_DESKTOP)(
-  _In_ HANDLE hWlx,
-  _Out_ PWLX_DESKTOP *ppDesktop);
-
-typedef INT
-(WINAPI *PWLX_MESSAGE_BOX)(
-  _In_ HANDLE hWlx,
-  _In_ HWND hwndOwner,
-  _In_ LPWSTR lpszText,
-  _In_ LPWSTR lpszTitle,
-  _In_ UINT fuStyle);
-
-typedef BOOL
-(WINAPI *PWLX_QUERY_CLIENT_CREDENTIALS)(
-  _Out_ PWLX_CLIENT_CREDENTIALS_INFO_V1_0 pCred);
-
-typedef DWORD
-(WINAPI *PWLX_QUERY_CONSOLESWITCH_CREDENTIALS)(
-  _Out_ PWLX_CONSOLESWITCH_CREDENTIALS_INFO_V1_0 pCred);
-
-typedef BOOL
-(WINAPI *PWLX_QUERY_IC_CREDENTIALS)(
-  _Out_ PWLX_CLIENT_CREDENTIALS_INFO_V1_0 pCred);
-
-typedef DWORD
-(WINAPI *PWLX_QUERY_TERMINAL_SERVICES_DATA)(
-  _In_ HANDLE hWlx,
-  _Out_ PWLX_TERMINAL_SERVICES_DATA pTSData,
-  _In_ WCHAR *UserName,
-  _In_ WCHAR *Domain);
-
-typedef BOOL
-(WINAPI *PWLX_QUERY_TS_LOGON_CREDENTIALS)(
-  _Out_ PWLX_CLIENT_CREDENTIALS_INFO_V2_0 pCred);
-
-typedef VOID
-(WINAPI *PWLX_SAS_NOTIFY)(
-  _In_ HANDLE hWlx,
-  _In_ DWORD dwSasType);
-
-typedef VOID
-(WINAPI *PWLX_SET_CONTEXT_POINTER)(
-  _In_ HANDLE hWlx,
-  _In_ PVOID pWlxContext);
-
-typedef BOOL
-(WINAPI *PWLX_SET_OPTION)(
-  _In_ HANDLE hWlx,
-  _In_ DWORD Option,
-  _In_ ULONG_PTR Value,
-  _Out_ ULONG_PTR *OldValue);
-
-typedef BOOL
-(WINAPI *PWLX_SET_RETURN_DESKTOP)(
-  _In_ HANDLE hWlx,
-  _In_ PWLX_DESKTOP pDesktop);
-
-typedef BOOL
-(WINAPI *PWLX_SET_TIMEOUT)(
-  _In_ HANDLE hWlx,
-  _In_ DWORD Timeout);
-
-typedef INT
-(WINAPI *PWLX_SWITCH_DESKTOP_TO_USER)(
-  _In_ HANDLE hWlx);
-
-typedef INT
-(WINAPI *PWLX_SWITCH_DESKTOP_TO_WINLOGON)(
-  _In_ HANDLE hWlx);
-
-typedef VOID
-(WINAPI *PWLX_USE_CTRL_ALT_DEL)(
-  _In_ HANDLE hWlx);
-
-typedef VOID
-(WINAPI *PWLX_WIN31_MIGRATE)(
-  _In_ HANDLE hWlx);
-
-/* Function dispatch tables */
-
-typedef struct _WLX_DISPATCH_VERSION_1_0 {
-  PWLX_USE_CTRL_ALT_DEL WlxUseCtrlAltDel;
-  PWLX_SET_CONTEXT_POINTER WlxSetContextPointer;
-  PWLX_SAS_NOTIFY WlxSasNotify;
-  PWLX_SET_TIMEOUT WlxSetTimeout;
-  PWLX_ASSIGN_SHELL_PROTECTION WlxAssignShellProtection;
-  PWLX_MESSAGE_BOX WlxMessageBox;
-  PWLX_DIALOG_BOX WlxDialogBox;
-  PWLX_DIALOG_BOX_PARAM WlxDialogBoxParam;
-  PWLX_DIALOG_BOX_INDIRECT WlxDialogBoxIndirect;
-  PWLX_DIALOG_BOX_INDIRECT_PARAM WlxDialogBoxIndirectParam;
-  PWLX_SWITCH_DESKTOP_TO_USER WlxSwitchDesktopToUser;
-  PWLX_SWITCH_DESKTOP_TO_WINLOGON WlxSwitchDesktopToWinlogon;
-  PWLX_CHANGE_PASSWORD_NOTIFY WlxChangePasswordNotify;
-} WLX_DISPATCH_VERSION_1_0, *PWLX_DISPATCH_VERSION_1_0;
-
-typedef struct _WLX_DISPATCH_VERSION_1_1 {
-  PWLX_USE_CTRL_ALT_DEL WlxUseCtrlAltDel;
-  PWLX_SET_CONTEXT_POINTER WlxSetContextPointer;
-  PWLX_SAS_NOTIFY WlxSasNotify;
-  PWLX_SET_TIMEOUT WlxSetTimeout;
-  PWLX_ASSIGN_SHELL_PROTECTION WlxAssignShellProtection;
-  PWLX_MESSAGE_BOX WlxMessageBox;
-  PWLX_DIALOG_BOX WlxDialogBox;
-  PWLX_DIALOG_BOX_PARAM WlxDialogBoxParam;
-  PWLX_DIALOG_BOX_INDIRECT WlxDialogBoxIndirect;
-  PWLX_DIALOG_BOX_INDIRECT_PARAM WlxDialogBoxIndirectParam;
-  PWLX_SWITCH_DESKTOP_TO_USER WlxSwitchDesktopToUser;
-  PWLX_SWITCH_DESKTOP_TO_WINLOGON WlxSwitchDesktopToWinlogon;
-  PWLX_CHANGE_PASSWORD_NOTIFY WlxChangePasswordNotify;
-  PWLX_GET_SOURCE_DESKTOP WlxGetSourceDesktop;
-  PWLX_SET_RETURN_DESKTOP WlxSetReturnDesktop;
-  PWLX_CREATE_USER_DESKTOP WlxCreateUserDesktop;
-  PWLX_CHANGE_PASSWORD_NOTIFY_EX WlxChangePasswordNotifyEx;
-} WLX_DISPATCH_VERSION_1_1, *PWLX_DISPATCH_VERSION_1_1;
-
-typedef struct _WLX_DISPATCH_VERSION_1_2 {
-  PWLX_USE_CTRL_ALT_DEL WlxUseCtrlAltDel;
-  PWLX_SET_CONTEXT_POINTER WlxSetContextPointer;
-  PWLX_SAS_NOTIFY WlxSasNotify;
-  PWLX_SET_TIMEOUT WlxSetTimeout;
-  PWLX_ASSIGN_SHELL_PROTECTION WlxAssignShellProtection;
-  PWLX_MESSAGE_BOX WlxMessageBox;
-  PWLX_DIALOG_BOX WlxDialogBox;
-  PWLX_DIALOG_BOX_PARAM WlxDialogBoxParam;
-  PWLX_DIALOG_BOX_INDIRECT WlxDialogBoxIndirect;
-  PWLX_DIALOG_BOX_INDIRECT_PARAM WlxDialogBoxIndirectParam;
-  PWLX_SWITCH_DESKTOP_TO_USER WlxSwitchDesktopToUser;
-  PWLX_SWITCH_DESKTOP_TO_WINLOGON WlxSwitchDesktopToWinlogon;
-  PWLX_CHANGE_PASSWORD_NOTIFY WlxChangePasswordNotify;
-  PWLX_GET_SOURCE_DESKTOP WlxGetSourceDesktop;
-  PWLX_SET_RETURN_DESKTOP WlxSetReturnDesktop;
-  PWLX_CREATE_USER_DESKTOP WlxCreateUserDesktop;
-  PWLX_CHANGE_PASSWORD_NOTIFY_EX WlxChangePasswordNotifyEx;
-  PWLX_CLOSE_USER_DESKTOP WlxCloseUserDesktop;
-} WLX_DISPATCH_VERSION_1_2, *PWLX_DISPATCH_VERSION_1_2;
-
-typedef struct _WLX_DISPATCH_VERSION_1_3 {
-  PWLX_USE_CTRL_ALT_DEL WlxUseCtrlAltDel;
-  PWLX_SET_CONTEXT_POINTER WlxSetContextPointer;
-  PWLX_SAS_NOTIFY WlxSasNotify;
-  PWLX_SET_TIMEOUT WlxSetTimeout;
-  PWLX_ASSIGN_SHELL_PROTECTION WlxAssignShellProtection;
-  PWLX_MESSAGE_BOX WlxMessageBox;
-  PWLX_DIALOG_BOX WlxDialogBox;
-  PWLX_DIALOG_BOX_PARAM WlxDialogBoxParam;
-  PWLX_DIALOG_BOX_INDIRECT WlxDialogBoxIndirect;
-  PWLX_DIALOG_BOX_INDIRECT_PARAM WlxDialogBoxIndirectParam;
-  PWLX_SWITCH_DESKTOP_TO_USER WlxSwitchDesktopToUser;
-  PWLX_SWITCH_DESKTOP_TO_WINLOGON WlxSwitchDesktopToWinlogon;
-  PWLX_CHANGE_PASSWORD_NOTIFY WlxChangePasswordNotify;
-  PWLX_GET_SOURCE_DESKTOP WlxGetSourceDesktop;
-  PWLX_SET_RETURN_DESKTOP WlxSetReturnDesktop;
-  PWLX_CREATE_USER_DESKTOP WlxCreateUserDesktop;
-  PWLX_CHANGE_PASSWORD_NOTIFY_EX WlxChangePasswordNotifyEx;
-  PWLX_CLOSE_USER_DESKTOP WlxCloseUserDesktop;
-  PWLX_SET_OPTION WlxSetOption;
-  PWLX_GET_OPTION WlxGetOption;
-  PWLX_WIN31_MIGRATE WlxWin31Migrate;
-  PWLX_QUERY_CLIENT_CREDENTIALS WlxQueryClientCredentials;
-  PWLX_QUERY_IC_CREDENTIALS WlxQueryInetConnectorCredentials;
-  PWLX_DISCONNECT WlxDisconnect;
-  PWLX_QUERY_TERMINAL_SERVICES_DATA WlxQueryTerminalServicesData;
-} WLX_DISPATCH_VERSION_1_3, *PWLX_DISPATCH_VERSION_1_3;
-
-typedef struct _WLX_DISPATCH_VERSION_1_4 {
-  PWLX_USE_CTRL_ALT_DEL WlxUseCtrlAltDel;
-  PWLX_SET_CONTEXT_POINTER WlxSetContextPointer;
-  PWLX_SAS_NOTIFY WlxSasNotify;
-  PWLX_SET_TIMEOUT WlxSetTimeout;
-  PWLX_ASSIGN_SHELL_PROTECTION WlxAssignShellProtection;
-  PWLX_MESSAGE_BOX WlxMessageBox;
-  PWLX_DIALOG_BOX WlxDialogBox;
-  PWLX_DIALOG_BOX_PARAM WlxDialogBoxParam;
-  PWLX_DIALOG_BOX_INDIRECT WlxDialogBoxIndirect;
-  PWLX_DIALOG_BOX_INDIRECT_PARAM WlxDialogBoxIndirectParam;
-  PWLX_SWITCH_DESKTOP_TO_USER WlxSwitchDesktopToUser;
-  PWLX_SWITCH_DESKTOP_TO_WINLOGON WlxSwitchDesktopToWinlogon;
-  PWLX_CHANGE_PASSWORD_NOTIFY WlxChangePasswordNotify;
-  PWLX_GET_SOURCE_DESKTOP WlxGetSourceDesktop;
-  PWLX_SET_RETURN_DESKTOP WlxSetReturnDesktop;
-  PWLX_CREATE_USER_DESKTOP WlxCreateUserDesktop;
-  PWLX_CHANGE_PASSWORD_NOTIFY_EX WlxChangePasswordNotifyEx;
-  PWLX_CLOSE_USER_DESKTOP WlxCloseUserDesktop;
-  PWLX_SET_OPTION WlxSetOption;
-  PWLX_GET_OPTION WlxGetOption;
-  PWLX_WIN31_MIGRATE WlxWin31Migrate;
-  PWLX_QUERY_CLIENT_CREDENTIALS WlxQueryClientCredentials;
-  PWLX_QUERY_IC_CREDENTIALS WlxQueryInetConnectorCredentials;
-  PWLX_DISCONNECT WlxDisconnect;
-  PWLX_QUERY_TERMINAL_SERVICES_DATA WlxQueryTerminalServicesData;
-  PWLX_QUERY_CONSOLESWITCH_CREDENTIALS WlxQueryConsoleSwitchCredentials;
-  PWLX_QUERY_TS_LOGON_CREDENTIALS WlxQueryTsLogonCredentials;
-} WLX_DISPATCH_VERSION_1_4, *PWLX_DISPATCH_VERSION_1_4;
-
-/* Non-GINA notification DLLs */
-
-typedef DWORD
-(CALLBACK *PFNMSGECALLBACK)(
-  _In_ BOOL bVerbose,
-  _In_ LPWSTR lpMessage);
-
-typedef struct _WLX_NOTIFICATION_INFO {
-  ULONG Size;
-  ULONG Flags;
-  PWSTR UserName;
-  PWSTR Domain;
-  PWSTR WindowStation;
-  HANDLE hToken;
-  HDESK hDesktop;
-  PFNMSGECALLBACK pStatusCallback;
-} WLX_NOTIFICATION_INFO, *PWLX_NOTIFICATION_INFO;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /*__WINWLX_H */