4 Declarations for all the Windows32 API Structures
6 Copyright (C) 1996 Free Software Foundation, Inc.
8 Author: Scott Christley <scottc@net-community.com>
11 This file is part of the Windows32 API Library.
13 This library is free software; you can redistribute it and/or
14 modify it under the terms of the GNU Library General Public
15 License as published by the Free Software Foundation; either
16 version 2 of the License, or (at your option) any later version.
18 This library is distributed in the hope that it will be useful,
19 but WITHOUT ANY WARRANTY; without even the implied warranty of
20 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21 Library General Public License for more details.
23 If you are interested in a warranty or support for this source code,
24 contact Scott Christley <scottc@net-community.com> for more information.
26 You should have received a copy of the GNU Library General Public
27 License along with this library; see the file COPYING.LIB.
28 If not, write to the Free Software Foundation,
29 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
33 #ifndef _GNU_H_WINDOWS32_STRUCTURES
34 #define _GNU_H_WINDOWS32_STRUCTURES
36 #include <ntos/security.h>
37 #include <ntos/time.h>
38 #include <ntdll/rtl.h>
39 #include <ntos/console.h>
40 #include <ntos/keyboard.h>
41 #include <ntos/heap.h>
43 #include <ntos/file.h>
45 #include <ntos/disk.h>
46 #include <ntos/gditypes.h>
48 typedef struct _VALENT
56 #ifndef WIN32_LEAN_AND_MEAN
60 #endif /* __cplusplus */
68 typedef struct _ABCFLOAT {
72 } ABCFLOAT, *LPABCFLOAT;
74 typedef struct tagACCEL {
80 typedef struct tagACCESSTIMEOUT {
86 typedef struct _ACTION_HEADER {
92 typedef struct _ADAPTER_STATUS {
93 UCHAR adapter_address[6];
101 WORD iframe_recv_err;
105 WORD iframe_xmit_err;
106 WORD recv_buff_unavail;
113 WORD xmit_buf_unavail;
118 WORD max_sess_pkt_size;
122 typedef struct _ADDJOB_INFO_1 {
127 typedef struct tagANIMATIONINFO {
130 } ANIMATIONINFO, *LPANIMATIONINFO;
132 typedef struct _RECT {
137 } RECT, *LPRECT, *LPCRECT, *PRECT;
139 typedef struct _RECTL {
144 } RECTL, *LPRECTL, *LPCRECTL, *PRECTL;
146 typedef struct _AppBarData {
149 UINT uCallbackMessage;
153 } APPBARDATA, *PAPPBARDATA;
155 typedef struct tagBITMAP
164 } BITMAP, *PBITMAP, *NPBITMAP, *LPBITMAP;
166 typedef struct tagBITMAPCOREHEADER {
174 typedef struct tagRGBTRIPLE {
178 } RGBTRIPLE, *PRGBTRIPLE;
180 typedef struct _BITMAPCOREINFO {
181 BITMAPCOREHEADER bmciHeader;
182 RGBTRIPLE bmciColors[1];
183 } BITMAPCOREINFO, *PBITMAPCOREINFO, *LPBITMAPCOREINFO;
185 typedef struct tagBITMAPFILEHEADER {
191 } BITMAPFILEHEADER __attribute__((packed));
193 typedef struct tagBITMAPINFOHEADER {
201 LONG biXPelsPerMeter;
202 LONG biYPelsPerMeter;
204 DWORD biClrImportant;
205 } BITMAPINFOHEADER, *LPBITMAPINFOHEADER, *PBITMAPINFOHEADER;
207 typedef struct tagRGBQUAD {
214 typedef struct tagBITMAPINFO {
215 BITMAPINFOHEADER bmiHeader;
216 RGBQUAD bmiColors[1];
217 } BITMAPINFO, *LPBITMAPINFO, *PBITMAPINFO;
219 typedef long FXPT2DOT30, * LPFXPT2DOT30;
221 typedef struct tagCIEXYZ
227 typedef CIEXYZ * LPCIEXYZ;
229 typedef struct tagCIEXYZTRIPLE
235 typedef CIEXYZTRIPLE * LPCIEXYZTRIPLE;
243 DWORD bV4V4Compression;
245 LONG bV4XPelsPerMeter;
246 LONG bV4YPelsPerMeter;
248 DWORD bV4ClrImportant;
254 CIEXYZTRIPLE bV4Endpoints;
258 } BITMAPV4HEADER, *LPBITMAPV4HEADER, *PBITMAPV4HEADER;
260 #ifndef _BLOB_DEFINED
261 #define _BLOB_DEFINED
262 typedef struct _BLOB {
268 typedef struct _SHITEMID {
271 } SHITEMID, * LPSHITEMID;
272 typedef const SHITEMID * LPCSHITEMID;
274 typedef struct _ITEMIDLIST {
276 } ITEMIDLIST, * LPITEMIDLIST;
277 typedef const ITEMIDLIST * LPCITEMIDLIST;
279 typedef struct _browseinfo {
281 LPCITEMIDLIST pidlRoot;
282 LPSTR pszDisplayName;
288 } BROWSEINFO, *PBROWSEINFO, *LPBROWSEINFO;
290 typedef struct _BY_HANDLE_FILE_INFORMATION {
291 DWORD dwFileAttributes;
292 FILETIME ftCreationTime;
293 FILETIME ftLastAccessTime;
294 FILETIME ftLastWriteTime;
295 DWORD dwVolumeSerialNumber;
298 DWORD nNumberOfLinks;
299 DWORD nFileIndexHigh;
301 } BY_HANDLE_FILE_INFORMATION, *LPBY_HANDLE_FILE_INFORMATION;
303 typedef struct _FIXED {
308 typedef struct tagPOINT {
311 } POINT, *LPPOINT, *PPOINT;
313 typedef struct tagPOINTFX {
318 typedef struct _POINTL {
323 typedef struct tagPOINTS {
328 typedef struct _tagCANDIDATEFORM {
333 } CANDIDATEFORM, *LPCANDIDATEFORM;
335 typedef struct _tagCANDIDATELIST {
343 } CANDIDATELIST, *LPCANDIDATELIST;
345 typedef struct tagCREATESTRUCT {
346 LPVOID lpCreateParams;
358 } CREATESTRUCT, *LPCREATESTRUCT;
360 typedef struct tagCREATESTRUCTA {
361 LPVOID lpCreateParams;
373 } CREATESTRUCTA, *LPCREATESTRUCTA;
375 typedef struct tagCREATESTRUCTW {
376 LPVOID lpCreateParams;
388 } CREATESTRUCTW, *LPCREATESTRUCTW;
390 typedef struct tagCBT_CREATEWND {
392 HWND hwndInsertAfter;
395 typedef struct tagCBTACTIVATESTRUCT {
400 typedef struct _CHAR_INFO {
406 } CHAR_INFO, *PCHAR_INFO;
408 typedef struct _charformat {
414 COLORREF crTextColor;
416 BYTE bPitchAndFamily;
417 TCHAR szFaceName[LF_FACESIZE];
420 typedef struct _charrange {
425 typedef struct tagCHARSET {
430 typedef struct tagFONTSIGNATURE {
433 } FONTSIGNATURE, *LPFONTSIGNATURE;
439 } CHARSETINFO, *LPCHARSETINFO;
446 COLORREF* lpCustColors;
449 LPCCHOOKPROC lpfnHook;
450 LPCTSTR lpTemplateName;
451 } CHOOSECOLOR, *LPCHOOSECOLOR;
453 typedef struct tagLOGFONT {
464 BYTE lfClipPrecision;
466 BYTE lfPitchAndFamily;
467 TCHAR lfFaceName[LF_FACESIZE];
468 } LOGFONT, *LPLOGFONT, *PLOGFONT;
470 typedef struct tagLOGFONTW {
481 BYTE lfClipPrecision;
483 BYTE lfPitchAndFamily;
485 } LOGFONTW, *LPLOGFONTW, *PLOGFONTW;
496 LPCFHOOKPROC lpfnHook;
497 LPCTSTR lpTemplateName;
501 WORD ___MISSING_ALIGNMENT__;
504 } CHOOSEFONT, *LPCHOOSEFONT;
506 typedef struct _IDA {
511 typedef struct tagCLIENTCREATESTRUCT {
514 } CLIENTCREATESTRUCT;
516 typedef CLIENTCREATESTRUCT *LPCLIENTCREATESTRUCT;
518 typedef struct _CMInvokeCommandInfo {
528 } CMINVOKECOMMANDINFO, *LPCMINVOKECOMMANDINFO;
530 typedef struct tagCOLORADJUSTMENT {
533 WORD caIlluminantIndex;
537 WORD caReferenceBlack;
538 WORD caReferenceWhite;
541 SHORT caColorfulness;
542 SHORT caRedGreenTint;
543 } COLORADJUSTMENT, *LPCOLORADJUSTMENT;
545 typedef struct _COLORMAP {
548 } COLORMAP, * LPCOLORMAP;
550 typedef struct _DCB {
555 DWORD fOutxCtsFlow:1;
556 DWORD fOutxDsrFlow:1;
558 DWORD fDsrSensitivity:1;
559 DWORD fTXContinueOnXoff:1;
565 DWORD fAbortOnError:1;
581 typedef struct _COMM_CONFIG {
586 DWORD dwProviderSubType;
587 DWORD dwProviderOffset;
588 DWORD dwProviderSize;
589 WCHAR wcProviderData[1];
590 } COMMCONFIG, *LPCOMMCONFIG;
592 typedef struct _COMMPROP {
601 DWORD dwProvCapabilities;
602 DWORD dwSettableParams;
603 DWORD dwSettableBaud;
605 WORD wSettableStopParity;
606 DWORD dwCurrentTxQueue;
607 DWORD dwCurrentRxQueue;
611 } COMMPROP, *LPCOMMPROP;
613 typedef struct _COMMTIMEOUTS {
614 DWORD ReadIntervalTimeout;
615 DWORD ReadTotalTimeoutMultiplier;
616 DWORD ReadTotalTimeoutConstant;
617 DWORD WriteTotalTimeoutMultiplier;
618 DWORD WriteTotalTimeoutConstant;
619 } COMMTIMEOUTS,*LPCOMMTIMEOUTS;
621 typedef struct tagCOMPAREITEMSTRUCT {
633 COLORREF crBackground;
637 typedef struct _tagCOMPOSITIONFORM {
641 } COMPOSITIONFORM, *LPCOMPOSITIONFORM;
643 typedef struct _COMSTAT {
651 DWORD fReserved : 25;
654 } COMSTAT, *LPCOMSTAT;
656 typedef struct tagCONVCONTEXT {
663 SECURITY_QUALITY_OF_SERVICE qos;
666 typedef CONVCONTEXT *PCONVCONTEXT;
668 typedef struct tagCONVINFO {
682 CONVCONTEXT ConvCtxt;
685 } CONVINFO, *PCONVINFO;
687 typedef struct tagCOPYDATASTRUCT {
693 typedef struct _cpinfo {
695 BYTE DefaultChar[MAX_DEFAULTCHAR];
696 BYTE LeadByte[MAX_LEADBYTES];
699 typedef struct tagCPLINFO {
706 typedef struct _CREATE_PROCESS_DEBUG_INFO {
710 LPVOID lpBaseOfImage;
711 DWORD dwDebugInfoFileOffset;
712 DWORD nDebugInfoSize;
713 LPVOID lpThreadLocalBase;
714 LPTHREAD_START_ROUTINE lpStartAddress;
717 } CREATE_PROCESS_DEBUG_INFO;
719 typedef struct _CREATE_THREAD_DEBUG_INFO {
721 LPVOID lpThreadLocalBase;
722 LPTHREAD_START_ROUTINE lpStartAddress;
723 } CREATE_THREAD_DEBUG_INFO;
727 typedef struct _SOCKET_ADDRESS {
728 LPSOCKADDR lpSockaddr ;
729 INT iSockaddrLength ;
730 } SOCKET_ADDRESS, *PSOCKET_ADDRESS, *LPSOCKET_ADDRESS;
734 typedef struct _CSADDR_INFO {
735 SOCKET_ADDRESS LocalAddr;
736 SOCKET_ADDRESS RemoteAddr;
742 typedef struct _currencyfmt {
747 LPTSTR lpThousandSep;
750 LPTSTR lpCurrencySymbol;
753 typedef struct tagCURSORSHAPE {
761 } CURSORSHAPE, *LPCURSORSHAPE;
763 typedef struct tagCWPRETSTRUCT {
771 typedef struct tagCWPSTRUCT {
778 typedef struct _DATATYPES_INFO_1 {
783 unsigned short bAppReturnCode:8,
790 unsigned short reserved:14,
797 unsigned short unused:12,
807 unsigned short unused:13,
814 typedef struct tagDDEML_MSG_HOOK_DATA {
819 } DDEML_MSG_HOOK_DATA;
822 unsigned short unused:13,
830 unsigned short unused:12,
839 typedef struct _EXCEPTION_DEBUG_INFO {
840 EXCEPTION_RECORD ExceptionRecord;
842 } EXCEPTION_DEBUG_INFO;
844 typedef struct _EXIT_PROCESS_DEBUG_INFO {
846 } EXIT_PROCESS_DEBUG_INFO;
848 typedef struct _EXIT_THREAD_DEBUG_INFO {
850 } EXIT_THREAD_DEBUG_INFO;
852 typedef struct _LOAD_DLL_DEBUG_INFO {
855 DWORD dwDebugInfoFileOffset;
856 DWORD nDebugInfoSize;
859 } LOAD_DLL_DEBUG_INFO;
861 typedef struct _UNLOAD_DLL_DEBUG_INFO {
863 } UNLOAD_DLL_DEBUG_INFO;
865 typedef struct _OUTPUT_DEBUG_STRING_INFO {
866 LPSTR lpDebugStringData;
868 WORD nDebugStringLength;
869 } OUTPUT_DEBUG_STRING_INFO;
871 typedef struct _RIP_INFO {
876 typedef struct _DEBUG_EVENT {
877 DWORD dwDebugEventCode;
881 EXCEPTION_DEBUG_INFO Exception;
882 CREATE_THREAD_DEBUG_INFO CreateThread;
883 CREATE_PROCESS_DEBUG_INFO CreateProcessInfo;
884 EXIT_THREAD_DEBUG_INFO ExitThread;
885 EXIT_PROCESS_DEBUG_INFO ExitProcess;
886 LOAD_DLL_DEBUG_INFO LoadDll;
887 UNLOAD_DLL_DEBUG_INFO UnloadDll;
888 OUTPUT_DEBUG_STRING_INFO DebugString;
891 } DEBUG_EVENT, *LPDEBUG_EVENT;
893 typedef struct tagDEBUGHOOKINFO {
895 DWORD idThreadInstaller;
901 typedef struct tagDELETEITEMSTRUCT {
909 typedef struct _DEV_BROADCAST_HDR {
911 ULONG dbch_devicetype;
914 typedef DEV_BROADCAST_HDR *PDEV_BROADCAST_HDR;
916 typedef struct _DEV_BROADCAST_OEM {
918 ULONG dbco_devicetype;
920 ULONG dbco_identifier;
923 typedef DEV_BROADCAST_OEM *PDEV_BROADCAST_OEM;
925 typedef struct _DEV_BROADCAST_PORT {
927 ULONG dbcp_devicetype;
930 } DEV_BROADCAST_PORT;
931 typedef DEV_BROADCAST_PORT *PDEV_BROADCAST_PORT;
933 struct _DEV_BROADCAST_USERDEFINED {
934 struct _DEV_BROADCAST_HDR dbud_dbh;
936 BYTE dbud_rgbUserDefined[1];
939 typedef struct _DEV_BROADCAST_VOLUME {
941 ULONG dbcv_devicetype;
945 } DEV_BROADCAST_VOLUME;
946 typedef DEV_BROADCAST_VOLUME *PDEV_BROADCAST_VOLUME;
948 typedef struct tagDEVNAMES {
953 } DEVNAMES, *LPDEVNAMES;
955 typedef struct tagDIBSECTION {
957 BITMAPINFOHEADER dsBmih;
958 DWORD dsBitfields[3];
963 typedef struct _DISK_PERFORMANCE {
964 LARGE_INTEGER BytesRead;
965 LARGE_INTEGER BytesWritten;
966 LARGE_INTEGER ReadTime;
967 LARGE_INTEGER WriteTime;
975 DWORD dwExtendedStyle;
981 } DLGITEMTEMPLATE PACKED;
983 typedef DLGITEMTEMPLATE *LPDLGITEMTEMPLATE;
984 typedef DLGITEMTEMPLATE *PDLGITEMTEMPLATE;
988 DWORD dwExtendedStyle;
994 } DLGTEMPLATE PACKED;
996 typedef DLGTEMPLATE *LPDLGTEMPLATE;
997 typedef const DLGTEMPLATE *LPCDLGTEMPLATE;
999 typedef struct _DOC_INFO_1 {
1005 typedef struct _DOC_INFO_2 {
1015 LPCTSTR lpszDocName;
1017 LPCTSTR lpszDatatype;
1019 } DOCINFO, *PDOCINFO;
1025 } DRAGLISTINFO, *LPDRAGLISTINFO;
1027 typedef struct tagDRAWITEMSTRUCT {
1037 } DRAWITEMSTRUCT, *LPDRAWITEMSTRUCT, *PDRAWITEMSTRUCT;
1045 } DRAWTEXTPARAMS, *LPDRAWTEXTPARAMS;
1049 typedef struct _DRIVER_INFO_1 {
1053 typedef struct _DRIVER_INFO_2 {
1056 LPTSTR pEnvironment;
1062 typedef struct _DRIVER_INFO_3 {
1065 LPTSTR pEnvironment;
1070 LPTSTR pDependentFiles;
1071 LPTSTR pMonitorName;
1072 LPTSTR pDefaultDataType;
1075 typedef struct _editstream {
1078 EDITSTREAMCALLBACK pfnCallback;
1081 typedef struct tagEMR
1087 typedef struct tagEMRANGLEARC
1094 } EMRANGLEARC, *PEMRANGLEARC;
1096 typedef struct tagEMRARC
1103 EMRARCTO, *PEMRARCTO,
1104 EMRCHORD, *PEMRCHORD,
1107 typedef struct _XFORM
1115 } XFORM, *PXFORM, *LPXFORM;
1117 typedef struct tagEMRBITBLT
1129 COLORREF crBkColorSrc;
1134 } EMRBITBLT, *PEMRBITBLT;
1136 typedef struct tagLOGBRUSH {
1140 } LOGBRUSH, *PLOGBRUSH;
1142 typedef struct tagEMRCREATEBRUSHINDIRECT
1147 } EMRCREATEBRUSHINDIRECT, *PEMRCREATEBRUSHINDIRECT;
1149 typedef LONG LCSCSTYPE;
1150 typedef LONG LCSGAMUTMATCH;
1152 typedef struct tagLOGCOLORSPACE {
1157 LCSCSTYPE lcsCSType;
1158 LCSGAMUTMATCH lcsIntent;
1159 CIEXYZTRIPLE lcsEndpoints;
1161 DWORD lcsGammaGreen;
1163 TCHAR lcsFilename[MAX_PATH];
1164 } LOGCOLORSPACE, *LPLOGCOLORSPACE;
1166 typedef struct tagEMRCREATECOLORSPACE
1171 } EMRCREATECOLORSPACE, *PEMRCREATECOLORSPACE;
1173 typedef struct tagEMRCREATEDIBPATTERNBRUSHPT
1182 } EMRCREATEDIBPATTERNBRUSHPT,
1183 PEMRCREATEDIBPATTERNBRUSHPT;
1185 typedef struct tagEMRCREATEMONOBRUSH
1194 } EMRCREATEMONOBRUSH, *PEMRCREATEMONOBRUSH;
1196 typedef struct tagPALETTEENTRY {
1201 } PALETTEENTRY, *LPPALETTEENTRY, *PPALETTEENTRY;
1203 typedef struct tagLOGPALETTE {
1206 PALETTEENTRY palPalEntry[1];
1207 } LOGPALETTE, *LPLOGPALETTE, *PLOGPALETTE;
1209 typedef struct tagEMRCREATEPALETTE
1214 } EMRCREATEPALETTE, *PEMRCREATEPALETTE;
1216 typedef struct tagLOGPEN {
1222 typedef struct tagEMRCREATEPEN
1227 } EMRCREATEPEN, *PEMRCREATEPEN;
1229 typedef struct tagEMRELLIPSE
1233 } EMRELLIPSE, *PEMRELLIPSE,
1234 EMRRECTANGLE, *PEMRRECTANGLE;
1236 typedef struct tagEMREOF
1240 DWORD offPalEntries;
1244 typedef struct tagEMREXCLUDECLIPRECT
1248 } EMREXCLUDECLIPRECT, *PEMREXCLUDECLIPRECT,
1249 EMRINTERSECTCLIPRECT, *PEMRINTERSECTCLIPRECT;
1251 typedef struct tagPANOSE {
1257 BYTE bStrokeVariation;
1264 typedef struct tagEXTLOGFONT {
1266 BCHAR elfFullName[LF_FULLFACESIZE];
1267 BCHAR elfStyle[LF_FACESIZE];
1272 BYTE elfVendorId[ELF_VENDOR_SIZE];
1277 typedef struct tagEMREXTCREATEFONTINDIRECTW
1282 } EMREXTCREATEFONTINDIRECTW,
1283 PEMREXTCREATEFONTINDIRECTW;
1285 typedef struct tagEXTLOGPEN {
1291 DWORD elpNumEntries;
1292 DWORD elpStyleEntry[1];
1295 typedef struct tagEMREXTCREATEPEN
1304 } EMREXTCREATEPEN, *PEMREXTCREATEPEN;
1306 typedef struct tagEMREXTFLOODFILL
1312 } EMREXTFLOODFILL, *PEMREXTFLOODFILL;
1314 typedef struct tagEMREXTSELECTCLIPRGN
1320 } EMREXTSELECTCLIPRGN, *PEMREXTSELECTCLIPRGN;
1322 typedef struct tagEMRTEXT
1324 POINTL ptlReference;
1330 } EMRTEXT, *PEMRTEXT;
1332 typedef struct tagEMREXTTEXTOUTA
1336 DWORD iGraphicsMode;
1340 } EMREXTTEXTOUTA, *PEMREXTTEXTOUTA,
1341 EMREXTTEXTOUTW, *PEMREXTTEXTOUTW;
1343 typedef struct tagEMRFILLPATH
1347 } EMRFILLPATH, *PEMRFILLPATH,
1348 EMRSTROKEANDFILLPATH, *PEMRSTROKEANDFILLPATH,
1349 EMRSTROKEPATH, *PEMRSTROKEPATH;
1351 typedef struct tagEMRFILLRGN
1358 } EMRFILLRGN, *PEMRFILLRGN;
1360 typedef struct tagEMRFORMAT {
1367 typedef struct tagSIZE {
1370 } SIZE, *PSIZE, *LPSIZE, SIZEL, *PSIZEL, *LPSIZEL;
1372 typedef struct tagEMRFRAMERGN
1380 } EMRFRAMERGN, *PEMRFRAMERGN;
1382 typedef struct tagEMRGDICOMMENT
1387 } EMRGDICOMMENT, *PEMRGDICOMMENT;
1389 typedef struct tagEMRINVERTRGN
1395 } EMRINVERTRGN, *PEMRINVERTRGN,
1396 EMRPAINTRGN, *PEMRPAINTRGN;
1398 typedef struct tagEMRLINETO
1402 } EMRLINETO, *PEMRLINETO,
1403 EMRMOVETOEX, *PEMRMOVETOEX;
1405 typedef struct tagEMRMASKBLT
1417 COLORREF crBkColorSrc;
1430 } EMRMASKBLT, *PEMRMASKBLT;
1432 typedef struct tagEMRMODIFYWORLDTRANSFORM
1437 } EMRMODIFYWORLDTRANSFORM,
1438 PEMRMODIFYWORLDTRANSFORM;
1440 typedef struct tagEMROFFSETCLIPRGN
1444 } EMROFFSETCLIPRGN, *PEMROFFSETCLIPRGN;
1446 typedef struct tagEMRPLGBLT
1456 COLORREF crBkColorSrc;
1469 } EMRPLGBLT, *PEMRPLGBLT;
1471 typedef struct tagEMRPOLYDRAW
1478 } EMRPOLYDRAW, *PEMRPOLYDRAW;
1480 typedef struct tagEMRPOLYDRAW16
1487 } EMRPOLYDRAW16, *PEMRPOLYDRAW16;
1489 typedef struct tagEMRPOLYLINE
1495 } EMRPOLYLINE, *PEMRPOLYLINE,
1496 EMRPOLYBEZIER, *PEMRPOLYBEZIER,
1497 EMRPOLYGON, *PEMRPOLYGON,
1498 EMRPOLYBEZIERTO, *PEMRPOLYBEZIERTO,
1499 EMRPOLYLINETO, *PEMRPOLYLINETO;
1501 typedef struct tagEMRPOLYLINE16
1507 } EMRPOLYLINE16, *PEMRPOLYLINE16,
1508 EMRPOLYBEZIER16, *PEMRPOLYBEZIER16,
1509 EMRPOLYGON16, *PEMRPOLYGON16,
1510 EMRPOLYBEZIERTO16, *PEMRPOLYBEZIERTO16,
1511 EMRPOLYLINETO16, *PEMRPOLYLINETO16;
1513 typedef struct tagEMRPOLYPOLYLINE
1519 DWORD aPolyCounts[1];
1521 } EMRPOLYPOLYLINE, *PEMRPOLYPOLYLINE,
1522 EMRPOLYPOLYGON, *PEMRPOLYPOLYGON;
1524 typedef struct tagEMRPOLYPOLYLINE16
1530 DWORD aPolyCounts[1];
1532 } EMRPOLYPOLYLINE16, *PEMRPOLYPOLYLINE16,
1533 EMRPOLYPOLYGON16, *PEMRPOLYPOLYGON16;
1535 typedef struct tagEMRPOLYTEXTOUTA
1539 DWORD iGraphicsMode;
1543 EMRTEXT aemrtext[1];
1544 } EMRPOLYTEXTOUTA, *PEMRPOLYTEXTOUTA,
1545 EMRPOLYTEXTOUTW, *PEMRPOLYTEXTOUTW;
1547 typedef struct tagEMRRESIZEPALETTE
1552 } EMRRESIZEPALETTE, *PEMRRESIZEPALETTE;
1554 typedef struct tagEMRRESTOREDC
1558 } EMRRESTOREDC, *PEMRRESTOREDC;
1560 typedef struct tagEMRROUNDRECT
1565 } EMRROUNDRECT, *PEMRROUNDRECT;
1567 typedef struct tagEMRSCALEVIEWPORTEXTEX
1574 } EMRSCALEVIEWPORTEXTEX, *PEMRSCALEVIEWPORTEXTEX,
1575 EMRSCALEWINDOWEXTEX, *PEMRSCALEWINDOWEXTEX;
1577 typedef struct tagEMRSELECTCOLORSPACE
1581 } EMRSELECTCOLORSPACE, *PEMRSELECTCOLORSPACE,
1582 EMRDELETECOLORSPACE, *PEMRDELETECOLORSPACE;
1583 typedef struct tagEMRSELECTOBJECT
1587 } EMRSELECTOBJECT, *PEMRSELECTOBJECT,
1588 EMRDELETEOBJECT, *PEMRDELETEOBJECT;
1590 typedef struct tagEMRSELECTPALETTE
1594 } EMRSELECTPALETTE, *PEMRSELECTPALETTE;
1596 typedef struct tagEMRSETARCDIRECTION
1599 DWORD iArcDirection;
1600 } EMRSETARCDIRECTION, *PEMRSETARCDIRECTION;
1602 typedef struct tagEMRSETTEXTCOLOR
1606 } EMRSETBKCOLOR, *PEMRSETBKCOLOR,
1607 EMRSETTEXTCOLOR, *PEMRSETTEXTCOLOR;
1609 typedef struct tagEMRSETCOLORADJUSTMENT
1612 COLORADJUSTMENT ColorAdjustment;
1613 } EMRSETCOLORADJUSTMENT, *PEMRSETCOLORADJUSTMENT;
1615 typedef struct tagEMRSETDIBITSTODEVICE
1632 } EMRSETDIBITSTODEVICE, *PEMRSETDIBITSTODEVICE;
1634 typedef struct tagEMRSETMAPPERFLAGS
1638 } EMRSETMAPPERFLAGS, *PEMRSETMAPPERFLAGS;
1640 typedef struct tagEMRSETMITERLIMIT
1644 } EMRSETMITERLIMIT, *PEMRSETMITERLIMIT;
1646 typedef struct tagEMRSETPALETTEENTRIES
1652 PALETTEENTRY aPalEntries[1];
1653 } EMRSETPALETTEENTRIES, *PEMRSETPALETTEENTRIES;
1655 typedef struct tagEMRSETPIXELV
1660 } EMRSETPIXELV, *PEMRSETPIXELV;
1662 typedef struct tagEMRSETVIEWPORTEXTEX
1666 } EMRSETVIEWPORTEXTEX, *PEMRSETVIEWPORTEXTEX,
1667 EMRSETWINDOWEXTEX, *PEMRSETWINDOWEXTEX;
1669 typedef struct tagEMRSETVIEWPORTORGEX
1673 } EMRSETVIEWPORTORGEX, *PEMRSETVIEWPORTORGEX,
1674 EMRSETWINDOWORGEX, *PEMRSETWINDOWORGEX,
1675 EMRSETBRUSHORGEX, *PEMRSETBRUSHORGEX;
1677 typedef struct tagEMRSETWORLDTRANSFORM
1681 } EMRSETWORLDTRANSFORM, *PEMRSETWORLDTRANSFORM;
1683 typedef struct tagEMRSTRETCHBLT
1695 COLORREF crBkColorSrc;
1703 } EMRSTRETCHBLT, *PEMRSTRETCHBLT;
1705 typedef struct tagEMRSTRETCHDIBITS
1723 } EMRSTRETCHDIBITS, *PEMRSTRETCHDIBITS;
1725 typedef struct tagABORTPATH
1728 } EMRABORTPATH, *PEMRABORTPATH,
1729 EMRBEGINPATH, *PEMRBEGINPATH,
1730 EMRENDPATH, *PEMRENDPATH,
1731 EMRCLOSEFIGURE, *PEMRCLOSEFIGURE,
1732 EMRFLATTENPATH, *PEMRFLATTENPATH,
1733 EMRWIDENPATH, *PEMRWIDENPATH,
1734 EMRSETMETARGN, *PEMRSETMETARGN,
1735 EMRSAVEDC, *PEMRSAVEDC,
1736 EMRREALIZEPALETTE, *PEMRREALIZEPALETTE;
1738 typedef struct tagEMRSELECTCLIPPATH
1742 } EMRSELECTCLIPPATH, *PEMRSELECTCLIPPATH,
1743 EMRSETBKMODE, *PEMRSETBKMODE,
1744 EMRSETMAPMODE, *PEMRSETMAPMODE,
1745 EMRSETPOLYFILLMODE, *PEMRSETPOLYFILLMODE,
1746 EMRSETROP2, *PEMRSETROP2,
1747 EMRSETSTRETCHBLTMODE, *PEMRSETSTRETCHBLTMODE,
1748 EMRSETTEXTALIGN, *PEMRSETTEXTALIGN,
1749 EMRENABLEICM, *PEMRENABLEICM;
1751 typedef struct tagNMHDR {
1757 typedef struct _encorrecttext {
1763 typedef struct _endropfiles {
1783 typedef struct tagENHMETAHEADER {
1795 DWORD offDescription;
1798 SIZEL szlMillimeters;
1799 } ENHMETAHEADER, *LPENHMETAHEADER;
1801 typedef struct tagENHMETARECORD {
1805 } ENHMETARECORD, *PENHMETARECORD, *LPENHMETARECORD;
1807 typedef struct _enprotected {
1815 typedef struct _SERVICE_STATUS {
1816 DWORD dwServiceType;
1817 DWORD dwCurrentState;
1818 DWORD dwControlsAccepted;
1819 DWORD dwWin32ExitCode;
1820 DWORD dwServiceSpecificExitCode;
1823 } SERVICE_STATUS, *LPSERVICE_STATUS;
1825 typedef struct _ENUM_SERVICE_STATUSA {
1826 LPSTR lpServiceName;
1827 LPSTR lpDisplayName;
1828 SERVICE_STATUS ServiceStatus;
1829 } ENUM_SERVICE_STATUSA, *LPENUM_SERVICE_STATUSA;
1831 typedef struct _ENUM_SERVICE_STATUSW {
1832 LPWSTR lpServiceName;
1833 LPWSTR lpDisplayName;
1834 SERVICE_STATUS ServiceStatus;
1835 } ENUM_SERVICE_STATUSW, *LPENUM_SERVICE_STATUSW;
1838 #define ENUM_SERVICE_STATUS ENUM_SERVICE_STATUSW
1839 #define LPENUM_SERVICE_STATUS LPENUM_SERVICE_STATUSW
1841 #define ENUM_SERVICE_STATUS ENUM_SERVICE_STATUSA
1842 #define LPENUM_SERVICE_STATUS LPENUM_SERVICE_STATUSA
1845 typedef struct tagENUMLOGFONT {
1847 BCHAR elfFullName[LF_FULLFACESIZE];
1848 BCHAR elfStyle[LF_FACESIZE];
1851 typedef struct tagENUMLOGFONTEX {
1853 BCHAR elfFullName[LF_FULLFACESIZE];
1854 BCHAR elfStyle[LF_FACESIZE];
1855 BCHAR elfScript[LF_FACESIZE];
1858 typedef struct _EVENTLOGRECORD {
1862 DWORD TimeGenerated;
1869 DWORD ClosingRecordNumber;
1871 DWORD UserSidLength;
1872 DWORD UserSidOffset;
1880 TCHAR Computername[]
1890 typedef struct tagEVENTMSG {
1898 typedef struct _EXT_BUTTON {
1902 } EXT_BUTTON, *LPEXT_BUTTON;
1904 typedef struct tagFILTERKEYS {
1913 typedef struct _FIND_NAME_BUFFER {
1915 UCHAR access_control;
1916 UCHAR frame_control;
1917 UCHAR destination_addr[6];
1918 UCHAR source_addr[6];
1919 UCHAR routing_info[18];
1922 typedef struct _FIND_NAME_HEADER {
1929 enum _FINDEX_INFO_LEVELS
1932 FindExInfoMaxInfoLevel
1933 } FINDEX_INFO_LEVELS;
1936 enum _FINDEX_SEARCH_OPS
1938 FindExSearchNameMatch,
1939 FindExSearchLimitToDirectories,
1940 FindExSearchLimitToDevices,
1941 FindExSearchMaxSearchOp
1943 } FINDEX_SEARCH_OPS;
1945 #define FIND_FIRST_EX_CASE_SENSITIVE 0x00000001
1950 HINSTANCE hInstance;
1952 LPTSTR lpstrFindWhat;
1953 LPTSTR lpstrReplaceWith;
1955 WORD wReplaceWithLen;
1957 LPFRHOOKPROC lpfnHook;
1958 LPCTSTR lpTemplateName;
1959 } FINDREPLACE, *LPFINDREPLACE;
1961 typedef struct _findtext {
1966 typedef struct _findtextex {
1972 typedef struct _FMS_GETDRIVEINFO {
1980 typedef struct _FMS_GETFILESEL {
1987 typedef struct _FMS_LOAD {
1989 TCHAR szMenuName[MENU_TEXT_LEN];
1994 typedef struct _FMS_TOOLBARLOAD {
1996 LPEXT_BUTTON lpButtons;
2004 typedef struct _FORM_INFO_1 {
2008 RECTL ImageableArea;
2011 typedef struct _FORMAT_PARAMETERS {
2012 MEDIA_TYPE MediaType;
2013 DWORD StartCylinderNumber;
2014 DWORD EndCylinderNumber;
2015 DWORD StartHeadNumber;
2016 DWORD EndHeadNumber;
2017 } FORMAT_PARAMETERS ;
2019 typedef struct _formatrange {
2027 typedef struct tagGCP_RESULTS {
2037 } GCP_RESULTS, *LPGCP_RESULTS;
2040 typedef struct _GLYPHMETRICS {
2043 POINT gmptGlyphOrigin;
2046 } GLYPHMETRICS, *LPGLYPHMETRICS;
2048 typedef struct tagHANDLETABLE {
2049 HGDIOBJ objectHandle[1];
2050 } HANDLETABLE, *LPHANDLETABLE;
2052 typedef struct _HD_HITTESTINFO {
2058 typedef struct _HD_ITEM {
2068 typedef struct _WINDOWPOS {
2070 HWND hwndInsertAfter;
2076 } WINDOWPOS, *PWINDOWPOS, *LPWINDOWPOS;
2078 typedef struct _HD_LAYOUT {
2083 typedef struct _HD_NOTIFY {
2090 typedef struct tagHELPINFO {
2097 } HELPINFO, *LPHELPINFO;
2102 CHAR szKeyphrase[1];
2103 } MULTIKEYHELPA, *PMULTIKEYHELPA, *LPMULTIKEYHELPA;
2108 WCHAR szKeyphrase[1];
2109 } MULTIKEYHELPW, *PMULTIKEYHELPW, *LPMULTIKEYHELPW;
2118 TCHAR rgchMember[2];
2129 } HELPWININFOA, *PHELPWININFOA, *LPHELPWININFOA;
2138 WCHAR rgchMember[2];
2139 } HELPWININFOW, *PHELPWININFOW, *LPHELPWININFOW;
2142 typedef struct tagHIGHCONTRAST {
2145 LPTSTR lpszDefaultScheme;
2146 } HIGHCONTRAST, * LPHIGHCONTRAST;
2148 typedef struct tagHSZPAIR {
2153 typedef struct _ICONINFO {
2159 } ICONINFO, *PICONINFO;
2161 typedef struct tagICONMETRICS {
2167 } ICONMETRICS, *LPICONMETRICS;
2169 typedef struct _IMAGEINFO {
2177 typedef struct _JOB_INFO_1 {
2179 LPTSTR pPrinterName;
2180 LPTSTR pMachineName;
2190 SYSTEMTIME Submitted;
2194 typedef struct _JOB_INFO_2 {
2196 LPTSTR pPrinterName;
2197 LPTSTR pMachineName;
2202 LPTSTR pPrintProcessor;
2207 PSECURITY_DESCRIPTOR pSecurityDescriptor;
2215 SYSTEMTIME Submitted;
2217 DWORD PagesPrinted ;
2221 typedef struct tagKERNINGPAIR {
2225 } KERNINGPAIR, *LPKERNINGPAIR;
2227 typedef struct _LANA_ENUM {
2229 UCHAR lana[MAX_LANA];
2232 typedef struct _LDT_ENTRY {
2249 DWORD Reserved_0 : 1;
2250 DWORD Default_Big : 1;
2251 DWORD Granularity : 1;
2255 } LDT_ENTRY, *PLDT_ENTRY, *LPLDT_ENTRY;
2257 typedef struct tagLOCALESIGNATURE {
2259 DWORD lsCsbDefault[2];
2260 DWORD lsCsbSupported[2];
2264 typedef struct _LOCALGROUP_MEMBERS_INFO_0 {
2266 } LOCALGROUP_MEMBERS_INFO_0;
2269 typedef struct _LOCALGROUP_MEMBERS_INFO_3 {
2270 LPWSTR lgrmi3_domainandname;
2271 } LOCALGROUP_MEMBERS_INFO_3;
2273 typedef long FXPT16DOT16, * LPFXPT16DOT16;
2277 typedef LUID_AND_ATTRIBUTES LUID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY];
2278 typedef LUID_AND_ATTRIBUTES_ARRAY *PLUID_AND_ATTRIBUTES_ARRAY;
2280 typedef struct _LV_COLUMN {
2289 typedef struct _LV_ITEM {
2301 typedef struct tagLV_DISPINFO {
2306 typedef struct _LV_FINDINFO {
2314 typedef struct _LV_HITTESTINFO {
2320 typedef struct tagLV_KEYDOWN {
2326 typedef struct _MAT2 {
2333 typedef struct tagMDICREATESTRUCT {
2345 typedef MDICREATESTRUCT *LPMDICREATESTRUCT;
2347 typedef struct tagMEASUREITEMSTRUCT {
2354 } MEASUREITEMSTRUCT, *LPMEASUREITEMSTRUCT;
2356 typedef struct _MEMORYSTATUS {
2361 DWORD dwTotalPageFile;
2362 DWORD dwAvailPageFile;
2363 DWORD dwTotalVirtual;
2364 DWORD dwAvailVirtual;
2365 } MEMORYSTATUS, *LPMEMORYSTATUS;
2371 } MENUEX_TEMPLATE_HEADER;
2380 } MENUEX_TEMPLATE_ITEM;
2382 typedef struct tagMENUITEMINFO {
2389 HBITMAP hbmpChecked;
2390 HBITMAP hbmpUnchecked;
2394 } MENUITEMINFO, *LPMENUITEMINFO;
2395 typedef MENUITEMINFO CONST *LPCMENUITEMINFO;
2406 } MENUITEMTEMPLATEHEADER;
2407 typedef VOID MENUTEMPLATE, *LPMENUTEMPLATE;
2409 typedef struct tagMETAFILEPICT {
2416 } METAFILEPICT, *PMETAFILEPICT, *LPMETAFILEPICT;
2418 typedef struct tagMETAHEADER {
2425 WORD mtNoParameters;
2426 } METAHEADER PACKED;
2428 typedef struct tagMETARECORD {
2432 } METARECORD, *LPMETARECORD;
2434 typedef struct tagMINIMIZEDMETRICS {
2440 } MINIMIZEDMETRICS, *LPMINIMIZEDMETRICS;
2442 typedef struct tagMINMAXINFO {
2445 POINT ptMaxPosition;
2446 POINT ptMinTrackSize;
2447 POINT ptMaxTrackSize;
2450 typedef struct modemdevcaps_tag {
2452 DWORD dwRequiredSize;
2453 DWORD dwDevSpecificOffset;
2454 DWORD dwDevSpecificSize;
2456 DWORD dwModemProviderVersion;
2457 DWORD dwModemManufacturerOffset;
2458 DWORD dwModemManufacturerSize;
2459 DWORD dwModemModelOffset;
2460 DWORD dwModemModelSize;
2461 DWORD dwModemVersionOffset;
2462 DWORD dwModemVersionSize;
2464 DWORD dwDialOptions;
2465 DWORD dwCallSetupFailTimer;
2466 DWORD dwInactivityTimeout;
2467 DWORD dwSpeakerVolume;
2468 DWORD dwSpeakerMode;
2469 DWORD dwModemOptions;
2473 BYTE abVariablePortion [1];
2474 } MODEMDEVCAPS, *PMODEMDEVCAPS, *LPMODEMDEVCAPS;
2476 typedef struct modemsettings_tag {
2478 DWORD dwRequiredSize;
2479 DWORD dwDevSpecificOffset;
2480 DWORD dwDevSpecificSize;
2482 DWORD dwCallSetupFailTimer;
2483 DWORD dwInactivityTimeout;
2484 DWORD dwSpeakerVolume;
2485 DWORD dwSpeakerMode;
2486 DWORD dwPreferredModemOptions;
2488 DWORD dwNegotiatedModemOptions;
2489 DWORD dwNegotiatedDCERate;
2491 BYTE abVariablePortion[1];
2492 } MODEMSETTINGS, *PMODEMSETTINGS, *LPMODEMSETTINGS;
2494 typedef struct tagMONCBSTRUCT {
2512 typedef struct tagMONCONVSTRUCT {
2523 typedef struct tagMONERRSTRUCT {
2530 typedef struct tagMONHSZSTRUCT {
2539 typedef struct _MONITOR_INFO_1 {
2543 typedef struct _MONITOR_INFO_2 {
2545 LPTSTR pEnvironment ;
2549 typedef struct tagMONLINKSTRUCT {
2553 WINBOOL fEstablished;
2564 typedef struct tagMONMSGSTRUCT {
2572 DDEML_MSG_HOOK_DATA dmhd;
2575 typedef struct tagMOUSEHOOKSTRUCT {
2580 } MOUSEHOOKSTRUCT, *PMOUSEHOOKSTRUCT, *LPMOUSEHOOKSTRUCT;
2582 typedef struct _MOUSEKEYS {
2586 DWORD iTimeToMaxSpeed;
2592 typedef struct tagMSG {
2601 typedef void CALLBACK (*MSGBOXCALLBACK) (LPHELPINFO lpHelpInfo);
2606 HINSTANCE hInstance;
2611 DWORD dwContextHelpId;
2612 MSGBOXCALLBACK lpfnMsgBoxCallback;
2614 } MSGBOXPARAMS, *PMSGBOXPARAMS, *LPMSGBOXPARAMS;
2616 typedef struct _msgfilter {
2623 typedef struct tagMULTIKEYHELP {
2626 TCHAR szKeyphrase[1];
2629 typedef struct _NAME_BUFFER {
2630 UCHAR name[NCBNAMSZ];
2635 typedef struct _NCB {
2642 UCHAR ncb_callname[NCBNAMSZ];
2643 UCHAR ncb_name[NCBNAMSZ];
2646 void (*ncb_post) (struct _NCB *);
2649 UCHAR ncb_reserve[10];
2653 typedef struct _NCCALCSIZE_PARAMS {
2656 } NCCALCSIZE_PARAMS;
2658 typedef struct _NDDESHAREINFO {
2660 LPTSTR lpszShareName;
2662 LPTSTR lpszAppTopicList;
2669 LPTSTR lpszItemList;
2672 typedef struct _NETRESOURCE {
2675 DWORD dwDisplayType;
2678 LPTSTR lpRemoteName;
2681 } NETRESOURCE, *LPNETRESOURCE;
2683 typedef struct tagNEWCPLINFO {
2686 DWORD dwHelpContext;
2691 TCHAR szHelpFile[128];
2694 typedef struct tagNEWTEXTMETRIC {
2698 LONG tmInternalLeading;
2699 LONG tmExternalLeading;
2700 LONG tmAveCharWidth;
2701 LONG tmMaxCharWidth;
2704 LONG tmDigitizedAspectX;
2705 LONG tmDigitizedAspectY;
2708 BCHAR tmDefaultChar;
2713 BYTE tmPitchAndFamily;
2722 typedef struct tagNEWTEXTMETRICEX {
2723 NEWTEXTMETRIC ntmentm;
2724 FONTSIGNATURE ntmeFontSignature;
2727 typedef struct tagNM_LISTVIEW {
2738 typedef struct _TREEITEM *HTREEITEM;
2740 typedef struct _TV_ITEM {
2751 } TV_ITEM, *LPTV_ITEM;
2753 typedef struct _NM_TREEVIEW {
2760 typedef NM_TREEVIEW *LPNM_TREEVIEW;
2762 typedef struct _NM_UPDOWN {
2768 typedef struct tagNONCLIENTMETRICS {
2775 LOGFONT lfCaptionFont;
2776 int iSmCaptionWidth;
2777 int iSmCaptionHeight;
2778 LOGFONT lfSmCaptionFont;
2782 LOGFONT lfStatusFont;
2783 LOGFONT lfMessageFont;
2784 } NONCLIENTMETRICS, * LPNONCLIENTMETRICS;
2786 typedef struct _SERVICE_ADDRESS {
2787 DWORD dwAddressType;
2788 DWORD dwAddressFlags;
2789 DWORD dwAddressLength;
2790 DWORD dwPrincipalLength;
2795 typedef struct _SERVICE_ADDRESSES {
2796 DWORD dwAddressCount;
2797 SERVICE_ADDRESS Addresses[1];
2798 } SERVICE_ADDRESSES, *LPSERVICE_ADDRESSES;
2800 #ifndef _GUID_DEFINED
2801 #define _GUID_DEFINED
2802 typedef struct _GUID
2804 unsigned long Data1;
2805 unsigned short Data2;
2806 unsigned short Data3;
2807 unsigned char Data4[8];
2809 typedef GUID CLSID, *LPCLSID;
2812 typedef struct _SERVICE_INFO {
2813 LPGUID lpServiceType;
2814 LPTSTR lpServiceName;
2817 DWORD dwDisplayHint;
2820 LPTSTR lpMachineName;
2821 LPSERVICE_ADDRESSES lpServiceAddress;
2822 BLOB ServiceSpecificInfo;
2825 typedef struct _NS_SERVICE_INFO {
2827 SERVICE_INFO ServiceInfo;
2830 typedef struct _numberfmt {
2834 LPTSTR lpDecimalSep;
2835 LPTSTR lpThousandSep;
2839 typedef struct _OFSTRUCT {
2845 CHAR szPathName[OFS_MAXPATHNAME];
2846 } OFSTRUCT, *LPOFSTRUCT;
2848 typedef struct tagOFN {
2851 HINSTANCE hInstance;
2852 LPCTSTR lpstrFilter;
2853 LPTSTR lpstrCustomFilter;
2854 DWORD nMaxCustFilter;
2858 LPTSTR lpstrFileTitle;
2859 DWORD nMaxFileTitle;
2860 LPCTSTR lpstrInitialDir;
2864 WORD nFileExtension;
2865 LPCTSTR lpstrDefExt;
2867 LPOFNHOOKPROC lpfnHook;
2868 LPCTSTR lpTemplateName;
2869 } OPENFILENAME, *LPOPENFILENAME;
2871 typedef struct _OFNOTIFY {
2873 LPOPENFILENAME lpOFN;
2875 } OFNOTIFY, *LPOFNOTIFY;
2877 typedef struct _OSVERSIONINFO {
2878 DWORD dwOSVersionInfoSize;
2879 DWORD dwMajorVersion;
2880 DWORD dwMinorVersion;
2881 DWORD dwBuildNumber;
2883 TCHAR szCSDVersion[ 128 ];
2884 } OSVERSIONINFO, *POSVERSIONINFO, *LPOSVERSIONINFO;
2886 typedef struct tagTEXTMETRIC {
2890 LONG tmInternalLeading;
2891 LONG tmExternalLeading;
2892 LONG tmAveCharWidth;
2893 LONG tmMaxCharWidth;
2896 LONG tmDigitizedAspectX;
2897 LONG tmDigitizedAspectY;
2900 BCHAR tmDefaultChar;
2905 BYTE tmPitchAndFamily;
2907 } TEXTMETRIC, *LPTEXTMETRIC;
2909 typedef struct _OUTLINETEXTMETRIC {
2911 TEXTMETRIC otmTextMetrics;
2913 PANOSE otmPanoseNumber;
2914 UINT otmfsSelection;
2916 int otmsCharSlopeRise;
2917 int otmsCharSlopeRun;
2923 UINT otmsCapEmHeight;
2929 UINT otmusMinimumPPEM;
2930 POINT otmptSubscriptSize;
2931 POINT otmptSubscriptOffset;
2932 POINT otmptSuperscriptSize;
2933 POINT otmptSuperscriptOffset;
2934 UINT otmsStrikeoutSize;
2935 int otmsStrikeoutPosition;
2936 int otmsUnderscoreSize;
2937 int otmsUnderscorePosition;
2938 PSTR otmpFamilyName;
2942 } OUTLINETEXTMETRIC, *LPOUTLINETEXTMETRIC;
2944 typedef struct _OVERLAPPED {
2950 } OVERLAPPED, *LPOVERLAPPED;
2952 typedef struct tagPSD {
2961 HINSTANCE hInstance;
2963 LPPAGESETUPHOOK lpfnPageSetupHook;
2964 LPPAGEPAINTHOOK lpfnPagePaintHook;
2965 LPCTSTR lpPageSetupTemplateName;
2966 HGLOBAL hPageSetupTemplate;
2967 } PAGESETUPDLG, *LPPAGESETUPDLG;
2969 typedef struct tagPAINTSTRUCT {
2975 BYTE rgbReserved[32];
2976 } PAINTSTRUCT, *LPPAINTSTRUCT;
2978 typedef struct _paraformat {
2988 LONG rgxTabs[MAX_TAB_STOPS];
2991 typedef struct _PERF_COUNTER_BLOCK {
2993 } PERF_COUNTER_BLOCK;
2995 typedef struct _PERF_COUNTER_DEFINITION {
2997 DWORD CounterNameTitleIndex;
2998 LPWSTR CounterNameTitle;
2999 DWORD CounterHelpTitleIndex;
3000 LPWSTR CounterHelpTitle;
3005 DWORD CounterOffset;
3006 } PERF_COUNTER_DEFINITION;
3008 typedef struct _PERF_DATA_BLOCK {
3013 DWORD TotalByteLength;
3015 DWORD NumObjectTypes;
3016 DWORD DefaultObject;
3017 SYSTEMTIME SystemTime;
3018 LARGE_INTEGER PerfTime;
3019 LARGE_INTEGER PerfFreq;
3020 LARGE_INTEGER PerfTime100nSec;
3021 DWORD SystemNameLength;
3022 DWORD SystemNameOffset;
3025 typedef struct _PERF_INSTANCE_DEFINITION {
3027 DWORD ParentObjectTitleIndex;
3028 DWORD ParentObjectInstance;
3032 } PERF_INSTANCE_DEFINITION;
3034 typedef struct _PERF_OBJECT_TYPE {
3035 DWORD TotalByteLength;
3036 DWORD DefinitionLength;
3038 DWORD ObjectNameTitleIndex;
3039 LPWSTR ObjectNameTitle;
3040 DWORD ObjectHelpTitleIndex;
3041 LPWSTR ObjectHelpTitle;
3044 DWORD DefaultCounter;
3047 LARGE_INTEGER PerfTime;
3048 LARGE_INTEGER PerfFreq;
3051 typedef struct _POLYTEXT {
3059 } POLYTEXT, *LPPOLYTEXT;
3061 typedef struct _PORT_INFO_1 {
3065 typedef struct _PORT_INFO_2 {
3073 typedef struct _PREVENT_MEDIA_REMOVAL {
3074 BOOLEAN PreventMediaRemoval;
3075 } PREVENT_MEDIA_REMOVAL ;
3077 typedef struct tagPD {
3089 HINSTANCE hInstance;
3091 LPPRINTHOOKPROC lpfnPrintHook;
3092 LPSETUPHOOKPROC lpfnSetupHook;
3093 LPCTSTR lpPrintTemplateName;
3094 LPCTSTR lpSetupTemplateName;
3095 HANDLE hPrintTemplate;
3096 HANDLE hSetupTemplate;
3097 } PRINTDLG PACKED, *LPPRINTDLG PACKED;
3099 typedef struct _PRINTER_DEFAULTSA
3102 LPDEVMODEA pDevMode;
3103 ACCESS_MASK DesiredAccess;
3104 } PRINTER_DEFAULTSA, *PPRINTER_DEFAULTSA, *LPPRINTER_DEFAULTSA;
3106 typedef struct _PRINTER_DEFAULTSW
3109 LPDEVMODEA pDevMode;
3110 ACCESS_MASK DesiredAccess;
3111 } PRINTER_DEFAULTSW, *PPRINTER_DEFAULTSW, *LPPRINTER_DEFAULTSW;
3113 typedef struct _PRINTER_INFO_1 {
3115 LPTSTR pDescription;
3118 } PRINTER_INFO_1, *PPRINTER_INFO_1, *LPPRINTER_INFO_1;
3121 typedef struct _PRINTER_INFO_2 {
3123 LPTSTR pPrinterName;
3131 LPTSTR pPrintProcessor;
3134 PSECURITY_DESCRIPTOR pSecurityDescriptor;
3137 DWORD DefaultPriority;
3146 typedef struct _PRINTER_INFO_3 {
3147 PSECURITY_DESCRIPTOR pSecurityDescriptor;
3151 typedef struct _PRINTER_INFO_4 {
3152 LPTSTR pPrinterName;
3157 typedef struct _PRINTER_INFO_5 {
3158 LPTSTR pPrinterName;
3161 DWORD DeviceNotSelectedTimeout;
3162 DWORD TransmissionRetryTimeout;
3165 typedef struct _PRINTER_NOTIFY_INFO_DATA {
3177 } PRINTER_NOTIFY_INFO_DATA;
3179 typedef struct _PRINTER_NOTIFY_INFO {
3183 PRINTER_NOTIFY_INFO_DATA aData[1];
3184 } PRINTER_NOTIFY_INFO;
3186 typedef struct _PRINTER_NOTIFY_OPTIONS_TYPE {
3193 } PRINTER_NOTIFY_OPTIONS_TYPE, *PPRINTER_NOTIFY_OPTIONS_TYPE;
3195 typedef struct _PRINTER_NOTIFY_OPTIONS {
3199 PPRINTER_NOTIFY_OPTIONS_TYPE pTypes;
3200 } PRINTER_NOTIFY_OPTIONS;
3202 typedef struct _PRINTPROCESSOR_INFO_1 {
3204 } PRINTPROCESSOR_INFO_1;
3207 typedef struct _PROCESS_HEAP_ENTRY {
3213 DWORD dwCommittedSize;
3214 DWORD dwUnCommittedSize;
3215 LPVOID lpFirstBlock;
3218 } PROCESS_HEAPENTRY, *LPPROCESS_HEAP_ENTRY;
3220 typedef struct _PROCESS_INFORMATION {
3225 } PROCESS_INFORMATION, *LPPROCESS_INFORMATION;
3227 typedef UINT CALLBACK (*LPFNPSPCALLBACK) (HWND, UINT, LPVOID);
3229 typedef struct _PROPSHEETPAGE {
3232 HINSTANCE hInstance;
3234 LPCTSTR pszTemplate;
3235 LPCDLGTEMPLATE pResource;
3244 LPFNPSPCALLBACK pfnCallback;
3246 } PROPSHEETPAGE, *LPPROPSHEETPAGE;
3247 typedef const PROPSHEETPAGE *LPCPROPSHEETPAGE;
3249 typedef struct _PSP *HPROPSHEETPAGE;
3250 typedef struct _PROPSHEETHEADER {
3254 HINSTANCE hInstance;
3266 LPCPROPSHEETPAGE ppsp;
3267 HPROPSHEETPAGE *phpage;
3269 PFNPROPSHEETCALLBACK pfnCallback;
3270 } PROPSHEETHEADER, *LPPROPSHEETHEADER;
3271 typedef const PROPSHEETHEADER *LPCPROPSHEETHEADER;
3273 /* PropertySheet callbacks */
3274 typedef WINBOOL CALLBACK (*LPFNADDPROPSHEETPAGE) (HPROPSHEETPAGE, LPARAM);
3275 typedef WINBOOL CALLBACK (*LPFNADDPROPSHEETPAGES) (LPVOID,
3276 LPFNADDPROPSHEETPAGE,
3279 typedef struct _PROTOCOL_INFO {
3280 DWORD dwServiceFlags;
3286 DWORD dwMessageSize;
3290 typedef struct _PROVIDOR_INFO_1 {
3292 LPTSTR pEnvironment ;
3296 typedef struct _PSHNOTIFY {
3299 } PSHNOTIFY, *LPPSHNOTIFY;
3301 typedef struct _punctuation {
3303 LPSTR szPunctuation;
3306 typedef struct _QUERY_SERVICE_CONFIGA {
3307 DWORD dwServiceType;
3309 DWORD dwErrorControl;
3310 LPSTR lpBinaryPathName;
3311 LPSTR lpLoadOrderGroup;
3313 LPSTR lpDependencies;
3314 LPSTR lpServiceStartName;
3315 LPSTR lpDisplayName;
3316 } QUERY_SERVICE_CONFIGA, *LPQUERY_SERVICE_CONFIGA;
3318 typedef struct _QUERY_SERVICE_CONFIGW {
3319 DWORD dwServiceType;
3321 DWORD dwErrorControl;
3322 LPWSTR lpBinaryPathName;
3323 LPWSTR lpLoadOrderGroup;
3325 LPWSTR lpDependencies;
3326 LPWSTR lpServiceStartName;
3327 LPWSTR lpDisplayName;
3328 } QUERY_SERVICE_CONFIGW, *LPQUERY_SERVICE_CONFIGW;
3331 #define QUERY_SERVICE_CONFIG QUERY_SERVICE_CONFIGW
3332 #define LPQUERY_SERVICE_CONFIG LPQUERY_SERVICE_CONFIGW
3334 #define QUERY_SERVICE_CONFIG QUERY_SERVICE_CONFIGA
3335 #define LPQUERY_SERVICE_CONFIG LPQUERY_SERVICE_CONFIGA
3338 typedef struct _QUERY_SERVICE_LOCK_STATUSA {
3341 DWORD dwLockDuration;
3342 } QUERY_SERVICE_LOCK_STATUSA, *LPQUERY_SERVICE_LOCK_STATUSA;
3344 typedef struct _QUERY_SERVICE_LOCK_STATUSW {
3347 DWORD dwLockDuration;
3348 } QUERY_SERVICE_LOCK_STATUSW, *LPQUERY_SERVICE_LOCK_STATUSW;
3351 #define QUERY_SERVICE_LOCK_STATUS QUERY_SERVICE_LOCK_STATUSW
3352 #define LPQUERY_SERVICE_LOCK_STATUS LPQUERY_SERVICE_LOCK_STATUSW
3354 #define QUERY_SERVICE_LOCK_STATUS QUERY_SERVICE_LOCK_STATUSA
3355 #define LPQUERY_SERVICE_LOCK_STATUS LPQUERY_SERVICE_LOCK_STATUSA
3358 typedef struct _RASAMB {
3361 TCHAR szNetBiosError[ NETBIOS_NAME_LEN + 1 ];
3365 typedef struct _RASCONN {
3368 TCHAR szEntryName[RAS_MaxEntryName + 1];
3370 CHAR szDeviceType[ RAS_MaxDeviceType + 1 ];
3371 CHAR szDeviceName[ RAS_MaxDeviceName + 1 ];
3374 typedef struct _RASCONNSTATUS {
3376 RASCONNSTATE rasconnstate;
3378 TCHAR szDeviceType[RAS_MaxDeviceType + 1];
3379 TCHAR szDeviceName[RAS_MaxDeviceName + 1];
3382 typedef struct _RASDIALEXTENSIONS {
3387 } RASDIALEXTENSIONS;
3389 typedef struct _RASDIALPARAMS {
3391 TCHAR szEntryName[RAS_MaxEntryName + 1];
3392 TCHAR szPhoneNumber[RAS_MaxPhoneNumber + 1];
3393 TCHAR szCallbackNumber[RAS_MaxCallbackNumber + 1];
3394 TCHAR szUserName[UNLEN + 1];
3395 TCHAR szPassword[PWLEN + 1];
3396 TCHAR szDomain[DNLEN + 1] ;
3399 typedef struct _RASENTRYNAME {
3401 TCHAR szEntryName[RAS_MaxEntryName + 1];
3404 typedef struct _RASPPPIP {
3407 TCHAR szIpAddress[ RAS_MaxIpAddress + 1 ];
3410 typedef struct _RASPPPIPX {
3413 TCHAR szIpxAddress[ RAS_MaxIpxAddress + 1 ];
3416 typedef struct _RASPPPNBF {
3419 DWORD dwNetBiosError;
3420 TCHAR szNetBiosError[ NETBIOS_NAME_LEN + 1 ];
3421 TCHAR szWorkstationName[ NETBIOS_NAME_LEN + 1 ];
3425 typedef struct _RASTERIZER_STATUS {
3429 } RASTERIZER_STATUS, *LPRASTERIZER_STATUS;
3431 typedef struct _REASSIGN_BLOCKS {
3434 DWORD BlockNumber[1];
3437 typedef struct _REMOTE_NAME_INFO {
3438 LPTSTR lpUniversalName;
3439 LPTSTR lpConnectionName;
3440 LPTSTR lpRemainingPath;
3445 typedef struct _reobject {
3449 LPOLEOBJECT poleobj;
3451 LPOLECLIENTSITE polesite;
3459 typedef struct _repastespecial {
3464 typedef struct _reqresize {
3469 typedef struct _RGNDATAHEADER {
3477 typedef struct _RGNDATA {
3480 } RGNDATA, *PRGNDATA, *LPRGNDATA;
3482 typedef struct tagSCROLLINFO {
3490 } SCROLLINFO, *LPSCROLLINFO;
3491 typedef SCROLLINFO const *LPCSCROLLINFO;
3494 typedef struct _selchange {
3500 typedef struct tagSERIALKEYS {
3503 LPSTR lpszActivePort;
3507 } SERIALKEYS, * LPSERIALKEYS;
3509 typedef struct _SERVICE_TABLE_ENTRYA {
3510 LPSTR lpServiceName;
3511 LPSERVICE_MAIN_FUNCTION lpServiceProc;
3512 } SERVICE_TABLE_ENTRYA, *LPSERVICE_TABLE_ENTRYA;
3514 typedef struct _SERVICE_TABLE_ENTRYW {
3515 LPWSTR lpServiceName;
3516 LPSERVICE_MAIN_FUNCTION lpServiceProc;
3517 } SERVICE_TABLE_ENTRYW, *LPSERVICE_TABLE_ENTRYW;
3520 #define SERVICE_TABLE_ENTRY SERVICE_TABLE_ENTRYW
3521 #define LPSERVICE_TABLE_ENTRY LPSERVICE_TABLE_ENTRYW
3523 #define SERVICE_TABLE_ENTRY SERVICE_TABLE_ENTRYA
3524 #define LPSERVICE_TABLE_ENTRY LPSERVICE_TABLE_ENTRYA
3528 typedef struct _SERVICE_TYPE_VALUE_ABS {
3534 } SERVICE_TYPE_VALUE_ABS;
3536 typedef struct _SERVICE_TYPE_INFO_ABS {
3539 SERVICE_TYPE_VALUE_ABS Values[1];
3540 } SERVICE_TYPE_INFO_ABS;
3542 typedef struct _SESSION_BUFFER {
3545 UCHAR local_name[NCBNAMSZ];
3546 UCHAR remote_name[NCBNAMSZ];
3547 UCHAR rcvs_outstanding;
3548 UCHAR sends_outstanding;
3551 typedef struct _SESSION_HEADER {
3554 UCHAR rcv_dg_outstanding;
3555 UCHAR rcv_any_outstanding;
3558 typedef enum tagSHCONTF {
3559 SHCONTF_FOLDERS = 32,
3560 SHCONTF_NONFOLDERS = 64,
3561 SHCONTF_INCLUDEHIDDEN = 128,
3564 typedef struct _SHFILEINFO {
3568 char szDisplayName[MAX_PATH];
3569 char szTypeName[80];
3572 typedef WORD FILEOP_FLAGS;
3573 typedef struct _SHFILEOPSTRUCT {
3578 FILEOP_FLAGS fFlags;
3579 WINBOOL fAnyOperationsAborted;
3580 LPVOID hNameMappings;
3581 LPCSTR lpszProgressTitle;
3582 } SHFILEOPSTRUCT, *LPSHFILEOPSTRUCT;
3584 typedef enum tagSHGDN {
3587 SHGDN_FORPARSING = 0x8000,
3590 typedef struct _SHNAMEMAPPING {
3595 } SHNAMEMAPPING, *LPSHNAMEMAPPING;
3597 typedef struct tagSOUNDSENTRY {
3600 DWORD iFSTextEffect;
3601 DWORD iFSTextEffectMSec;
3602 DWORD iFSTextEffectColorBits;
3603 DWORD iFSGrafEffect;
3604 DWORD iFSGrafEffectMSec;
3605 DWORD iFSGrafEffectColor;
3606 DWORD iWindowsEffect;
3607 DWORD iWindowsEffectMSec;
3608 LPTSTR lpszWindowsEffectDLL;
3609 DWORD iWindowsEffectOrdinal;
3610 } SOUNDSENTRY, *LPSOUNDSENTRY;
3612 typedef struct _STARTUPINFOA {
3621 DWORD dwXCountChars;
3622 DWORD dwYCountChars;
3623 DWORD dwFillAttribute;
3631 } STARTUPINFOA, *LPSTARTUPINFOA;
3633 typedef struct _STARTUPINFOW {
3642 DWORD dwXCountChars;
3643 DWORD dwYCountChars;
3644 DWORD dwFillAttribute;
3652 } STARTUPINFOW, *LPSTARTUPINFOW;
3655 typedef STARTUPINFOW STARTUPINFO;
3656 typedef LPSTARTUPINFOW LPSTARTUPINFO;
3658 typedef STARTUPINFOA STARTUPINFO;
3659 typedef LPSTARTUPINFOA LPSTARTUPINFO;
3660 #endif /* UNICODE */
3662 typedef struct tagSTICKYKEYS {
3665 } STICKYKEYS, *LPSTICKYKEYS;
3667 typedef struct _STRRET {
3673 char cStr[MAX_PATH];
3675 } STRRET, *LPSTRRET;
3677 typedef struct _tagSTYLEBUF {
3679 CHAR szDescription[32];
3680 } STYLEBUF, *LPSTYLEBUF;
3682 typedef struct tagSTYLESTRUCT {
3685 } STYLESTRUCT, * LPSTYLESTRUCT;
3687 typedef struct _SYSTEM_AUDIT_ACE {
3693 typedef struct _SYSTEM_INFO
3700 WORD wProcessorArchitecture;
3707 LPVOID lpMinimumApplicationAddress;
3708 LPVOID lpMaximumApplicationAddress;
3709 DWORD dwActiveProcessorMask;
3710 DWORD dwNumberOfProcessors;
3711 DWORD dwProcessorType;
3712 DWORD dwAllocationGranularity;
3713 WORD wProcessorLevel;
3714 WORD wProcessorRevision;
3715 } SYSTEM_INFO, *LPSYSTEM_INFO;
3717 typedef struct _SYSTEM_POWER_STATUS {
3720 BYTE BatteryLifePercent;
3722 DWORD BatteryLifeTime;
3723 DWORD BatteryFullLifeTime;
3724 } SYSTEM_POWER_STATUS;
3725 typedef SYSTEM_POWER_STATUS *LPSYSTEM_POWER_STATUS;
3727 typedef struct _TAPE_ERASE {
3731 typedef struct _TAPE_GET_DRIVE_PARAMETERS {
3733 BOOLEAN Compression;
3734 BOOLEAN DataPadding;
3735 BOOLEAN ReportSetmarks;
3736 ULONG DefaultBlockSize;
3737 ULONG MaximumBlockSize;
3738 ULONG MinimumBlockSize;
3739 ULONG MaximumPartitionCount;
3742 ULONG EOTWarningZoneSize;
3743 } TAPE_GET_DRIVE_PARAMETERS;
3745 typedef struct _TAPE_GET_MEDIA_PARAMETERS {
3746 LARGE_INTEGER Capacity;
3747 LARGE_INTEGER Remaining;
3749 DWORD PartitionCount;
3750 BOOLEAN WriteProtected;
3751 } TAPE_GET_MEDIA_PARAMETERS;
3753 typedef struct _TAPE_GET_POSITION {
3758 } TAPE_GET_POSITION;
3760 typedef struct _TAPE_PREPARE {
3764 typedef struct _TAPE_SET_DRIVE_PARAMETERS {
3766 BOOLEAN Compression;
3767 BOOLEAN DataPadding;
3768 BOOLEAN ReportSetmarks;
3769 ULONG EOTWarningZoneSize;
3770 } TAPE_SET_DRIVE_PARAMETERS;
3772 typedef struct _TAPE_SET_MEDIA_PARAMETERS {
3774 } TAPE_SET_MEDIA_PARAMETERS;
3776 typedef struct _TAPE_SET_POSITION {
3781 } TAPE_SET_POSITION;
3783 typedef struct _TAPE_WRITE_MARKS {
3791 } TBADDBITMAP, *LPTBADDBITMAP;
3793 typedef struct _TBBUTTON {
3800 } TBBUTTON, * PTBBUTTON, * LPTBBUTTON;
3801 typedef const TBBUTTON * LPCTBBUTTON;
3809 } TBNOTIFY, *LPTBNOTIFY;
3814 LPCTSTR pszValueName;
3817 typedef struct _TC_HITTESTINFO {
3822 typedef struct _TC_ITEM {
3832 typedef struct _TC_ITEMHEADER {
3841 typedef struct _TC_KEYDOWN {
3847 typedef struct _textrange {
3852 typedef struct tagTOGGLEKEYS {
3865 } TOOLINFO, *PTOOLINFO, *LPTOOLINFO;
3873 } TOOLTIPTEXT, *LPTOOLTIPTEXT;
3875 typedef struct tagTPMPARAMS {
3878 } TPMPARAMS, *LPTPMPARAMS;
3880 #if 0 // RobD - typedef removed due to conflict with mingw headers
3881 typedef struct _TRANSMIT_FILE_BUFFERS {
3886 } TRANSMIT_FILE_BUFFERS;
3889 typedef struct _TT_HITTESTINFO {
3893 } TTHITTESTINFO, * LPHITTESTINFO;
3895 typedef struct tagTTPOLYCURVE {
3899 } TTPOLYCURVE, * LPTTPOLYCURVE;
3901 typedef struct _TTPOLYGONHEADER {
3905 } TTPOLYGONHEADER, * LPTTPOLYGONHEADER;
3907 typedef struct _TV_DISPINFO {
3912 typedef struct _TVHITTESTINFO {
3916 } TV_HITTESTINFO, *LPTV_HITTESTINFO;
3918 typedef struct _TV_INSERTSTRUCT {
3920 HTREEITEM hInsertAfter;
3922 } TV_INSERTSTRUCT, *LPTV_INSERTSTRUCT;
3924 typedef struct _TV_KEYDOWN {
3930 typedef struct _TV_SORTCB {
3932 PFNTVCOMPARE lpfnCompare;
3934 } TV_SORTCB, *LPTV_SORTCB;
3941 typedef struct _UNIVERSAL_NAME_INFO {
3942 LPTSTR lpUniversalName;
3943 } UNIVERSAL_NAME_INFO;
3945 typedef struct tagUSEROBJECTFLAGS {
3951 typedef struct _VERIFY_INFORMATION {
3952 LARGE_INTEGER StartingOffset;
3954 } VERIFY_INFORMATION ;
3956 typedef struct _VS_FIXEDFILEINFO {
3958 DWORD dwStrucVersion;
3959 DWORD dwFileVersionMS;
3960 DWORD dwFileVersionLS;
3961 DWORD dwProductVersionMS;
3962 DWORD dwProductVersionLS;
3963 DWORD dwFileFlagsMask;
3967 DWORD dwFileSubtype;
3972 typedef struct _WIN32_FIND_DATAA {
3973 DWORD dwFileAttributes;
3974 FILETIME ftCreationTime;
3975 FILETIME ftLastAccessTime;
3976 FILETIME ftLastWriteTime;
3977 DWORD nFileSizeHigh;
3981 CHAR cFileName[ MAX_PATH ];
3982 CHAR cAlternateFileName[ 14 ];
3983 } WIN32_FIND_DATAA, *LPWIN32_FIND_DATAA, *PWIN32_FIND_DATAA;
3985 typedef struct _WIN32_FIND_DATAW {
3986 DWORD dwFileAttributes;
3987 FILETIME ftCreationTime;
3988 FILETIME ftLastAccessTime;
3989 FILETIME ftLastWriteTime;
3990 DWORD nFileSizeHigh;
3994 WCHAR cFileName[ MAX_PATH ];
3995 WCHAR cAlternateFileName[ 14 ];
3996 } WIN32_FIND_DATAW, *LPWIN32_FIND_DATAW, *PWIN32_FIND_DATAW;
3999 #define WIN32_FIND_DATA WIN32_FIND_DATAW
4000 #define PWIN32_FIND_DATA PWIN32_FIND_DATAW
4001 #define LPWIN32_FIND_DATA LPWIN32_FIND_DATAW
4003 #define WIN32_FIND_DATA WIN32_FIND_DATAA
4004 #define PWIN32_FIND_DATA PWIN32_FIND_DATAA
4005 #define LPWIN32_FIND_DATA LPWIN32_FIND_DATAA
4008 typedef struct _WIN32_STREAM_ID {
4010 DWORD dwStreamAttributes;
4012 DWORD dwStreamNameSize;
4016 typedef struct _WINDOWPLACEMENT {
4020 POINT ptMinPosition;
4021 POINT ptMaxPosition;
4022 RECT rcNormalPosition;
4025 typedef struct _WNDCLASS {
4027 WNDPROC lpfnWndProc;
4033 HBRUSH hbrBackground;
4034 LPCTSTR lpszMenuName;
4035 LPCTSTR lpszClassName;
4036 } WNDCLASS, *LPWNDCLASS;
4038 typedef struct _WNDCLASSEX {
4041 WNDPROC lpfnWndProc;
4047 HBRUSH hbrBackground;
4048 LPCTSTR lpszMenuName;
4049 LPCTSTR lpszClassName;
4051 } WNDCLASSEX, *LPWNDCLASSEX;
4053 typedef struct _CONNECTDLGSTRUCT {
4056 LPNETRESOURCE lpConnRes;
4059 } CONNECTDLGSTRUCT, *LPCONNECTDLGSTRUCT;
4061 typedef struct _DISCDLGSTRUCT {
4065 LPTSTR lpRemoteName;
4067 } DISCDLGSTRUCT, *LPDISCDLGSTRUCT;
4069 typedef struct _NETINFOSTRUCT{
4071 DWORD dwProviderVersion;
4073 DWORD dwCharacteristics;
4078 } NETINFOSTRUCT, *LPNETINFOSTRUCT;
4080 typedef struct _NETCONNECTINFOSTRUCT{
4085 DWORD dwOptDataSize;
4086 } NETCONNECTINFOSTRUCT, *LPNETCONNECTINFOSTRUCT;
4088 typedef int CALLBACK (*ENUMMETAFILEPROC) (HDC, HANDLETABLE,
4089 METARECORD, int, LPARAM);
4090 typedef int CALLBACK (*ENHMETAFILEPROC) (HDC, HANDLETABLE,
4091 ENHMETARECORD, int, LPARAM);
4093 typedef int CALLBACK (*ENUMFONTSPROC) (LPLOGFONT, LPTEXTMETRIC, DWORD, LPARAM);
4094 typedef int CALLBACK (*FONTENUMPROC) (ENUMLOGFONT *, NEWTEXTMETRIC *,
4096 typedef int CALLBACK (*FONTENUMEXPROC) (ENUMLOGFONTEX *, NEWTEXTMETRICEX *,
4099 typedef VOID CALLBACK (*LPOVERLAPPED_COMPLETION_ROUTINE) (DWORD, DWORD,
4103 Structures for the extensions to OpenGL
4105 typedef struct _POINTFLOAT
4109 } POINTFLOAT, *PPOINTFLOAT;
4111 typedef struct _GLYPHMETRICSFLOAT
4115 POINTFLOAT gmfptGlyphOrigin;
4118 } GLYPHMETRICSFLOAT, *PGLYPHMETRICSFLOAT, *LPGLYPHMETRICSFLOAT;
4120 typedef struct tagLAYERPLANEDESCRIPTOR
4137 BYTE cAccumGreenBits;
4138 BYTE cAccumBlueBits;
4139 BYTE cAccumAlphaBits;
4145 COLORREF crTransparent;
4146 } LAYERPLANEDESCRIPTOR, *PLAYERPLANEDESCRIPTOR, *LPLAYERPLANEDESCRIPTOR;
4148 typedef struct tagPIXELFORMATDESCRIPTOR
4165 BYTE cAccumGreenBits;
4166 BYTE cAccumBlueBits;
4167 BYTE cAccumAlphaBits;
4174 DWORD dwVisibleMask;
4176 } PIXELFORMATDESCRIPTOR, *PPIXELFORMATDESCRIPTOR, *LPPIXELFORMATDESCRIPTOR;
4181 LPWSTR usri2_password;
4182 DWORD usri2_password_age;
4184 LPWSTR usri2_home_dir;
4185 LPWSTR usri2_comment;
4187 LPWSTR usri2_script_path;
4188 DWORD usri2_auth_flags;
4189 LPWSTR usri2_full_name;
4190 LPWSTR usri2_usr_comment;
4192 LPWSTR usri2_workstations;
4193 DWORD usri2_last_logon;
4194 DWORD usri2_last_logoff;
4195 DWORD usri2_acct_expires;
4196 DWORD usri2_max_storage;
4197 DWORD usri2_units_per_week;
4198 PBYTE usri2_logon_hours;
4199 DWORD usri2_bad_pw_count;
4200 DWORD usri2_num_logons;
4201 LPWSTR usri2_logon_server;
4202 DWORD usri2_country_code;
4203 DWORD usri2_code_page;
4204 } USER_INFO_2, *PUSER_INFO_2, *LPUSER_INFO_2;
4209 } USER_INFO_0, *PUSER_INFO_0, *LPUSER_INFO_0;
4214 LPWSTR usri3_password;
4215 DWORD usri3_password_age;
4217 LPWSTR usri3_home_dir;
4218 LPWSTR usri3_comment;
4220 LPWSTR usri3_script_path;
4221 DWORD usri3_auth_flags;
4222 LPWSTR usri3_full_name;
4223 LPWSTR usri3_usr_comment;
4225 LPWSTR usri3_workstations;
4226 DWORD usri3_last_logon;
4227 DWORD usri3_last_logoff;
4228 DWORD usri3_acct_expires;
4229 DWORD usri3_max_storage;
4230 DWORD usri3_units_per_week;
4231 PBYTE usri3_logon_hours;
4232 DWORD usri3_bad_pw_count;
4233 DWORD usri3_num_logons;
4234 LPWSTR usri3_logon_server;
4235 DWORD usri3_country_code;
4236 DWORD usri3_code_page;
4237 DWORD usri3_user_id;
4238 DWORD usri3_primary_group_id;
4239 LPWSTR usri3_profile;
4240 LPWSTR usri3_home_dir_drive;
4241 DWORD usri3_password_expired;
4242 } USER_INFO_3, *PUSER_INFO_3, *LPUSER_INFO_3;
4247 LPWSTR grpi2_comment;
4248 DWORD grpi2_group_id;
4249 DWORD grpi2_attributes;
4250 } GROUP_INFO_2, *PGROUP_INFO_2;
4255 } LOCALGROUP_INFO_0, *PLOCALGROUP_INFO_0, *LPLOCALGROUP_INFO_0;
4257 /* PE executable header. */
4258 /* Windows.h now includes pe.h to avoid conflicts! */
4260 typedef struct _DISPLAY_DEVICE {
4262 WCHAR DeviceName[32];
4263 WCHAR DeviceString[128];
4265 WCHAR DeviceID[128];
4266 WCHAR DeviceKey[128];
4267 } DISPLAY_DEVICE, *PDISPLAY_DEVICE;
4269 typedef HANDLE HMONITOR;
4270 typedef HANDLE HDEVNOTIFY;
4272 typedef BOOL CALLBACK (*MonitorEnumProc)(
4278 typedef MonitorEnumProc MONITORENUMPROC;
4286 } FLASHWINFO, *PFLASHWINFO;
4288 typedef struct tagALTTABINFO {
4298 } ALTTABINFO, *PALTTABINFO, *LPALTTABINFO;
4300 typedef struct tagCOMBOBOXINFO {
4308 } COMBOBOXINFO, *PCOMBOBOXINFO, *LPCOMBOBOXINFO;
4310 typedef struct tagCURSORINFO {
4315 } CURSORINFO, *PCURSORINFO, *LPCURSORINFO;
4317 typedef struct tagGUITHREADINFO {
4327 } GUITHREADINFO, *PGUITHREADINFO, *LPGUITHREADINFO;
4329 typedef struct tagLASTINPUTINFO {
4332 } LASTINPUTINFO, *PLASTINPUTINFO;
4334 typedef struct tagMENUBARINFO {
4341 } MENUBARINFO, *PMENUBARINFO;
4343 typedef struct tagMENUINFO {
4349 DWORD dwContextHelpID;
4350 ULONG_PTR dwMenuData;
4351 } MENUINFO, FAR *LPMENUINFO;
4352 typedef MENUINFO CONST FAR *LPCMENUINFO;
4354 typedef struct tagMONITORINFO {
4359 } MONITORINFO, *LPMONITORINFO;
4361 typedef struct tagMOUSEMOVEPOINT {
4365 ULONG_PTR dwExtraInfo;
4366 } MOUSEMOVEPOINT, *PMOUSEMOVEPOINT, *LPMOUSEMOVEPOINT;
4368 #define CCHILDREN_SCROLLBAR 5
4370 typedef struct tagSCROLLBARINFO {
4377 DWORD rgstate[CCHILDREN_SCROLLBAR+1];
4378 } SCROLLBARINFO, *PSCROLLBARINFO, *LPSCROLLBARINFO;
4380 #define CCHILDREN_TITLEBAR 5
4382 typedef struct tagTITLEBARINFO {
4385 DWORD rgstate[CCHILDREN_TITLEBAR+1];
4386 } TITLEBARINFO, *PTITLEBARINFO, *LPTITLEBARINFO;
4390 LPCTSTR szWindowName;
4392 UINT32 fToBeTerminated;
4393 } WINDOWINFO, *PWINDOWINFO, *LPWINDOWINFO;
4395 typedef struct tagMOUSEINPUT {
4401 ULONG_PTR dwExtraInfo;
4402 } MOUSEINPUT, *PMOUSEINPUT;
4404 typedef struct tagKEYBDINPUT {
4409 ULONG_PTR dwExtraInfo;
4410 } KEYBDINPUT, *PKEYBDINPUT;
4412 typedef struct tagHARDWAREINPUT {
4416 } HARDWAREINPUT, *PHARDWAREINPUT;
4418 typedef struct tagINPUT {
4426 } INPUT, *PINPUT, FAR* LPINPUT;
4428 typedef struct tagTRACKMOUSEEVENT {
4433 } TRACKMOUSEEVENT, *LPTRACKMOUSEEVENT;
4435 typedef struct _BLENDFUNCTION {
4438 BYTE SourceConstantAlpha;
4440 }BLENDFUNCTION, *PBLENDFUNCTION, *LPBLENDFUNCTION;
4442 typedef enum _GET_FILEEX_INFO_LEVELS {
4443 GetFileExInfoStandard
4444 } GET_FILEEX_INFO_LEVELS;
4446 typedef struct _WIN32_FILE_ATTRIBUTES_DATA {
4447 DWORD dwFileAttributes;
4448 FILETIME ftCreationTime;
4449 FILETIME ftLastAccessTime;
4450 FILETIME ftLastWriteTime;
4451 DWORD nFileSizeHigh;
4453 } WIN32_FILE_ATTRIBUTE_DATA, *LPWIN32_FILE_ATTRIBUTE_DATA;
4457 #endif /* __cplusplus */
4459 #endif /* WIN32_LEAN_AND_MEAN */
4461 #endif /* _GNU_H_WINDOWS32_STRUCTURES */