66 lines
2.8 KiB
C++
66 lines
2.8 KiB
C++
// --------------------------------------------------------------------------
|
|
// Module Name: WarningDialog.h
|
|
//
|
|
// Copyright (c) 2000, Microsoft Corporation
|
|
//
|
|
// Class to manage dialog presentation for warnings and errors on termination
|
|
// of bad applications.
|
|
//
|
|
// History: 2000-08-31 vtan created
|
|
// 2000-11-04 vtan moved from fusapi to fussrv
|
|
// --------------------------------------------------------------------------
|
|
|
|
#ifndef _WarningDialog_
|
|
#define _WarningDialog_
|
|
|
|
#include "CountedObject.h"
|
|
|
|
// --------------------------------------------------------------------------
|
|
// CWarningDialog
|
|
//
|
|
// Purpose: Implements a class that presents warning and error dialogs in
|
|
// the FUS client DLL.
|
|
//
|
|
// History: 2000-08-31 vtan created
|
|
// --------------------------------------------------------------------------
|
|
|
|
class CWarningDialog : public CCountedObject
|
|
{
|
|
private:
|
|
CWarningDialog (void);
|
|
public:
|
|
CWarningDialog (HINSTANCE hInstance, HWND hwndParent, const WCHAR *pszApplication, const WCHAR *pszUser);
|
|
~CWarningDialog (void);
|
|
|
|
INT_PTR ShowPrompt (bool fCanShutdownApplication);
|
|
void ShowFailure (void);
|
|
void ShowProgress (DWORD dwTickRefresh, DWORD dwTickMaximum);
|
|
|
|
void CloseDialog (void);
|
|
private:
|
|
void CenterWindow (HWND hwnd);
|
|
|
|
void Handle_Prompt_WM_INITDIALOG (HWND hwnd);
|
|
static INT_PTR CALLBACK PromptDialogProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
|
|
|
void Handle_Progress_WM_INITDIALOG (HWND hwnd);
|
|
void Handle_Progress_WM_DESTROY (HWND hwnd);
|
|
static INT_PTR CALLBACK ProgressDialogProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
|
static void CALLBACK ProgressTimerProc (HWND hwnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime);
|
|
private:
|
|
HINSTANCE _hInstance;
|
|
HMODULE _hModuleComctlv6;
|
|
HWND _hwndParent;
|
|
HWND _hwnd;
|
|
bool _fCanShutdownApplication;
|
|
UINT _uiTimerID;
|
|
DWORD _dwTickStart,
|
|
_dwTickRefresh,
|
|
_dwTickMaximum;
|
|
WCHAR _szApplication[MAX_PATH];
|
|
const WCHAR *_pszUser;
|
|
};
|
|
|
|
#endif /* _WarningDialog_ */
|
|
|