Windows NT 4.0 source code leak
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

129 lines
2.8 KiB

/****************************** Module Header ******************************\
* Module Name: timeout.h
*
* Copyright (c) 1991, Microsoft Corporation
*
* Defines apis to support dialog and message-box input timeouts
*
* History:
* 12-05-91 Davidc Created.
\***************************************************************************/
//
// Define timeout type - represents timeout value in seconds
//
typedef ULONG TIMEOUT;
typedef TIMEOUT * PTIMEOUT;
//
// Define special timeout values
//
// The top bit of the timeout value is the 'notify bit'.
// This bit is only used when the timeout value = TIMEOUT_NONE
//
// When a screen-saver timeout occurs, the timeout stack is searched
// from the top down for the first occurrence of
// 1) A window with a timeout OR
// 2) The first TIMEOUT_NONE window with the notify-bit set.
//
// In case 1), the window is timed-out and returns DLG_SCREEN_SAVER_TIMEOUT.
//
// In case 2), a WM_SCREEN_SAVER_TIMEOUT message is posted to the window.
//
// The notify bit is never inherited. If required, it must be specified in
// addition to TIMEOUT_CURRENT.
//
// NOTE SAS messages are always sent to the topmost timeout window
//
// NOTE User logoff messages cause the top window to return DLG_USER_LOGOFF
// if it has a non-0 timeout, otherwise the window receives a WM_USER_LOGOFF
// message.
//
#define TIMEOUT_VALUE_MASK (0x0fffffff)
#define TIMEOUT_NOTIFY_MASK (0x10000000)
#define TIMEOUT_VALUE(t) (t & TIMEOUT_VALUE_MASK)
#define TIMEOUT_NOTIFY(t) (t & TIMEOUT_NOTIFY_MASK)
#define TIMEOUT_SS_NOTIFY (TIMEOUT_NOTIFY_MASK)
#define TIMEOUT_CURRENT (TIMEOUT_VALUE_MASK) // Use existing timeout
#define TIMEOUT_NONE (0) // Disable input timeout
//
// Exported function prototypes
//
LONG ForwardMessage(
PGLOBALS pGlobals,
UINT Message,
WPARAM wParam,
LPARAM lParam
);
VOID ProcessDialogTimeout(
HWND hwnd,
UINT Message,
DWORD wParam,
LONG lParam
);
int TimeoutMessageBoxEx(
PGLOBALS pGlobals,
HWND hWnd,
UINT IdText,
UINT IdCaption,
UINT wType,
TIMEOUT Timeout
);
int TimeoutMessageBoxlpstr(
PGLOBALS pGlobals,
HWND hWnd,
LPTSTR Text,
LPTSTR Caption,
UINT wType,
TIMEOUT Timeout
);
int
TimeoutDialogBoxParam(
PGLOBALS pGlobals,
HANDLE hInstance,
LPTSTR lpTemplateName,
HWND hWndParent,
DLGPROC lpDialogFunc,
LONG dwInitParam,
TIMEOUT Timeout
);
int
TimeoutDialogBoxIndirectParam(
PGLOBALS pGlobals,
HANDLE hInstance,
LPDLGTEMPLATE Template,
HWND hwndParent,
DLGPROC lpDialogFunc,
LONG dwInitParam,
TIMEOUT Timeout
);
BOOL EndTopDialog(
HWND hwnd,
int DlgResult
);
BOOL SetTopTimeout(HWND hwnd);
BOOL
TimeoutUpdateTopTimeout(
DWORD Timeout);