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 tagLOGFONTA {
486 BYTE lfClipPrecision;
488 BYTE lfPitchAndFamily;
489 CHAR lfFaceName[LF_FACESIZE];
490 } LOGFONTA, *LPLOGFONTA, *PLOGFONTA;
492 typedef struct tagLOGFONTW {
503 BYTE lfClipPrecision;
505 BYTE lfPitchAndFamily;
506 WCHAR lfFaceName[LF_FACESIZE];
507 } LOGFONTW, *LPLOGFONTW, *PLOGFONTW;
510 typedef LOGFONTW LOGFONT;
511 typedef LPLOGFONTW LPLOGFONT;
512 typedef PLOGFONTW PLOGFONT;
514 typedef LOGFONTA LOGFONT;
515 typedef LPLOGFONTA LPLOGFONT;
516 typedef PLOGFONTA PLOGFONT;
519 typedef struct tagCHOOSEFONTA {
523 LPLOGFONTA lpLogFont;
528 LPCFHOOKPROC lpfnHook;
529 LPCSTR lpTemplateName;
533 WORD ___MISSING_ALIGNMENT__;
536 } CHOOSEFONTA, *LPCHOOSEFONTA;
538 typedef struct tagCHOOSEFONTW {
542 LPLOGFONTW lpLogFont;
547 LPCFHOOKPROC lpfnHook;
548 LPCWSTR lpTemplateName;
552 WORD ___MISSING_ALIGNMENT__;
555 } CHOOSEFONTW, *LPCHOOSEFONTW;
558 typedef CHOOSEFONTW CHOOSEFONT;
559 typedef LPCHOOSEFONTW LPCHOOSEFONT;
561 typedef CHOOSEFONTA CHOOSEFONT;
562 typedef LPCHOOSEFONTA LPCHOOSEFONT;
565 typedef struct _IDA {
570 typedef struct tagCLIENTCREATESTRUCT {
573 } CLIENTCREATESTRUCT;
575 typedef CLIENTCREATESTRUCT *LPCLIENTCREATESTRUCT;
577 typedef struct _CMInvokeCommandInfo {
587 } CMINVOKECOMMANDINFO, *LPCMINVOKECOMMANDINFO;
589 typedef struct tagCOLORADJUSTMENT {
592 WORD caIlluminantIndex;
596 WORD caReferenceBlack;
597 WORD caReferenceWhite;
600 SHORT caColorfulness;
601 SHORT caRedGreenTint;
602 } COLORADJUSTMENT, *LPCOLORADJUSTMENT;
604 typedef struct _COLORMAP {
607 } COLORMAP, * LPCOLORMAP;
609 typedef struct _DCB {
614 DWORD fOutxCtsFlow:1;
615 DWORD fOutxDsrFlow:1;
617 DWORD fDsrSensitivity:1;
618 DWORD fTXContinueOnXoff:1;
624 DWORD fAbortOnError:1;
640 typedef struct _COMM_CONFIG {
645 DWORD dwProviderSubType;
646 DWORD dwProviderOffset;
647 DWORD dwProviderSize;
648 WCHAR wcProviderData[1];
649 } COMMCONFIG, *LPCOMMCONFIG;
651 typedef struct _COMMPROP {
660 DWORD dwProvCapabilities;
661 DWORD dwSettableParams;
662 DWORD dwSettableBaud;
664 WORD wSettableStopParity;
665 DWORD dwCurrentTxQueue;
666 DWORD dwCurrentRxQueue;
670 } COMMPROP, *LPCOMMPROP;
672 typedef struct _COMMTIMEOUTS {
673 DWORD ReadIntervalTimeout;
674 DWORD ReadTotalTimeoutMultiplier;
675 DWORD ReadTotalTimeoutConstant;
676 DWORD WriteTotalTimeoutMultiplier;
677 DWORD WriteTotalTimeoutConstant;
678 } COMMTIMEOUTS,*LPCOMMTIMEOUTS;
680 typedef struct tagCOMPAREITEMSTRUCT {
692 COLORREF crBackground;
696 typedef struct _tagCOMPOSITIONFORM {
700 } COMPOSITIONFORM, *LPCOMPOSITIONFORM;
702 typedef struct _COMSTAT {
710 DWORD fReserved : 25;
713 } COMSTAT, *LPCOMSTAT;
715 typedef struct tagCONVCONTEXT {
722 SECURITY_QUALITY_OF_SERVICE qos;
725 typedef CONVCONTEXT *PCONVCONTEXT;
727 typedef struct tagCONVINFO {
741 CONVCONTEXT ConvCtxt;
744 } CONVINFO, *PCONVINFO;
746 typedef struct tagCOPYDATASTRUCT {
752 typedef struct _cpinfo {
754 BYTE DefaultChar[MAX_DEFAULTCHAR];
755 BYTE LeadByte[MAX_LEADBYTES];
758 typedef struct tagCPLINFO {
765 typedef struct _CREATE_PROCESS_DEBUG_INFO {
769 LPVOID lpBaseOfImage;
770 DWORD dwDebugInfoFileOffset;
771 DWORD nDebugInfoSize;
772 LPVOID lpThreadLocalBase;
773 LPTHREAD_START_ROUTINE lpStartAddress;
776 } CREATE_PROCESS_DEBUG_INFO;
778 typedef struct _CREATE_THREAD_DEBUG_INFO {
780 LPVOID lpThreadLocalBase;
781 LPTHREAD_START_ROUTINE lpStartAddress;
782 } CREATE_THREAD_DEBUG_INFO;
786 typedef struct _SOCKET_ADDRESS {
787 LPSOCKADDR lpSockaddr ;
788 INT iSockaddrLength ;
789 } SOCKET_ADDRESS, *PSOCKET_ADDRESS, *LPSOCKET_ADDRESS;
793 typedef struct _CSADDR_INFO {
794 SOCKET_ADDRESS LocalAddr;
795 SOCKET_ADDRESS RemoteAddr;
801 typedef struct _currencyfmt {
806 LPTSTR lpThousandSep;
809 LPTSTR lpCurrencySymbol;
812 typedef struct tagCURSORSHAPE {
820 } CURSORSHAPE, *LPCURSORSHAPE;
822 typedef struct tagCWPRETSTRUCT {
830 typedef struct tagCWPSTRUCT {
837 typedef struct _DATATYPES_INFO_1 {
842 unsigned short bAppReturnCode:8,
849 unsigned short reserved:14,
856 unsigned short unused:12,
866 unsigned short unused:13,
873 typedef struct tagDDEML_MSG_HOOK_DATA {
878 } DDEML_MSG_HOOK_DATA;
881 unsigned short unused:13,
889 unsigned short unused:12,
898 typedef struct _EXCEPTION_DEBUG_INFO {
899 EXCEPTION_RECORD ExceptionRecord;
901 } EXCEPTION_DEBUG_INFO;
903 typedef struct _EXIT_PROCESS_DEBUG_INFO {
905 } EXIT_PROCESS_DEBUG_INFO;
907 typedef struct _EXIT_THREAD_DEBUG_INFO {
909 } EXIT_THREAD_DEBUG_INFO;
911 typedef struct _LOAD_DLL_DEBUG_INFO {
914 DWORD dwDebugInfoFileOffset;
915 DWORD nDebugInfoSize;
918 } LOAD_DLL_DEBUG_INFO;
920 typedef struct _UNLOAD_DLL_DEBUG_INFO {
922 } UNLOAD_DLL_DEBUG_INFO;
924 typedef struct _OUTPUT_DEBUG_STRING_INFO {
925 LPSTR lpDebugStringData;
927 WORD nDebugStringLength;
928 } OUTPUT_DEBUG_STRING_INFO;
930 typedef struct _RIP_INFO {
935 typedef struct _DEBUG_EVENT {
936 DWORD dwDebugEventCode;
940 EXCEPTION_DEBUG_INFO Exception;
941 CREATE_THREAD_DEBUG_INFO CreateThread;
942 CREATE_PROCESS_DEBUG_INFO CreateProcessInfo;
943 EXIT_THREAD_DEBUG_INFO ExitThread;
944 EXIT_PROCESS_DEBUG_INFO ExitProcess;
945 LOAD_DLL_DEBUG_INFO LoadDll;
946 UNLOAD_DLL_DEBUG_INFO UnloadDll;
947 OUTPUT_DEBUG_STRING_INFO DebugString;
950 } DEBUG_EVENT, *LPDEBUG_EVENT;
952 typedef struct tagDEBUGHOOKINFO {
954 DWORD idThreadInstaller;
960 typedef struct tagDELETEITEMSTRUCT {
968 typedef struct _DEV_BROADCAST_HDR {
970 ULONG dbch_devicetype;
973 typedef DEV_BROADCAST_HDR *PDEV_BROADCAST_HDR;
975 typedef struct _DEV_BROADCAST_OEM {
977 ULONG dbco_devicetype;
979 ULONG dbco_identifier;
982 typedef DEV_BROADCAST_OEM *PDEV_BROADCAST_OEM;
984 typedef struct _DEV_BROADCAST_PORT {
986 ULONG dbcp_devicetype;
989 } DEV_BROADCAST_PORT;
990 typedef DEV_BROADCAST_PORT *PDEV_BROADCAST_PORT;
992 struct _DEV_BROADCAST_USERDEFINED {
993 struct _DEV_BROADCAST_HDR dbud_dbh;
995 BYTE dbud_rgbUserDefined[1];
998 typedef struct _DEV_BROADCAST_VOLUME {
1000 ULONG dbcv_devicetype;
1001 ULONG dbcv_reserved;
1002 ULONG dbcv_unitmask;
1004 } DEV_BROADCAST_VOLUME;
1005 typedef DEV_BROADCAST_VOLUME *PDEV_BROADCAST_VOLUME;
1007 typedef struct tagDEVNAMES {
1012 } DEVNAMES, *LPDEVNAMES;
1014 typedef struct tagDIBSECTION {
1016 BITMAPINFOHEADER dsBmih;
1017 DWORD dsBitfields[3];
1022 typedef struct _DISK_PERFORMANCE {
1023 LARGE_INTEGER BytesRead;
1024 LARGE_INTEGER BytesWritten;
1025 LARGE_INTEGER ReadTime;
1026 LARGE_INTEGER WriteTime;
1030 } DISK_PERFORMANCE ;
1034 DWORD dwExtendedStyle;
1040 } DLGITEMTEMPLATE PACKED;
1042 typedef DLGITEMTEMPLATE *LPDLGITEMTEMPLATE;
1043 typedef DLGITEMTEMPLATE *PDLGITEMTEMPLATE;
1047 DWORD dwExtendedStyle;
1053 } DLGTEMPLATE PACKED;
1055 typedef DLGTEMPLATE *LPDLGTEMPLATE;
1056 typedef const DLGTEMPLATE *LPCDLGTEMPLATE;
1058 typedef struct _DOC_INFO_1 {
1064 typedef struct _DOC_INFO_2 {
1074 LPCTSTR lpszDocName;
1076 LPCTSTR lpszDatatype;
1078 } DOCINFO, *PDOCINFO;
1084 } DRAGLISTINFO, *LPDRAGLISTINFO;
1086 typedef struct tagDRAWITEMSTRUCT {
1096 } DRAWITEMSTRUCT, *LPDRAWITEMSTRUCT, *PDRAWITEMSTRUCT;
1104 } DRAWTEXTPARAMS, *LPDRAWTEXTPARAMS;
1108 typedef struct _DRIVER_INFO_1 {
1112 typedef struct _DRIVER_INFO_2 {
1115 LPTSTR pEnvironment;
1121 typedef struct _DRIVER_INFO_3 {
1124 LPTSTR pEnvironment;
1129 LPTSTR pDependentFiles;
1130 LPTSTR pMonitorName;
1131 LPTSTR pDefaultDataType;
1134 typedef struct _editstream {
1137 EDITSTREAMCALLBACK pfnCallback;
1140 typedef struct tagEMR
1146 typedef struct tagEMRANGLEARC
1153 } EMRANGLEARC, *PEMRANGLEARC;
1155 typedef struct tagEMRARC
1162 EMRARCTO, *PEMRARCTO,
1163 EMRCHORD, *PEMRCHORD,
1166 typedef struct _XFORM
1174 } XFORM, *PXFORM, *LPXFORM;
1176 typedef struct tagEMRBITBLT
1188 COLORREF crBkColorSrc;
1193 } EMRBITBLT, *PEMRBITBLT;
1195 typedef struct tagLOGBRUSH {
1199 } LOGBRUSH, *PLOGBRUSH;
1201 typedef struct tagEMRCREATEBRUSHINDIRECT
1206 } EMRCREATEBRUSHINDIRECT, *PEMRCREATEBRUSHINDIRECT;
1208 typedef LONG LCSCSTYPE;
1209 typedef LONG LCSGAMUTMATCH;
1211 typedef struct tagLOGCOLORSPACE {
1216 LCSCSTYPE lcsCSType;
1217 LCSGAMUTMATCH lcsIntent;
1218 CIEXYZTRIPLE lcsEndpoints;
1220 DWORD lcsGammaGreen;
1222 TCHAR lcsFilename[MAX_PATH];
1223 } LOGCOLORSPACE, *LPLOGCOLORSPACE;
1225 typedef struct tagEMRCREATECOLORSPACE
1230 } EMRCREATECOLORSPACE, *PEMRCREATECOLORSPACE;
1232 typedef struct tagEMRCREATEDIBPATTERNBRUSHPT
1241 } EMRCREATEDIBPATTERNBRUSHPT,
1242 PEMRCREATEDIBPATTERNBRUSHPT;
1244 typedef struct tagEMRCREATEMONOBRUSH
1253 } EMRCREATEMONOBRUSH, *PEMRCREATEMONOBRUSH;
1255 typedef struct tagPALETTEENTRY {
1260 } PALETTEENTRY, *LPPALETTEENTRY, *PPALETTEENTRY;
1262 typedef struct tagLOGPALETTE {
1265 PALETTEENTRY palPalEntry[1];
1266 } LOGPALETTE, *LPLOGPALETTE, *PLOGPALETTE;
1268 typedef struct tagEMRCREATEPALETTE
1273 } EMRCREATEPALETTE, *PEMRCREATEPALETTE;
1275 typedef struct tagLOGPEN {
1281 typedef struct tagEMRCREATEPEN
1286 } EMRCREATEPEN, *PEMRCREATEPEN;
1288 typedef struct tagEMRELLIPSE
1292 } EMRELLIPSE, *PEMRELLIPSE,
1293 EMRRECTANGLE, *PEMRRECTANGLE;
1295 typedef struct tagEMREOF
1299 DWORD offPalEntries;
1303 typedef struct tagEMREXCLUDECLIPRECT
1307 } EMREXCLUDECLIPRECT, *PEMREXCLUDECLIPRECT,
1308 EMRINTERSECTCLIPRECT, *PEMRINTERSECTCLIPRECT;
1310 typedef struct tagPANOSE {
1316 BYTE bStrokeVariation;
1323 typedef struct tagEXTLOGFONTA {
1324 LOGFONTA elfLogFont;
1325 BCHAR elfFullName[LF_FULLFACESIZE];
1326 BCHAR elfStyle[LF_FACESIZE];
1331 BYTE elfVendorId[ELF_VENDOR_SIZE];
1334 } EXTLOGFONTA, *LPEXTLOGFONTA;
1336 typedef struct tagEXTLOGFONTW {
1337 LOGFONTW elfLogFont;
1338 WCHAR elfFullName[LF_FULLFACESIZE];
1339 WCHAR elfStyle[LF_FACESIZE];
1344 BYTE elfVendorId[ELF_VENDOR_SIZE];
1347 } EXTLOGFONTW, *LPEXTLOGFONTW;
1350 typedef EXTLOGFONTW EXTLOGFONT;
1351 typedef LPEXTLOGFONTW LPEXTLOGFONT;
1353 typedef EXTLOGFONTA EXTLOGFONT;
1354 typedef LPEXTLOGFONTA LPEXTLOGFONT;
1357 typedef struct tagEMREXTCREATEFONTINDIRECTW
1362 } EMREXTCREATEFONTINDIRECTW,
1363 PEMREXTCREATEFONTINDIRECTW;
1365 typedef struct tagEXTLOGPEN {
1371 DWORD elpNumEntries;
1372 DWORD elpStyleEntry[1];
1375 typedef struct tagEMREXTCREATEPEN
1384 } EMREXTCREATEPEN, *PEMREXTCREATEPEN;
1386 typedef struct tagEMREXTFLOODFILL
1392 } EMREXTFLOODFILL, *PEMREXTFLOODFILL;
1394 typedef struct tagEMREXTSELECTCLIPRGN
1400 } EMREXTSELECTCLIPRGN, *PEMREXTSELECTCLIPRGN;
1402 typedef struct tagEMRTEXT
1404 POINTL ptlReference;
1410 } EMRTEXT, *PEMRTEXT;
1412 typedef struct tagEMREXTTEXTOUTA
1416 DWORD iGraphicsMode;
1420 } EMREXTTEXTOUTA, *PEMREXTTEXTOUTA,
1421 EMREXTTEXTOUTW, *PEMREXTTEXTOUTW;
1423 typedef struct tagEMRFILLPATH
1427 } EMRFILLPATH, *PEMRFILLPATH,
1428 EMRSTROKEANDFILLPATH, *PEMRSTROKEANDFILLPATH,
1429 EMRSTROKEPATH, *PEMRSTROKEPATH;
1431 typedef struct tagEMRFILLRGN
1438 } EMRFILLRGN, *PEMRFILLRGN;
1440 typedef struct tagEMRFORMAT {
1447 typedef struct tagSIZE {
1450 } SIZE, *PSIZE, *LPSIZE, SIZEL, *PSIZEL, *LPSIZEL;
1452 typedef struct tagEMRFRAMERGN
1460 } EMRFRAMERGN, *PEMRFRAMERGN;
1462 typedef struct tagEMRGDICOMMENT
1467 } EMRGDICOMMENT, *PEMRGDICOMMENT;
1469 typedef struct tagEMRINVERTRGN
1475 } EMRINVERTRGN, *PEMRINVERTRGN,
1476 EMRPAINTRGN, *PEMRPAINTRGN;
1478 typedef struct tagEMRLINETO
1482 } EMRLINETO, *PEMRLINETO,
1483 EMRMOVETOEX, *PEMRMOVETOEX;
1485 typedef struct tagEMRMASKBLT
1497 COLORREF crBkColorSrc;
1510 } EMRMASKBLT, *PEMRMASKBLT;
1512 typedef struct tagEMRMODIFYWORLDTRANSFORM
1517 } EMRMODIFYWORLDTRANSFORM,
1518 PEMRMODIFYWORLDTRANSFORM;
1520 typedef struct tagEMROFFSETCLIPRGN
1524 } EMROFFSETCLIPRGN, *PEMROFFSETCLIPRGN;
1526 typedef struct tagEMRPLGBLT
1536 COLORREF crBkColorSrc;
1549 } EMRPLGBLT, *PEMRPLGBLT;
1551 typedef struct tagEMRPOLYDRAW
1558 } EMRPOLYDRAW, *PEMRPOLYDRAW;
1560 typedef struct tagEMRPOLYDRAW16
1567 } EMRPOLYDRAW16, *PEMRPOLYDRAW16;
1569 typedef struct tagEMRPOLYLINE
1575 } EMRPOLYLINE, *PEMRPOLYLINE,
1576 EMRPOLYBEZIER, *PEMRPOLYBEZIER,
1577 EMRPOLYGON, *PEMRPOLYGON,
1578 EMRPOLYBEZIERTO, *PEMRPOLYBEZIERTO,
1579 EMRPOLYLINETO, *PEMRPOLYLINETO;
1581 typedef struct tagEMRPOLYLINE16
1587 } EMRPOLYLINE16, *PEMRPOLYLINE16,
1588 EMRPOLYBEZIER16, *PEMRPOLYBEZIER16,
1589 EMRPOLYGON16, *PEMRPOLYGON16,
1590 EMRPOLYBEZIERTO16, *PEMRPOLYBEZIERTO16,
1591 EMRPOLYLINETO16, *PEMRPOLYLINETO16;
1593 typedef struct tagEMRPOLYPOLYLINE
1599 DWORD aPolyCounts[1];
1601 } EMRPOLYPOLYLINE, *PEMRPOLYPOLYLINE,
1602 EMRPOLYPOLYGON, *PEMRPOLYPOLYGON;
1604 typedef struct tagEMRPOLYPOLYLINE16
1610 DWORD aPolyCounts[1];
1612 } EMRPOLYPOLYLINE16, *PEMRPOLYPOLYLINE16,
1613 EMRPOLYPOLYGON16, *PEMRPOLYPOLYGON16;
1615 typedef struct tagEMRPOLYTEXTOUTA
1619 DWORD iGraphicsMode;
1623 EMRTEXT aemrtext[1];
1624 } EMRPOLYTEXTOUTA, *PEMRPOLYTEXTOUTA,
1625 EMRPOLYTEXTOUTW, *PEMRPOLYTEXTOUTW;
1627 typedef struct tagEMRRESIZEPALETTE
1632 } EMRRESIZEPALETTE, *PEMRRESIZEPALETTE;
1634 typedef struct tagEMRRESTOREDC
1638 } EMRRESTOREDC, *PEMRRESTOREDC;
1640 typedef struct tagEMRROUNDRECT
1645 } EMRROUNDRECT, *PEMRROUNDRECT;
1647 typedef struct tagEMRSCALEVIEWPORTEXTEX
1654 } EMRSCALEVIEWPORTEXTEX, *PEMRSCALEVIEWPORTEXTEX,
1655 EMRSCALEWINDOWEXTEX, *PEMRSCALEWINDOWEXTEX;
1657 typedef struct tagEMRSELECTCOLORSPACE
1661 } EMRSELECTCOLORSPACE, *PEMRSELECTCOLORSPACE,
1662 EMRDELETECOLORSPACE, *PEMRDELETECOLORSPACE;
1663 typedef struct tagEMRSELECTOBJECT
1667 } EMRSELECTOBJECT, *PEMRSELECTOBJECT,
1668 EMRDELETEOBJECT, *PEMRDELETEOBJECT;
1670 typedef struct tagEMRSELECTPALETTE
1674 } EMRSELECTPALETTE, *PEMRSELECTPALETTE;
1676 typedef struct tagEMRSETARCDIRECTION
1679 DWORD iArcDirection;
1680 } EMRSETARCDIRECTION, *PEMRSETARCDIRECTION;
1682 typedef struct tagEMRSETTEXTCOLOR
1686 } EMRSETBKCOLOR, *PEMRSETBKCOLOR,
1687 EMRSETTEXTCOLOR, *PEMRSETTEXTCOLOR;
1689 typedef struct tagEMRSETCOLORADJUSTMENT
1692 COLORADJUSTMENT ColorAdjustment;
1693 } EMRSETCOLORADJUSTMENT, *PEMRSETCOLORADJUSTMENT;
1695 typedef struct tagEMRSETDIBITSTODEVICE
1712 } EMRSETDIBITSTODEVICE, *PEMRSETDIBITSTODEVICE;
1714 typedef struct tagEMRSETMAPPERFLAGS
1718 } EMRSETMAPPERFLAGS, *PEMRSETMAPPERFLAGS;
1720 typedef struct tagEMRSETMITERLIMIT
1724 } EMRSETMITERLIMIT, *PEMRSETMITERLIMIT;
1726 typedef struct tagEMRSETPALETTEENTRIES
1732 PALETTEENTRY aPalEntries[1];
1733 } EMRSETPALETTEENTRIES, *PEMRSETPALETTEENTRIES;
1735 typedef struct tagEMRSETPIXELV
1740 } EMRSETPIXELV, *PEMRSETPIXELV;
1742 typedef struct tagEMRSETVIEWPORTEXTEX
1746 } EMRSETVIEWPORTEXTEX, *PEMRSETVIEWPORTEXTEX,
1747 EMRSETWINDOWEXTEX, *PEMRSETWINDOWEXTEX;
1749 typedef struct tagEMRSETVIEWPORTORGEX
1753 } EMRSETVIEWPORTORGEX, *PEMRSETVIEWPORTORGEX,
1754 EMRSETWINDOWORGEX, *PEMRSETWINDOWORGEX,
1755 EMRSETBRUSHORGEX, *PEMRSETBRUSHORGEX;
1757 typedef struct tagEMRSETWORLDTRANSFORM
1761 } EMRSETWORLDTRANSFORM, *PEMRSETWORLDTRANSFORM;
1763 typedef struct tagEMRSTRETCHBLT
1775 COLORREF crBkColorSrc;
1783 } EMRSTRETCHBLT, *PEMRSTRETCHBLT;
1785 typedef struct tagEMRSTRETCHDIBITS
1803 } EMRSTRETCHDIBITS, *PEMRSTRETCHDIBITS;
1805 typedef struct tagABORTPATH
1808 } EMRABORTPATH, *PEMRABORTPATH,
1809 EMRBEGINPATH, *PEMRBEGINPATH,
1810 EMRENDPATH, *PEMRENDPATH,
1811 EMRCLOSEFIGURE, *PEMRCLOSEFIGURE,
1812 EMRFLATTENPATH, *PEMRFLATTENPATH,
1813 EMRWIDENPATH, *PEMRWIDENPATH,
1814 EMRSETMETARGN, *PEMRSETMETARGN,
1815 EMRSAVEDC, *PEMRSAVEDC,
1816 EMRREALIZEPALETTE, *PEMRREALIZEPALETTE;
1818 typedef struct tagEMRSELECTCLIPPATH
1822 } EMRSELECTCLIPPATH, *PEMRSELECTCLIPPATH,
1823 EMRSETBKMODE, *PEMRSETBKMODE,
1824 EMRSETMAPMODE, *PEMRSETMAPMODE,
1825 EMRSETPOLYFILLMODE, *PEMRSETPOLYFILLMODE,
1826 EMRSETROP2, *PEMRSETROP2,
1827 EMRSETSTRETCHBLTMODE, *PEMRSETSTRETCHBLTMODE,
1828 EMRSETTEXTALIGN, *PEMRSETTEXTALIGN,
1829 EMRENABLEICM, *PEMRENABLEICM;
1831 typedef struct tagNMHDR {
1837 typedef struct _encorrecttext {
1843 typedef struct _endropfiles {
1863 typedef struct tagENHMETAHEADER {
1875 DWORD offDescription;
1878 SIZEL szlMillimeters;
1879 } ENHMETAHEADER, *LPENHMETAHEADER;
1881 typedef struct tagENHMETARECORD {
1885 } ENHMETARECORD, *PENHMETARECORD, *LPENHMETARECORD;
1887 typedef struct _enprotected {
1895 typedef struct _SERVICE_STATUS {
1896 DWORD dwServiceType;
1897 DWORD dwCurrentState;
1898 DWORD dwControlsAccepted;
1899 DWORD dwWin32ExitCode;
1900 DWORD dwServiceSpecificExitCode;
1903 } SERVICE_STATUS, *LPSERVICE_STATUS;
1905 typedef struct _ENUM_SERVICE_STATUSA {
1906 LPSTR lpServiceName;
1907 LPSTR lpDisplayName;
1908 SERVICE_STATUS ServiceStatus;
1909 } ENUM_SERVICE_STATUSA, *LPENUM_SERVICE_STATUSA;
1911 typedef struct _ENUM_SERVICE_STATUSW {
1912 LPWSTR lpServiceName;
1913 LPWSTR lpDisplayName;
1914 SERVICE_STATUS ServiceStatus;
1915 } ENUM_SERVICE_STATUSW, *LPENUM_SERVICE_STATUSW;
1918 #define ENUM_SERVICE_STATUS ENUM_SERVICE_STATUSW
1919 #define LPENUM_SERVICE_STATUS LPENUM_SERVICE_STATUSW
1921 #define ENUM_SERVICE_STATUS ENUM_SERVICE_STATUSA
1922 #define LPENUM_SERVICE_STATUS LPENUM_SERVICE_STATUSA
1925 typedef struct tagENUMLOGFONTA {
1926 LOGFONTA elfLogFont;
1927 BCHAR elfFullName[LF_FULLFACESIZE];
1928 BCHAR elfStyle[LF_FACESIZE];
1929 } ENUMLOGFONTA, *LPENUMLOGFONTA;
1931 typedef struct tagENUMLOGFONTW {
1932 LOGFONTW elfLogFont;
1933 WCHAR elfFullName[LF_FULLFACESIZE];
1934 WCHAR elfStyle[LF_FACESIZE];
1935 } ENUMLOGFONTW, *LPENUMLOGFONTW;
1938 typedef ENUMLOGFONTW ENUMLOGFONT;
1939 typedef LPENUMLOGFONTW LPENUMLOGFONT;
1941 typedef ENUMLOGFONTA ENUMLOGFONT;
1942 typedef LPENUMLOGFONTA LPENUMLOGFONT;
1945 typedef struct tagENUMLOGFONTEXA {
1946 LOGFONTA elfLogFont;
1947 BCHAR elfFullName[LF_FULLFACESIZE];
1948 BCHAR elfStyle[LF_FACESIZE];
1949 BCHAR elfScript[LF_FACESIZE];
1950 } ENUMLOGFONTEXA, *LPENUMLOGFONTEXA;
1952 typedef struct tagENUMLOGFONTEXW {
1953 LOGFONTW elfLogFont;
1954 WCHAR elfFullName[LF_FULLFACESIZE];
1955 WCHAR elfStyle[LF_FACESIZE];
1956 WCHAR elfScript[LF_FACESIZE];
1957 } ENUMLOGFONTEXW, *LPENUMLOGFONTEXW;
1960 typedef ENUMLOGFONTEXW ENUMLOGFONTEX;
1961 typedef LPENUMLOGFONTEXW LPENUMLOGFONTEX;
1963 typedef ENUMLOGFONTEXA ENUMLOGFONTEX;
1964 typedef LPENUMLOGFONTEXA LPENUMLOGFONTEX;
1967 typedef struct _EVENTLOGRECORD {
1971 DWORD TimeGenerated;
1978 DWORD ClosingRecordNumber;
1980 DWORD UserSidLength;
1981 DWORD UserSidOffset;
1989 TCHAR Computername[]
1999 typedef struct tagEVENTMSG {
2007 typedef struct _EXT_BUTTON {
2011 } EXT_BUTTON, *LPEXT_BUTTON;
2013 typedef struct tagFILTERKEYS {
2022 typedef struct _FIND_NAME_BUFFER {
2024 UCHAR access_control;
2025 UCHAR frame_control;
2026 UCHAR destination_addr[6];
2027 UCHAR source_addr[6];
2028 UCHAR routing_info[18];
2031 typedef struct _FIND_NAME_HEADER {
2038 enum _FINDEX_INFO_LEVELS
2041 FindExInfoMaxInfoLevel
2042 } FINDEX_INFO_LEVELS;
2045 enum _FINDEX_SEARCH_OPS
2047 FindExSearchNameMatch,
2048 FindExSearchLimitToDirectories,
2049 FindExSearchLimitToDevices,
2050 FindExSearchMaxSearchOp
2052 } FINDEX_SEARCH_OPS;
2054 #define FIND_FIRST_EX_CASE_SENSITIVE 0x00000001
2059 HINSTANCE hInstance;
2061 LPTSTR lpstrFindWhat;
2062 LPTSTR lpstrReplaceWith;
2064 WORD wReplaceWithLen;
2066 LPFRHOOKPROC lpfnHook;
2067 LPCTSTR lpTemplateName;
2068 } FINDREPLACE, *LPFINDREPLACE;
2070 typedef struct _findtext {
2075 typedef struct _findtextex {
2081 typedef struct _FMS_GETDRIVEINFO {
2089 typedef struct _FMS_GETFILESEL {
2096 typedef struct _FMS_LOAD {
2098 TCHAR szMenuName[MENU_TEXT_LEN];
2103 typedef struct _FMS_TOOLBARLOAD {
2105 LPEXT_BUTTON lpButtons;
2113 typedef struct _FORM_INFO_1 {
2117 RECTL ImageableArea;
2120 typedef struct _FORMAT_PARAMETERS {
2121 MEDIA_TYPE MediaType;
2122 DWORD StartCylinderNumber;
2123 DWORD EndCylinderNumber;
2124 DWORD StartHeadNumber;
2125 DWORD EndHeadNumber;
2126 } FORMAT_PARAMETERS ;
2128 typedef struct _formatrange {
2136 typedef struct tagGCP_RESULTS {
2146 } GCP_RESULTS, *LPGCP_RESULTS;
2149 typedef struct _GLYPHMETRICS {
2152 POINT gmptGlyphOrigin;
2155 } GLYPHMETRICS, *LPGLYPHMETRICS;
2157 typedef struct tagHANDLETABLE {
2158 HGDIOBJ objectHandle[1];
2159 } HANDLETABLE, *LPHANDLETABLE;
2161 typedef struct _HD_HITTESTINFO {
2167 typedef struct _HD_ITEM {
2177 typedef struct _WINDOWPOS {
2179 HWND hwndInsertAfter;
2185 } WINDOWPOS, *PWINDOWPOS, *LPWINDOWPOS;
2187 typedef struct _HD_LAYOUT {
2192 typedef struct _HD_NOTIFY {
2199 typedef struct tagHELPINFO {
2206 } HELPINFO, *LPHELPINFO;
2211 CHAR szKeyphrase[1];
2212 } MULTIKEYHELPA, *PMULTIKEYHELPA, *LPMULTIKEYHELPA;
2217 WCHAR szKeyphrase[1];
2218 } MULTIKEYHELPW, *PMULTIKEYHELPW, *LPMULTIKEYHELPW;
2227 TCHAR rgchMember[2];
2238 } HELPWININFOA, *PHELPWININFOA, *LPHELPWININFOA;
2247 WCHAR rgchMember[2];
2248 } HELPWININFOW, *PHELPWININFOW, *LPHELPWININFOW;
2251 typedef struct tagHIGHCONTRAST {
2254 LPTSTR lpszDefaultScheme;
2255 } HIGHCONTRAST, * LPHIGHCONTRAST;
2257 typedef struct tagHSZPAIR {
2262 typedef struct _ICONINFO {
2268 } ICONINFO, *PICONINFO;
2270 typedef struct tagICONMETRICSA {
2276 } ICONMETRICSA, *LPICONMETRICSA;
2278 typedef struct tagICONMETRICSW {
2284 } ICONMETRICSW, *LPICONMETRICSW;
2287 typedef ICONMETRICSW ICONMETRICS;
2288 typedef LPICONMETRICSW LPICONMETRICS;
2290 typedef ICONMETRICSA ICONMETRICS;
2291 typedef LPICONMETRICSA LPICONMETRICS;
2294 typedef struct _IMAGEINFO {
2302 typedef struct _JOB_INFO_1 {
2304 LPTSTR pPrinterName;
2305 LPTSTR pMachineName;
2315 SYSTEMTIME Submitted;
2319 typedef struct _JOB_INFO_2 {
2321 LPTSTR pPrinterName;
2322 LPTSTR pMachineName;
2327 LPTSTR pPrintProcessor;
2332 PSECURITY_DESCRIPTOR pSecurityDescriptor;
2340 SYSTEMTIME Submitted;
2342 DWORD PagesPrinted ;
2346 typedef struct tagKERNINGPAIR {
2350 } KERNINGPAIR, *LPKERNINGPAIR;
2352 typedef struct _LANA_ENUM {
2354 UCHAR lana[MAX_LANA];
2357 typedef struct _LDT_ENTRY {
2374 DWORD Reserved_0 : 1;
2375 DWORD Default_Big : 1;
2376 DWORD Granularity : 1;
2380 } LDT_ENTRY, *PLDT_ENTRY, *LPLDT_ENTRY;
2382 typedef struct tagLOCALESIGNATURE {
2384 DWORD lsCsbDefault[2];
2385 DWORD lsCsbSupported[2];
2389 typedef struct _LOCALGROUP_MEMBERS_INFO_0 {
2391 } LOCALGROUP_MEMBERS_INFO_0;
2394 typedef struct _LOCALGROUP_MEMBERS_INFO_3 {
2395 LPWSTR lgrmi3_domainandname;
2396 } LOCALGROUP_MEMBERS_INFO_3;
2398 typedef long FXPT16DOT16, * LPFXPT16DOT16;
2402 typedef LUID_AND_ATTRIBUTES LUID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY];
2403 typedef LUID_AND_ATTRIBUTES_ARRAY *PLUID_AND_ATTRIBUTES_ARRAY;
2405 typedef struct _LV_COLUMN {
2414 typedef struct _LV_ITEM {
2426 typedef struct tagLV_DISPINFO {
2431 typedef struct _LV_FINDINFO {
2439 typedef struct _LV_HITTESTINFO {
2445 typedef struct tagLV_KEYDOWN {
2451 typedef struct _MAT2 {
2458 typedef struct tagMDICREATESTRUCT {
2470 typedef MDICREATESTRUCT *LPMDICREATESTRUCT;
2472 typedef struct tagMEASUREITEMSTRUCT {
2479 } MEASUREITEMSTRUCT, *LPMEASUREITEMSTRUCT;
2481 typedef struct _MEMORYSTATUS {
2486 DWORD dwTotalPageFile;
2487 DWORD dwAvailPageFile;
2488 DWORD dwTotalVirtual;
2489 DWORD dwAvailVirtual;
2490 } MEMORYSTATUS, *LPMEMORYSTATUS;
2496 } MENUEX_TEMPLATE_HEADER;
2505 } MENUEX_TEMPLATE_ITEM;
2507 typedef struct tagMENUITEMINFO {
2514 HBITMAP hbmpChecked;
2515 HBITMAP hbmpUnchecked;
2519 } MENUITEMINFO, *LPMENUITEMINFO;
2520 typedef MENUITEMINFO CONST *LPCMENUITEMINFO;
2531 } MENUITEMTEMPLATEHEADER;
2532 typedef VOID MENUTEMPLATE, *LPMENUTEMPLATE;
2534 typedef struct tagMETAFILEPICT {
2543 } METAFILEPICT, *PMETAFILEPICT, *LPMETAFILEPICT;
2545 typedef struct tagMETAHEADER {
2552 WORD mtNoParameters;
2553 } METAHEADER PACKED;
2555 typedef struct tagMETARECORD {
2559 } METARECORD, *LPMETARECORD;
2561 typedef struct tagMINIMIZEDMETRICS {
2567 } MINIMIZEDMETRICS, *LPMINIMIZEDMETRICS;
2569 typedef struct tagMINMAXINFO {
2572 POINT ptMaxPosition;
2573 POINT ptMinTrackSize;
2574 POINT ptMaxTrackSize;
2577 typedef struct modemdevcaps_tag {
2579 DWORD dwRequiredSize;
2580 DWORD dwDevSpecificOffset;
2581 DWORD dwDevSpecificSize;
2583 DWORD dwModemProviderVersion;
2584 DWORD dwModemManufacturerOffset;
2585 DWORD dwModemManufacturerSize;
2586 DWORD dwModemModelOffset;
2587 DWORD dwModemModelSize;
2588 DWORD dwModemVersionOffset;
2589 DWORD dwModemVersionSize;
2591 DWORD dwDialOptions;
2592 DWORD dwCallSetupFailTimer;
2593 DWORD dwInactivityTimeout;
2594 DWORD dwSpeakerVolume;
2595 DWORD dwSpeakerMode;
2596 DWORD dwModemOptions;
2600 BYTE abVariablePortion [1];
2601 } MODEMDEVCAPS, *PMODEMDEVCAPS, *LPMODEMDEVCAPS;
2603 typedef struct modemsettings_tag {
2605 DWORD dwRequiredSize;
2606 DWORD dwDevSpecificOffset;
2607 DWORD dwDevSpecificSize;
2609 DWORD dwCallSetupFailTimer;
2610 DWORD dwInactivityTimeout;
2611 DWORD dwSpeakerVolume;
2612 DWORD dwSpeakerMode;
2613 DWORD dwPreferredModemOptions;
2615 DWORD dwNegotiatedModemOptions;
2616 DWORD dwNegotiatedDCERate;
2618 BYTE abVariablePortion[1];
2619 } MODEMSETTINGS, *PMODEMSETTINGS, *LPMODEMSETTINGS;
2621 typedef struct tagMONCBSTRUCT {
2639 typedef struct tagMONCONVSTRUCT {
2650 typedef struct tagMONERRSTRUCT {
2657 typedef struct tagMONHSZSTRUCT {
2666 typedef struct _MONITOR_INFO_1 {
2670 typedef struct _MONITOR_INFO_2 {
2672 LPTSTR pEnvironment ;
2676 typedef struct tagMONLINKSTRUCT {
2680 WINBOOL fEstablished;
2691 typedef struct tagMONMSGSTRUCT {
2699 DDEML_MSG_HOOK_DATA dmhd;
2702 typedef struct tagMOUSEHOOKSTRUCT {
2707 } MOUSEHOOKSTRUCT, *PMOUSEHOOKSTRUCT, *LPMOUSEHOOKSTRUCT;
2709 typedef struct _MOUSEKEYS {
2713 DWORD iTimeToMaxSpeed;
2719 typedef struct tagMSG {
2728 typedef void CALLBACK (*MSGBOXCALLBACK) (LPHELPINFO lpHelpInfo);
2733 HINSTANCE hInstance;
2738 DWORD dwContextHelpId;
2739 MSGBOXCALLBACK lpfnMsgBoxCallback;
2741 } MSGBOXPARAMS, *PMSGBOXPARAMS, *LPMSGBOXPARAMS;
2743 typedef struct _msgfilter {
2750 typedef struct tagMULTIKEYHELP {
2753 TCHAR szKeyphrase[1];
2756 typedef struct _NAME_BUFFER {
2757 UCHAR name[NCBNAMSZ];
2762 typedef struct _NCB {
2769 UCHAR ncb_callname[NCBNAMSZ];
2770 UCHAR ncb_name[NCBNAMSZ];
2773 void (*ncb_post) (struct _NCB *);
2776 UCHAR ncb_reserve[10];
2780 typedef struct _NCCALCSIZE_PARAMS {
2783 } NCCALCSIZE_PARAMS;
2785 typedef struct _NDDESHAREINFO {
2787 LPTSTR lpszShareName;
2789 LPTSTR lpszAppTopicList;
2796 LPTSTR lpszItemList;
2799 typedef struct _NETRESOURCE {
2802 DWORD dwDisplayType;
2805 LPTSTR lpRemoteName;
2808 } NETRESOURCE, *LPNETRESOURCE;
2810 typedef struct tagNEWCPLINFO {
2813 DWORD dwHelpContext;
2818 TCHAR szHelpFile[128];
2821 typedef struct tagNEWTEXTMETRICA {
2825 LONG tmInternalLeading;
2826 LONG tmExternalLeading;
2827 LONG tmAveCharWidth;
2828 LONG tmMaxCharWidth;
2831 LONG tmDigitizedAspectX;
2832 LONG tmDigitizedAspectY;
2835 BCHAR tmDefaultChar;
2840 BYTE tmPitchAndFamily;
2848 typedef struct tagNEWTEXTMETRICW {
2852 LONG tmInternalLeading;
2853 LONG tmExternalLeading;
2854 LONG tmAveCharWidth;
2855 LONG tmMaxCharWidth;
2858 LONG tmDigitizedAspectX;
2859 LONG tmDigitizedAspectY;
2862 WCHAR tmDefaultChar;
2867 BYTE tmPitchAndFamily;
2876 typedef NEWTEXTMETRICA NEWTEXTMETRIC;
2878 typedef NEWTEXTMETRICW NEWTEXTMETRIC;
2881 typedef struct tagNEWTEXTMETRICEXA {
2882 NEWTEXTMETRICA ntmentm;
2883 FONTSIGNATURE ntmeFontSignature;
2886 typedef struct tagNEWTEXTMETRICEXW {
2887 NEWTEXTMETRICW ntmentm;
2888 FONTSIGNATURE ntmeFontSignature;
2892 typedef NEWTEXTMETRICEXA NEWTEXTMETRICEX;
2894 typedef NEWTEXTMETRICEXW NEWTEXTMETRICEX;
2897 typedef struct tagNM_LISTVIEW {
2908 typedef struct _TREEITEM *HTREEITEM;
2910 typedef struct _TV_ITEM {
2921 } TV_ITEM, *LPTV_ITEM;
2923 typedef struct _NM_TREEVIEW {
2930 typedef NM_TREEVIEW *LPNM_TREEVIEW;
2932 typedef struct _NM_UPDOWN {
2938 typedef struct tagNONCLIENTMETRICSA {
2945 LOGFONTA lfCaptionFont;
2946 int iSmCaptionWidth;
2947 int iSmCaptionHeight;
2948 LOGFONTA lfSmCaptionFont;
2951 LOGFONTA lfMenuFont;
2952 LOGFONTA lfStatusFont;
2953 LOGFONTA lfMessageFont;
2954 } NONCLIENTMETRICSA, *LPNONCLIENTMETRICSA;
2956 typedef struct tagNONCLIENTMETRICSW {
2963 LOGFONTW lfCaptionFont;
2964 int iSmCaptionWidth;
2965 int iSmCaptionHeight;
2966 LOGFONTW lfSmCaptionFont;
2969 LOGFONTW lfMenuFont;
2970 LOGFONTW lfStatusFont;
2971 LOGFONTW lfMessageFont;
2972 } NONCLIENTMETRICSW, *LPNONCLIENTMETRICSW;
2975 typedef NONCLIENTMETRICSW NONCLIENTMETRICS;
2976 typedef LPNONCLIENTMETRICSW LPNONCLIENTMETRICS;
2978 typedef NONCLIENTMETRICSA NONCLIENTMETRICS;
2979 typedef LPNONCLIENTMETRICSA LPNONCLIENTMETRICS;
2982 typedef struct _SERVICE_ADDRESS {
2983 DWORD dwAddressType;
2984 DWORD dwAddressFlags;
2985 DWORD dwAddressLength;
2986 DWORD dwPrincipalLength;
2991 typedef struct _SERVICE_ADDRESSES {
2992 DWORD dwAddressCount;
2993 SERVICE_ADDRESS Addresses[1];
2994 } SERVICE_ADDRESSES, *LPSERVICE_ADDRESSES;
2996 #ifndef _GUID_DEFINED
2997 #define _GUID_DEFINED
2998 typedef struct _GUID
3000 unsigned long Data1;
3001 unsigned short Data2;
3002 unsigned short Data3;
3003 unsigned char Data4[8];
3005 typedef GUID CLSID, *LPCLSID;
3008 typedef struct _SERVICE_INFO {
3009 LPGUID lpServiceType;
3010 LPTSTR lpServiceName;
3013 DWORD dwDisplayHint;
3016 LPTSTR lpMachineName;
3017 LPSERVICE_ADDRESSES lpServiceAddress;
3018 BLOB ServiceSpecificInfo;
3021 typedef struct _NS_SERVICE_INFO {
3023 SERVICE_INFO ServiceInfo;
3026 typedef struct _numberfmt {
3030 LPTSTR lpDecimalSep;
3031 LPTSTR lpThousandSep;
3035 typedef struct _OFSTRUCT {
3041 CHAR szPathName[OFS_MAXPATHNAME];
3042 } OFSTRUCT, *LPOFSTRUCT;
3044 typedef struct tagOFN {
3047 HINSTANCE hInstance;
3048 LPCTSTR lpstrFilter;
3049 LPTSTR lpstrCustomFilter;
3050 DWORD nMaxCustFilter;
3054 LPTSTR lpstrFileTitle;
3055 DWORD nMaxFileTitle;
3056 LPCTSTR lpstrInitialDir;
3060 WORD nFileExtension;
3061 LPCTSTR lpstrDefExt;
3063 LPOFNHOOKPROC lpfnHook;
3064 LPCTSTR lpTemplateName;
3065 } OPENFILENAME, *LPOPENFILENAME;
3067 typedef struct _OFNOTIFY {
3069 LPOPENFILENAME lpOFN;
3071 } OFNOTIFY, *LPOFNOTIFY;
3073 typedef struct _OSVERSIONINFOA {
3074 DWORD dwOSVersionInfoSize;
3075 DWORD dwMajorVersion;
3076 DWORD dwMinorVersion;
3077 DWORD dwBuildNumber;
3079 CHAR szCSDVersion[ 128 ];
3080 } OSVERSIONINFOA, *POSVERSIONINFOA, *LPOSVERSIONINFOA;
3082 typedef struct _OSVERSIONINFOW {
3083 DWORD dwOSVersionInfoSize;
3084 DWORD dwMajorVersion;
3085 DWORD dwMinorVersion;
3086 DWORD dwBuildNumber;
3088 WCHAR szCSDVersion[ 128 ];
3089 } OSVERSIONINFOW, *POSVERSIONINFOW, *LPOSVERSIONINFOW;
3092 typedef OSVERSIONINFOA OSVERSIONINFO;
3094 typedef OSVERSIONINFOW OSVERSIONINFO;
3097 typedef struct _OSVERSIONINFOEXA
3098 #if defined(__cplusplus)
3099 : public OSVERSIONINFOA
3106 DWORD dwOSVersionInfoSize;
3107 DWORD dwMajorVersion;
3108 DWORD dwMinorVersion;
3109 DWORD dwBuildNumber;
3111 CHAR szCSDVersion[ 128 ];
3113 WORD wServicePackMajor;
3114 WORD wServicePackMinor;
3118 } OSVERSIONINFOEXA, *POSVERSIONINFOEXA, *LPOSVERSIONINFOEXA;
3120 typedef struct _OSVERSIONINFOEXW
3121 #if defined(__cplusplus)
3122 : public OSVERSIONINFOW
3129 DWORD dwOSVersionInfoSize;
3130 DWORD dwMajorVersion;
3131 DWORD dwMinorVersion;
3132 DWORD dwBuildNumber;
3134 WCHAR szCSDVersion[ 128 ];
3136 WORD wServicePackMajor;
3137 WORD wServicePackMinor;
3141 } OSVERSIONINFOEXW, *POSVERSIONINFOEXW, *LPOSVERSIONINFOEXW;
3144 typedef OSVERSIONINFOEXA OSVERSIONINFOEX;
3146 typedef OSVERSIONINFOEXW OSVERSIONINFOEX;
3149 typedef struct tagTEXTMETRICA {
3153 LONG tmInternalLeading;
3154 LONG tmExternalLeading;
3155 LONG tmAveCharWidth;
3156 LONG tmMaxCharWidth;
3159 LONG tmDigitizedAspectX;
3160 LONG tmDigitizedAspectY;
3163 BCHAR tmDefaultChar;
3168 BYTE tmPitchAndFamily;
3170 } TEXTMETRICA, *LPTEXTMETRICA;
3172 typedef struct tagTEXTMETRICW {
3176 LONG tmInternalLeading;
3177 LONG tmExternalLeading;
3178 LONG tmAveCharWidth;
3179 LONG tmMaxCharWidth;
3182 LONG tmDigitizedAspectX;
3183 LONG tmDigitizedAspectY;
3186 WCHAR tmDefaultChar;
3191 BYTE tmPitchAndFamily;
3193 } TEXTMETRICW, *LPTEXTMETRICW;
3196 typedef TEXTMETRICA TEXTMETRIC;
3197 typedef LPTEXTMETRICA LPTEXTMETRIC;
3199 typedef TEXTMETRICW TEXTMETRIC;
3200 typedef LPTEXTMETRICA LPTEXTMETRIC;
3203 typedef struct _OUTLINETEXTMETRICA {
3205 TEXTMETRICA otmTextMetrics;
3207 PANOSE otmPanoseNumber;
3208 UINT otmfsSelection;
3210 int otmsCharSlopeRise;
3211 int otmsCharSlopeRun;
3217 UINT otmsCapEmHeight;
3223 UINT otmusMinimumPPEM;
3224 POINT otmptSubscriptSize;
3225 POINT otmptSubscriptOffset;
3226 POINT otmptSuperscriptSize;
3227 POINT otmptSuperscriptOffset;
3228 UINT otmsStrikeoutSize;
3229 int otmsStrikeoutPosition;
3230 int otmsUnderscoreSize;
3231 int otmsUnderscorePosition;
3232 PSTR otmpFamilyName;
3236 } OUTLINETEXTMETRICA, *LPOUTLINETEXTMETRICA;
3238 typedef struct _OUTLINETEXTMETRICW {
3240 TEXTMETRICW otmTextMetrics;
3242 PANOSE otmPanoseNumber;
3243 UINT otmfsSelection;
3245 int otmsCharSlopeRise;
3246 int otmsCharSlopeRun;
3252 UINT otmsCapEmHeight;
3258 UINT otmusMinimumPPEM;
3259 POINT otmptSubscriptSize;
3260 POINT otmptSubscriptOffset;
3261 POINT otmptSuperscriptSize;
3262 POINT otmptSuperscriptOffset;
3263 UINT otmsStrikeoutSize;
3264 int otmsStrikeoutPosition;
3265 int otmsUnderscoreSize;
3266 int otmsUnderscorePosition;
3267 PSTR otmpFamilyName;
3271 } OUTLINETEXTMETRICW, *LPOUTLINETEXTMETRICW;
3274 typedef OUTLINETEXTMETRICA OUTLINETEXTMETRIC;
3275 typedef LPOUTLINETEXTMETRICA LPOUTLINETEXTMETRIC;
3277 typedef OUTLINETEXTMETRICW OUTLINETEXTMETRIC;
3278 typedef LPOUTLINETEXTMETRICA LPOUTLINETEXTMETRIC;
3281 typedef struct _OVERLAPPED {
3287 } OVERLAPPED, *LPOVERLAPPED;
3289 typedef struct tagPSD {
3298 HINSTANCE hInstance;
3300 LPPAGESETUPHOOK lpfnPageSetupHook;
3301 LPPAGEPAINTHOOK lpfnPagePaintHook;
3302 LPCTSTR lpPageSetupTemplateName;
3303 HGLOBAL hPageSetupTemplate;
3304 } PAGESETUPDLG, *LPPAGESETUPDLG;
3306 typedef struct tagPAINTSTRUCT {
3312 BYTE rgbReserved[32];
3313 } PAINTSTRUCT, *LPPAINTSTRUCT;
3315 typedef struct _paraformat {
3325 LONG rgxTabs[MAX_TAB_STOPS];
3328 typedef struct _PERF_COUNTER_BLOCK {
3330 } PERF_COUNTER_BLOCK;
3332 typedef struct _PERF_COUNTER_DEFINITION {
3334 DWORD CounterNameTitleIndex;
3335 LPWSTR CounterNameTitle;
3336 DWORD CounterHelpTitleIndex;
3337 LPWSTR CounterHelpTitle;
3342 DWORD CounterOffset;
3343 } PERF_COUNTER_DEFINITION;
3345 typedef struct _PERF_DATA_BLOCK {
3350 DWORD TotalByteLength;
3352 DWORD NumObjectTypes;
3353 DWORD DefaultObject;
3354 SYSTEMTIME SystemTime;
3355 LARGE_INTEGER PerfTime;
3356 LARGE_INTEGER PerfFreq;
3357 LARGE_INTEGER PerfTime100nSec;
3358 DWORD SystemNameLength;
3359 DWORD SystemNameOffset;
3362 typedef struct _PERF_INSTANCE_DEFINITION {
3364 DWORD ParentObjectTitleIndex;
3365 DWORD ParentObjectInstance;
3369 } PERF_INSTANCE_DEFINITION;
3371 typedef struct _PERF_OBJECT_TYPE {
3372 DWORD TotalByteLength;
3373 DWORD DefinitionLength;
3375 DWORD ObjectNameTitleIndex;
3376 LPWSTR ObjectNameTitle;
3377 DWORD ObjectHelpTitleIndex;
3378 LPWSTR ObjectHelpTitle;
3381 DWORD DefaultCounter;
3384 LARGE_INTEGER PerfTime;
3385 LARGE_INTEGER PerfFreq;
3388 typedef struct _POLYTEXT {
3396 } POLYTEXT, *LPPOLYTEXT;
3398 typedef struct _PORT_INFO_1 {
3402 typedef struct _PORT_INFO_2 {
3410 /* http://www.experts-exchange.com/Programming/Programming_Platforms/Win_Prog/Q_10010678.html
3412 * IOCTL_DISK_MEDIA_REMOVAL disables the mechanism
3413 * on a SCSI device that ejects media. This function
3414 * may or may not be supported on SCSI devices that
3415 * support removable media.
3417 * TRUE means prevent media from being removed.
3418 * FALSE means allow media removal.
3420 typedef struct _PREVENT_MEDIA_REMOVAL {
3421 BOOLEAN PreventMediaRemoval;
3422 } PREVENT_MEDIA_REMOVAL ;
3424 typedef struct tagPD {
3436 HINSTANCE hInstance;
3438 LPPRINTHOOKPROC lpfnPrintHook;
3439 LPSETUPHOOKPROC lpfnSetupHook;
3440 LPCTSTR lpPrintTemplateName;
3441 LPCTSTR lpSetupTemplateName;
3442 HANDLE hPrintTemplate;
3443 HANDLE hSetupTemplate;
3444 } PRINTDLG PACKED, *LPPRINTDLG PACKED;
3446 typedef struct _PRINTER_DEFAULTSA
3449 LPDEVMODEA pDevMode;
3450 ACCESS_MASK DesiredAccess;
3451 } PRINTER_DEFAULTSA, *PPRINTER_DEFAULTSA, *LPPRINTER_DEFAULTSA;
3453 typedef struct _PRINTER_DEFAULTSW
3456 LPDEVMODEA pDevMode;
3457 ACCESS_MASK DesiredAccess;
3458 } PRINTER_DEFAULTSW, *PPRINTER_DEFAULTSW, *LPPRINTER_DEFAULTSW;
3460 typedef struct _PRINTER_INFO_1 {
3462 LPTSTR pDescription;
3465 } PRINTER_INFO_1, *PPRINTER_INFO_1, *LPPRINTER_INFO_1;
3468 typedef struct _PRINTER_INFO_2 {
3470 LPTSTR pPrinterName;
3478 LPTSTR pPrintProcessor;
3481 PSECURITY_DESCRIPTOR pSecurityDescriptor;
3484 DWORD DefaultPriority;
3493 typedef struct _PRINTER_INFO_3 {
3494 PSECURITY_DESCRIPTOR pSecurityDescriptor;
3498 typedef struct _PRINTER_INFO_4 {
3499 LPTSTR pPrinterName;
3504 typedef struct _PRINTER_INFO_5 {
3505 LPTSTR pPrinterName;
3508 DWORD DeviceNotSelectedTimeout;
3509 DWORD TransmissionRetryTimeout;
3512 typedef struct _PRINTER_NOTIFY_INFO_DATA {
3524 } PRINTER_NOTIFY_INFO_DATA;
3526 typedef struct _PRINTER_NOTIFY_INFO {
3530 PRINTER_NOTIFY_INFO_DATA aData[1];
3531 } PRINTER_NOTIFY_INFO;
3533 typedef struct _PRINTER_NOTIFY_OPTIONS_TYPE {
3540 } PRINTER_NOTIFY_OPTIONS_TYPE, *PPRINTER_NOTIFY_OPTIONS_TYPE;
3542 typedef struct _PRINTER_NOTIFY_OPTIONS {
3546 PPRINTER_NOTIFY_OPTIONS_TYPE pTypes;
3547 } PRINTER_NOTIFY_OPTIONS;
3549 typedef struct _PRINTPROCESSOR_INFO_1 {
3551 } PRINTPROCESSOR_INFO_1;
3554 typedef struct _PROCESS_HEAP_ENTRY {
3560 DWORD dwCommittedSize;
3561 DWORD dwUnCommittedSize;
3562 LPVOID lpFirstBlock;
3565 } PROCESS_HEAPENTRY, *LPPROCESS_HEAP_ENTRY;
3567 typedef struct _PROCESS_INFORMATION {
3572 } PROCESS_INFORMATION, *LPPROCESS_INFORMATION;
3574 typedef UINT CALLBACK (*LPFNPSPCALLBACK) (HWND, UINT, LPVOID);
3576 typedef struct _PROPSHEETPAGE {
3579 HINSTANCE hInstance;
3581 LPCTSTR pszTemplate;
3582 LPCDLGTEMPLATE pResource;
3591 LPFNPSPCALLBACK pfnCallback;
3593 } PROPSHEETPAGE, *LPPROPSHEETPAGE;
3594 typedef const PROPSHEETPAGE *LPCPROPSHEETPAGE;
3596 typedef struct _PSP *HPROPSHEETPAGE;
3597 typedef struct _PROPSHEETHEADER {
3601 HINSTANCE hInstance;
3613 LPCPROPSHEETPAGE ppsp;
3614 HPROPSHEETPAGE *phpage;
3616 PFNPROPSHEETCALLBACK pfnCallback;
3617 } PROPSHEETHEADER, *LPPROPSHEETHEADER;
3618 typedef const PROPSHEETHEADER *LPCPROPSHEETHEADER;
3620 /* PropertySheet callbacks */
3621 typedef WINBOOL CALLBACK (*LPFNADDPROPSHEETPAGE) (HPROPSHEETPAGE, LPARAM);
3622 typedef WINBOOL CALLBACK (*LPFNADDPROPSHEETPAGES) (LPVOID,
3623 LPFNADDPROPSHEETPAGE,
3626 typedef struct _PROTOCOL_INFO {
3627 DWORD dwServiceFlags;
3633 DWORD dwMessageSize;
3637 typedef struct _PROVIDOR_INFO_1 {
3639 LPTSTR pEnvironment ;
3643 typedef struct _PSHNOTIFY {
3646 } PSHNOTIFY, *LPPSHNOTIFY;
3648 typedef struct _punctuation {
3650 LPSTR szPunctuation;
3653 typedef struct _QUERY_SERVICE_CONFIGA {
3654 DWORD dwServiceType;
3656 DWORD dwErrorControl;
3657 LPSTR lpBinaryPathName;
3658 LPSTR lpLoadOrderGroup;
3660 LPSTR lpDependencies;
3661 LPSTR lpServiceStartName;
3662 LPSTR lpDisplayName;
3663 } QUERY_SERVICE_CONFIGA, *LPQUERY_SERVICE_CONFIGA;
3665 typedef struct _QUERY_SERVICE_CONFIGW {
3666 DWORD dwServiceType;
3668 DWORD dwErrorControl;
3669 LPWSTR lpBinaryPathName;
3670 LPWSTR lpLoadOrderGroup;
3672 LPWSTR lpDependencies;
3673 LPWSTR lpServiceStartName;
3674 LPWSTR lpDisplayName;
3675 } QUERY_SERVICE_CONFIGW, *LPQUERY_SERVICE_CONFIGW;
3678 #define QUERY_SERVICE_CONFIG QUERY_SERVICE_CONFIGW
3679 #define LPQUERY_SERVICE_CONFIG LPQUERY_SERVICE_CONFIGW
3681 #define QUERY_SERVICE_CONFIG QUERY_SERVICE_CONFIGA
3682 #define LPQUERY_SERVICE_CONFIG LPQUERY_SERVICE_CONFIGA
3685 typedef struct _QUERY_SERVICE_LOCK_STATUSA {
3688 DWORD dwLockDuration;
3689 } QUERY_SERVICE_LOCK_STATUSA, *LPQUERY_SERVICE_LOCK_STATUSA;
3691 typedef struct _QUERY_SERVICE_LOCK_STATUSW {
3694 DWORD dwLockDuration;
3695 } QUERY_SERVICE_LOCK_STATUSW, *LPQUERY_SERVICE_LOCK_STATUSW;
3698 #define QUERY_SERVICE_LOCK_STATUS QUERY_SERVICE_LOCK_STATUSW
3699 #define LPQUERY_SERVICE_LOCK_STATUS LPQUERY_SERVICE_LOCK_STATUSW
3701 #define QUERY_SERVICE_LOCK_STATUS QUERY_SERVICE_LOCK_STATUSA
3702 #define LPQUERY_SERVICE_LOCK_STATUS LPQUERY_SERVICE_LOCK_STATUSA
3705 typedef struct _RASAMB {
3708 TCHAR szNetBiosError[ NETBIOS_NAME_LEN + 1 ];
3712 typedef struct _RASCONN {
3715 TCHAR szEntryName[RAS_MaxEntryName + 1];
3717 CHAR szDeviceType[ RAS_MaxDeviceType + 1 ];
3718 CHAR szDeviceName[ RAS_MaxDeviceName + 1 ];
3721 typedef struct _RASCONNSTATUS {
3723 RASCONNSTATE rasconnstate;
3725 TCHAR szDeviceType[RAS_MaxDeviceType + 1];
3726 TCHAR szDeviceName[RAS_MaxDeviceName + 1];
3729 typedef struct _RASDIALEXTENSIONS {
3734 } RASDIALEXTENSIONS;
3736 typedef struct _RASDIALPARAMS {
3738 TCHAR szEntryName[RAS_MaxEntryName + 1];
3739 TCHAR szPhoneNumber[RAS_MaxPhoneNumber + 1];
3740 TCHAR szCallbackNumber[RAS_MaxCallbackNumber + 1];
3741 TCHAR szUserName[UNLEN + 1];
3742 TCHAR szPassword[PWLEN + 1];
3743 TCHAR szDomain[DNLEN + 1] ;
3746 typedef struct _RASENTRYNAME {
3748 TCHAR szEntryName[RAS_MaxEntryName + 1];
3751 typedef struct _RASPPPIP {
3754 TCHAR szIpAddress[ RAS_MaxIpAddress + 1 ];
3757 typedef struct _RASPPPIPX {
3760 TCHAR szIpxAddress[ RAS_MaxIpxAddress + 1 ];
3763 typedef struct _RASPPPNBF {
3766 DWORD dwNetBiosError;
3767 TCHAR szNetBiosError[ NETBIOS_NAME_LEN + 1 ];
3768 TCHAR szWorkstationName[ NETBIOS_NAME_LEN + 1 ];
3772 typedef struct _RASTERIZER_STATUS {
3776 } RASTERIZER_STATUS, *LPRASTERIZER_STATUS;
3778 typedef struct _REASSIGN_BLOCKS {
3781 DWORD BlockNumber[1];
3784 typedef struct _REMOTE_NAME_INFO {
3785 LPTSTR lpUniversalName;
3786 LPTSTR lpConnectionName;
3787 LPTSTR lpRemainingPath;
3792 typedef struct _reobject {
3796 LPOLEOBJECT poleobj;
3798 LPOLECLIENTSITE polesite;
3806 typedef struct _repastespecial {
3811 typedef struct _reqresize {
3816 typedef struct _RGNDATAHEADER {
3824 typedef struct _RGNDATA {
3827 } RGNDATA, *PRGNDATA, *LPRGNDATA;
3829 typedef struct tagSCROLLINFO {
3837 } SCROLLINFO, *LPSCROLLINFO;
3838 typedef SCROLLINFO const *LPCSCROLLINFO;
3841 typedef struct _selchange {
3847 typedef struct tagSERIALKEYS {
3850 LPSTR lpszActivePort;
3854 } SERIALKEYS, * LPSERIALKEYS;
3856 typedef struct _SERVICE_TABLE_ENTRYA {
3857 LPSTR lpServiceName;
3858 LPSERVICE_MAIN_FUNCTION lpServiceProc;
3859 } SERVICE_TABLE_ENTRYA, *LPSERVICE_TABLE_ENTRYA;
3861 typedef struct _SERVICE_TABLE_ENTRYW {
3862 LPWSTR lpServiceName;
3863 LPSERVICE_MAIN_FUNCTION lpServiceProc;
3864 } SERVICE_TABLE_ENTRYW, *LPSERVICE_TABLE_ENTRYW;
3867 #define SERVICE_TABLE_ENTRY SERVICE_TABLE_ENTRYW
3868 #define LPSERVICE_TABLE_ENTRY LPSERVICE_TABLE_ENTRYW
3870 #define SERVICE_TABLE_ENTRY SERVICE_TABLE_ENTRYA
3871 #define LPSERVICE_TABLE_ENTRY LPSERVICE_TABLE_ENTRYA
3875 typedef struct _SERVICE_TYPE_VALUE_ABS {
3881 } SERVICE_TYPE_VALUE_ABS;
3883 typedef struct _SERVICE_TYPE_INFO_ABS {
3886 SERVICE_TYPE_VALUE_ABS Values[1];
3887 } SERVICE_TYPE_INFO_ABS;
3889 typedef struct _SESSION_BUFFER {
3892 UCHAR local_name[NCBNAMSZ];
3893 UCHAR remote_name[NCBNAMSZ];
3894 UCHAR rcvs_outstanding;
3895 UCHAR sends_outstanding;
3898 typedef struct _SESSION_HEADER {
3901 UCHAR rcv_dg_outstanding;
3902 UCHAR rcv_any_outstanding;
3905 typedef enum tagSHCONTF {
3906 SHCONTF_FOLDERS = 32,
3907 SHCONTF_NONFOLDERS = 64,
3908 SHCONTF_INCLUDEHIDDEN = 128,
3911 typedef struct _SHFILEINFO {
3915 char szDisplayName[MAX_PATH];
3916 char szTypeName[80];
3919 typedef WORD FILEOP_FLAGS;
3920 typedef struct _SHFILEOPSTRUCT {
3925 FILEOP_FLAGS fFlags;
3926 WINBOOL fAnyOperationsAborted;
3927 LPVOID hNameMappings;
3928 LPCSTR lpszProgressTitle;
3929 } SHFILEOPSTRUCT, *LPSHFILEOPSTRUCT;
3931 typedef enum tagSHGDN {
3934 SHGDN_FORPARSING = 0x8000,
3937 typedef struct _SHNAMEMAPPING {
3942 } SHNAMEMAPPING, *LPSHNAMEMAPPING;
3944 typedef struct tagSOUNDSENTRY {
3947 DWORD iFSTextEffect;
3948 DWORD iFSTextEffectMSec;
3949 DWORD iFSTextEffectColorBits;
3950 DWORD iFSGrafEffect;
3951 DWORD iFSGrafEffectMSec;
3952 DWORD iFSGrafEffectColor;
3953 DWORD iWindowsEffect;
3954 DWORD iWindowsEffectMSec;
3955 LPTSTR lpszWindowsEffectDLL;
3956 DWORD iWindowsEffectOrdinal;
3957 } SOUNDSENTRY, *LPSOUNDSENTRY;
3959 typedef struct _STARTUPINFOA {
3968 DWORD dwXCountChars;
3969 DWORD dwYCountChars;
3970 DWORD dwFillAttribute;
3978 } STARTUPINFOA, *LPSTARTUPINFOA;
3980 typedef struct _STARTUPINFOW {
3989 DWORD dwXCountChars;
3990 DWORD dwYCountChars;
3991 DWORD dwFillAttribute;
3999 } STARTUPINFOW, *LPSTARTUPINFOW;
4002 typedef STARTUPINFOW STARTUPINFO;
4003 typedef LPSTARTUPINFOW LPSTARTUPINFO;
4005 typedef STARTUPINFOA STARTUPINFO;
4006 typedef LPSTARTUPINFOA LPSTARTUPINFO;
4007 #endif /* UNICODE */
4009 typedef struct tagSTICKYKEYS {
4012 } STICKYKEYS, *LPSTICKYKEYS;
4014 typedef struct _STRRET {
4020 char cStr[MAX_PATH];
4022 } STRRET, *LPSTRRET;
4024 typedef struct _tagSTYLEBUF {
4026 CHAR szDescription[32];
4027 } STYLEBUF, *LPSTYLEBUF;
4029 typedef struct tagSTYLESTRUCT {
4032 } STYLESTRUCT, * LPSTYLESTRUCT;
4034 typedef struct _ACCESS_ALLOWED_ACE {
4038 } ACCESS_ALLOWED_ACE;
4040 typedef ACCESS_ALLOWED_ACE *PACCESS_ALLOWED_ACE;
4042 typedef struct _ACCESS_DENIED_ACE {
4046 } ACCESS_DENIED_ACE;
4047 typedef ACCESS_DENIED_ACE *PACCESS_DENIED_ACE;
4049 typedef struct _SYSTEM_AUDIT_ACE {
4054 typedef SYSTEM_AUDIT_ACE *PSYSTEM_AUDIT_ACE;
4056 typedef struct _SYSTEM_ALARM_ACE {
4061 typedef SYSTEM_ALARM_ACE *PSYSTEM_ALARM_ACE;
4063 typedef struct _ACCESS_ALLOWED_OBJECT_ACE {
4068 GUID InheritedObjectType;
4070 } ACCESS_ALLOWED_OBJECT_ACE, *PACCESS_ALLOWED_OBJECT_ACE;
4072 typedef struct _ACCESS_DENIED_OBJECT_ACE {
4077 GUID InheritedObjectType;
4079 } ACCESS_DENIED_OBJECT_ACE, *PACCESS_DENIED_OBJECT_ACE;
4081 typedef struct _SYSTEM_AUDIT_OBJECT_ACE {
4086 GUID InheritedObjectType;
4088 } SYSTEM_AUDIT_OBJECT_ACE, *PSYSTEM_AUDIT_OBJECT_ACE;
4090 typedef struct _SYSTEM_ALARM_OBJECT_ACE {
4095 GUID InheritedObjectType;
4097 } SYSTEM_ALARM_OBJECT_ACE, *PSYSTEM_ALARM_OBJECT_ACE;
4099 typedef struct _SYSTEM_INFO
4106 WORD wProcessorArchitecture;
4113 LPVOID lpMinimumApplicationAddress;
4114 LPVOID lpMaximumApplicationAddress;
4115 DWORD dwActiveProcessorMask;
4116 DWORD dwNumberOfProcessors;
4117 DWORD dwProcessorType;
4118 DWORD dwAllocationGranularity;
4119 WORD wProcessorLevel;
4120 WORD wProcessorRevision;
4121 } SYSTEM_INFO, *LPSYSTEM_INFO;
4123 typedef struct _SYSTEM_POWER_STATUS {
4126 BYTE BatteryLifePercent;
4128 DWORD BatteryLifeTime;
4129 DWORD BatteryFullLifeTime;
4130 } SYSTEM_POWER_STATUS;
4131 typedef SYSTEM_POWER_STATUS *LPSYSTEM_POWER_STATUS;
4133 typedef struct _TAPE_ERASE {
4137 typedef struct _TAPE_GET_DRIVE_PARAMETERS {
4139 BOOLEAN Compression;
4140 BOOLEAN DataPadding;
4141 BOOLEAN ReportSetmarks;
4142 ULONG DefaultBlockSize;
4143 ULONG MaximumBlockSize;
4144 ULONG MinimumBlockSize;
4145 ULONG MaximumPartitionCount;
4148 ULONG EOTWarningZoneSize;
4149 } TAPE_GET_DRIVE_PARAMETERS;
4151 typedef struct _TAPE_GET_MEDIA_PARAMETERS {
4152 LARGE_INTEGER Capacity;
4153 LARGE_INTEGER Remaining;
4155 DWORD PartitionCount;
4156 BOOLEAN WriteProtected;
4157 } TAPE_GET_MEDIA_PARAMETERS;
4159 typedef struct _TAPE_GET_POSITION {
4164 } TAPE_GET_POSITION;
4166 typedef struct _TAPE_PREPARE {
4170 typedef struct _TAPE_SET_DRIVE_PARAMETERS {
4172 BOOLEAN Compression;
4173 BOOLEAN DataPadding;
4174 BOOLEAN ReportSetmarks;
4175 ULONG EOTWarningZoneSize;
4176 } TAPE_SET_DRIVE_PARAMETERS;
4178 typedef struct _TAPE_SET_MEDIA_PARAMETERS {
4180 } TAPE_SET_MEDIA_PARAMETERS;
4182 typedef struct _TAPE_SET_POSITION {
4187 } TAPE_SET_POSITION;
4189 typedef struct _TAPE_WRITE_MARKS {
4197 } TBADDBITMAP, *LPTBADDBITMAP;
4199 typedef struct _TBBUTTON {
4206 } TBBUTTON, * PTBBUTTON, * LPTBBUTTON;
4207 typedef const TBBUTTON * LPCTBBUTTON;
4215 } TBNOTIFY, *LPTBNOTIFY;
4220 LPCTSTR pszValueName;
4223 typedef struct _TC_HITTESTINFO {
4228 typedef struct _TC_ITEM {
4238 typedef struct _TC_ITEMHEADER {
4247 typedef struct _TC_KEYDOWN {
4253 typedef struct _textrange {
4258 typedef struct tagTOGGLEKEYS {
4271 } TOOLINFO, *PTOOLINFO, *LPTOOLINFO;
4279 } TOOLTIPTEXT, *LPTOOLTIPTEXT;
4281 typedef struct tagTPMPARAMS {
4284 } TPMPARAMS, *LPTPMPARAMS;
4286 #if 0 // RobD - typedef removed due to conflict with mingw headers
4287 typedef struct _TRANSMIT_FILE_BUFFERS {
4292 } TRANSMIT_FILE_BUFFERS;
4295 typedef struct _TT_HITTESTINFO {
4299 } TTHITTESTINFO, * LPHITTESTINFO;
4301 typedef struct tagTTPOLYCURVE {
4305 } TTPOLYCURVE, * LPTTPOLYCURVE;
4307 typedef struct _TTPOLYGONHEADER {
4311 } TTPOLYGONHEADER, * LPTTPOLYGONHEADER;
4313 typedef struct _TV_DISPINFO {
4318 typedef struct _TVHITTESTINFO {
4322 } TV_HITTESTINFO, *LPTV_HITTESTINFO;
4324 typedef struct _TV_INSERTSTRUCT {
4326 HTREEITEM hInsertAfter;
4328 } TV_INSERTSTRUCT, *LPTV_INSERTSTRUCT;
4330 typedef struct _TV_KEYDOWN {
4336 typedef struct _TV_SORTCB {
4338 PFNTVCOMPARE lpfnCompare;
4340 } TV_SORTCB, *LPTV_SORTCB;
4347 typedef struct _UNIVERSAL_NAME_INFO {
4348 LPTSTR lpUniversalName;
4349 } UNIVERSAL_NAME_INFO;
4351 typedef struct tagUSEROBJECTFLAGS {
4357 typedef struct _VERIFY_INFORMATION {
4358 LARGE_INTEGER StartingOffset;
4360 } VERIFY_INFORMATION ;
4362 typedef struct _VS_FIXEDFILEINFO {
4364 DWORD dwStrucVersion;
4365 DWORD dwFileVersionMS;
4366 DWORD dwFileVersionLS;
4367 DWORD dwProductVersionMS;
4368 DWORD dwProductVersionLS;
4369 DWORD dwFileFlagsMask;
4373 DWORD dwFileSubtype;
4378 typedef struct _WIN32_FIND_DATAA {
4379 DWORD dwFileAttributes;
4380 FILETIME ftCreationTime;
4381 FILETIME ftLastAccessTime;
4382 FILETIME ftLastWriteTime;
4383 DWORD nFileSizeHigh;
4387 CHAR cFileName[ MAX_PATH ];
4388 CHAR cAlternateFileName[ 14 ];
4389 } WIN32_FIND_DATAA, *LPWIN32_FIND_DATAA, *PWIN32_FIND_DATAA;
4391 typedef struct _WIN32_FIND_DATAW {
4392 DWORD dwFileAttributes;
4393 FILETIME ftCreationTime;
4394 FILETIME ftLastAccessTime;
4395 FILETIME ftLastWriteTime;
4396 DWORD nFileSizeHigh;
4400 WCHAR cFileName[ MAX_PATH ];
4401 WCHAR cAlternateFileName[ 14 ];
4402 } WIN32_FIND_DATAW, *LPWIN32_FIND_DATAW, *PWIN32_FIND_DATAW;
4405 #define WIN32_FIND_DATA WIN32_FIND_DATAW
4406 #define PWIN32_FIND_DATA PWIN32_FIND_DATAW
4407 #define LPWIN32_FIND_DATA LPWIN32_FIND_DATAW
4409 #define WIN32_FIND_DATA WIN32_FIND_DATAA
4410 #define PWIN32_FIND_DATA PWIN32_FIND_DATAA
4411 #define LPWIN32_FIND_DATA LPWIN32_FIND_DATAA
4414 typedef struct _WIN32_STREAM_ID {
4416 DWORD dwStreamAttributes;
4418 DWORD dwStreamNameSize;
4422 typedef struct _WINDOWPLACEMENT {
4426 POINT ptMinPosition;
4427 POINT ptMaxPosition;
4428 RECT rcNormalPosition;
4431 typedef struct _WNDCLASS {
4433 WNDPROC lpfnWndProc;
4439 HBRUSH hbrBackground;
4440 LPCTSTR lpszMenuName;
4441 LPCTSTR lpszClassName;
4442 } WNDCLASS, *LPWNDCLASS;
4444 typedef struct _WNDCLASSEX {
4447 WNDPROC lpfnWndProc;
4453 HBRUSH hbrBackground;
4454 LPCTSTR lpszMenuName;
4455 LPCTSTR lpszClassName;
4457 } WNDCLASSEX, *LPWNDCLASSEX;
4459 typedef struct _CONNECTDLGSTRUCT {
4462 LPNETRESOURCE lpConnRes;
4465 } CONNECTDLGSTRUCT, *LPCONNECTDLGSTRUCT;
4467 typedef struct _DISCDLGSTRUCT {
4471 LPTSTR lpRemoteName;
4473 } DISCDLGSTRUCT, *LPDISCDLGSTRUCT;
4475 typedef struct _NETINFOSTRUCT{
4477 DWORD dwProviderVersion;
4479 DWORD dwCharacteristics;
4484 } NETINFOSTRUCT, *LPNETINFOSTRUCT;
4486 typedef struct _NETCONNECTINFOSTRUCT{
4491 DWORD dwOptDataSize;
4492 } NETCONNECTINFOSTRUCT, *LPNETCONNECTINFOSTRUCT;
4494 typedef int CALLBACK (*ENUMMETAFILEPROC) (HDC, HANDLETABLE,
4495 METARECORD, int, LPARAM);
4496 typedef int CALLBACK (*ENHMETAFILEPROC) (HDC, HANDLETABLE,
4497 ENHMETARECORD, int, LPARAM);
4499 typedef int CALLBACK (*ENUMFONTSPROCA) (LPLOGFONTA, LPTEXTMETRICA, DWORD, LPARAM);
4500 typedef int CALLBACK (*ENUMFONTSPROCW) (LPLOGFONTW, LPTEXTMETRICW, DWORD, LPARAM);
4502 typedef ENUMFONTSPROCW ENUMFONTSPROC;
4504 typedef ENUMFONTSPROCA ENUMFONTSPROC;
4506 typedef int CALLBACK (*FONTENUMPROCA) (ENUMLOGFONTA *, NEWTEXTMETRICA *,
4508 typedef int CALLBACK (*FONTENUMPROCW) (ENUMLOGFONTW *, NEWTEXTMETRICW *,
4511 typedef FONTENUMPROCW FONTENUMPROC;
4513 typedef FONTENUMPROCA FONTENUMPROC;
4515 typedef int CALLBACK (*FONTENUMEXPROCA) (ENUMLOGFONTEXA *, NEWTEXTMETRICEXA *,
4517 typedef int CALLBACK (*FONTENUMEXPROCW) (ENUMLOGFONTEXW *, NEWTEXTMETRICEXW *,
4520 typedef FONTENUMEXPROCW FONTENUMEXPROC;
4522 typedef FONTENUMEXPROCA FONTENUMEXPROC;
4525 typedef VOID CALLBACK (*LPOVERLAPPED_COMPLETION_ROUTINE) (DWORD, DWORD,
4529 Structures for the extensions to OpenGL
4531 typedef struct _POINTFLOAT
4535 } POINTFLOAT, *PPOINTFLOAT;
4537 typedef struct _GLYPHMETRICSFLOAT
4541 POINTFLOAT gmfptGlyphOrigin;
4544 } GLYPHMETRICSFLOAT, *PGLYPHMETRICSFLOAT, *LPGLYPHMETRICSFLOAT;
4546 typedef struct tagLAYERPLANEDESCRIPTOR
4563 BYTE cAccumGreenBits;
4564 BYTE cAccumBlueBits;
4565 BYTE cAccumAlphaBits;
4571 COLORREF crTransparent;
4572 } LAYERPLANEDESCRIPTOR, *PLAYERPLANEDESCRIPTOR, *LPLAYERPLANEDESCRIPTOR;
4574 typedef struct tagPIXELFORMATDESCRIPTOR
4591 BYTE cAccumGreenBits;
4592 BYTE cAccumBlueBits;
4593 BYTE cAccumAlphaBits;
4600 DWORD dwVisibleMask;
4602 } PIXELFORMATDESCRIPTOR, *PPIXELFORMATDESCRIPTOR, *LPPIXELFORMATDESCRIPTOR;
4607 LPWSTR usri2_password;
4608 DWORD usri2_password_age;
4610 LPWSTR usri2_home_dir;
4611 LPWSTR usri2_comment;
4613 LPWSTR usri2_script_path;
4614 DWORD usri2_auth_flags;
4615 LPWSTR usri2_full_name;
4616 LPWSTR usri2_usr_comment;
4618 LPWSTR usri2_workstations;
4619 DWORD usri2_last_logon;
4620 DWORD usri2_last_logoff;
4621 DWORD usri2_acct_expires;
4622 DWORD usri2_max_storage;
4623 DWORD usri2_units_per_week;
4624 PBYTE usri2_logon_hours;
4625 DWORD usri2_bad_pw_count;
4626 DWORD usri2_num_logons;
4627 LPWSTR usri2_logon_server;
4628 DWORD usri2_country_code;
4629 DWORD usri2_code_page;
4630 } USER_INFO_2, *PUSER_INFO_2, *LPUSER_INFO_2;
4635 } USER_INFO_0, *PUSER_INFO_0, *LPUSER_INFO_0;
4640 LPWSTR usri3_password;
4641 DWORD usri3_password_age;
4643 LPWSTR usri3_home_dir;
4644 LPWSTR usri3_comment;
4646 LPWSTR usri3_script_path;
4647 DWORD usri3_auth_flags;
4648 LPWSTR usri3_full_name;
4649 LPWSTR usri3_usr_comment;
4651 LPWSTR usri3_workstations;
4652 DWORD usri3_last_logon;
4653 DWORD usri3_last_logoff;
4654 DWORD usri3_acct_expires;
4655 DWORD usri3_max_storage;
4656 DWORD usri3_units_per_week;
4657 PBYTE usri3_logon_hours;
4658 DWORD usri3_bad_pw_count;
4659 DWORD usri3_num_logons;
4660 LPWSTR usri3_logon_server;
4661 DWORD usri3_country_code;
4662 DWORD usri3_code_page;
4663 DWORD usri3_user_id;
4664 DWORD usri3_primary_group_id;
4665 LPWSTR usri3_profile;
4666 LPWSTR usri3_home_dir_drive;
4667 DWORD usri3_password_expired;
4668 } USER_INFO_3, *PUSER_INFO_3, *LPUSER_INFO_3;
4673 LPWSTR grpi2_comment;
4674 DWORD grpi2_group_id;
4675 DWORD grpi2_attributes;
4676 } GROUP_INFO_2, *PGROUP_INFO_2;
4681 } LOCALGROUP_INFO_0, *PLOCALGROUP_INFO_0, *LPLOCALGROUP_INFO_0;
4683 /* PE executable header. */
4684 /* Windows.h now includes pe.h to avoid conflicts! */
4686 typedef struct _DISPLAY_DEVICE {
4688 WCHAR DeviceName[32];
4689 WCHAR DeviceString[128];
4691 WCHAR DeviceID[128];
4692 WCHAR DeviceKey[128];
4693 } DISPLAY_DEVICE, *PDISPLAY_DEVICE;
4695 typedef HANDLE HMONITOR;
4696 typedef HANDLE HDEVNOTIFY;
4698 typedef BOOL CALLBACK (*MonitorEnumProc)(
4704 typedef MonitorEnumProc MONITORENUMPROC;
4712 } FLASHWINFO, *PFLASHWINFO;
4714 typedef struct tagALTTABINFO {
4724 } ALTTABINFO, *PALTTABINFO, *LPALTTABINFO;
4726 typedef struct tagCOMBOBOXINFO {
4734 } COMBOBOXINFO, *PCOMBOBOXINFO, *LPCOMBOBOXINFO;
4736 typedef struct tagCURSORINFO {
4741 } CURSORINFO, *PCURSORINFO, *LPCURSORINFO;
4743 typedef struct tagGUITHREADINFO {
4753 } GUITHREADINFO, *PGUITHREADINFO, *LPGUITHREADINFO;
4755 typedef struct tagLASTINPUTINFO {
4758 } LASTINPUTINFO, *PLASTINPUTINFO;
4760 typedef struct tagMENUBARINFO {
4767 } MENUBARINFO, *PMENUBARINFO;
4769 typedef struct tagMENUINFO {
4775 DWORD dwContextHelpID;
4776 ULONG_PTR dwMenuData;
4777 } MENUINFO, FAR *LPMENUINFO;
4778 typedef MENUINFO CONST FAR *LPCMENUINFO;
4780 typedef struct tagMONITORINFO {
4785 } MONITORINFO, *LPMONITORINFO;
4787 typedef struct tagMOUSEMOVEPOINT {
4791 ULONG_PTR dwExtraInfo;
4792 } MOUSEMOVEPOINT, *PMOUSEMOVEPOINT, *LPMOUSEMOVEPOINT;
4794 #define CCHILDREN_SCROLLBAR 5
4796 typedef struct tagSCROLLBARINFO {
4803 DWORD rgstate[CCHILDREN_SCROLLBAR+1];
4804 } SCROLLBARINFO, *PSCROLLBARINFO, *LPSCROLLBARINFO;
4806 #define CCHILDREN_TITLEBAR 5
4808 typedef struct tagTITLEBARINFO {
4811 DWORD rgstate[CCHILDREN_TITLEBAR+1];
4812 } TITLEBARINFO, *PTITLEBARINFO, *LPTITLEBARINFO;
4816 LPCTSTR szWindowName;
4818 UINT32 fToBeTerminated;
4819 } WINDOWINFO, *PWINDOWINFO, *LPWINDOWINFO;
4821 typedef struct tagMOUSEINPUT {
4827 ULONG_PTR dwExtraInfo;
4828 } MOUSEINPUT, *PMOUSEINPUT;
4830 typedef struct tagKEYBDINPUT {
4835 ULONG_PTR dwExtraInfo;
4836 } KEYBDINPUT, *PKEYBDINPUT;
4838 typedef struct tagHARDWAREINPUT {
4842 } HARDWAREINPUT, *PHARDWAREINPUT;
4844 typedef struct tagINPUT {
4852 } INPUT, *PINPUT, FAR* LPINPUT;
4854 typedef struct tagTRACKMOUSEEVENT {
4859 } TRACKMOUSEEVENT, *LPTRACKMOUSEEVENT;
4861 typedef struct _BLENDFUNCTION {
4864 BYTE SourceConstantAlpha;
4866 }BLENDFUNCTION, *PBLENDFUNCTION, *LPBLENDFUNCTION;
4868 typedef enum _GET_FILEEX_INFO_LEVELS {
4869 GetFileExInfoStandard
4870 } GET_FILEEX_INFO_LEVELS;
4872 typedef struct _WIN32_FILE_ATTRIBUTES_DATA {
4873 DWORD dwFileAttributes;
4874 FILETIME ftCreationTime;
4875 FILETIME ftLastAccessTime;
4876 FILETIME ftLastWriteTime;
4877 DWORD nFileSizeHigh;
4879 } WIN32_FILE_ATTRIBUTE_DATA, *LPWIN32_FILE_ATTRIBUTE_DATA;
4883 #endif /* __cplusplus */
4885 #endif /* WIN32_LEAN_AND_MEAN */
4887 #endif /* _GNU_H_WINDOWS32_STRUCTURES */