ReactOS  0.4.15-dev-5461-g062a8f2
precomp.h File Reference
#include <stdarg.h>
#include <windef.h>
#include <winbase.h>
#include <wingdi.h>
#include <winuser.h>
#include <commctrl.h>
#include <commdlg.h>
#include <tchar.h>
Include dependency graph for precomp.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define WM_USER_CLOSE_CHILD   (WM_USER + 1)
 

Functions

BOOL RegisterMMCWndClasses (VOID)
 
VOID UnregisterMMCWndClasses (VOID)
 
HWND CreateConsoleWindow (IN LPCTSTR lpFileName OPTIONAL, int nCmdShow)
 
INT LengthOfStrResource (IN HINSTANCE hInst, IN UINT uID)
 
INT AllocAndLoadString (OUT LPTSTR *lpTarget, IN HINSTANCE hInst, IN UINT uID)
 
DWORD LoadAndFormatString (IN HINSTANCE hInstance, IN UINT uID, OUT LPTSTR *lpTarget,...)
 

Variables

HINSTANCE hAppInstance
 
HANDLE hAppHeap
 
HWND hwndMainConsole
 
HWND hwndMDIClient
 

Macro Definition Documentation

◆ WM_USER_CLOSE_CHILD

#define WM_USER_CLOSE_CHILD   (WM_USER + 1)

Definition at line 14 of file precomp.h.

Function Documentation

◆ AllocAndLoadString()

INT AllocAndLoadString ( OUT LPTSTR lpTarget,
IN HINSTANCE  hInst,
IN UINT  uID 
)

Definition at line 59 of file misc.c.

62 {
63  INT ln;
64 
66  uID);
67  if (ln++ > 0)
68  {
69  (*lpTarget) = (LPWSTR)LocalAlloc(LMEM_FIXED,
70  ln * sizeof(TCHAR));
71  if ((*lpTarget) != NULL)
72  {
73  INT Ret;
74  if (!(Ret = LoadString(hInst, uID, *lpTarget, ln)))
75  {
76  LocalFree((HLOCAL)(*lpTarget));
77  }
78  return Ret;
79  }
80  }
81  return 0;
82 }
int32_t INT
Definition: typedefs.h:58
#define LMEM_FIXED
Definition: winbase.h:368
char TCHAR
Definition: xmlstorage.h:189
HINSTANCE hInst
Definition: dxdiag.c:13
HLOCAL NTAPI LocalFree(HLOCAL hMem)
Definition: heapmem.c:1577
#define NULL
Definition: types.h:112
static LPWSTR
Definition: misc.c:35
HLOCAL NTAPI LocalAlloc(UINT uFlags, SIZE_T dwBytes)
Definition: heapmem.c:1373
INT LengthOfStrResource(IN HINSTANCE hInst, IN UINT uID)
Definition: misc.c:23
#define LoadString
Definition: winuser.h:5809

◆ CreateConsoleWindow()

HWND CreateConsoleWindow ( IN LPCTSTR lpFileName  OPTIONAL,
int  nCmdShow 
)

Definition at line 585 of file console.c.

587 {
588  HWND hWndConsole;
590 
591  hWndConsole = CreateWindowEx(WS_EX_WINDOWEDGE,
593  NULL,
599  NULL,
600  NULL,
601  hAppInstance,
602  (PVOID)FileName);
603 
604  if (hWndConsole != NULL)
605  {
606  ShowWindow(hWndConsole, nCmdShow);
607  }
608 
609  return hWndConsole;
610 }
#define WS_CLIPSIBLINGS
Definition: pedump.c:618
#define WS_EX_WINDOWEDGE
Definition: winuser.h:407
#define LONG_PTR
Definition: treelist.c:79
static const TCHAR szMMCMainFrame[]
Definition: console.c:55
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
#define WS_CLIPCHILDREN
Definition: pedump.c:619
#define CreateWindowEx
Definition: winuser.h:5745
#define CW_USEDEFAULT
Definition: winuser.h:225
__int3264 LONG_PTR
Definition: mstsclib_h.h:276
#define NULL
Definition: types.h:112
#define WS_OVERLAPPEDWINDOW
Definition: pedump.c:637
_In_ LPCSTR lpFileName
Definition: winbase.h:3058
HINSTANCE hAppInstance
Definition: mmc.c:23

