Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenwinwlx.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
1.7.6.1
|