ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

winwlx.h
Go to the documentation of this file.
00001 /*
00002  * WinWlx.h
00003  *
00004  * WinLogon eXtension
00005  *
00006  * Contributors:
00007  *   Created by Thomas Weidenmueller <w3seek@users.sourceforge.net>
00008  *
00009  * THIS SOFTWARE IS NOT COPYRIGHTED
00010  *
00011  * This source code is offered for use in the public domain. You may
00012  * use, modify or distribute it freely.
00013  *
00014  * This code is distributed in the hope that it will be useful but
00015  * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
00016  * DISCLAIMED. This includes but is not limited to warranties of
00017  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
00018  *
00019  */
00020 
00021 #ifndef __WINWLX_H
00022 #define __WINWLX_H
00023 
00024 #ifdef __cplusplus
00025 extern "C" {
00026 #endif
00027 
00028 #pragma pack(push,4)
00029 
00030 
00031 #define WLX_VERSION_1_0             (0x00010000)
00032 #define WLX_VERSION_1_1             (0x00010001)
00033 #define WLX_VERSION_1_2             (0x00010002)
00034 #define WLX_VERSION_1_3             (0x00010003)
00035 #define WLX_VERSION_1_4             (0x00010004)
00036 #define WLX_CURRENT_VERSION         (WLX_VERSION_1_4)
00037 
00038 #define WLX_SAS_TYPE_TIMEOUT            (0x0000)
00039 #define WLX_SAS_TYPE_CTRL_ALT_DEL       (0x0001)
00040 #define WLX_SAS_TYPE_SCRNSVR_TIMEOUT        (0x0002)
00041 #define WLX_SAS_TYPE_SCRNSVR_ACTIVITY       (0x0003)
00042 #define WLX_SAS_TYPE_USER_LOGOFF        (0x0004)
00043 #define WLX_SAS_TYPE_SC_INSERT          (0x0005)
00044 #define WLX_SAS_TYPE_SC_REMOVE          (0x0006)
00045 #define WLX_SAS_TYPE_AUTHENTICATED      (0x0007)
00046 #define WLX_SAS_TYPE_SC_FIRST_READER_ARRIVED    (0x0008)
00047 #define WLX_SAS_TYPE_SC_LAST_READER_REMOVED (0x0009)
00048 #define WLX_SAS_TYPE_SWITCHUSER         (0x000A)
00049 #define WLX_SAS_TYPE_MAX_MSFT_VALUE     (0x007F)
00050 
00051 #define WLX_LOGON_OPT_NO_PROFILE        (0x0001)
00052 
00053 #define WLX_PROFILE_TYPE_V1_0           (0x0001)
00054 #define WLX_PROFILE_TYPE_V2_0           (0x0002) /* default */
00055 
00056 #define WLX_SAS_ACTION_LOGON            (0x0001)
00057 #define WLX_SAS_ACTION_NONE         (0x0002)
00058 #define WLX_SAS_ACTION_LOCK_WKSTA       (0x0003)
00059 #define WLX_SAS_ACTION_LOGOFF           (0x0004)
00060 #define WLX_SAS_ACTION_SHUTDOWN         (0x0005)
00061 #define WLX_SAS_ACTION_PWD_CHANGED      (0x0006)
00062 #define WLX_SAS_ACTION_TASKLIST         (0x0007)
00063 #define WLX_SAS_ACTION_UNLOCK_WKSTA     (0x0008)
00064 #define WLX_SAS_ACTION_FORCE_LOGOFF     (0x0009)
00065 #define WLX_SAS_ACTION_SHUTDOWN_POWER_OFF   (0x000A)
00066 #define WLX_SAS_ACTION_SHUTDOWN_REBOOT      (0x000B)
00067 #define WLX_SAS_ACTION_SHUTDOWN_SLEEP       (0x000C)
00068 #define WLX_SAS_ACTION_SHUTDOWN_SLEEP2      (0x000D)
00069 #define WLX_SAS_ACTION_SHUTDOWN_HIBERNATE   (0x000E)
00070 #define WLX_SAS_ACTION_RECONNECTED      (0x000F)
00071 #define WLX_SAS_ACTION_DELAYED_FORCE_LOGOFF (0x0010)
00072 #define WLX_SAS_ACTION_SWITCH_CONSOLE       (0x0011)
00073 
00074 #define WLX_WM_SAS              (WM_USER + 0x0259)
00075 
00076 #define WLX_DLG_SAS             (0x0065)
00077 #define WLX_DLG_INPUT_TIMEOUT           (0x0066) /* Input (keys, ...) timed out */
00078 #define WLX_DLG_SCREEN_SAVER_TIMEOUT        (0x0067) /* Screen saver activated */
00079 #define WLX_DLG_USER_LOGOFF         (0x0068) /* User logged off */
00080 
00081 #define WLX_DIRECTORY_LENGTH            (0x0100)
00082 
00083 #define WLX_CREDENTIAL_TYPE_V1_0        (0x0001)
00084 #define WLX_CREDENTIAL_TYPE_V2_0        (0x0002)
00085 
00086 #define WLX_CONSOLESWITCHCREDENTIAL_TYPE_V1_0   (0x0001)
00087 
00088 #define STATUSMSG_OPTION_NOANIMATION        (0x0001)
00089 #define STATUSMSG_OPTION_SETFOREGROUND      (0x0002)
00090 
00091 
00092 typedef
00093 struct _WLX_CLIENT_CREDENTIALS_INFO
00094 {
00095     DWORD dwType;
00096     PWSTR pszUserName;
00097     PWSTR pszDomain;
00098     PWSTR pszPassword;
00099     BOOL  fPromptForPassword;
00100 } WLX_CLIENT_CREDENTIALS_INFO_V1_0, *PWLX_CLIENT_CREDENTIALS_INFO_V1_0;
00101 
00102 typedef
00103 struct _WLX_CLIENT_CREDENTIALS_INFO_2_0
00104 {
00105     DWORD dwType;
00106     PWSTR pszUserName;
00107     PWSTR pszDomain;
00108     PWSTR pszPassword;
00109     BOOL  fPromptForPassword;
00110     BOOL  fDisconnectOnLogonFailure;
00111 } WLX_CLIENT_CREDENTIALS_INFO_V2_0, *PWLX_CLIENT_CREDENTIALS_INFO_V2_0;
00112 
00113 typedef
00114 struct _WLX_CONSOLESWITCH_CREDENTIALS_INFO
00115 {
00116     DWORD         dwType;
00117     HANDLE        UserToken;
00118     LUID          LogonId;
00119     QUOTA_LIMITS  Quotas;
00120     PWSTR         UserName;
00121     PWSTR         Domain;
00122     LARGE_INTEGER LogonTime;
00123     BOOL          SmartCardLogon;
00124     ULONG         ProfileLength;
00125     DWORD         MessageType;
00126     USHORT        LogonCount;
00127     USHORT        BadPasswordCount;
00128     LARGE_INTEGER ProfileLogonTime;
00129     LARGE_INTEGER LogoffTime;
00130     LARGE_INTEGER KickOffTime;
00131     LARGE_INTEGER PasswordLastSet;
00132     LARGE_INTEGER PasswordCanChange;
00133     LARGE_INTEGER PasswordMustChange;
00134     PWSTR         LogonScript;
00135     PWSTR         HomeDirectory;
00136     PWSTR         FullName;
00137     PWSTR         ProfilePath;
00138     PWSTR         HomeDirectoryDrive;
00139     PWSTR         LogonServer;
00140     ULONG         UserFlags;
00141     ULONG         PrivateDataLen;
00142     PBYTE         PrivateData;
00143 } WLX_CONSOLESWITCH_CREDENTIALS_INFO_V1_0, *PWLX_CONSOLESWITCH_CREDENTIALS_INFO_V1_0;
00144 
00145 typedef
00146 struct _WLX_MPR_NOTIFY_INFO
00147 {
00148     PWSTR pszUserName;
00149     PWSTR pszDomain;
00150     PWSTR pszPassword;
00151     PWSTR pszOldPassword;
00152 } WLX_MPR_NOTIFY_INFO, *PWLX_MPR_NOTIFY_INFO;
00153 
00154 typedef
00155 struct _WLX_PROFILE_V1_0
00156 {
00157     DWORD dwType;
00158     PWSTR pszProfile;
00159 } WLX_PROFILE_V1_0, *PWLX_PROFILE_V1_0;
00160 
00161 typedef
00162 struct _WLX_PROFILE_V2_0
00163 {
00164     DWORD dwType;
00165     PWSTR pszProfile;
00166     PWSTR pszPolicy;
00167     PWSTR pszNetworkDefaultUserProfile;
00168     PWSTR pszServerName;
00169     PWSTR pszEnvironment;
00170 } WLX_PROFILE_V2_0, *PWLX_PROFILE_V2_0;
00171 
00172 typedef
00173 struct _WLX_SC_NOTIFICATION_INFO
00174 {
00175     PWSTR pszCard;
00176     PWSTR pszReader;
00177     PWSTR pszContainer;
00178     PWSTR pszCryptoProvider;
00179 } WLX_SC_NOTIFICATION_INFO, *PWLX_SC_NOTIFICATION_INFO;
00180 
00181 typedef
00182 struct _WLX_TERMINAL_SERVICES_DATA
00183 {
00184     WCHAR ProfilePath[WLX_DIRECTORY_LENGTH + 1];
00185     WCHAR HomeDir[WLX_DIRECTORY_LENGTH + 1];
00186     WCHAR HomeDirDrive[4];
00187 } WLX_TERMINAL_SERVICES_DATA, *PWLX_TERMINAL_SERVICES_DATA;
00188 
00189 
00190 /* GINA Version 1.0 */
00191 
00192 BOOL WINAPI
00193 WlxActivateUserShell(
00194     PVOID pWlxContext,
00195     PWSTR pszDesktopName,
00196     PWSTR pszMprLogonScript,
00197     PVOID pEnvironment);
00198 
00199 VOID WINAPI
00200 WlxDisplayLockedNotice(
00201     PVOID pWlxContext);
00202 
00203 VOID WINAPI
00204 WlxDisplaySASNotice(
00205     PVOID pWlxContext);
00206 
00207 BOOL WINAPI
00208 WlxInitialize(
00209     LPWSTR lpWinsta,
00210     HANDLE hWlx,
00211     PVOID  pvReserved,
00212     PVOID  pWinlogonFunctions,
00213     PVOID  *pWlxContext);
00214 
00215 BOOL WINAPI
00216 WlxIsLockOk(
00217     PVOID pWlxContext);
00218 
00219 BOOL WINAPI
00220 WlxIsLogoffOk(
00221     PVOID pWlxContext);
00222 
00223 int WINAPI
00224 WlxLoggedOnSAS(
00225     PVOID pWlxContext,
00226     DWORD dwSasType,
00227     PVOID pReserved);
00228 
00229 int WINAPI
00230 WlxLoggedOutSAS(
00231     PVOID                pWlxContext,
00232     DWORD                dwSasType,
00233     PLUID                pAuthenticationId,
00234     PSID                 pLogonSid,
00235     PDWORD               pdwOptions,
00236     PHANDLE              phToken,
00237     PWLX_MPR_NOTIFY_INFO pNprNotifyInfo,
00238     PVOID                *pProfile);
00239 
00240 VOID WINAPI
00241 WlxLogoff(
00242     PVOID pWlxContext);
00243 
00244 BOOL WINAPI
00245 WlxNegotiate(
00246     DWORD  dwWinlogonVersion,
00247     PDWORD pdwDllVersion);
00248 
00249 VOID WINAPI
00250 WlxShutdown(
00251     PVOID pWlxContext,
00252     DWORD ShutdownType);
00253 
00254 int WINAPI
00255 WlxWkstaLockedSAS(
00256     PVOID pWlxContext,
00257     DWORD dwSasType);
00258 
00259 
00260 /* GINA Version 1.1 */
00261 
00262 BOOL WINAPI
00263 WlxScreenSaverNotify(
00264     PVOID pWlxContext,
00265     BOOL  *pSecure);
00266 
00267 BOOL WINAPI
00268 WlxStartApplication(
00269     PVOID pWlxContext,
00270     PWSTR pszDesktopName,
00271     PVOID pEnvironment,
00272     PWSTR pszCmdLine);
00273 
00274 
00275 /* GINA Version 1.3 */
00276 
00277 BOOL WINAPI
00278 WlxDisplayStatusMessage(
00279     PVOID pWlxContext,
00280     HDESK hDesktop,
00281     DWORD dwOptions,
00282     PWSTR pTitle,
00283     PWSTR pMessage);
00284 
00285 BOOL WINAPI
00286 WlxGetStatusMessage(
00287     PVOID pWlxContext,
00288     DWORD *pdwOptions,
00289     PWSTR pMessage,
00290     DWORD dwBufferSize);
00291 
00292 BOOL
00293 WINAPI
00294 WlxNetworkProviderLoad(
00295     PVOID                pWlxContext,
00296     PWLX_MPR_NOTIFY_INFO pNprNotifyInfo);
00297 
00298 BOOL WINAPI
00299 WlxRemoveStatusMessage(
00300     PVOID pWlxContext);
00301 
00302 
00303 /* GINA Version 1.4 */
00304 
00305 VOID WINAPI
00306 WlxDisconnectNotify(
00307     PVOID pWlxContext);
00308 
00309 BOOL WINAPI
00310 WlxGetConsoleSwitchCredentials(
00311     PVOID pWlxContext,
00312     PVOID pCredInfo);
00313 
00314 VOID WINAPI
00315 WlxReconnectNotify(
00316     PVOID pWlxContext);
00317 
00318 
00319 /* Services that Winlogon provides */
00320 
00321 #define WLX_DESKTOP_NAME            (0x0001) /* Name present */
00322 #define WLX_DESKTOP_HANDLE          (0x0002) /* Handle present */
00323 
00324 #define WLX_CREATE_INSTANCE_ONLY        (0x0001)
00325 #define WLX_CREATE_USER             (0x0002)
00326 
00327 #define WLX_OPTION_USE_CTRL_ALT_DEL     (0x0001)
00328 #define WLX_OPTION_CONTEXT_POINTER      (0x0002)
00329 #define WLX_OPTION_USE_SMART_CARD       (0x0003)
00330 #define WLX_OPTION_FORCE_LOGOFF_TIME        (0x0004)
00331 #define WLX_OPTION_IGNORE_AUTO_LOGON        (0x0008)
00332 #define WLX_OPTION_NO_SWITCH_ON_SAS     (0x0009)
00333 
00334 #define WLX_OPTION_SMART_CARD_PRESENT       (0x00010001)
00335 #define WLX_OPTION_SMART_CARD_INFO      (0x00010002)
00336 #define WLX_OPTION_DISPATCH_TABLE_SIZE      (0x00010003)
00337 
00338 typedef
00339 struct _WLX_DESKTOP
00340 {
00341     DWORD Size;
00342     DWORD Flags;
00343     HDESK hDesktop;
00344     PWSTR pszDesktopName;
00345 } WLX_DESKTOP, *PWLX_DESKTOP;
00346 
00347 typedef
00348 int (WINAPI *PWLX_ASSIGN_SHELL_PROTECTION)(
00349     HANDLE hWlx,
00350     HANDLE hToken,
00351     HANDLE hProcess,
00352     HANDLE hThread);
00353 
00354 typedef
00355 BOOL (WINAPI *PWLX_CLOSE_USER_DESKTOP)(
00356     HANDLE       hWlx,
00357     PWLX_DESKTOP pDesktop,
00358     HANDLE       hToken);
00359 
00360 typedef
00361 int (WINAPI *PWLX_CHANGE_PASSWORD_NOTIFY)(
00362     HANDLE               hWlx,
00363     PWLX_MPR_NOTIFY_INFO pMprInfo,
00364     DWORD                dwChangeInfo);
00365 
00366 typedef
00367 int (WINAPI *PWLX_CHANGE_PASSWORD_NOTIFY_EX)(
00368     HANDLE               hWlx,
00369     PWLX_MPR_NOTIFY_INFO pMprInfo,
00370     DWORD                dwChangeInfo,
00371     PWSTR                ProviderName,
00372     PVOID                Reserved);
00373 
00374 typedef
00375 BOOL (WINAPI *PWLX_CREATE_USER_DESKTOP)(
00376     HANDLE       hWlx,
00377     HANDLE       hToken,
00378     DWORD        Flags,
00379     PWSTR        pszDesktopName,
00380     PWLX_DESKTOP *ppDesktop);
00381 
00382 typedef
00383 int (WINAPI *PWLX_DIALOG_BOX)(
00384     HANDLE  hWlx,
00385     HANDLE  hInst,
00386     LPWSTR  lpszTemplate,
00387     HWND    hwndOwner,
00388     DLGPROC dlgprc);
00389 
00390 typedef
00391 int (WINAPI *PWLX_DIALOG_BOX_INDIRECT)(
00392     HANDLE         hWlx,
00393     HANDLE         hInst,
00394     LPCDLGTEMPLATE hDialogTemplate,
00395     HWND           hwndOwner,
00396     DLGPROC        dlgprc);
00397 
00398 typedef
00399 int (WINAPI *PWLX_DIALOG_BOX_INDIRECT_PARAM)(
00400     HANDLE         hWlx,
00401     HANDLE         hInst,
00402     LPCDLGTEMPLATE hDialogTemplate,
00403     HWND           hwndOwner,
00404     DLGPROC        dlgprc,
00405     LPARAM         dwInitParam);
00406 
00407 typedef
00408 int (WINAPI *PWLX_DIALOG_BOX_PARAM)(
00409     HANDLE  hWlx,
00410     HANDLE  hInst,
00411     LPWSTR  lpszTemplate,
00412     HWND    hwndOwner,
00413     DLGPROC dlgprc,
00414     LPARAM  dwInitParam);
00415 
00416 typedef
00417 BOOL (WINAPI *PWLX_DISCONNECT)();
00418 
00419 typedef
00420 BOOL (WINAPI *PWLX_GET_OPTION)(
00421     HANDLE    hWlx,
00422     DWORD     Option,
00423     ULONG_PTR *Value);
00424 
00425 typedef
00426 BOOL (WINAPI *PWLX_GET_SOURCE_DESKTOP)(
00427     HANDLE       hWlx,
00428     PWLX_DESKTOP *ppDesktop);
00429 
00430 typedef
00431 int (WINAPI *PWLX_MESSAGE_BOX)(
00432     HANDLE hWlx,
00433     HWND   hwndOwner,
00434     LPWSTR lpszText,
00435     LPWSTR lpszTitle,
00436     UINT   fuStyle);
00437 
00438 typedef
00439 BOOL (WINAPI *PWLX_QUERY_CLIENT_CREDENTIALS)(
00440     PWLX_CLIENT_CREDENTIALS_INFO_V1_0 pCred);
00441 
00442 typedef
00443 DWORD (WINAPI *PWLX_QUERY_CONSOLESWITCH_CREDENTIALS)(
00444     PWLX_CONSOLESWITCH_CREDENTIALS_INFO_V1_0 pCred);
00445 
00446 typedef
00447 BOOL (WINAPI *PWLX_QUERY_IC_CREDENTIALS)(
00448     PWLX_CLIENT_CREDENTIALS_INFO_V1_0 pCred);
00449 
00450 typedef
00451 DWORD (WINAPI *PWLX_QUERY_TERMINAL_SERVICES_DATA)(
00452     HANDLE                      hWlx,
00453     PWLX_TERMINAL_SERVICES_DATA pTSData,
00454     WCHAR                       *UserName,
00455     WCHAR                       *Domain);
00456 
00457 typedef
00458 BOOL (WINAPI *PWLX_QUERY_TS_LOGON_CREDENTIALS)(
00459     PWLX_CLIENT_CREDENTIALS_INFO_V2_0 pCred);
00460 
00461 typedef
00462 VOID (WINAPI *PWLX_SAS_NOTIFY)(
00463     HANDLE hWlx,
00464     DWORD  dwSasType);
00465 
00466 typedef
00467 VOID (WINAPI *PWLX_SET_CONTEXT_POINTER)(
00468     HANDLE hWlx,
00469     PVOID  pWlxContext);
00470 
00471 typedef
00472 BOOL (WINAPI *PWLX_SET_RETURN_DESKTOP)(
00473     HANDLE       hWlx,
00474     PWLX_DESKTOP pDesktop);
00475 
00476 typedef
00477 BOOL (WINAPI *PWLX_SET_OPTION)(
00478     HANDLE    hWlx,
00479     DWORD     Option,
00480     ULONG_PTR Value,
00481     ULONG_PTR *OldValue);
00482 
00483 typedef
00484 BOOL (WINAPI *PWLX_SET_TIMEOUT)(
00485     HANDLE hWlx,
00486     DWORD  Timeout);
00487 
00488 typedef
00489 int (WINAPI *PWLX_SWITCH_DESKTOP_TO_USER)(
00490     HANDLE hWlx);
00491 
00492 typedef
00493 int (WINAPI *PWLX_SWITCH_DESKTOP_TO_WINLOGON)(
00494     HANDLE hWlx);
00495 
00496 typedef
00497 VOID (WINAPI *PWLX_USE_CTRL_ALT_DEL)(
00498     HANDLE hWlx);
00499 
00500 typedef
00501 VOID (WINAPI *PWLX_WIN31_MIGRATE)(
00502     HANDLE hWlx);
00503 
00504 
00505 /* function dispatch tables */
00506 
00507 typedef
00508 struct _WLX_DISPATCH_VERSION_1_0
00509 {
00510     PWLX_USE_CTRL_ALT_DEL           WlxUseCtrlAltDel;
00511     PWLX_SET_CONTEXT_POINTER        WlxSetContextPointer;
00512     PWLX_SAS_NOTIFY                 WlxSasNotify;
00513     PWLX_SET_TIMEOUT                WlxSetTimeout;
00514     PWLX_ASSIGN_SHELL_PROTECTION    WlxAssignShellProtection;
00515     PWLX_MESSAGE_BOX                WlxMessageBox;
00516     PWLX_DIALOG_BOX                 WlxDialogBox;
00517     PWLX_DIALOG_BOX_PARAM           WlxDialogBoxParam;
00518     PWLX_DIALOG_BOX_INDIRECT        WlxDialogBoxIndirect;
00519     PWLX_DIALOG_BOX_INDIRECT_PARAM  WlxDialogBoxIndirectParam;
00520     PWLX_SWITCH_DESKTOP_TO_USER     WlxSwitchDesktopToUser;
00521     PWLX_SWITCH_DESKTOP_TO_WINLOGON WlxSwitchDesktopToWinlogon;
00522     PWLX_CHANGE_PASSWORD_NOTIFY     WlxChangePasswordNotify;
00523 } WLX_DISPATCH_VERSION_1_0, *PWLX_DISPATCH_VERSION_1_0;
00524 
00525 typedef
00526 struct _WLX_DISPATCH_VERSION_1_1
00527 {
00528     PWLX_USE_CTRL_ALT_DEL           WlxUseCtrlAltDel;
00529     PWLX_SET_CONTEXT_POINTER        WlxSetContextPointer;
00530     PWLX_SAS_NOTIFY                 WlxSasNotify;
00531     PWLX_SET_TIMEOUT                WlxSetTimeout;
00532     PWLX_ASSIGN_SHELL_PROTECTION    WlxAssignShellProtection;
00533     PWLX_MESSAGE_BOX                WlxMessageBox;
00534     PWLX_DIALOG_BOX                 WlxDialogBox;
00535     PWLX_DIALOG_BOX_PARAM           WlxDialogBoxParam;
00536     PWLX_DIALOG_BOX_INDIRECT        WlxDialogBoxIndirect;
00537     PWLX_DIALOG_BOX_INDIRECT_PARAM  WlxDialogBoxIndirectParam;
00538     PWLX_SWITCH_DESKTOP_TO_USER     WlxSwitchDesktopToUser;
00539     PWLX_SWITCH_DESKTOP_TO_WINLOGON WlxSwitchDesktopToWinlogon;
00540     PWLX_CHANGE_PASSWORD_NOTIFY     WlxChangePasswordNotify;
00541     PWLX_GET_SOURCE_DESKTOP         WlxGetSourceDesktop;
00542     PWLX_SET_RETURN_DESKTOP         WlxSetReturnDesktop;
00543     PWLX_CREATE_USER_DESKTOP        WlxCreateUserDesktop;
00544     PWLX_CHANGE_PASSWORD_NOTIFY_EX  WlxChangePasswordNotifyEx;
00545 } WLX_DISPATCH_VERSION_1_1, *PWLX_DISPATCH_VERSION_1_1;
00546 
00547 typedef
00548 struct _WLX_DISPATCH_VERSION_1_2
00549 {
00550     PWLX_USE_CTRL_ALT_DEL           WlxUseCtrlAltDel;
00551     PWLX_SET_CONTEXT_POINTER        WlxSetContextPointer;
00552     PWLX_SAS_NOTIFY                 WlxSasNotify;
00553     PWLX_SET_TIMEOUT                WlxSetTimeout;
00554     PWLX_ASSIGN_SHELL_PROTECTION    WlxAssignShellProtection;
00555     PWLX_MESSAGE_BOX                WlxMessageBox;
00556     PWLX_DIALOG_BOX                 WlxDialogBox;
00557     PWLX_DIALOG_BOX_PARAM           WlxDialogBoxParam;
00558     PWLX_DIALOG_BOX_INDIRECT        WlxDialogBoxIndirect;
00559     PWLX_DIALOG_BOX_INDIRECT_PARAM  WlxDialogBoxIndirectParam;
00560     PWLX_SWITCH_DESKTOP_TO_USER     WlxSwitchDesktopToUser;
00561     PWLX_SWITCH_DESKTOP_TO_WINLOGON WlxSwitchDesktopToWinlogon;
00562     PWLX_CHANGE_PASSWORD_NOTIFY     WlxChangePasswordNotify;
00563     PWLX_GET_SOURCE_DESKTOP         WlxGetSourceDesktop;
00564     PWLX_SET_RETURN_DESKTOP         WlxSetReturnDesktop;
00565     PWLX_CREATE_USER_DESKTOP        WlxCreateUserDesktop;
00566     PWLX_CHANGE_PASSWORD_NOTIFY_EX  WlxChangePasswordNotifyEx;
00567     PWLX_CLOSE_USER_DESKTOP         WlxCloseUserDesktop ;
00568 } WLX_DISPATCH_VERSION_1_2, *PWLX_DISPATCH_VERSION_1_2;
00569 
00570 typedef
00571 struct _WLX_DISPATCH_VERSION_1_3
00572 {
00573     PWLX_USE_CTRL_ALT_DEL             WlxUseCtrlAltDel;
00574     PWLX_SET_CONTEXT_POINTER          WlxSetContextPointer;
00575     PWLX_SAS_NOTIFY                   WlxSasNotify;
00576     PWLX_SET_TIMEOUT                  WlxSetTimeout;
00577     PWLX_ASSIGN_SHELL_PROTECTION      WlxAssignShellProtection;
00578     PWLX_MESSAGE_BOX                  WlxMessageBox;
00579     PWLX_DIALOG_BOX                   WlxDialogBox;
00580     PWLX_DIALOG_BOX_PARAM             WlxDialogBoxParam;
00581     PWLX_DIALOG_BOX_INDIRECT          WlxDialogBoxIndirect;
00582     PWLX_DIALOG_BOX_INDIRECT_PARAM    WlxDialogBoxIndirectParam;
00583     PWLX_SWITCH_DESKTOP_TO_USER       WlxSwitchDesktopToUser;
00584     PWLX_SWITCH_DESKTOP_TO_WINLOGON   WlxSwitchDesktopToWinlogon;
00585     PWLX_CHANGE_PASSWORD_NOTIFY       WlxChangePasswordNotify;
00586     PWLX_GET_SOURCE_DESKTOP           WlxGetSourceDesktop;
00587     PWLX_SET_RETURN_DESKTOP           WlxSetReturnDesktop;
00588     PWLX_CREATE_USER_DESKTOP          WlxCreateUserDesktop;
00589     PWLX_CHANGE_PASSWORD_NOTIFY_EX    WlxChangePasswordNotifyEx;
00590     PWLX_CLOSE_USER_DESKTOP           WlxCloseUserDesktop ;
00591     PWLX_SET_OPTION                   WlxSetOption;
00592     PWLX_GET_OPTION                   WlxGetOption;
00593     PWLX_WIN31_MIGRATE                WlxWin31Migrate;
00594     PWLX_QUERY_CLIENT_CREDENTIALS     WlxQueryClientCredentials;
00595     PWLX_QUERY_IC_CREDENTIALS         WlxQueryInetConnectorCredentials;
00596     PWLX_DISCONNECT                   WlxDisconnect;
00597     PWLX_QUERY_TERMINAL_SERVICES_DATA WlxQueryTerminalServicesData;
00598 } WLX_DISPATCH_VERSION_1_3, *PWLX_DISPATCH_VERSION_1_3;
00599 
00600 typedef
00601 struct _WLX_DISPATCH_VERSION_1_4
00602 {
00603     PWLX_USE_CTRL_ALT_DEL                WlxUseCtrlAltDel;
00604     PWLX_SET_CONTEXT_POINTER             WlxSetContextPointer;
00605     PWLX_SAS_NOTIFY                      WlxSasNotify;
00606     PWLX_SET_TIMEOUT                     WlxSetTimeout;
00607     PWLX_ASSIGN_SHELL_PROTECTION         WlxAssignShellProtection;
00608     PWLX_MESSAGE_BOX                     WlxMessageBox;
00609     PWLX_DIALOG_BOX                      WlxDialogBox;
00610     PWLX_DIALOG_BOX_PARAM                WlxDialogBoxParam;
00611     PWLX_DIALOG_BOX_INDIRECT             WlxDialogBoxIndirect;
00612     PWLX_DIALOG_BOX_INDIRECT_PARAM       WlxDialogBoxIndirectParam;
00613     PWLX_SWITCH_DESKTOP_TO_USER          WlxSwitchDesktopToUser;
00614     PWLX_SWITCH_DESKTOP_TO_WINLOGON      WlxSwitchDesktopToWinlogon;
00615     PWLX_CHANGE_PASSWORD_NOTIFY          WlxChangePasswordNotify;
00616     PWLX_GET_SOURCE_DESKTOP              WlxGetSourceDesktop;
00617     PWLX_SET_RETURN_DESKTOP              WlxSetReturnDesktop;
00618     PWLX_CREATE_USER_DESKTOP             WlxCreateUserDesktop;
00619     PWLX_CHANGE_PASSWORD_NOTIFY_EX       WlxChangePasswordNotifyEx;
00620     PWLX_CLOSE_USER_DESKTOP              WlxCloseUserDesktop ;
00621     PWLX_SET_OPTION                      WlxSetOption;
00622     PWLX_GET_OPTION                      WlxGetOption;
00623     PWLX_WIN31_MIGRATE                   WlxWin31Migrate;
00624     PWLX_QUERY_CLIENT_CREDENTIALS        WlxQueryClientCredentials;
00625     PWLX_QUERY_IC_CREDENTIALS            WlxQueryInetConnectorCredentials;
00626     PWLX_DISCONNECT                      WlxDisconnect;
00627     PWLX_QUERY_TERMINAL_SERVICES_DATA    WlxQueryTerminalServicesData;
00628     PWLX_QUERY_CONSOLESWITCH_CREDENTIALS WlxQueryConsoleSwitchCredentials;
00629     PWLX_QUERY_TS_LOGON_CREDENTIALS      WlxQueryTsLogonCredentials;
00630 } WLX_DISPATCH_VERSION_1_4, *PWLX_DISPATCH_VERSION_1_4;
00631 
00632 
00633 /* non-GINA notification DLLs*/
00634 
00635 typedef
00636 DWORD (CALLBACK *PFNMSGECALLBACK)(
00637     BOOL bVerbose,
00638     LPWSTR lpMessage);
00639 
00640 typedef
00641 struct _WLX_NOTIFICATION_INFO
00642 {
00643     ULONG           Size;
00644     ULONG           Flags;
00645     PWSTR           UserName;
00646     PWSTR           Domain;
00647     PWSTR           WindowStation;
00648     HANDLE          hToken;
00649     HDESK           hDesktop;
00650     PFNMSGECALLBACK pStatusCallback;
00651 } WLX_NOTIFICATION_INFO, *PWLX_NOTIFICATION_INFO;
00652 
00653 
00654 #pragma pack(pop)
00655 
00656 #ifdef __cplusplus
00657 }
00658 #endif
00659 
00660 #endif /*__WINWLX_H */
00661 
00662 /* EOF */

Generated on Mon May 28 2012 04:32:44 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.