Leaked source code of windows server 2003
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.

209 lines
4.8 KiB

  1. // Windows types for the thunk compiler
  2. //
  3. //
  4. // from the CHICAGO SDK
  5. //
  6. // This code and information is provided "as is" without warranty of
  7. // any kind, either expressed or implied, including but not limited to
  8. // the implied warranties of merchantability and/or fitness for a
  9. // particular purpose.
  10. //
  11. // Copyright (C) 1993, 1994 Microsoft Corporation. All Rights Reserved.
  12. //
  13. // Thunk compiler sample script - to demonstrate thunk types for use with
  14. // the Microsoft Thunk Compiler.
  15. //
  16. typedef unsigned short USHORT;
  17. typedef short SHORT;
  18. typedef unsigned long ULONG;
  19. typedef long LONG;
  20. typedef unsigned int UINT;
  21. typedef int INT;
  22. typedef unsigned char UCHAR;
  23. typedef hinstance HINSTANCE;
  24. typedef unsigned long HANDLE32;
  25. typedef unsigned long BOOL32;
  26. typedef void VOID;
  27. typedef void *PVOID;
  28. typedef void *LPVOID;
  29. typedef UCHAR BYTE;
  30. typedef USHORT WORD;
  31. typedef ULONG DWORD;
  32. typedef UINT HANDLE;
  33. typedef int BOOL;
  34. typedef char *LPSTR;
  35. typedef BYTE *PBYTE;
  36. typedef BYTE *LPBYTE;
  37. typedef USHORT SEL;
  38. typedef INT *LPINT;
  39. typedef UINT *LPUINT;
  40. typedef DWORD *LPDWORD;
  41. typedef LONG *LPLONG;
  42. typedef WORD *LPWORD;
  43. typedef HANDLE HWND;
  44. typedef HANDLE HDC;
  45. typedef HANDLE HBRUSH;
  46. typedef HANDLE HBITMAP;
  47. typedef HANDLE HRGN;
  48. typedef HANDLE HFONT;
  49. typedef HANDLE HCURSOR;
  50. typedef HANDLE HMENU;
  51. typedef HANDLE HPEN;
  52. typedef HANDLE HICON;
  53. typedef HANDLE HUSER; // vanilla user handle
  54. typedef HANDLE HPALETTE;
  55. typedef HANDLE HMF;
  56. typedef HANDLE HEMF;
  57. typedef HANDLE HCOLORSPACE;
  58. typedef HANDLE HMEM;
  59. typedef HANDLE HGDI; // vanilla gdi handle
  60. typedef HANDLE HGLOBAL;
  61. typedef HANDLE HRSRC;
  62. typedef HANDLE HACCEL;
  63. typedef WORD ATOM;
  64. typedef struct tagRECT {
  65. INT left;
  66. INT top;
  67. INT right;
  68. INT bottom;
  69. } RECT;
  70. typedef RECT *LPRECT;
  71. typedef struct tagPOINT {
  72. INT x;
  73. INT y;
  74. } POINT;
  75. typedef POINT *LPPOINT;
  76. typedef struct tagPAINTSTRUCT {
  77. HDC hdc;
  78. BOOL fErase;
  79. RECT rcPaint;
  80. BOOL fRestore;
  81. BOOL fIncUpdate;
  82. BYTE rgbReserved[16];
  83. } PAINTSTRUCT;
  84. typedef PAINTSTRUCT *LPPAINTSTRUCT;
  85. typedef struct tagBITMAP {
  86. int bmType;
  87. int bmWidth;
  88. int bmHeight;
  89. int bmWidthBytes;
  90. LPSTR bmBits;
  91. BYTE bmPlanes;
  92. BYTE bmBitsPixel;
  93. } BITMAP;
  94. typedef BITMAP *LPBITMAP;
  95. typedef struct tagRGBQUAD
  96. {
  97. BYTE rgbBlue;
  98. BYTE rgbGreen;
  99. BYTE rgbRed;
  100. BYTE rgbReserved;
  101. } RGBQUAD;
  102. typedef RGBQUAD *LPRGBQUAD;
  103. typedef struct tagBITMAPINFOHEADER
  104. {
  105. DWORD biSize;
  106. LONG biWidth;
  107. LONG biHeight;
  108. WORD biPlanes;
  109. WORD biBitCount;
  110. DWORD biCompression;
  111. DWORD biSizeImage;
  112. LONG biXPelsPerMeter;
  113. LONG biYPelsPerMeter;
  114. DWORD biClrUsed;
  115. DWORD biClrImportant;
  116. } BITMAPINFOHEADER;
  117. typedef BITMAPINFOHEADER *LPBITMAPINFOHEADER;
  118. typedef struct tagBITMAPINFO
  119. {
  120. BITMAPINFOHEADER bmiHeader;
  121. RGBQUAD bmiColors[1];
  122. } BITMAPINFO;
  123. typedef BITMAPINFO *LPBITMAPINFO;
  124. typedef struct tagTEXTMETRIC
  125. {
  126. int tmHeight;
  127. int tmAscent;
  128. int tmDescent;
  129. int tmInternalLeading;
  130. int tmExternalLeading;
  131. int tmAveCharWidth;
  132. int tmMaxCharWidth;
  133. int tmWeight;
  134. DWORD dwByteBlock1;
  135. DWORD dwByteBlock2;
  136. // BYTE tmItalic;
  137. // BYTE tmUnderlined;
  138. // BYTE tmStruckOut;
  139. // BYTE tmFirstChar;
  140. // BYTE tmLastChar;
  141. // BYTE tmDefaultChar;
  142. // BYTE tmBreakChar;
  143. // BYTE tmPitchAndFamily;
  144. //
  145. BYTE tmCharSet;
  146. int tmOverhang;
  147. int tmDigitizedAspectX;
  148. int tmDigitizedAspectY;
  149. } TEXTMETRIC;
  150. typedef TEXTMETRIC *LPTEXTMETRIC;
  151. typedef struct tagLOGPEN
  152. {
  153. UINT lopnStyle;
  154. POINT lopnWidth;
  155. DWORD lopnColor;
  156. } LOGPEN;
  157. typedef LOGPEN *LPLOGPEN;
  158. typedef struct tagLOGBRUSH
  159. {
  160. UINT lbStyle;
  161. DWORD lbColor;
  162. int lbHatch;
  163. } LOGBRUSH;
  164. typedef LOGBRUSH *LPLOGBRUSH;
  165. typedef struct tagNESTED
  166. {
  167. DWORD dw1;
  168. LOGBRUSH lb;
  169. DWORD dw2;
  170. } NESTED;
  171. typedef NESTED *LPNESTED;
  172. typedef struct tagNESTEDPTR
  173. {
  174. DWORD dw1;
  175. LPLOGBRUSH lplb;
  176. DWORD dw2;
  177. } NESTEDPTR;
  178. typedef NESTEDPTR *LPNESTEDPTR;
  179. typedef struct tagOFSTRUCT {
  180. BYTE cBytes;
  181. BYTE fFixedDisk;
  182. WORD nErrorCode;
  183. WORD reserved1;
  184. WORD reserved2;
  185. BYTE szPathName[128];
  186. } OFSTRUCT;
  187. typedef OFSTRUCT *LPOFSTRUCT;
  188.