Referenced by _tWinMain().

◆ LengthOfStrResource()

INT LengthOfStrResource ( IN HINSTANCE  hInst,
IN UINT  uID 
)

Definition at line 23 of file misc.c.

25 {
26  HRSRC hrSrc;
27  HGLOBAL hRes;
28  LPWSTR lpName, lpStr;
29 
30  if (hInst == NULL)
31  {
32  return -1;
33  }
34 
35  /* There are always blocks of 16 strings */
36  lpName = (LPWSTR)MAKEINTRESOURCE((uID >> 4) + 1);
37 
38  /* Find the string table block */
39  if ((hrSrc = FindResourceW(hInst, lpName, (LPWSTR)RT_STRING)) &&
40  (hRes = LoadResource(hInst, hrSrc)) &&
41  (lpStr = LockResource(hRes)))
42  {
43  UINT x;
44 
45  /* Find the string we're looking for */
46  uID &= 0xF; /* position in the block, same as % 16 */
47  for (x = 0; x < uID; x++)
48  {
49  lpStr += (*lpStr) + 1;
50  }
51 
52  /* Found the string */
53  return (int)(*lpStr);
54  }
55  return -1;
56 }
#define MAKEINTRESOURCE
Definition: winuser.h:591
_In_ LPCSTR lpName
Definition: winbase.h:2776
LPVOID WINAPI LockResource(HGLOBAL handle)
Definition: res.c:550
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
HRSRC WINAPI FindResourceW(HINSTANCE hModule, LPCWSTR name, LPCWSTR type)
Definition: res.c:176
HGLOBAL WINAPI LoadResource(HINSTANCE hModule, HRSRC hRsrc)
Definition: res.c:532
#define RT_STRING
Definition: pedump.c:368
HINSTANCE hInst
Definition: dxdiag.c:13
unsigned int UINT
Definition: ndis.h:50
#define NULL
Definition: types.h:112
static LPWSTR
Definition: misc.c:35
WCHAR * LPWSTR
Definition: xmlstorage.h:184

◆ LoadAndFormatString()

DWORD LoadAndFormatString ( IN HINSTANCE  hInstance,
IN UINT  uID,
OUT LPTSTR lpTarget,
  ... 
)

Definition at line 85 of file misc.c.

89 {
90  DWORD Ret = 0;
92  va_list lArgs;
93 
95  hInstance,
96  uID) != 0)
97  {
98  va_start(lArgs, lpTarget);
99  /* let's use FormatMessage to format it because it has the ability to allocate
100  memory automatically */
102  lpFormat,
103  0,
104  0,
105  (LPTSTR)lpTarget,
106  0,
107  &lArgs);
108  va_end(lArgs);
109 
111  }
112 
113  return Ret;
114 }
INT AllocAndLoadString(OUT LPTSTR *lpTarget, IN HINSTANCE hInst, IN UINT uID)
Definition: misc.c:59
#define FORMAT_MESSAGE_FROM_STRING
Definition: winbase.h:421
CHAR * LPTSTR
Definition: xmlstorage.h:192
HINSTANCE hInstance
Definition: charmap.c:19
#define va_end(ap)
Definition: acmsvcex.h:90
#define FORMAT_MESSAGE_ALLOCATE_BUFFER
Definition: winbase.h:419
char * va_list
Definition: acmsvcex.h:78
unsigned long DWORD
Definition: ntddk_ex.h:95
va_start(ap, x)
#define FormatMessage
Definition: winbase.h:3666
LPCWSTR lpFormat
Definition: trayclock.cpp:32
HLOCAL NTAPI LocalFree(HLOCAL hMem)
Definition: heapmem.c:1577
WCHAR * LPWSTR
Definition: xmlstorage.h:184

◆ RegisterMMCWndClasses()

BOOL RegisterMMCWndClasses ( VOID  )

Definition at line 526 of file console.c.

