mirror of
https://github.com/reactos/reactos.git
synced 2025-08-06 00:23:10 +00:00
Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys.
This commit is contained in:
parent
b94e2d8ca0
commit
c2c66aff7d
24198 changed files with 0 additions and 37285 deletions
636
sdk/include/psdk/winwlx.h
Normal file
636
sdk/include/psdk/winwlx.h
Normal file
|
@ -0,0 +1,636 @@
|
|||
/*
|
||||
* 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 */
|
Loading…
Add table
Add a link
Reference in a new issue