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 typedef struct _VALENT_A {
63 typedef struct _VALENT_W {
71 typedef VALENTW VALENT;
72 typedef PVALENTW PVALENT;
74 typedef VALENTA VALENT;
75 typedef PVALENTA PVALENT;
78 #ifndef WIN32_LEAN_AND_MEAN
82 #endif /* __cplusplus */
90 typedef struct _ABCFLOAT {
94 } ABCFLOAT, *LPABCFLOAT;
96 typedef struct tagACCEL {
102 typedef struct tagACCESSTIMEOUT {
108 typedef struct _ACTION_HEADER {
114 typedef struct _ADAPTER_STATUS {
115 UCHAR adapter_address[6];
123 WORD iframe_recv_err;
127 WORD iframe_xmit_err;
128 WORD recv_buff_unavail;
135 WORD xmit_buf_unavail;
140 WORD max_sess_pkt_size;
144 typedef struct _ADDJOB_INFO_1 {
149 typedef struct tagANIMATIONINFO {
152 } ANIMATIONINFO, *LPANIMATIONINFO;
154 typedef struct _RECT {
159 } RECT, *LPRECT, *LPCRECT, *PRECT;
161 typedef struct _RECTL {
166 } RECTL, *LPRECTL, *LPCRECTL, *PRECTL;
168 typedef struct _AppBarData {
171 UINT uCallbackMessage;
175 } APPBARDATA, *PAPPBARDATA;
177 typedef struct tagBITMAP
186 } BITMAP, *PBITMAP, *NPBITMAP, *LPBITMAP;
188 typedef struct tagBITMAPCOREHEADER {
196 typedef struct tagRGBTRIPLE {
200 } RGBTRIPLE, *PRGBTRIPLE;
202 typedef struct _BITMAPCOREINFO {
203 BITMAPCOREHEADER bmciHeader;
204 RGBTRIPLE bmciColors[1];
205 } BITMAPCOREINFO, *PBITMAPCOREINFO, *LPBITMAPCOREINFO;
207 typedef struct tagBITMAPFILEHEADER {
213 } BITMAPFILEHEADER __attribute__((packed));
215 typedef struct tagBITMAPINFOHEADER {
223 LONG biXPelsPerMeter;
224 LONG biYPelsPerMeter;
226 DWORD biClrImportant;
227 } BITMAPINFOHEADER, *LPBITMAPINFOHEADER, *PBITMAPINFOHEADER;
229 typedef struct tagRGBQUAD {
236 typedef struct tagBITMAPINFO {
237 BITMAPINFOHEADER bmiHeader;
238 RGBQUAD bmiColors[1];
239 } BITMAPINFO, *LPBITMAPINFO, *PBITMAPINFO;
241 typedef long FXPT2DOT30, * LPFXPT2DOT30;
243 typedef struct tagCIEXYZ
249 typedef CIEXYZ * LPCIEXYZ;
251 typedef struct tagCIEXYZTRIPLE
257 typedef CIEXYZTRIPLE * LPCIEXYZTRIPLE;
265 DWORD bV4V4Compression;
267 LONG bV4XPelsPerMeter;
268 LONG bV4YPelsPerMeter;
270 DWORD bV4ClrImportant;
276 CIEXYZTRIPLE bV4Endpoints;
280 } BITMAPV4HEADER, *LPBITMAPV4HEADER, *PBITMAPV4HEADER;
282 #ifndef _BLOB_DEFINED
283 #define _BLOB_DEFINED
284 typedef struct _BLOB {
290 typedef struct _SHITEMID {
293 } SHITEMID, * LPSHITEMID;
294 typedef const SHITEMID * LPCSHITEMID;
296 typedef struct _ITEMIDLIST {
298 } ITEMIDLIST, * LPITEMIDLIST;
299 typedef const ITEMIDLIST * LPCITEMIDLIST;
301 typedef struct _browseinfo {
303 LPCITEMIDLIST pidlRoot;
304 LPSTR pszDisplayName;
310 } BROWSEINFO, *PBROWSEINFO, *LPBROWSEINFO;
312 typedef struct _BY_HANDLE_FILE_INFORMATION {
313 DWORD dwFileAttributes;
314 FILETIME ftCreationTime;
315 FILETIME ftLastAccessTime;
316 FILETIME ftLastWriteTime;
317 DWORD dwVolumeSerialNumber;
320 DWORD nNumberOfLinks;
321 DWORD nFileIndexHigh;
323 } BY_HANDLE_FILE_INFORMATION, *LPBY_HANDLE_FILE_INFORMATION;
325 typedef struct _FIXED {
330 typedef struct tagPOINT {
333 } POINT, *LPPOINT, *PPOINT;
335 typedef struct tagPOINTFX {
340 typedef struct _POINTL {
345 typedef struct tagPOINTS {
350 typedef struct _tagCANDIDATEFORM {
355 } CANDIDATEFORM, *LPCANDIDATEFORM;
357 typedef struct _tagCANDIDATELIST {
365 } CANDIDATELIST, *LPCANDIDATELIST;
367 typedef struct tagCREATESTRUCT {
368 LPVOID lpCreateParams;
380 } CREATESTRUCT, *LPCREATESTRUCT;
382 typedef struct tagCREATESTRUCTA {
383 LPVOID lpCreateParams;
395 } CREATESTRUCTA, *LPCREATESTRUCTA;
397 typedef struct tagCREATESTRUCTW {
398 LPVOID lpCreateParams;
410 } CREATESTRUCTW, *LPCREATESTRUCTW;
412 typedef struct tagCBT_CREATEWND {
414 HWND hwndInsertAfter;
417 typedef struct tagCBTACTIVATESTRUCT {
422 typedef struct _CHAR_INFO {
428 } CHAR_INFO, *PCHAR_INFO;
430 typedef struct _charformat {
436 COLORREF crTextColor;
438 BYTE bPitchAndFamily;
439 TCHAR szFaceName[LF_FACESIZE];
442 typedef struct _charrange {
447 typedef struct tagCHARSET {
452 typedef struct tagFONTSIGNATURE {
455 } FONTSIGNATURE, *LPFONTSIGNATURE;
461 } CHARSETINFO, *LPCHARSETINFO;
468 COLORREF* lpCustColors;
471 LPCCHOOKPROC lpfnHook;
472 LPCTSTR lpTemplateName;
473 } CHOOSECOLOR, *LPCHOOSECOLOR;
475 typedef struct tagLOGFONT {
486 BYTE lfClipPrecision;
488 BYTE lfPitchAndFamily;
489 TCHAR lfFaceName[LF_FACESIZE];
490 } LOGFONT, *LPLOGFONT, *PLOGFONT;
492 typedef struct tagLOGFONTW {
503 BYTE lfClipPrecision;
505 BYTE lfPitchAndFamily;
506 WCHAR lfFaceName[LF_FACESIZE];
507 } LOGFONTW, *LPLOGFONTW, *PLOGFONTW;
518 LPCFHOOKPROC lpfnHook;
519 LPCTSTR lpTemplateName;
523 WORD ___MISSING_ALIGNMENT__;
526 } CHOOSEFONT, *LPCHOOSEFONT;
528 typedef struct _IDA {
533 typedef struct tagCLIENTCREATESTRUCT {
536 } CLIENTCREATESTRUCT;
538 typedef CLIENTCREATESTRUCT *LPCLIENTCREATESTRUCT;
540 typedef struct _CMInvokeCommandInfo {
550 } CMINVOKECOMMANDINFO, *LPCMINVOKECOMMANDINFO;
552 typedef struct tagCOLORADJUSTMENT {
555 WORD caIlluminantIndex;
559 WORD caReferenceBlack;
560 WORD caReferenceWhite;
563 SHORT caColorfulness;
564 SHORT caRedGreenTint;
565 } COLORADJUSTMENT, *LPCOLORADJUSTMENT;
567 typedef struct _COLORMAP {
570 } COLORMAP, * LPCOLORMAP;
572 typedef struct _DCB {
577 DWORD fOutxCtsFlow:1;
578 DWORD fOutxDsrFlow:1;
580 DWORD fDsrSensitivity:1;
581 DWORD fTXContinueOnXoff:1;
587 DWORD fAbortOnError:1;
603 typedef struct _COMM_CONFIG {
608 DWORD dwProviderSubType;
609 DWORD dwProviderOffset;
610 DWORD dwProviderSize;
611 WCHAR wcProviderData[1];
612 } COMMCONFIG, *LPCOMMCONFIG;
614 typedef struct _COMMPROP {
623 DWORD dwProvCapabilities;
624 DWORD dwSettableParams;
625 DWORD dwSettableBaud;
627 WORD wSettableStopParity;
628 DWORD dwCurrentTxQueue;
629 DWORD dwCurrentRxQueue;
633 } COMMPROP, *LPCOMMPROP;
635 typedef struct _COMMTIMEOUTS {
636 DWORD ReadIntervalTimeout;
637 DWORD ReadTotalTimeoutMultiplier;
638 DWORD ReadTotalTimeoutConstant;
639 DWORD WriteTotalTimeoutMultiplier;
640 DWORD WriteTotalTimeoutConstant;
641 } COMMTIMEOUTS,*LPCOMMTIMEOUTS;
643 typedef struct tagCOMPAREITEMSTRUCT {
655 COLORREF crBackground;
659 typedef struct _tagCOMPOSITIONFORM {
663 } COMPOSITIONFORM, *LPCOMPOSITIONFORM;
665 typedef struct _COMSTAT {
673 DWORD fReserved : 25;
676 } COMSTAT, *LPCOMSTAT;
678 typedef struct tagCONVCONTEXT {
685 SECURITY_QUALITY_OF_SERVICE qos;
688 typedef CONVCONTEXT *PCONVCONTEXT;
690 typedef struct tagCONVINFO {
704 CONVCONTEXT ConvCtxt;
707 } CONVINFO, *PCONVINFO;
709 typedef struct tagCOPYDATASTRUCT {
715 typedef struct _cpinfo {
717 BYTE DefaultChar[MAX_DEFAULTCHAR];
718 BYTE LeadByte[MAX_LEADBYTES];
721 typedef struct tagCPLINFO {
728 typedef struct _CREATE_PROCESS_DEBUG_INFO {
732 LPVOID lpBaseOfImage;
733 DWORD dwDebugInfoFileOffset;
734 DWORD nDebugInfoSize;
735 LPVOID lpThreadLocalBase;
736 LPTHREAD_START_ROUTINE lpStartAddress;
739 } CREATE_PROCESS_DEBUG_INFO;
741 typedef struct _CREATE_THREAD_DEBUG_INFO {
743 LPVOID lpThreadLocalBase;
744 LPTHREAD_START_ROUTINE lpStartAddress;
745 } CREATE_THREAD_DEBUG_INFO;
749 typedef struct _SOCKET_ADDRESS {
750 LPSOCKADDR lpSockaddr ;
751 INT iSockaddrLength ;
752 } SOCKET_ADDRESS, *PSOCKET_ADDRESS, *LPSOCKET_ADDRESS;
756 typedef struct _CSADDR_INFO {
757 SOCKET_ADDRESS LocalAddr;
758 SOCKET_ADDRESS RemoteAddr;
764 typedef struct _currencyfmt {
769 LPTSTR lpThousandSep;
772 LPTSTR lpCurrencySymbol;
775 typedef struct tagCURSORSHAPE {
783 } CURSORSHAPE, *LPCURSORSHAPE;
785 typedef struct tagCWPRETSTRUCT {
793 typedef struct tagCWPSTRUCT {
800 typedef struct _DATATYPES_INFO_1 {
805 unsigned short bAppReturnCode:8,
812 unsigned short reserved:14,
819 unsigned short unused:12,
829 unsigned short unused:13,
836 typedef struct tagDDEML_MSG_HOOK_DATA {
841 } DDEML_MSG_HOOK_DATA;
844 unsigned short unused:13,
852 unsigned short unused:12,
861 typedef struct _EXCEPTION_DEBUG_INFO {
862 EXCEPTION_RECORD ExceptionRecord;
864 } EXCEPTION_DEBUG_INFO;
866 typedef struct _EXIT_PROCESS_DEBUG_INFO {
868 } EXIT_PROCESS_DEBUG_INFO;
870 typedef struct _EXIT_THREAD_DEBUG_INFO {
872 } EXIT_THREAD_DEBUG_INFO;
874 typedef struct _LOAD_DLL_DEBUG_INFO {
877 DWORD dwDebugInfoFileOffset;
878 DWORD nDebugInfoSize;
881 } LOAD_DLL_DEBUG_INFO;
883 typedef struct _UNLOAD_DLL_DEBUG_INFO {
885 } UNLOAD_DLL_DEBUG_INFO;
887 typedef struct _OUTPUT_DEBUG_STRING_INFO {
888 LPSTR lpDebugStringData;
890 WORD nDebugStringLength;
891 } OUTPUT_DEBUG_STRING_INFO;
893 typedef struct _RIP_INFO {
898 typedef struct _DEBUG_EVENT {
899 DWORD dwDebugEventCode;
903 EXCEPTION_DEBUG_INFO Exception;
904 CREATE_THREAD_DEBUG_INFO CreateThread;
905 CREATE_PROCESS_DEBUG_INFO CreateProcessInfo;
906 EXIT_THREAD_DEBUG_INFO ExitThread;
907 EXIT_PROCESS_DEBUG_INFO ExitProcess;
908 LOAD_DLL_DEBUG_INFO LoadDll;
909 UNLOAD_DLL_DEBUG_INFO UnloadDll;
910 OUTPUT_DEBUG_STRING_INFO DebugString;
913 } DEBUG_EVENT, *LPDEBUG_EVENT;
915 typedef struct tagDEBUGHOOKINFO {
917 DWORD idThreadInstaller;
923 typedef struct tagDELETEITEMSTRUCT {
931 typedef struct _DEV_BROADCAST_HDR {
933 ULONG dbch_devicetype;
936 typedef DEV_BROADCAST_HDR *PDEV_BROADCAST_HDR;
938 typedef struct _DEV_BROADCAST_OEM {
940 ULONG dbco_devicetype;
942 ULONG dbco_identifier;
945 typedef DEV_BROADCAST_OEM *PDEV_BROADCAST_OEM;
947 typedef struct _DEV_BROADCAST_PORT {
949 ULONG dbcp_devicetype;
952 } DEV_BROADCAST_PORT;
953 typedef DEV_BROADCAST_PORT *PDEV_BROADCAST_PORT;
955 struct _DEV_BROADCAST_USERDEFINED {
956 struct _DEV_BROADCAST_HDR dbud_dbh;
958 BYTE dbud_rgbUserDefined[1];
961 typedef struct _DEV_BROADCAST_VOLUME {
963 ULONG dbcv_devicetype;
967 } DEV_BROADCAST_VOLUME;
968 typedef DEV_BROADCAST_VOLUME *PDEV_BROADCAST_VOLUME;
970 typedef struct tagDEVNAMES {
975 } DEVNAMES, *LPDEVNAMES;
977 typedef struct tagDIBSECTION {
979 BITMAPINFOHEADER dsBmih;
980 DWORD dsBitfields[3];
985 typedef struct _DISK_PERFORMANCE {
986 LARGE_INTEGER BytesRead;
987 LARGE_INTEGER BytesWritten;
988 LARGE_INTEGER ReadTime;
989 LARGE_INTEGER WriteTime;
997 DWORD dwExtendedStyle;
1003 } DLGITEMTEMPLATE PACKED;
1005 typedef DLGITEMTEMPLATE *LPDLGITEMTEMPLATE;
1006 typedef DLGITEMTEMPLATE *PDLGITEMTEMPLATE;
1010 DWORD dwExtendedStyle;
1016 } DLGTEMPLATE PACKED;
1018 typedef DLGTEMPLATE *LPDLGTEMPLATE;
1019 typedef const DLGTEMPLATE *LPCDLGTEMPLATE;
1021 typedef struct _DOC_INFO_1 {
1027 typedef struct _DOC_INFO_2 {
1037 LPCTSTR lpszDocName;
1039 LPCTSTR lpszDatatype;
1041 } DOCINFO, *PDOCINFO;
1047 } DRAGLISTINFO, *LPDRAGLISTINFO;
1049 typedef struct tagDRAWITEMSTRUCT {
1059 } DRAWITEMSTRUCT, *LPDRAWITEMSTRUCT, *PDRAWITEMSTRUCT;
1067 } DRAWTEXTPARAMS, *LPDRAWTEXTPARAMS;
1071 typedef struct _DRIVER_INFO_1 {
1075 typedef struct _DRIVER_INFO_2 {
1078 LPTSTR pEnvironment;
1084 typedef struct _DRIVER_INFO_3 {
1087 LPTSTR pEnvironment;
1092 LPTSTR pDependentFiles;
1093 LPTSTR pMonitorName;
1094 LPTSTR pDefaultDataType;
1097 typedef struct _editstream {
1100 EDITSTREAMCALLBACK pfnCallback;
1103 typedef struct tagEMR
1109 typedef struct tagEMRANGLEARC
1116 } EMRANGLEARC, *PEMRANGLEARC;
1118 typedef struct tagEMRARC
1125 EMRARCTO, *PEMRARCTO,
1126 EMRCHORD, *PEMRCHORD,
1129 typedef struct _XFORM
1137 } XFORM, *PXFORM, *LPXFORM;
1139 typedef struct tagEMRBITBLT
1151 COLORREF crBkColorSrc;
1156 } EMRBITBLT, *PEMRBITBLT;
1158 typedef struct tagLOGBRUSH {
1162 } LOGBRUSH, *PLOGBRUSH;
1164 typedef struct tagEMRCREATEBRUSHINDIRECT
1169 } EMRCREATEBRUSHINDIRECT, *PEMRCREATEBRUSHINDIRECT;
1171 typedef LONG LCSCSTYPE;
1172 typedef LONG LCSGAMUTMATCH;
1174 typedef struct tagLOGCOLORSPACE {
1179 LCSCSTYPE lcsCSType;
1180 LCSGAMUTMATCH lcsIntent;
1181 CIEXYZTRIPLE lcsEndpoints;
1183 DWORD lcsGammaGreen;
1185 TCHAR lcsFilename[MAX_PATH];
1186 } LOGCOLORSPACE, *LPLOGCOLORSPACE;
1188 typedef struct tagEMRCREATECOLORSPACE
1193 } EMRCREATECOLORSPACE, *PEMRCREATECOLORSPACE;
1195 typedef struct tagEMRCREATEDIBPATTERNBRUSHPT
1204 } EMRCREATEDIBPATTERNBRUSHPT,
1205 PEMRCREATEDIBPATTERNBRUSHPT;
1207 typedef struct tagEMRCREATEMONOBRUSH
1216 } EMRCREATEMONOBRUSH, *PEMRCREATEMONOBRUSH;
1218 typedef struct tagPALETTEENTRY {
1223 } PALETTEENTRY, *LPPALETTEENTRY, *PPALETTEENTRY;
1225 typedef struct tagLOGPALETTE {
1228 PALETTEENTRY palPalEntry[1];
1229 } LOGPALETTE, *LPLOGPALETTE, *PLOGPALETTE;
1231 typedef struct tagEMRCREATEPALETTE
1236 } EMRCREATEPALETTE, *PEMRCREATEPALETTE;
1238 typedef struct tagLOGPEN {
1244 typedef struct tagEMRCREATEPEN
1249 } EMRCREATEPEN, *PEMRCREATEPEN;
1251 typedef struct tagEMRELLIPSE
1255 } EMRELLIPSE, *PEMRELLIPSE,
1256 EMRRECTANGLE, *PEMRRECTANGLE;
1258 typedef struct tagEMREOF
1262 DWORD offPalEntries;
1266 typedef struct tagEMREXCLUDECLIPRECT
1270 } EMREXCLUDECLIPRECT, *PEMREXCLUDECLIPRECT,
1271 EMRINTERSECTCLIPRECT, *PEMRINTERSECTCLIPRECT;
1273 typedef struct tagPANOSE {
1279 BYTE bStrokeVariation;
1286 typedef struct tagEXTLOGFONT {
1288 BCHAR elfFullName[LF_FULLFACESIZE];
1289 BCHAR elfStyle[LF_FACESIZE];
1294 BYTE elfVendorId[ELF_VENDOR_SIZE];
1299 typedef struct tagEMREXTCREATEFONTINDIRECTW
1304 } EMREXTCREATEFONTINDIRECTW,
1305 PEMREXTCREATEFONTINDIRECTW;
1307 typedef struct tagEXTLOGPEN {
1313 DWORD elpNumEntries;
1314 DWORD elpStyleEntry[1];
1317 typedef struct tagEMREXTCREATEPEN
1326 } EMREXTCREATEPEN, *PEMREXTCREATEPEN;
1328 typedef struct tagEMREXTFLOODFILL
1334 } EMREXTFLOODFILL, *PEMREXTFLOODFILL;
1336 typedef struct tagEMREXTSELECTCLIPRGN
1342 } EMREXTSELECTCLIPRGN, *PEMREXTSELECTCLIPRGN;
1344 typedef struct tagEMRTEXT
1346 POINTL ptlReference;
1352 } EMRTEXT, *PEMRTEXT;
1354 typedef struct tagEMREXTTEXTOUTA
1358 DWORD iGraphicsMode;
1362 } EMREXTTEXTOUTA, *PEMREXTTEXTOUTA,
1363 EMREXTTEXTOUTW, *PEMREXTTEXTOUTW;
1365 typedef struct tagEMRFILLPATH
1369 } EMRFILLPATH, *PEMRFILLPATH,
1370 EMRSTROKEANDFILLPATH, *PEMRSTROKEANDFILLPATH,
1371 EMRSTROKEPATH, *PEMRSTROKEPATH;
1373 typedef struct tagEMRFILLRGN
1380 } EMRFILLRGN, *PEMRFILLRGN;
1382 typedef struct tagEMRFORMAT {
1389 typedef struct tagSIZE {
1392 } SIZE, *PSIZE, *LPSIZE, SIZEL, *PSIZEL, *LPSIZEL;
1394 typedef struct tagEMRFRAMERGN
1402 } EMRFRAMERGN, *PEMRFRAMERGN;
1404 typedef struct tagEMRGDICOMMENT
1409 } EMRGDICOMMENT, *PEMRGDICOMMENT;
1411 typedef struct tagEMRINVERTRGN
1417 } EMRINVERTRGN, *PEMRINVERTRGN,
1418 EMRPAINTRGN, *PEMRPAINTRGN;
1420 typedef struct tagEMRLINETO
1424 } EMRLINETO, *PEMRLINETO,
1425 EMRMOVETOEX, *PEMRMOVETOEX;
1427 typedef struct tagEMRMASKBLT
1439 COLORREF crBkColorSrc;
1452 } EMRMASKBLT, *PEMRMASKBLT;
1454 typedef struct tagEMRMODIFYWORLDTRANSFORM
1459 } EMRMODIFYWORLDTRANSFORM,
1460 PEMRMODIFYWORLDTRANSFORM;
1462 typedef struct tagEMROFFSETCLIPRGN
1466 } EMROFFSETCLIPRGN, *PEMROFFSETCLIPRGN;
1468 typedef struct tagEMRPLGBLT
1478 COLORREF crBkColorSrc;
1491 } EMRPLGBLT, *PEMRPLGBLT;
1493 typedef struct tagEMRPOLYDRAW
1500 } EMRPOLYDRAW, *PEMRPOLYDRAW;
1502 typedef struct tagEMRPOLYDRAW16
1509 } EMRPOLYDRAW16, *PEMRPOLYDRAW16;
1511 typedef struct tagEMRPOLYLINE
1517 } EMRPOLYLINE, *PEMRPOLYLINE,
1518 EMRPOLYBEZIER, *PEMRPOLYBEZIER,
1519 EMRPOLYGON, *PEMRPOLYGON,
1520 EMRPOLYBEZIERTO, *PEMRPOLYBEZIERTO,
1521 EMRPOLYLINETO, *PEMRPOLYLINETO;
1523 typedef struct tagEMRPOLYLINE16
1529 } EMRPOLYLINE16, *PEMRPOLYLINE16,
1530 EMRPOLYBEZIER16, *PEMRPOLYBEZIER16,
1531 EMRPOLYGON16, *PEMRPOLYGON16,
1532 EMRPOLYBEZIERTO16, *PEMRPOLYBEZIERTO16,
1533 EMRPOLYLINETO16, *PEMRPOLYLINETO16;
1535 typedef struct tagEMRPOLYPOLYLINE
1541 DWORD aPolyCounts[1];
1543 } EMRPOLYPOLYLINE, *PEMRPOLYPOLYLINE,
1544 EMRPOLYPOLYGON, *PEMRPOLYPOLYGON;
1546 typedef struct tagEMRPOLYPOLYLINE16
1552 DWORD aPolyCounts[1];
1554 } EMRPOLYPOLYLINE16, *PEMRPOLYPOLYLINE16,
1555 EMRPOLYPOLYGON16, *PEMRPOLYPOLYGON16;
1557 typedef struct tagEMRPOLYTEXTOUTA
1561 DWORD iGraphicsMode;
1565 EMRTEXT aemrtext[1];
1566 } EMRPOLYTEXTOUTA, *PEMRPOLYTEXTOUTA,
1567 EMRPOLYTEXTOUTW, *PEMRPOLYTEXTOUTW;
1569 typedef struct tagEMRRESIZEPALETTE
1574 } EMRRESIZEPALETTE, *PEMRRESIZEPALETTE;
1576 typedef struct tagEMRRESTOREDC
1580 } EMRRESTOREDC, *PEMRRESTOREDC;
1582 typedef struct tagEMRROUNDRECT
1587 } EMRROUNDRECT, *PEMRROUNDRECT;
1589 typedef struct tagEMRSCALEVIEWPORTEXTEX
1596 } EMRSCALEVIEWPORTEXTEX, *PEMRSCALEVIEWPORTEXTEX,
1597 EMRSCALEWINDOWEXTEX, *PEMRSCALEWINDOWEXTEX;
1599 typedef struct tagEMRSELECTCOLORSPACE
1603 } EMRSELECTCOLORSPACE, *PEMRSELECTCOLORSPACE,
1604 EMRDELETECOLORSPACE, *PEMRDELETECOLORSPACE;
1605 typedef struct tagEMRSELECTOBJECT
1609 } EMRSELECTOBJECT, *PEMRSELECTOBJECT,
1610 EMRDELETEOBJECT, *PEMRDELETEOBJECT;
1612 typedef struct tagEMRSELECTPALETTE
1616 } EMRSELECTPALETTE, *PEMRSELECTPALETTE;
1618 typedef struct tagEMRSETARCDIRECTION
1621 DWORD iArcDirection;
1622 } EMRSETARCDIRECTION, *PEMRSETARCDIRECTION;
1624 typedef struct tagEMRSETTEXTCOLOR
1628 } EMRSETBKCOLOR, *PEMRSETBKCOLOR,
1629 EMRSETTEXTCOLOR, *PEMRSETTEXTCOLOR;
1631 typedef struct tagEMRSETCOLORADJUSTMENT
1634 COLORADJUSTMENT ColorAdjustment;
1635 } EMRSETCOLORADJUSTMENT, *PEMRSETCOLORADJUSTMENT;
1637 typedef struct tagEMRSETDIBITSTODEVICE
1654 } EMRSETDIBITSTODEVICE, *PEMRSETDIBITSTODEVICE;
1656 typedef struct tagEMRSETMAPPERFLAGS
1660 } EMRSETMAPPERFLAGS, *PEMRSETMAPPERFLAGS;
1662 typedef struct tagEMRSETMITERLIMIT
1666 } EMRSETMITERLIMIT, *PEMRSETMITERLIMIT;
1668 typedef struct tagEMRSETPALETTEENTRIES
1674 PALETTEENTRY aPalEntries[1];
1675 } EMRSETPALETTEENTRIES, *PEMRSETPALETTEENTRIES;
1677 typedef struct tagEMRSETPIXELV
1682 } EMRSETPIXELV, *PEMRSETPIXELV;
1684 typedef struct tagEMRSETVIEWPORTEXTEX
1688 } EMRSETVIEWPORTEXTEX, *PEMRSETVIEWPORTEXTEX,
1689 EMRSETWINDOWEXTEX, *PEMRSETWINDOWEXTEX;
1691 typedef struct tagEMRSETVIEWPORTORGEX
1695 } EMRSETVIEWPORTORGEX, *PEMRSETVIEWPORTORGEX,
1696 EMRSETWINDOWORGEX, *PEMRSETWINDOWORGEX,
1697 EMRSETBRUSHORGEX, *PEMRSETBRUSHORGEX;
1699 typedef struct tagEMRSETWORLDTRANSFORM
1703 } EMRSETWORLDTRANSFORM, *PEMRSETWORLDTRANSFORM;
1705 typedef struct tagEMRSTRETCHBLT
1717 COLORREF crBkColorSrc;
1725 } EMRSTRETCHBLT, *PEMRSTRETCHBLT;
1727 typedef struct tagEMRSTRETCHDIBITS
1745 } EMRSTRETCHDIBITS, *PEMRSTRETCHDIBITS;
1747 typedef struct tagABORTPATH
1750 } EMRABORTPATH, *PEMRABORTPATH,
1751 EMRBEGINPATH, *PEMRBEGINPATH,
1752 EMRENDPATH, *PEMRENDPATH,
1753 EMRCLOSEFIGURE, *PEMRCLOSEFIGURE,
1754 EMRFLATTENPATH, *PEMRFLATTENPATH,
1755 EMRWIDENPATH, *PEMRWIDENPATH,
1756 EMRSETMETARGN, *PEMRSETMETARGN,
1757 EMRSAVEDC, *PEMRSAVEDC,
1758 EMRREALIZEPALETTE, *PEMRREALIZEPALETTE;
1760 typedef struct tagEMRSELECTCLIPPATH
1764 } EMRSELECTCLIPPATH, *PEMRSELECTCLIPPATH,
1765 EMRSETBKMODE, *PEMRSETBKMODE,
1766 EMRSETMAPMODE, *PEMRSETMAPMODE,
1767 EMRSETPOLYFILLMODE, *PEMRSETPOLYFILLMODE,
1768 EMRSETROP2, *PEMRSETROP2,
1769 EMRSETSTRETCHBLTMODE, *PEMRSETSTRETCHBLTMODE,
1770 EMRSETTEXTALIGN, *PEMRSETTEXTALIGN,
1771 EMRENABLEICM, *PEMRENABLEICM;
1773 typedef struct tagNMHDR {
1779 typedef struct _encorrecttext {
1785 typedef struct _endropfiles {
1805 typedef struct tagENHMETAHEADER {
1817 DWORD offDescription;
1820 SIZEL szlMillimeters;
1821 } ENHMETAHEADER, *LPENHMETAHEADER;
1823 typedef struct tagENHMETARECORD {
1827 } ENHMETARECORD, *PENHMETARECORD, *LPENHMETARECORD;
1829 typedef struct _enprotected {
1837 typedef struct _SERVICE_STATUS {
1838 DWORD dwServiceType;
1839 DWORD dwCurrentState;
1840 DWORD dwControlsAccepted;
1841 DWORD dwWin32ExitCode;
1842 DWORD dwServiceSpecificExitCode;
1845 } SERVICE_STATUS, *LPSERVICE_STATUS;
1847 typedef struct _ENUM_SERVICE_STATUSA {
1848 LPSTR lpServiceName;
1849 LPSTR lpDisplayName;
1850 SERVICE_STATUS ServiceStatus;
1851 } ENUM_SERVICE_STATUSA, *LPENUM_SERVICE_STATUSA;
1853 typedef struct _ENUM_SERVICE_STATUSW {
1854 LPWSTR lpServiceName;
1855 LPWSTR lpDisplayName;
1856 SERVICE_STATUS ServiceStatus;
1857 } ENUM_SERVICE_STATUSW, *LPENUM_SERVICE_STATUSW;
1860 #define ENUM_SERVICE_STATUS ENUM_SERVICE_STATUSW
1861 #define LPENUM_SERVICE_STATUS LPENUM_SERVICE_STATUSW
1863 #define ENUM_SERVICE_STATUS ENUM_SERVICE_STATUSA
1864 #define LPENUM_SERVICE_STATUS LPENUM_SERVICE_STATUSA
1867 typedef struct tagENUMLOGFONT {
1869 BCHAR elfFullName[LF_FULLFACESIZE];
1870 BCHAR elfStyle[LF_FACESIZE];
1873 typedef struct tagENUMLOGFONTEX {
1875 BCHAR elfFullName[LF_FULLFACESIZE];
1876 BCHAR elfStyle[LF_FACESIZE];
1877 BCHAR elfScript[LF_FACESIZE];
1880 typedef struct _EVENTLOGRECORD {
1884 DWORD TimeGenerated;
1891 DWORD ClosingRecordNumber;
1893 DWORD UserSidLength;
1894 DWORD UserSidOffset;
1902 TCHAR Computername[]
1912 typedef struct tagEVENTMSG {
1920 typedef struct _EXT_BUTTON {
1924 } EXT_BUTTON, *LPEXT_BUTTON;
1926 typedef struct tagFILTERKEYS {
1935 typedef struct _FIND_NAME_BUFFER {
1937 UCHAR access_control;
1938 UCHAR frame_control;
1939 UCHAR destination_addr[6];
1940 UCHAR source_addr[6];
1941 UCHAR routing_info[18];
1944 typedef struct _FIND_NAME_HEADER {
1951 enum _FINDEX_INFO_LEVELS
1954 FindExInfoMaxInfoLevel
1955 } FINDEX_INFO_LEVELS;
1958 enum _FINDEX_SEARCH_OPS
1960 FindExSearchNameMatch,
1961 FindExSearchLimitToDirectories,
1962 FindExSearchLimitToDevices,
1963 FindExSearchMaxSearchOp
1965 } FINDEX_SEARCH_OPS;
1967 #define FIND_FIRST_EX_CASE_SENSITIVE 0x00000001
1972 HINSTANCE hInstance;
1974 LPTSTR lpstrFindWhat;
1975 LPTSTR lpstrReplaceWith;
1977 WORD wReplaceWithLen;
1979 LPFRHOOKPROC lpfnHook;
1980 LPCTSTR lpTemplateName;
1981 } FINDREPLACE, *LPFINDREPLACE;
1983 typedef struct _findtext {
1988 typedef struct _findtextex {
1994 typedef struct _FMS_GETDRIVEINFO {
2002 typedef struct _FMS_GETFILESEL {
2009 typedef struct _FMS_LOAD {
2011 TCHAR szMenuName[MENU_TEXT_LEN];
2016 typedef struct _FMS_TOOLBARLOAD {
2018 LPEXT_BUTTON lpButtons;
2026 typedef struct _FORM_INFO_1 {
2030 RECTL ImageableArea;
2033 typedef struct _FORMAT_PARAMETERS {
2034 MEDIA_TYPE MediaType;
2035 DWORD StartCylinderNumber;
2036 DWORD EndCylinderNumber;
2037 DWORD StartHeadNumber;
2038 DWORD EndHeadNumber;
2039 } FORMAT_PARAMETERS ;
2041 typedef struct _formatrange {
2049 typedef struct tagGCP_RESULTS {
2059 } GCP_RESULTS, *LPGCP_RESULTS;
2062 typedef struct _GLYPHMETRICS {
2065 POINT gmptGlyphOrigin;
2068 } GLYPHMETRICS, *LPGLYPHMETRICS;
2070 typedef struct tagHANDLETABLE {
2071 HGDIOBJ objectHandle[1];
2072 } HANDLETABLE, *LPHANDLETABLE;
2074 typedef struct _HD_HITTESTINFO {
2080 typedef struct _HD_ITEM {
2090 typedef struct _WINDOWPOS {
2092 HWND hwndInsertAfter;
2098 } WINDOWPOS, *PWINDOWPOS, *LPWINDOWPOS;
2100 typedef struct _HD_LAYOUT {
2105 typedef struct _HD_NOTIFY {
2112 typedef struct tagHELPINFO {
2119 } HELPINFO, *LPHELPINFO;
2124 CHAR szKeyphrase[1];
2125 } MULTIKEYHELPA, *PMULTIKEYHELPA, *LPMULTIKEYHELPA;
2130 WCHAR szKeyphrase[1];
2131 } MULTIKEYHELPW, *PMULTIKEYHELPW, *LPMULTIKEYHELPW;
2140 TCHAR rgchMember[2];
2151 } HELPWININFOA, *PHELPWININFOA, *LPHELPWININFOA;
2160 WCHAR rgchMember[2];
2161 } HELPWININFOW, *PHELPWININFOW, *LPHELPWININFOW;
2164 typedef struct tagHIGHCONTRAST {
2167 LPTSTR lpszDefaultScheme;
2168 } HIGHCONTRAST, * LPHIGHCONTRAST;
2170 typedef struct tagHSZPAIR {
2175 typedef struct _ICONINFO {
2181 } ICONINFO, *PICONINFO;
2183 typedef struct tagICONMETRICS {
2189 } ICONMETRICS, *LPICONMETRICS;
2191 typedef struct _IMAGEINFO {
2199 typedef struct _JOB_INFO_1 {
2201 LPTSTR pPrinterName;
2202 LPTSTR pMachineName;
2212 SYSTEMTIME Submitted;
2216 typedef struct _JOB_INFO_2 {
2218 LPTSTR pPrinterName;
2219 LPTSTR pMachineName;
2224 LPTSTR pPrintProcessor;
2229 PSECURITY_DESCRIPTOR pSecurityDescriptor;
2237 SYSTEMTIME Submitted;
2239 DWORD PagesPrinted ;
2243 typedef struct tagKERNINGPAIR {
2247 } KERNINGPAIR, *LPKERNINGPAIR;
2249 typedef struct _LANA_ENUM {
2251 UCHAR lana[MAX_LANA];
2254 typedef struct _LDT_ENTRY {
2271 DWORD Reserved_0 : 1;
2272 DWORD Default_Big : 1;
2273 DWORD Granularity : 1;
2277 } LDT_ENTRY, *PLDT_ENTRY, *LPLDT_ENTRY;
2279 typedef struct tagLOCALESIGNATURE {
2281 DWORD lsCsbDefault[2];
2282 DWORD lsCsbSupported[2];
2286 typedef struct _LOCALGROUP_MEMBERS_INFO_0 {
2288 } LOCALGROUP_MEMBERS_INFO_0;
2291 typedef struct _LOCALGROUP_MEMBERS_INFO_3 {
2292 LPWSTR lgrmi3_domainandname;
2293 } LOCALGROUP_MEMBERS_INFO_3;
2295 typedef long FXPT16DOT16, * LPFXPT16DOT16;
2299 typedef LUID_AND_ATTRIBUTES LUID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY];
2300 typedef LUID_AND_ATTRIBUTES_ARRAY *PLUID_AND_ATTRIBUTES_ARRAY;
2302 typedef struct _LV_COLUMN {
2311 typedef struct _LV_ITEM {
2323 typedef struct tagLV_DISPINFO {
2328 typedef struct _LV_FINDINFO {
2336 typedef struct _LV_HITTESTINFO {
2342 typedef struct tagLV_KEYDOWN {
2348 typedef struct _MAT2 {
2355 typedef struct tagMDICREATESTRUCT {
2367 typedef MDICREATESTRUCT *LPMDICREATESTRUCT;
2369 typedef struct tagMEASUREITEMSTRUCT {
2376 } MEASUREITEMSTRUCT, *LPMEASUREITEMSTRUCT;
2378 typedef struct _MEMORYSTATUS {
2383 DWORD dwTotalPageFile;
2384 DWORD dwAvailPageFile;
2385 DWORD dwTotalVirtual;
2386 DWORD dwAvailVirtual;
2387 } MEMORYSTATUS, *LPMEMORYSTATUS;
2393 } MENUEX_TEMPLATE_HEADER;
2402 } MENUEX_TEMPLATE_ITEM;
2404 typedef struct tagMENUITEMINFO {
2411 HBITMAP hbmpChecked;
2412 HBITMAP hbmpUnchecked;
2416 } MENUITEMINFO, *LPMENUITEMINFO;
2417 typedef MENUITEMINFO CONST *LPCMENUITEMINFO;
2428 } MENUITEMTEMPLATEHEADER;
2429 typedef VOID MENUTEMPLATE, *LPMENUTEMPLATE;
2431 typedef struct tagMETAFILEPICT {
2440 } METAFILEPICT, *PMETAFILEPICT, *LPMETAFILEPICT;
2442 typedef struct tagMETAHEADER {
2449 WORD mtNoParameters;
2450 } METAHEADER PACKED;
2452 typedef struct tagMETARECORD {
2456 } METARECORD, *LPMETARECORD;
2458 typedef struct tagMINIMIZEDMETRICS {
2464 } MINIMIZEDMETRICS, *LPMINIMIZEDMETRICS;
2466 typedef struct tagMINMAXINFO {
2469 POINT ptMaxPosition;
2470 POINT ptMinTrackSize;
2471 POINT ptMaxTrackSize;
2474 typedef struct modemdevcaps_tag {
2476 DWORD dwRequiredSize;
2477 DWORD dwDevSpecificOffset;
2478 DWORD dwDevSpecificSize;
2480 DWORD dwModemProviderVersion;
2481 DWORD dwModemManufacturerOffset;
2482 DWORD dwModemManufacturerSize;
2483 DWORD dwModemModelOffset;
2484 DWORD dwModemModelSize;
2485 DWORD dwModemVersionOffset;
2486 DWORD dwModemVersionSize;
2488 DWORD dwDialOptions;
2489 DWORD dwCallSetupFailTimer;
2490 DWORD dwInactivityTimeout;
2491 DWORD dwSpeakerVolume;
2492 DWORD dwSpeakerMode;
2493 DWORD dwModemOptions;
2497 BYTE abVariablePortion [1];
2498 } MODEMDEVCAPS, *PMODEMDEVCAPS, *LPMODEMDEVCAPS;
2500 typedef struct modemsettings_tag {
2502 DWORD dwRequiredSize;
2503 DWORD dwDevSpecificOffset;
2504 DWORD dwDevSpecificSize;
2506 DWORD dwCallSetupFailTimer;
2507 DWORD dwInactivityTimeout;
2508 DWORD dwSpeakerVolume;
2509 DWORD dwSpeakerMode;
2510 DWORD dwPreferredModemOptions;
2512 DWORD dwNegotiatedModemOptions;
2513 DWORD dwNegotiatedDCERate;
2515 BYTE abVariablePortion[1];
2516 } MODEMSETTINGS, *PMODEMSETTINGS, *LPMODEMSETTINGS;
2518 typedef struct tagMONCBSTRUCT {
2536 typedef struct tagMONCONVSTRUCT {
2547 typedef struct tagMONERRSTRUCT {
2554 typedef struct tagMONHSZSTRUCT {
2563 typedef struct _MONITOR_INFO_1 {
2567 typedef struct _MONITOR_INFO_2 {
2569 LPTSTR pEnvironment ;
2573 typedef struct tagMONLINKSTRUCT {
2577 WINBOOL fEstablished;
2588 typedef struct tagMONMSGSTRUCT {
2596 DDEML_MSG_HOOK_DATA dmhd;
2599 typedef struct tagMOUSEHOOKSTRUCT {
2604 } MOUSEHOOKSTRUCT, *PMOUSEHOOKSTRUCT, *LPMOUSEHOOKSTRUCT;
2606 typedef struct _MOUSEKEYS {
2610 DWORD iTimeToMaxSpeed;
2616 typedef struct tagMSG {
2625 typedef void CALLBACK (*MSGBOXCALLBACK) (LPHELPINFO lpHelpInfo);
2630 HINSTANCE hInstance;
2635 DWORD dwContextHelpId;
2636 MSGBOXCALLBACK lpfnMsgBoxCallback;
2638 } MSGBOXPARAMS, *PMSGBOXPARAMS, *LPMSGBOXPARAMS;
2640 typedef struct _msgfilter {
2647 typedef struct tagMULTIKEYHELP {
2650 TCHAR szKeyphrase[1];
2653 typedef struct _NAME_BUFFER {
2654 UCHAR name[NCBNAMSZ];
2659 typedef struct _NCB {
2666 UCHAR ncb_callname[NCBNAMSZ];
2667 UCHAR ncb_name[NCBNAMSZ];
2670 void (*ncb_post) (struct _NCB *);
2673 UCHAR ncb_reserve[10];
2677 typedef struct _NCCALCSIZE_PARAMS {
2680 } NCCALCSIZE_PARAMS;
2682 typedef struct _NDDESHAREINFO {
2684 LPTSTR lpszShareName;
2686 LPTSTR lpszAppTopicList;
2693 LPTSTR lpszItemList;
2696 typedef struct _NETRESOURCE {
2699 DWORD dwDisplayType;
2702 LPTSTR lpRemoteName;
2705 } NETRESOURCE, *LPNETRESOURCE;
2707 typedef struct tagNEWCPLINFO {
2710 DWORD dwHelpContext;
2715 TCHAR szHelpFile[128];
2718 typedef struct tagNEWTEXTMETRIC {
2722 LONG tmInternalLeading;
2723 LONG tmExternalLeading;
2724 LONG tmAveCharWidth;
2725 LONG tmMaxCharWidth;
2728 LONG tmDigitizedAspectX;
2729 LONG tmDigitizedAspectY;
2732 BCHAR tmDefaultChar;
2737 BYTE tmPitchAndFamily;
2746 typedef struct tagNEWTEXTMETRICEX {
2747 NEWTEXTMETRIC ntmentm;
2748 FONTSIGNATURE ntmeFontSignature;
2751 typedef struct tagNM_LISTVIEW {
2762 typedef struct _TREEITEM *HTREEITEM;
2764 typedef struct _TV_ITEM {
2775 } TV_ITEM, *LPTV_ITEM;
2777 typedef struct _NM_TREEVIEW {
2784 typedef NM_TREEVIEW *LPNM_TREEVIEW;
2786 typedef struct _NM_UPDOWN {
2792 typedef struct tagNONCLIENTMETRICS {
2799 LOGFONT lfCaptionFont;
2800 int iSmCaptionWidth;
2801 int iSmCaptionHeight;
2802 LOGFONT lfSmCaptionFont;
2806 LOGFONT lfStatusFont;
2807 LOGFONT lfMessageFont;
2808 } NONCLIENTMETRICS, * LPNONCLIENTMETRICS;
2810 typedef struct _SERVICE_ADDRESS {
2811 DWORD dwAddressType;
2812 DWORD dwAddressFlags;
2813 DWORD dwAddressLength;
2814 DWORD dwPrincipalLength;
2819 typedef struct _SERVICE_ADDRESSES {
2820 DWORD dwAddressCount;
2821 SERVICE_ADDRESS Addresses[1];
2822 } SERVICE_ADDRESSES, *LPSERVICE_ADDRESSES;
2824 #ifndef _GUID_DEFINED
2825 #define _GUID_DEFINED
2826 typedef struct _GUID
2828 unsigned long Data1;
2829 unsigned short Data2;
2830 unsigned short Data3;
2831 unsigned char Data4[8];
2833 typedef GUID CLSID, *LPCLSID;
2836 typedef struct _SERVICE_INFO {
2837 LPGUID lpServiceType;
2838 LPTSTR lpServiceName;
2841 DWORD dwDisplayHint;
2844 LPTSTR lpMachineName;
2845 LPSERVICE_ADDRESSES lpServiceAddress;
2846 BLOB ServiceSpecificInfo;
2849 typedef struct _NS_SERVICE_INFO {
2851 SERVICE_INFO ServiceInfo;
2854 typedef struct _numberfmt {
2858 LPTSTR lpDecimalSep;
2859 LPTSTR lpThousandSep;
2863 typedef struct _OFSTRUCT {
2869 CHAR szPathName[OFS_MAXPATHNAME];
2870 } OFSTRUCT, *LPOFSTRUCT;
2872 typedef struct tagOFN {
2875 HINSTANCE hInstance;
2876 LPCTSTR lpstrFilter;
2877 LPTSTR lpstrCustomFilter;
2878 DWORD nMaxCustFilter;
2882 LPTSTR lpstrFileTitle;
2883 DWORD nMaxFileTitle;
2884 LPCTSTR lpstrInitialDir;
2888 WORD nFileExtension;
2889 LPCTSTR lpstrDefExt;
2891 LPOFNHOOKPROC lpfnHook;
2892 LPCTSTR lpTemplateName;
2893 } OPENFILENAME, *LPOPENFILENAME;
2895 typedef struct _OFNOTIFY {
2897 LPOPENFILENAME lpOFN;
2899 } OFNOTIFY, *LPOFNOTIFY;
2901 typedef struct _OSVERSIONINFOA {
2902 DWORD dwOSVersionInfoSize;
2903 DWORD dwMajorVersion;
2904 DWORD dwMinorVersion;
2905 DWORD dwBuildNumber;
2907 CHAR szCSDVersion[ 128 ];
2908 } OSVERSIONINFOA, *POSVERSIONINFOA, *LPOSVERSIONINFOA;
2910 typedef struct _OSVERSIONINFOW {
2911 DWORD dwOSVersionInfoSize;
2912 DWORD dwMajorVersion;
2913 DWORD dwMinorVersion;
2914 DWORD dwBuildNumber;
2916 WCHAR szCSDVersion[ 128 ];
2917 } OSVERSIONINFOW, *POSVERSIONINFOW, *LPOSVERSIONINFOW;
2920 typedef OSVERSIONINFOA OSVERSIONINFO;
2922 typedef OSVERSIONINFOW OSVERSIONINFO;
2925 typedef struct _OSVERSIONINFOEXA
2926 #if defined(__cplusplus)
2927 : public OSVERSIONINFOA
2934 DWORD dwOSVersionInfoSize;
2935 DWORD dwMajorVersion;
2936 DWORD dwMinorVersion;
2937 DWORD dwBuildNumber;
2939 CHAR szCSDVersion[ 128 ];
2941 WORD wServicePackMajor;
2942 WORD wServicePackMinor;
2946 } OSVERSIONINFOEXA, *POSVERSIONINFOEXA, *LPOSVERSIONINFOEXA;
2948 typedef struct _OSVERSIONINFOEXW
2949 #if defined(__cplusplus)
2950 : public OSVERSIONINFOW
2957 DWORD dwOSVersionInfoSize;
2958 DWORD dwMajorVersion;
2959 DWORD dwMinorVersion;
2960 DWORD dwBuildNumber;
2962 WCHAR szCSDVersion[ 128 ];
2964 WORD wServicePackMajor;
2965 WORD wServicePackMinor;
2969 } OSVERSIONINFOEXW, *POSVERSIONINFOEXW, *LPOSVERSIONINFOEXW;
2972 typedef OSVERSIONINFOEXA OSVERSIONINFOEX;
2974 typedef OSVERSIONINFOEXW OSVERSIONINFOEX;
2977 typedef struct tagTEXTMETRIC {
2981 LONG tmInternalLeading;
2982 LONG tmExternalLeading;
2983 LONG tmAveCharWidth;
2984 LONG tmMaxCharWidth;
2987 LONG tmDigitizedAspectX;
2988 LONG tmDigitizedAspectY;
2991 BCHAR tmDefaultChar;
2996 BYTE tmPitchAndFamily;
2998 } TEXTMETRIC, *LPTEXTMETRIC;
3000 typedef struct _OUTLINETEXTMETRIC {
3002 TEXTMETRIC otmTextMetrics;
3004 PANOSE otmPanoseNumber;
3005 UINT otmfsSelection;
3007 int otmsCharSlopeRise;
3008 int otmsCharSlopeRun;
3014 UINT otmsCapEmHeight;
3020 UINT otmusMinimumPPEM;
3021 POINT otmptSubscriptSize;
3022 POINT otmptSubscriptOffset;
3023 POINT otmptSuperscriptSize;
3024 POINT otmptSuperscriptOffset;
3025 UINT otmsStrikeoutSize;
3026 int otmsStrikeoutPosition;
3027 int otmsUnderscoreSize;
3028 int otmsUnderscorePosition;
3029 PSTR otmpFamilyName;
3033 } OUTLINETEXTMETRIC, *LPOUTLINETEXTMETRIC;
3035 typedef struct _OVERLAPPED {
3041 } OVERLAPPED, *LPOVERLAPPED;
3043 typedef struct tagPSD {
3052 HINSTANCE hInstance;
3054 LPPAGESETUPHOOK lpfnPageSetupHook;
3055 LPPAGEPAINTHOOK lpfnPagePaintHook;
3056 LPCTSTR lpPageSetupTemplateName;
3057 HGLOBAL hPageSetupTemplate;
3058 } PAGESETUPDLG, *LPPAGESETUPDLG;
3060 typedef struct tagPAINTSTRUCT {
3066 BYTE rgbReserved[32];
3067 } PAINTSTRUCT, *LPPAINTSTRUCT;
3069 typedef struct _paraformat {
3079 LONG rgxTabs[MAX_TAB_STOPS];
3082 typedef struct _PERF_COUNTER_BLOCK {
3084 } PERF_COUNTER_BLOCK;
3086 typedef struct _PERF_COUNTER_DEFINITION {
3088 DWORD CounterNameTitleIndex;
3089 LPWSTR CounterNameTitle;
3090 DWORD CounterHelpTitleIndex;
3091 LPWSTR CounterHelpTitle;
3096 DWORD CounterOffset;
3097 } PERF_COUNTER_DEFINITION;
3099 typedef struct _PERF_DATA_BLOCK {
3104 DWORD TotalByteLength;
3106 DWORD NumObjectTypes;
3107 DWORD DefaultObject;
3108 SYSTEMTIME SystemTime;
3109 LARGE_INTEGER PerfTime;
3110 LARGE_INTEGER PerfFreq;
3111 LARGE_INTEGER PerfTime100nSec;
3112 DWORD SystemNameLength;
3113 DWORD SystemNameOffset;
3116 typedef struct _PERF_INSTANCE_DEFINITION {
3118 DWORD ParentObjectTitleIndex;
3119 DWORD ParentObjectInstance;
3123 } PERF_INSTANCE_DEFINITION;
3125 typedef struct _PERF_OBJECT_TYPE {
3126 DWORD TotalByteLength;
3127 DWORD DefinitionLength;
3129 DWORD ObjectNameTitleIndex;
3130 LPWSTR ObjectNameTitle;
3131 DWORD ObjectHelpTitleIndex;
3132 LPWSTR ObjectHelpTitle;
3135 DWORD DefaultCounter;
3138 LARGE_INTEGER PerfTime;
3139 LARGE_INTEGER PerfFreq;
3142 typedef struct _POLYTEXT {
3150 } POLYTEXT, *LPPOLYTEXT;
3152 typedef struct _PORT_INFO_1 {
3156 typedef struct _PORT_INFO_2 {
3164 /* http://www.experts-exchange.com/Programming/Programming_Platforms/Win_Prog/Q_10010678.html
3166 * IOCTL_DISK_MEDIA_REMOVAL disables the mechanism
3167 * on a SCSI device that ejects media. This function
3168 * may or may not be supported on SCSI devices that
3169 * support removable media.
3171 * TRUE means prevent media from being removed.
3172 * FALSE means allow media removal.
3174 typedef struct _PREVENT_MEDIA_REMOVAL {
3175 BOOLEAN PreventMediaRemoval;
3176 } PREVENT_MEDIA_REMOVAL ;
3178 typedef struct tagPD {
3190 HINSTANCE hInstance;
3192 LPPRINTHOOKPROC lpfnPrintHook;
3193 LPSETUPHOOKPROC lpfnSetupHook;
3194 LPCTSTR lpPrintTemplateName;
3195 LPCTSTR lpSetupTemplateName;
3196 HANDLE hPrintTemplate;
3197 HANDLE hSetupTemplate;
3198 } PRINTDLG PACKED, *LPPRINTDLG PACKED;
3200 typedef struct _PRINTER_DEFAULTSA
3203 LPDEVMODEA pDevMode;
3204 ACCESS_MASK DesiredAccess;
3205 } PRINTER_DEFAULTSA, *PPRINTER_DEFAULTSA, *LPPRINTER_DEFAULTSA;
3207 typedef struct _PRINTER_DEFAULTSW
3210 LPDEVMODEA pDevMode;
3211 ACCESS_MASK DesiredAccess;
3212 } PRINTER_DEFAULTSW, *PPRINTER_DEFAULTSW, *LPPRINTER_DEFAULTSW;
3214 typedef struct _PRINTER_INFO_1 {
3216 LPTSTR pDescription;
3219 } PRINTER_INFO_1, *PPRINTER_INFO_1, *LPPRINTER_INFO_1;
3222 typedef struct _PRINTER_INFO_2 {
3224 LPTSTR pPrinterName;
3232 LPTSTR pPrintProcessor;
3235 PSECURITY_DESCRIPTOR pSecurityDescriptor;
3238 DWORD DefaultPriority;
3247 typedef struct _PRINTER_INFO_3 {
3248 PSECURITY_DESCRIPTOR pSecurityDescriptor;
3252 typedef struct _PRINTER_INFO_4 {
3253 LPTSTR pPrinterName;
3258 typedef struct _PRINTER_INFO_5 {
3259 LPTSTR pPrinterName;
3262 DWORD DeviceNotSelectedTimeout;
3263 DWORD TransmissionRetryTimeout;
3266 typedef struct _PRINTER_NOTIFY_INFO_DATA {
3278 } PRINTER_NOTIFY_INFO_DATA;
3280 typedef struct _PRINTER_NOTIFY_INFO {
3284 PRINTER_NOTIFY_INFO_DATA aData[1];
3285 } PRINTER_NOTIFY_INFO;
3287 typedef struct _PRINTER_NOTIFY_OPTIONS_TYPE {
3294 } PRINTER_NOTIFY_OPTIONS_TYPE, *PPRINTER_NOTIFY_OPTIONS_TYPE;
3296 typedef struct _PRINTER_NOTIFY_OPTIONS {
3300 PPRINTER_NOTIFY_OPTIONS_TYPE pTypes;
3301 } PRINTER_NOTIFY_OPTIONS;
3303 typedef struct _PRINTPROCESSOR_INFO_1 {
3305 } PRINTPROCESSOR_INFO_1;
3308 typedef struct _PROCESS_HEAP_ENTRY {
3314 DWORD dwCommittedSize;
3315 DWORD dwUnCommittedSize;
3316 LPVOID lpFirstBlock;
3319 } PROCESS_HEAPENTRY, *LPPROCESS_HEAP_ENTRY;
3321 typedef struct _PROCESS_INFORMATION {
3326 } PROCESS_INFORMATION, *LPPROCESS_INFORMATION;
3328 typedef UINT CALLBACK (*LPFNPSPCALLBACK) (HWND, UINT, LPVOID);
3330 typedef struct _PROPSHEETPAGE {
3333 HINSTANCE hInstance;
3335 LPCTSTR pszTemplate;
3336 LPCDLGTEMPLATE pResource;
3345 LPFNPSPCALLBACK pfnCallback;
3347 } PROPSHEETPAGE, *LPPROPSHEETPAGE;
3348 typedef const PROPSHEETPAGE *LPCPROPSHEETPAGE;
3350 typedef struct _PSP *HPROPSHEETPAGE;
3351 typedef struct _PROPSHEETHEADER {
3355 HINSTANCE hInstance;
3367 LPCPROPSHEETPAGE ppsp;
3368 HPROPSHEETPAGE *phpage;
3370 PFNPROPSHEETCALLBACK pfnCallback;
3371 } PROPSHEETHEADER, *LPPROPSHEETHEADER;
3372 typedef const PROPSHEETHEADER *LPCPROPSHEETHEADER;
3374 /* PropertySheet callbacks */
3375 typedef WINBOOL CALLBACK (*LPFNADDPROPSHEETPAGE) (HPROPSHEETPAGE, LPARAM);
3376 typedef WINBOOL CALLBACK (*LPFNADDPROPSHEETPAGES) (LPVOID,
3377 LPFNADDPROPSHEETPAGE,
3380 typedef struct _PROTOCOL_INFO {
3381 DWORD dwServiceFlags;
3387 DWORD dwMessageSize;
3391 typedef struct _PROVIDOR_INFO_1 {
3393 LPTSTR pEnvironment ;
3397 typedef struct _PSHNOTIFY {
3400 } PSHNOTIFY, *LPPSHNOTIFY;
3402 typedef struct _punctuation {
3404 LPSTR szPunctuation;
3407 typedef struct _QUERY_SERVICE_CONFIGA {
3408 DWORD dwServiceType;
3410 DWORD dwErrorControl;
3411 LPSTR lpBinaryPathName;
3412 LPSTR lpLoadOrderGroup;
3414 LPSTR lpDependencies;
3415 LPSTR lpServiceStartName;
3416 LPSTR lpDisplayName;
3417 } QUERY_SERVICE_CONFIGA, *LPQUERY_SERVICE_CONFIGA;
3419 typedef struct _QUERY_SERVICE_CONFIGW {
3420 DWORD dwServiceType;
3422 DWORD dwErrorControl;
3423 LPWSTR lpBinaryPathName;
3424 LPWSTR lpLoadOrderGroup;
3426 LPWSTR lpDependencies;
3427 LPWSTR lpServiceStartName;
3428 LPWSTR lpDisplayName;
3429 } QUERY_SERVICE_CONFIGW, *LPQUERY_SERVICE_CONFIGW;
3432 #define QUERY_SERVICE_CONFIG QUERY_SERVICE_CONFIGW
3433 #define LPQUERY_SERVICE_CONFIG LPQUERY_SERVICE_CONFIGW
3435 #define QUERY_SERVICE_CONFIG QUERY_SERVICE_CONFIGA
3436 #define LPQUERY_SERVICE_CONFIG LPQUERY_SERVICE_CONFIGA
3439 typedef struct _QUERY_SERVICE_LOCK_STATUSA {
3442 DWORD dwLockDuration;
3443 } QUERY_SERVICE_LOCK_STATUSA, *LPQUERY_SERVICE_LOCK_STATUSA;
3445 typedef struct _QUERY_SERVICE_LOCK_STATUSW {
3448 DWORD dwLockDuration;
3449 } QUERY_SERVICE_LOCK_STATUSW, *LPQUERY_SERVICE_LOCK_STATUSW;
3452 #define QUERY_SERVICE_LOCK_STATUS QUERY_SERVICE_LOCK_STATUSW
3453 #define LPQUERY_SERVICE_LOCK_STATUS LPQUERY_SERVICE_LOCK_STATUSW
3455 #define QUERY_SERVICE_LOCK_STATUS QUERY_SERVICE_LOCK_STATUSA
3456 #define LPQUERY_SERVICE_LOCK_STATUS LPQUERY_SERVICE_LOCK_STATUSA
3459 typedef struct _RASAMB {
3462 TCHAR szNetBiosError[ NETBIOS_NAME_LEN + 1 ];
3466 typedef struct _RASCONN {
3469 TCHAR szEntryName[RAS_MaxEntryName + 1];
3471 CHAR szDeviceType[ RAS_MaxDeviceType + 1 ];
3472 CHAR szDeviceName[ RAS_MaxDeviceName + 1 ];
3475 typedef struct _RASCONNSTATUS {
3477 RASCONNSTATE rasconnstate;
3479 TCHAR szDeviceType[RAS_MaxDeviceType + 1];
3480 TCHAR szDeviceName[RAS_MaxDeviceName + 1];
3483 typedef struct _RASDIALEXTENSIONS {
3488 } RASDIALEXTENSIONS;
3490 typedef struct _RASDIALPARAMS {
3492 TCHAR szEntryName[RAS_MaxEntryName + 1];
3493 TCHAR szPhoneNumber[RAS_MaxPhoneNumber + 1];
3494 TCHAR szCallbackNumber[RAS_MaxCallbackNumber + 1];
3495 TCHAR szUserName[UNLEN + 1];
3496 TCHAR szPassword[PWLEN + 1];
3497 TCHAR szDomain[DNLEN + 1] ;
3500 typedef struct _RASENTRYNAME {
3502 TCHAR szEntryName[RAS_MaxEntryName + 1];
3505 typedef struct _RASPPPIP {
3508 TCHAR szIpAddress[ RAS_MaxIpAddress + 1 ];
3511 typedef struct _RASPPPIPX {
3514 TCHAR szIpxAddress[ RAS_MaxIpxAddress + 1 ];
3517 typedef struct _RASPPPNBF {
3520 DWORD dwNetBiosError;
3521 TCHAR szNetBiosError[ NETBIOS_NAME_LEN + 1 ];
3522 TCHAR szWorkstationName[ NETBIOS_NAME_LEN + 1 ];
3526 typedef struct _RASTERIZER_STATUS {
3530 } RASTERIZER_STATUS, *LPRASTERIZER_STATUS;
3532 typedef struct _REASSIGN_BLOCKS {
3535 DWORD BlockNumber[1];
3538 typedef struct _REMOTE_NAME_INFO {
3539 LPTSTR lpUniversalName;
3540 LPTSTR lpConnectionName;
3541 LPTSTR lpRemainingPath;
3546 typedef struct _reobject {
3550 LPOLEOBJECT poleobj;
3552 LPOLECLIENTSITE polesite;
3560 typedef struct _repastespecial {
3565 typedef struct _reqresize {
3570 typedef struct _RGNDATAHEADER {
3578 typedef struct _RGNDATA {
3581 } RGNDATA, *PRGNDATA, *LPRGNDATA;
3583 typedef struct tagSCROLLINFO {
3591 } SCROLLINFO, *LPSCROLLINFO;
3592 typedef SCROLLINFO const *LPCSCROLLINFO;
3595 typedef struct _selchange {
3601 typedef struct tagSERIALKEYS {
3604 LPSTR lpszActivePort;
3608 } SERIALKEYS, * LPSERIALKEYS;
3610 typedef struct _SERVICE_TABLE_ENTRYA {
3611 LPSTR lpServiceName;
3612 LPSERVICE_MAIN_FUNCTION lpServiceProc;
3613 } SERVICE_TABLE_ENTRYA, *LPSERVICE_TABLE_ENTRYA;
3615 typedef struct _SERVICE_TABLE_ENTRYW {
3616 LPWSTR lpServiceName;
3617 LPSERVICE_MAIN_FUNCTION lpServiceProc;
3618 } SERVICE_TABLE_ENTRYW, *LPSERVICE_TABLE_ENTRYW;
3621 #define SERVICE_TABLE_ENTRY SERVICE_TABLE_ENTRYW
3622 #define LPSERVICE_TABLE_ENTRY LPSERVICE_TABLE_ENTRYW
3624 #define SERVICE_TABLE_ENTRY SERVICE_TABLE_ENTRYA
3625 #define LPSERVICE_TABLE_ENTRY LPSERVICE_TABLE_ENTRYA
3629 typedef struct _SERVICE_TYPE_VALUE_ABS {
3635 } SERVICE_TYPE_VALUE_ABS;
3637 typedef struct _SERVICE_TYPE_INFO_ABS {
3640 SERVICE_TYPE_VALUE_ABS Values[1];
3641 } SERVICE_TYPE_INFO_ABS;
3643 typedef struct _SESSION_BUFFER {
3646 UCHAR local_name[NCBNAMSZ];
3647 UCHAR remote_name[NCBNAMSZ];
3648 UCHAR rcvs_outstanding;
3649 UCHAR sends_outstanding;
3652 typedef struct _SESSION_HEADER {
3655 UCHAR rcv_dg_outstanding;
3656 UCHAR rcv_any_outstanding;
3659 typedef enum tagSHCONTF {
3660 SHCONTF_FOLDERS = 32,
3661 SHCONTF_NONFOLDERS = 64,
3662 SHCONTF_INCLUDEHIDDEN = 128,
3665 typedef struct _SHFILEINFO {
3669 char szDisplayName[MAX_PATH];
3670 char szTypeName[80];
3673 typedef WORD FILEOP_FLAGS;
3674 typedef struct _SHFILEOPSTRUCT {
3679 FILEOP_FLAGS fFlags;
3680 WINBOOL fAnyOperationsAborted;
3681 LPVOID hNameMappings;
3682 LPCSTR lpszProgressTitle;
3683 } SHFILEOPSTRUCT, *LPSHFILEOPSTRUCT;
3685 typedef enum tagSHGDN {
3688 SHGDN_FORPARSING = 0x8000,
3691 typedef struct _SHNAMEMAPPING {
3696 } SHNAMEMAPPING, *LPSHNAMEMAPPING;
3698 typedef struct tagSOUNDSENTRY {
3701 DWORD iFSTextEffect;
3702 DWORD iFSTextEffectMSec;
3703 DWORD iFSTextEffectColorBits;
3704 DWORD iFSGrafEffect;
3705 DWORD iFSGrafEffectMSec;
3706 DWORD iFSGrafEffectColor;
3707 DWORD iWindowsEffect;
3708 DWORD iWindowsEffectMSec;
3709 LPTSTR lpszWindowsEffectDLL;
3710 DWORD iWindowsEffectOrdinal;
3711 } SOUNDSENTRY, *LPSOUNDSENTRY;
3713 typedef struct _STARTUPINFOA {
3722 DWORD dwXCountChars;
3723 DWORD dwYCountChars;
3724 DWORD dwFillAttribute;
3732 } STARTUPINFOA, *LPSTARTUPINFOA;
3734 typedef struct _STARTUPINFOW {
3743 DWORD dwXCountChars;
3744 DWORD dwYCountChars;
3745 DWORD dwFillAttribute;
3753 } STARTUPINFOW, *LPSTARTUPINFOW;
3756 typedef STARTUPINFOW STARTUPINFO;
3757 typedef LPSTARTUPINFOW LPSTARTUPINFO;
3759 typedef STARTUPINFOA STARTUPINFO;
3760 typedef LPSTARTUPINFOA LPSTARTUPINFO;
3761 #endif /* UNICODE */
3763 typedef struct tagSTICKYKEYS {
3766 } STICKYKEYS, *LPSTICKYKEYS;
3768 typedef struct _STRRET {
3774 char cStr[MAX_PATH];
3776 } STRRET, *LPSTRRET;
3778 typedef struct _tagSTYLEBUF {
3780 CHAR szDescription[32];
3781 } STYLEBUF, *LPSTYLEBUF;
3783 typedef struct tagSTYLESTRUCT {
3786 } STYLESTRUCT, * LPSTYLESTRUCT;
3788 typedef struct _SYSTEM_AUDIT_ACE {
3794 typedef struct _SYSTEM_INFO
3801 WORD wProcessorArchitecture;
3808 LPVOID lpMinimumApplicationAddress;
3809 LPVOID lpMaximumApplicationAddress;
3810 DWORD dwActiveProcessorMask;
3811 DWORD dwNumberOfProcessors;
3812 DWORD dwProcessorType;
3813 DWORD dwAllocationGranularity;
3814 WORD wProcessorLevel;
3815 WORD wProcessorRevision;
3816 } SYSTEM_INFO, *LPSYSTEM_INFO;
3818 typedef struct _SYSTEM_POWER_STATUS {
3821 BYTE BatteryLifePercent;
3823 DWORD BatteryLifeTime;
3824 DWORD BatteryFullLifeTime;
3825 } SYSTEM_POWER_STATUS;
3826 typedef SYSTEM_POWER_STATUS *LPSYSTEM_POWER_STATUS;
3828 typedef struct _TAPE_ERASE {
3832 typedef struct _TAPE_GET_DRIVE_PARAMETERS {
3834 BOOLEAN Compression;
3835 BOOLEAN DataPadding;
3836 BOOLEAN ReportSetmarks;
3837 ULONG DefaultBlockSize;
3838 ULONG MaximumBlockSize;
3839 ULONG MinimumBlockSize;
3840 ULONG MaximumPartitionCount;
3843 ULONG EOTWarningZoneSize;
3844 } TAPE_GET_DRIVE_PARAMETERS;
3846 typedef struct _TAPE_GET_MEDIA_PARAMETERS {
3847 LARGE_INTEGER Capacity;
3848 LARGE_INTEGER Remaining;
3850 DWORD PartitionCount;
3851 BOOLEAN WriteProtected;
3852 } TAPE_GET_MEDIA_PARAMETERS;
3854 typedef struct _TAPE_GET_POSITION {
3859 } TAPE_GET_POSITION;
3861 typedef struct _TAPE_PREPARE {
3865 typedef struct _TAPE_SET_DRIVE_PARAMETERS {
3867 BOOLEAN Compression;
3868 BOOLEAN DataPadding;
3869 BOOLEAN ReportSetmarks;
3870 ULONG EOTWarningZoneSize;
3871 } TAPE_SET_DRIVE_PARAMETERS;
3873 typedef struct _TAPE_SET_MEDIA_PARAMETERS {
3875 } TAPE_SET_MEDIA_PARAMETERS;
3877 typedef struct _TAPE_SET_POSITION {
3882 } TAPE_SET_POSITION;
3884 typedef struct _TAPE_WRITE_MARKS {
3892 } TBADDBITMAP, *LPTBADDBITMAP;
3894 typedef struct _TBBUTTON {
3901 } TBBUTTON, * PTBBUTTON, * LPTBBUTTON;
3902 typedef const TBBUTTON * LPCTBBUTTON;
3910 } TBNOTIFY, *LPTBNOTIFY;
3915 LPCTSTR pszValueName;
3918 typedef struct _TC_HITTESTINFO {
3923 typedef struct _TC_ITEM {
3933 typedef struct _TC_ITEMHEADER {
3942 typedef struct _TC_KEYDOWN {
3948 typedef struct _textrange {
3953 typedef struct tagTOGGLEKEYS {
3966 } TOOLINFO, *PTOOLINFO, *LPTOOLINFO;
3974 } TOOLTIPTEXT, *LPTOOLTIPTEXT;
3976 typedef struct tagTPMPARAMS {
3979 } TPMPARAMS, *LPTPMPARAMS;
3981 #if 0 // RobD - typedef removed due to conflict with mingw headers
3982 typedef struct _TRANSMIT_FILE_BUFFERS {
3987 } TRANSMIT_FILE_BUFFERS;
3990 typedef struct _TT_HITTESTINFO {
3994 } TTHITTESTINFO, * LPHITTESTINFO;
3996 typedef struct tagTTPOLYCURVE {
4000 } TTPOLYCURVE, * LPTTPOLYCURVE;
4002 typedef struct _TTPOLYGONHEADER {
4006 } TTPOLYGONHEADER, * LPTTPOLYGONHEADER;
4008 typedef struct _TV_DISPINFO {
4013 typedef struct _TVHITTESTINFO {
4017 } TV_HITTESTINFO, *LPTV_HITTESTINFO;
4019 typedef struct _TV_INSERTSTRUCT {
4021 HTREEITEM hInsertAfter;
4023 } TV_INSERTSTRUCT, *LPTV_INSERTSTRUCT;
4025 typedef struct _TV_KEYDOWN {
4031 typedef struct _TV_SORTCB {
4033 PFNTVCOMPARE lpfnCompare;
4035 } TV_SORTCB, *LPTV_SORTCB;
4042 typedef struct _UNIVERSAL_NAME_INFO {
4043 LPTSTR lpUniversalName;
4044 } UNIVERSAL_NAME_INFO;
4046 typedef struct tagUSEROBJECTFLAGS {
4052 typedef struct _VERIFY_INFORMATION {
4053 LARGE_INTEGER StartingOffset;
4055 } VERIFY_INFORMATION ;
4057 typedef struct _VS_FIXEDFILEINFO {
4059 DWORD dwStrucVersion;
4060 DWORD dwFileVersionMS;
4061 DWORD dwFileVersionLS;
4062 DWORD dwProductVersionMS;
4063 DWORD dwProductVersionLS;
4064 DWORD dwFileFlagsMask;
4068 DWORD dwFileSubtype;
4073 typedef struct _WIN32_FIND_DATAA {
4074 DWORD dwFileAttributes;
4075 FILETIME ftCreationTime;
4076 FILETIME ftLastAccessTime;
4077 FILETIME ftLastWriteTime;
4078 DWORD nFileSizeHigh;
4082 CHAR cFileName[ MAX_PATH ];
4083 CHAR cAlternateFileName[ 14 ];
4084 } WIN32_FIND_DATAA, *LPWIN32_FIND_DATAA, *PWIN32_FIND_DATAA;
4086 typedef struct _WIN32_FIND_DATAW {
4087 DWORD dwFileAttributes;
4088 FILETIME ftCreationTime;
4089 FILETIME ftLastAccessTime;
4090 FILETIME ftLastWriteTime;
4091 DWORD nFileSizeHigh;
4095 WCHAR cFileName[ MAX_PATH ];
4096 WCHAR cAlternateFileName[ 14 ];
4097 } WIN32_FIND_DATAW, *LPWIN32_FIND_DATAW, *PWIN32_FIND_DATAW;
4100 #define WIN32_FIND_DATA WIN32_FIND_DATAW
4101 #define PWIN32_FIND_DATA PWIN32_FIND_DATAW
4102 #define LPWIN32_FIND_DATA LPWIN32_FIND_DATAW
4104 #define WIN32_FIND_DATA WIN32_FIND_DATAA
4105 #define PWIN32_FIND_DATA PWIN32_FIND_DATAA
4106 #define LPWIN32_FIND_DATA LPWIN32_FIND_DATAA
4109 typedef struct _WIN32_STREAM_ID {
4111 DWORD dwStreamAttributes;
4113 DWORD dwStreamNameSize;
4117 typedef struct _WINDOWPLACEMENT {
4121 POINT ptMinPosition;
4122 POINT ptMaxPosition;
4123 RECT rcNormalPosition;
4126 typedef struct _WNDCLASS {
4128 WNDPROC lpfnWndProc;
4134 HBRUSH hbrBackground;
4135 LPCTSTR lpszMenuName;
4136 LPCTSTR lpszClassName;
4137 } WNDCLASS, *LPWNDCLASS;
4139 typedef struct _WNDCLASSEX {
4142 WNDPROC lpfnWndProc;
4148 HBRUSH hbrBackground;
4149 LPCTSTR lpszMenuName;
4150 LPCTSTR lpszClassName;
4152 } WNDCLASSEX, *LPWNDCLASSEX;
4154 typedef struct _CONNECTDLGSTRUCT {
4157 LPNETRESOURCE lpConnRes;
4160 } CONNECTDLGSTRUCT, *LPCONNECTDLGSTRUCT;
4162 typedef struct _DISCDLGSTRUCT {
4166 LPTSTR lpRemoteName;
4168 } DISCDLGSTRUCT, *LPDISCDLGSTRUCT;
4170 typedef struct _NETINFOSTRUCT{
4172 DWORD dwProviderVersion;
4174 DWORD dwCharacteristics;
4179 } NETINFOSTRUCT, *LPNETINFOSTRUCT;
4181 typedef struct _NETCONNECTINFOSTRUCT{
4186 DWORD dwOptDataSize;
4187 } NETCONNECTINFOSTRUCT, *LPNETCONNECTINFOSTRUCT;
4189 typedef int CALLBACK (*ENUMMETAFILEPROC) (HDC, HANDLETABLE,
4190 METARECORD, int, LPARAM);
4191 typedef int CALLBACK (*ENHMETAFILEPROC) (HDC, HANDLETABLE,
4192 ENHMETARECORD, int, LPARAM);
4194 typedef int CALLBACK (*ENUMFONTSPROC) (LPLOGFONT, LPTEXTMETRIC, DWORD, LPARAM);
4195 typedef int CALLBACK (*FONTENUMPROC) (ENUMLOGFONT *, NEWTEXTMETRIC *,
4197 typedef int CALLBACK (*FONTENUMEXPROC) (ENUMLOGFONTEX *, NEWTEXTMETRICEX *,
4200 typedef VOID CALLBACK (*LPOVERLAPPED_COMPLETION_ROUTINE) (DWORD, DWORD,
4204 Structures for the extensions to OpenGL
4206 typedef struct _POINTFLOAT
4210 } POINTFLOAT, *PPOINTFLOAT;
4212 typedef struct _GLYPHMETRICSFLOAT
4216 POINTFLOAT gmfptGlyphOrigin;
4219 } GLYPHMETRICSFLOAT, *PGLYPHMETRICSFLOAT, *LPGLYPHMETRICSFLOAT;
4221 typedef struct tagLAYERPLANEDESCRIPTOR
4238 BYTE cAccumGreenBits;
4239 BYTE cAccumBlueBits;
4240 BYTE cAccumAlphaBits;
4246 COLORREF crTransparent;
4247 } LAYERPLANEDESCRIPTOR, *PLAYERPLANEDESCRIPTOR, *LPLAYERPLANEDESCRIPTOR;
4249 typedef struct tagPIXELFORMATDESCRIPTOR
4266 BYTE cAccumGreenBits;
4267 BYTE cAccumBlueBits;
4268 BYTE cAccumAlphaBits;
4275 DWORD dwVisibleMask;
4277 } PIXELFORMATDESCRIPTOR, *PPIXELFORMATDESCRIPTOR, *LPPIXELFORMATDESCRIPTOR;
4282 LPWSTR usri2_password;
4283 DWORD usri2_password_age;
4285 LPWSTR usri2_home_dir;
4286 LPWSTR usri2_comment;
4288 LPWSTR usri2_script_path;
4289 DWORD usri2_auth_flags;
4290 LPWSTR usri2_full_name;
4291 LPWSTR usri2_usr_comment;
4293 LPWSTR usri2_workstations;
4294 DWORD usri2_last_logon;
4295 DWORD usri2_last_logoff;
4296 DWORD usri2_acct_expires;
4297 DWORD usri2_max_storage;
4298 DWORD usri2_units_per_week;
4299 PBYTE usri2_logon_hours;
4300 DWORD usri2_bad_pw_count;
4301 DWORD usri2_num_logons;
4302 LPWSTR usri2_logon_server;
4303 DWORD usri2_country_code;
4304 DWORD usri2_code_page;
4305 } USER_INFO_2, *PUSER_INFO_2, *LPUSER_INFO_2;
4310 } USER_INFO_0, *PUSER_INFO_0, *LPUSER_INFO_0;
4315 LPWSTR usri3_password;
4316 DWORD usri3_password_age;
4318 LPWSTR usri3_home_dir;
4319 LPWSTR usri3_comment;
4321 LPWSTR usri3_script_path;
4322 DWORD usri3_auth_flags;
4323 LPWSTR usri3_full_name;
4324 LPWSTR usri3_usr_comment;
4326 LPWSTR usri3_workstations;
4327 DWORD usri3_last_logon;
4328 DWORD usri3_last_logoff;
4329 DWORD usri3_acct_expires;
4330 DWORD usri3_max_storage;
4331 DWORD usri3_units_per_week;
4332 PBYTE usri3_logon_hours;
4333 DWORD usri3_bad_pw_count;
4334 DWORD usri3_num_logons;
4335 LPWSTR usri3_logon_server;
4336 DWORD usri3_country_code;
4337 DWORD usri3_code_page;
4338 DWORD usri3_user_id;
4339 DWORD usri3_primary_group_id;
4340 LPWSTR usri3_profile;
4341 LPWSTR usri3_home_dir_drive;
4342 DWORD usri3_password_expired;
4343 } USER_INFO_3, *PUSER_INFO_3, *LPUSER_INFO_3;
4348 LPWSTR grpi2_comment;
4349 DWORD grpi2_group_id;
4350 DWORD grpi2_attributes;
4351 } GROUP_INFO_2, *PGROUP_INFO_2;
4356 } LOCALGROUP_INFO_0, *PLOCALGROUP_INFO_0, *LPLOCALGROUP_INFO_0;
4358 /* PE executable header. */
4359 /* Windows.h now includes pe.h to avoid conflicts! */
4361 typedef struct _DISPLAY_DEVICE {
4363 WCHAR DeviceName[32];
4364 WCHAR DeviceString[128];
4366 WCHAR DeviceID[128];
4367 WCHAR DeviceKey[128];
4368 } DISPLAY_DEVICE, *PDISPLAY_DEVICE;
4370 typedef HANDLE HMONITOR;
4371 typedef HANDLE HDEVNOTIFY;
4373 typedef BOOL CALLBACK (*MonitorEnumProc)(
4379 typedef MonitorEnumProc MONITORENUMPROC;
4387 } FLASHWINFO, *PFLASHWINFO;
4389 typedef struct tagALTTABINFO {
4399 } ALTTABINFO, *PALTTABINFO, *LPALTTABINFO;
4401 typedef struct tagCOMBOBOXINFO {
4409 } COMBOBOXINFO, *PCOMBOBOXINFO, *LPCOMBOBOXINFO;
4411 typedef struct tagCURSORINFO {
4416 } CURSORINFO, *PCURSORINFO, *LPCURSORINFO;
4418 typedef struct tagGUITHREADINFO {
4428 } GUITHREADINFO, *PGUITHREADINFO, *LPGUITHREADINFO;
4430 typedef struct tagLASTINPUTINFO {
4433 } LASTINPUTINFO, *PLASTINPUTINFO;
4435 typedef struct tagMENUBARINFO {
4442 } MENUBARINFO, *PMENUBARINFO;
4444 typedef struct tagMENUINFO {
4450 DWORD dwContextHelpID;
4451 ULONG_PTR dwMenuData;
4452 } MENUINFO, FAR *LPMENUINFO;
4453 typedef MENUINFO CONST FAR *LPCMENUINFO;
4455 typedef struct tagMONITORINFO {
4460 } MONITORINFO, *LPMONITORINFO;
4462 typedef struct tagMOUSEMOVEPOINT {
4466 ULONG_PTR dwExtraInfo;
4467 } MOUSEMOVEPOINT, *PMOUSEMOVEPOINT, *LPMOUSEMOVEPOINT;
4469 #define CCHILDREN_SCROLLBAR 5
4471 typedef struct tagSCROLLBARINFO {
4478 DWORD rgstate[CCHILDREN_SCROLLBAR+1];
4479 } SCROLLBARINFO, *PSCROLLBARINFO, *LPSCROLLBARINFO;
4481 #define CCHILDREN_TITLEBAR 5
4483 typedef struct tagTITLEBARINFO {
4486 DWORD rgstate[CCHILDREN_TITLEBAR+1];
4487 } TITLEBARINFO, *PTITLEBARINFO, *LPTITLEBARINFO;
4491 LPCTSTR szWindowName;
4493 UINT32 fToBeTerminated;
4494 } WINDOWINFO, *PWINDOWINFO, *LPWINDOWINFO;
4496 typedef struct tagMOUSEINPUT {
4502 ULONG_PTR dwExtraInfo;
4503 } MOUSEINPUT, *PMOUSEINPUT;
4505 typedef struct tagKEYBDINPUT {
4510 ULONG_PTR dwExtraInfo;
4511 } KEYBDINPUT, *PKEYBDINPUT;
4513 typedef struct tagHARDWAREINPUT {
4517 } HARDWAREINPUT, *PHARDWAREINPUT;
4519 typedef struct tagINPUT {
4527 } INPUT, *PINPUT, FAR* LPINPUT;
4529 typedef struct tagTRACKMOUSEEVENT {
4534 } TRACKMOUSEEVENT, *LPTRACKMOUSEEVENT;
4536 typedef struct _BLENDFUNCTION {
4539 BYTE SourceConstantAlpha;
4541 }BLENDFUNCTION, *PBLENDFUNCTION, *LPBLENDFUNCTION;
4543 typedef enum _GET_FILEEX_INFO_LEVELS {
4544 GetFileExInfoStandard
4545 } GET_FILEEX_INFO_LEVELS;
4547 typedef struct _WIN32_FILE_ATTRIBUTES_DATA {
4548 DWORD dwFileAttributes;
4549 FILETIME ftCreationTime;
4550 FILETIME ftLastAccessTime;
4551 FILETIME ftLastWriteTime;
4552 DWORD nFileSizeHigh;
4554 } WIN32_FILE_ATTRIBUTE_DATA, *LPWIN32_FILE_ATTRIBUTE_DATA;
4558 #endif /* __cplusplus */
4560 #endif /* WIN32_LEAN_AND_MEAN */
4562 #endif /* _GNU_H_WINDOWS32_STRUCTURES */