527 {
528  WNDCLASSEX wc = {0};
529  BOOL Ret;
530 
531  /* Register the MMCMainFrame window class */
532  wc.cbSize = sizeof(WNDCLASSEX);
533  wc.style = 0;
535  wc.cbClsExtra = 0;
536  wc.cbWndExtra = sizeof(PCONSOLE_MAINFRAME_WND);
537  wc.hInstance = hAppInstance;
540  wc.hCursor = LoadCursor(NULL,
542  wc.hbrBackground = (HBRUSH)(COLOR_BTNFACE + 1);
543  wc.lpszMenuName = NULL;
545 
546  Ret = (RegisterClassEx(&wc) != (ATOM)0);
547 
548  if (Ret)
549  {
550  /* Register the MMCChildFrm window class */
551  wc.cbSize = sizeof(WNDCLASSEX);
552  wc.style = CS_HREDRAW | CS_VREDRAW;
554  wc.cbClsExtra = 0;
555  wc.cbWndExtra = sizeof(PCONSOLE_CHILDFRM_WND);
556  wc.hInstance = hAppInstance;
559  wc.hbrBackground = (HBRUSH)(COLOR_3DFACE+1);
560  wc.lpszMenuName = NULL;
563 
564  Ret = (RegisterClassEx(&wc) != (ATOM)0);
565  if (!Ret)
566  {
568  hAppInstance);
569  }
570  }
571 
572  return Ret;
573 }
UINT style
Definition: winuser.h:3192
#define MAKEINTRESOURCE
Definition: winuser.h:591
LPCSTR lpszMenuName
Definition: winuser.h:3200
#define RegisterClassEx
Definition: winuser.h:5827
struct _CONSOLE_MAINFRAME_WND * PCONSOLE_MAINFRAME_WND
HCURSOR hCursor
Definition: winuser.h:3198
WNDPROC lpfnWndProc
Definition: winuser.h:3193
LPCSTR lpszClassName
Definition: winuser.h:3201
WORD ATOM
Definition: dimm.idl:113
static const TCHAR szMMCMainFrame[]
Definition: console.c:55
static LRESULT CALLBACK ConsoleChildFrmProc(IN HWND hwnd, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lParam)
Definition: console.c:479
#define CS_HREDRAW
Definition: winuser.h:648
#define IDI_APPLICATION
Definition: winuser.h:699
HICON hIconSm
Definition: winuser.h:3202
static LRESULT CALLBACK ConsoleMainFrameWndProc(IN HWND hwnd, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lParam)
Definition: console.c:398
#define COLOR_3DFACE
Definition: winuser.h:923
HINSTANCE hInstance
Definition: winuser.h:3196
unsigned int BOOL
Definition: ntddk_ex.h:94
UINT cbSize
Definition: winuser.h:3191
struct _CONSOLE_CHILDFRM_WND * PCONSOLE_CHILDFRM_WND
HBRUSH hbrBackground
Definition: winuser.h:3199
#define CS_VREDRAW
Definition: winuser.h:653
int cbWndExtra
Definition: winuser.h:3195
HICON hIcon
Definition: winuser.h:3197
#define COLOR_BTNFACE
Definition: winuser.h:922
#define LoadCursor
Definition: winuser.h:5802
int cbClsExtra
Definition: winuser.h:3194
static const TCHAR szMMCChildFrm[]
Definition: console.c:56
#define NULL
Definition: types.h:112
#define IDC_ARROW
Definition: winuser.h:682
WNDCLASSEXA WNDCLASSEX
Definition: winuser.h:5709
#define LoadIcon
Definition: winuser.h:5803
#define UnregisterClass
Definition: winuser.h:5851
HINSTANCE hAppInstance
Definition: mmc.c:23
#define IDI_MAINAPP
Definition: resource.h:6

Referenced by _tWinMain().

◆ UnregisterMMCWndClasses()

VOID UnregisterMMCWndClasses ( VOID  )

Definition at line 576 of file console.c.

577 {
579  hAppInstance);
581  hAppInstance);
582 }
static const TCHAR szMMCMainFrame[]
Definition: console.c:55
static const TCHAR szMMCChildFrm[]
Definition: console.c:56
#define UnregisterClass
Definition: winuser.h:5851
HINSTANCE hAppInstance
Definition: mmc.c:23

Referenced by _tWinMain().

Variable Documentation

◆ hAppHeap

HANDLE hAppHeap

Definition at line 24 of file mmc.c.

◆ hAppInstance

HINSTANCE hAppInstance

Definition at line 23 of file mmc.c.

◆ hwndMainConsole

HWND hwndMainConsole

Definition at line 25 of file mmc.c.

Referenced by _tWinMain(), and ConsoleChildFrmProc().

◆ hwndMDIClient