4 Declarations for all the Windows32 API Structures
6 Copyright (C) 1996 Free Software Foundation, Inc.
8 Author: Scott Christley <scottc@net-community.com>
11 This file is part of the Windows32 API Library.
13 This library is free software; you can redistribute it and/or
14 modify it under the terms of the GNU Library General Public
15 License as published by the Free Software Foundation; either
16 version 2 of the License, or (at your option) any later version.
18 This library is distributed in the hope that it will be useful,
19 but WITHOUT ANY WARRANTY; without even the implied warranty of
20 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21 Library General Public License for more details.
23 If you are interested in a warranty or support for this source code,
24 contact Scott Christley <scottc@net-community.com> for more information.
26 You should have received a copy of the GNU Library General Public
27 License along with this library; see the file COPYING.LIB.
28 If not, write to the Free Software Foundation,
29 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
33 #ifndef _GNU_H_WINDOWS32_STRUCTURES
34 #define _GNU_H_WINDOWS32_STRUCTURES
36 #include <ntos/security.h>
37 #include <ntos/time.h>
38 #include <ntdll/rtl.h>
39 #include <ntos/console.h>
40 #include <ntos/keyboard.h>
41 #include <ntos/heap.h>
43 #include <ntos/file.h>
45 #include <ntos/disk.h>
46 #include <ntos/gditypes.h>
48 typedef struct _VALENT
56 #ifndef WIN32_LEAN_AND_MEAN
60 #endif /* __cplusplus */
68 typedef struct _ABCFLOAT
{
72 } ABCFLOAT
, *LPABCFLOAT
;
74 typedef struct tagACCEL
{
80 typedef struct tagACCESSTIMEOUT
{
86 typedef struct _ACTION_HEADER
{
92 typedef struct _ADAPTER_STATUS
{
93 UCHAR adapter_address
[6];
101 WORD iframe_recv_err
;
105 WORD iframe_xmit_err
;
106 WORD recv_buff_unavail
;
113 WORD xmit_buf_unavail
;
118 WORD max_sess_pkt_size
;
122 typedef struct _ADDJOB_INFO_1
{
127 typedef struct tagANIMATIONINFO
{
130 } ANIMATIONINFO
, *LPANIMATIONINFO
;
132 typedef struct _RECT
{
137 } RECT
, *LPRECT
, *LPCRECT
, *PRECT
;
139 typedef struct _RECTL
{
144 } RECTL
, *LPRECTL
, *LPCRECTL
, *PRECTL
;
146 typedef struct _AppBarData
{
149 UINT uCallbackMessage
;
153 } APPBARDATA
, *PAPPBARDATA
;
155 typedef struct tagBITMAP
164 } BITMAP
, *PBITMAP
, *NPBITMAP
, *LPBITMAP
;
166 typedef struct tagBITMAPCOREHEADER
{
174 typedef struct tagRGBTRIPLE
{
178 } RGBTRIPLE
, *PRGBTRIPLE
;
180 typedef struct _BITMAPCOREINFO
{
181 BITMAPCOREHEADER bmciHeader
;
182 RGBTRIPLE bmciColors
[1];
183 } BITMAPCOREINFO
, *PBITMAPCOREINFO
, *LPBITMAPCOREINFO
;
185 typedef struct tagBITMAPFILEHEADER
{
191 } BITMAPFILEHEADER
__attribute__((packed
));
193 typedef struct tagBITMAPINFOHEADER
{
201 LONG biXPelsPerMeter
;
202 LONG biYPelsPerMeter
;
204 DWORD biClrImportant
;
205 } BITMAPINFOHEADER
, *LPBITMAPINFOHEADER
, *PBITMAPINFOHEADER
;
207 typedef struct tagRGBQUAD
{
214 typedef struct tagBITMAPINFO
{
215 BITMAPINFOHEADER bmiHeader
;
216 RGBQUAD bmiColors
[1];
217 } BITMAPINFO
, *LPBITMAPINFO
, *PBITMAPINFO
;
219 typedef long FXPT2DOT30
, * LPFXPT2DOT30
;
221 typedef struct tagCIEXYZ
227 typedef CIEXYZ
* LPCIEXYZ
;
229 typedef struct tagCIEXYZTRIPLE
235 typedef CIEXYZTRIPLE
* LPCIEXYZTRIPLE
;
243 DWORD bV4V4Compression
;
245 LONG bV4XPelsPerMeter
;
246 LONG bV4YPelsPerMeter
;
248 DWORD bV4ClrImportant
;
254 CIEXYZTRIPLE bV4Endpoints
;
258 } BITMAPV4HEADER
, *LPBITMAPV4HEADER
, *PBITMAPV4HEADER
;
260 typedef struct _BLOB
{
265 typedef struct _SHITEMID
{
268 } SHITEMID
, * LPSHITEMID
;
269 typedef const SHITEMID
* LPCSHITEMID
;
271 typedef struct _ITEMIDLIST
{
273 } ITEMIDLIST
, * LPITEMIDLIST
;
274 typedef const ITEMIDLIST
* LPCITEMIDLIST
;
276 typedef struct _browseinfo
{
278 LPCITEMIDLIST pidlRoot
;
279 LPSTR pszDisplayName
;
285 } BROWSEINFO
, *PBROWSEINFO
, *LPBROWSEINFO
;
287 typedef struct _BY_HANDLE_FILE_INFORMATION
{
288 DWORD dwFileAttributes
;
289 FILETIME ftCreationTime
;
290 FILETIME ftLastAccessTime
;
291 FILETIME ftLastWriteTime
;
292 DWORD dwVolumeSerialNumber
;
295 DWORD nNumberOfLinks
;
296 DWORD nFileIndexHigh
;
298 } BY_HANDLE_FILE_INFORMATION
, *LPBY_HANDLE_FILE_INFORMATION
;
300 typedef struct _FIXED
{
305 typedef struct tagPOINT
{
308 } POINT
, *LPPOINT
, *PPOINT
;
310 typedef struct tagPOINTFX
{
315 typedef struct _POINTL
{
320 typedef struct tagPOINTS
{
325 typedef struct _tagCANDIDATEFORM
{
330 } CANDIDATEFORM
, *LPCANDIDATEFORM
;
332 typedef struct _tagCANDIDATELIST
{
340 } CANDIDATELIST
, *LPCANDIDATELIST
;
342 typedef struct tagCREATESTRUCT
{
343 LPVOID lpCreateParams
;
355 } CREATESTRUCT
, *LPCREATESTRUCT
;
357 typedef struct tagCREATESTRUCTA
{
358 LPVOID lpCreateParams
;
370 } CREATESTRUCTA
, *LPCREATESTRUCTA
;
372 typedef struct tagCREATESTRUCTW
{
373 LPVOID lpCreateParams
;
385 } CREATESTRUCTW
, *LPCREATESTRUCTW
;
387 typedef struct tagCBT_CREATEWND
{
389 HWND hwndInsertAfter
;
392 typedef struct tagCBTACTIVATESTRUCT
{
397 typedef struct _CHAR_INFO
{
403 } CHAR_INFO
, *PCHAR_INFO
;
405 typedef struct _charformat
{
411 COLORREF crTextColor
;
413 BYTE bPitchAndFamily
;
414 TCHAR szFaceName
[LF_FACESIZE
];
417 typedef struct _charrange
{
422 typedef struct tagCHARSET
{
427 typedef struct tagFONTSIGNATURE
{
430 } FONTSIGNATURE
, *LPFONTSIGNATURE
;
436 } CHARSETINFO
, *LPCHARSETINFO
;
443 COLORREF
* lpCustColors
;
446 LPCCHOOKPROC lpfnHook
;
447 LPCTSTR lpTemplateName
;
448 } CHOOSECOLOR
, *LPCHOOSECOLOR
;
450 typedef struct tagLOGFONT
{
461 BYTE lfClipPrecision
;
463 BYTE lfPitchAndFamily
;
464 TCHAR lfFaceName
[LF_FACESIZE
];
465 } LOGFONT
, *LPLOGFONT
, *PLOGFONT
;
467 typedef struct tagLOGFONTW
{
478 BYTE lfClipPrecision
;
480 BYTE lfPitchAndFamily
;
482 } LOGFONTW
, *LPLOGFONTW
, *PLOGFONTW
;
493 LPCFHOOKPROC lpfnHook
;
494 LPCTSTR lpTemplateName
;
498 WORD ___MISSING_ALIGNMENT__
;
501 } CHOOSEFONT
, *LPCHOOSEFONT
;
503 typedef struct _IDA
{
508 typedef struct tagCLIENTCREATESTRUCT
{
511 } CLIENTCREATESTRUCT
;
513 typedef CLIENTCREATESTRUCT
*LPCLIENTCREATESTRUCT
;
515 typedef struct _CMInvokeCommandInfo
{
525 } CMINVOKECOMMANDINFO
, *LPCMINVOKECOMMANDINFO
;
527 typedef struct tagCOLORADJUSTMENT
{
530 WORD caIlluminantIndex
;
534 WORD caReferenceBlack
;
535 WORD caReferenceWhite
;
538 SHORT caColorfulness
;
539 SHORT caRedGreenTint
;
540 } COLORADJUSTMENT
, *LPCOLORADJUSTMENT
;
542 typedef struct _COLORMAP
{
545 } COLORMAP
, * LPCOLORMAP
;
547 typedef struct _DCB
{
552 DWORD fOutxCtsFlow
:1;
553 DWORD fOutxDsrFlow
:1;
555 DWORD fDsrSensitivity
:1;
556 DWORD fTXContinueOnXoff
:1;
562 DWORD fAbortOnError
:1;
578 typedef struct _COMM_CONFIG
{
583 DWORD dwProviderSubType
;
584 DWORD dwProviderOffset
;
585 DWORD dwProviderSize
;
586 WCHAR wcProviderData
[1];
587 } COMMCONFIG
, *LPCOMMCONFIG
;
589 typedef struct _COMMPROP
{
598 DWORD dwProvCapabilities
;
599 DWORD dwSettableParams
;
600 DWORD dwSettableBaud
;
602 WORD wSettableStopParity
;
603 DWORD dwCurrentTxQueue
;
604 DWORD dwCurrentRxQueue
;
608 } COMMPROP
, *LPCOMMPROP
;
610 typedef struct _COMMTIMEOUTS
{
611 DWORD ReadIntervalTimeout
;
612 DWORD ReadTotalTimeoutMultiplier
;
613 DWORD ReadTotalTimeoutConstant
;
614 DWORD WriteTotalTimeoutMultiplier
;
615 DWORD WriteTotalTimeoutConstant
;
616 } COMMTIMEOUTS
,*LPCOMMTIMEOUTS
;
618 typedef struct tagCOMPAREITEMSTRUCT
{
630 COLORREF crBackground
;
634 typedef struct _tagCOMPOSITIONFORM
{
638 } COMPOSITIONFORM
, *LPCOMPOSITIONFORM
;
640 typedef struct _COMSTAT
{
648 DWORD fReserved
: 25;
651 } COMSTAT
, *LPCOMSTAT
;
653 typedef struct tagCONVCONTEXT
{
660 SECURITY_QUALITY_OF_SERVICE qos
;
663 typedef CONVCONTEXT
*PCONVCONTEXT
;
665 typedef struct tagCONVINFO
{
679 CONVCONTEXT ConvCtxt
;
682 } CONVINFO
, *PCONVINFO
;
684 typedef struct tagCOPYDATASTRUCT
{
690 typedef struct _cpinfo
{
692 BYTE DefaultChar
[MAX_DEFAULTCHAR
];
693 BYTE LeadByte
[MAX_LEADBYTES
];
696 typedef struct tagCPLINFO
{
703 typedef struct _CREATE_PROCESS_DEBUG_INFO
{
707 LPVOID lpBaseOfImage
;
708 DWORD dwDebugInfoFileOffset
;
709 DWORD nDebugInfoSize
;
710 LPVOID lpThreadLocalBase
;
711 LPTHREAD_START_ROUTINE lpStartAddress
;
714 } CREATE_PROCESS_DEBUG_INFO
;
716 typedef struct _CREATE_THREAD_DEBUG_INFO
{
718 LPVOID lpThreadLocalBase
;
719 LPTHREAD_START_ROUTINE lpStartAddress
;
720 } CREATE_THREAD_DEBUG_INFO
;
724 typedef struct _SOCKET_ADDRESS {
725 LPSOCKADDR lpSockaddr ;
726 INT iSockaddrLength ;
727 } SOCKET_ADDRESS, *PSOCKET_ADDRESS, *LPSOCKET_ADDRESS;
731 typedef struct _CSADDR_INFO {
732 SOCKET_ADDRESS LocalAddr;
733 SOCKET_ADDRESS RemoteAddr;
739 typedef struct _currencyfmt
{
744 LPTSTR lpThousandSep
;
747 LPTSTR lpCurrencySymbol
;
750 typedef struct tagCURSORSHAPE
{
758 } CURSORSHAPE
, *LPCURSORSHAPE
;
760 typedef struct tagCWPRETSTRUCT
{
768 typedef struct tagCWPSTRUCT
{
775 typedef struct _DATATYPES_INFO_1
{
780 unsigned short bAppReturnCode
:8,
787 unsigned short reserved
:14,
794 unsigned short unused
:12,
804 unsigned short unused
:13,
811 typedef struct tagDDEML_MSG_HOOK_DATA
{
816 } DDEML_MSG_HOOK_DATA
;
819 unsigned short unused
:13,
827 unsigned short unused
:12,
836 typedef struct _EXCEPTION_DEBUG_INFO
{
837 EXCEPTION_RECORD ExceptionRecord
;
839 } EXCEPTION_DEBUG_INFO
;
841 typedef struct _EXIT_PROCESS_DEBUG_INFO
{
843 } EXIT_PROCESS_DEBUG_INFO
;
845 typedef struct _EXIT_THREAD_DEBUG_INFO
{
847 } EXIT_THREAD_DEBUG_INFO
;
849 typedef struct _LOAD_DLL_DEBUG_INFO
{
852 DWORD dwDebugInfoFileOffset
;
853 DWORD nDebugInfoSize
;
856 } LOAD_DLL_DEBUG_INFO
;
858 typedef struct _UNLOAD_DLL_DEBUG_INFO
{
860 } UNLOAD_DLL_DEBUG_INFO
;
862 typedef struct _OUTPUT_DEBUG_STRING_INFO
{
863 LPSTR lpDebugStringData
;
865 WORD nDebugStringLength
;
866 } OUTPUT_DEBUG_STRING_INFO
;
868 typedef struct _RIP_INFO
{
873 typedef struct _DEBUG_EVENT
{
874 DWORD dwDebugEventCode
;
878 EXCEPTION_DEBUG_INFO Exception
;
879 CREATE_THREAD_DEBUG_INFO CreateThread
;
880 CREATE_PROCESS_DEBUG_INFO CreateProcessInfo
;
881 EXIT_THREAD_DEBUG_INFO ExitThread
;
882 EXIT_PROCESS_DEBUG_INFO ExitProcess
;
883 LOAD_DLL_DEBUG_INFO LoadDll
;
884 UNLOAD_DLL_DEBUG_INFO UnloadDll
;
885 OUTPUT_DEBUG_STRING_INFO DebugString
;
888 } DEBUG_EVENT
, *LPDEBUG_EVENT
;
890 typedef struct tagDEBUGHOOKINFO
{
892 DWORD idThreadInstaller
;
898 typedef struct tagDELETEITEMSTRUCT
{
906 typedef struct _DEV_BROADCAST_HDR
{
908 ULONG dbch_devicetype
;
911 typedef DEV_BROADCAST_HDR
*PDEV_BROADCAST_HDR
;
913 typedef struct _DEV_BROADCAST_OEM
{
915 ULONG dbco_devicetype
;
917 ULONG dbco_identifier
;
920 typedef DEV_BROADCAST_OEM
*PDEV_BROADCAST_OEM
;
922 typedef struct _DEV_BROADCAST_PORT
{
924 ULONG dbcp_devicetype
;
927 } DEV_BROADCAST_PORT
;
928 typedef DEV_BROADCAST_PORT
*PDEV_BROADCAST_PORT
;
930 struct _DEV_BROADCAST_USERDEFINED
{
931 struct _DEV_BROADCAST_HDR dbud_dbh
;
933 BYTE dbud_rgbUserDefined
[1];
936 typedef struct _DEV_BROADCAST_VOLUME
{
938 ULONG dbcv_devicetype
;
942 } DEV_BROADCAST_VOLUME
;
943 typedef DEV_BROADCAST_VOLUME
*PDEV_BROADCAST_VOLUME
;
945 typedef struct tagDEVNAMES
{
950 } DEVNAMES
, *LPDEVNAMES
;
952 typedef struct tagDIBSECTION
{
954 BITMAPINFOHEADER dsBmih
;
955 DWORD dsBitfields
[3];
960 typedef struct _DISK_PERFORMANCE
{
961 LARGE_INTEGER BytesRead
;
962 LARGE_INTEGER BytesWritten
;
963 LARGE_INTEGER ReadTime
;
964 LARGE_INTEGER WriteTime
;
972 DWORD dwExtendedStyle
;
978 } DLGITEMTEMPLATE PACKED
;
980 typedef DLGITEMTEMPLATE
*LPDLGITEMTEMPLATE
;
981 typedef DLGITEMTEMPLATE
*PDLGITEMTEMPLATE
;
985 DWORD dwExtendedStyle
;
991 } DLGTEMPLATE PACKED
;
993 typedef DLGTEMPLATE
*LPDLGTEMPLATE
;
994 typedef const DLGTEMPLATE
*LPCDLGTEMPLATE
;
996 typedef struct _DOC_INFO_1
{
1002 typedef struct _DOC_INFO_2
{
1012 LPCTSTR lpszDocName
;
1014 LPCTSTR lpszDatatype
;
1016 } DOCINFO
, *PDOCINFO
;
1022 } DRAGLISTINFO
, *LPDRAGLISTINFO
;
1024 typedef struct tagDRAWITEMSTRUCT
{
1034 } DRAWITEMSTRUCT
, *LPDRAWITEMSTRUCT
, *PDRAWITEMSTRUCT
;
1042 } DRAWTEXTPARAMS
, *LPDRAWTEXTPARAMS
;
1046 typedef struct _DRIVER_INFO_1
{
1050 typedef struct _DRIVER_INFO_2
{
1053 LPTSTR pEnvironment
;
1059 typedef struct _DRIVER_INFO_3
{
1062 LPTSTR pEnvironment
;
1067 LPTSTR pDependentFiles
;
1068 LPTSTR pMonitorName
;
1069 LPTSTR pDefaultDataType
;
1072 typedef struct _editstream
{
1075 EDITSTREAMCALLBACK pfnCallback
;
1078 typedef struct tagEMR
1084 typedef struct tagEMRANGLEARC
1091 } EMRANGLEARC
, *PEMRANGLEARC
;
1093 typedef struct tagEMRARC
1100 EMRARCTO
, *PEMRARCTO
,
1101 EMRCHORD
, *PEMRCHORD
,
1104 typedef struct _XFORM
1112 } XFORM
, *PXFORM
, *LPXFORM
;
1114 typedef struct tagEMRBITBLT
1126 COLORREF crBkColorSrc
;
1131 } EMRBITBLT
, *PEMRBITBLT
;
1133 typedef struct tagLOGBRUSH
{
1137 } LOGBRUSH
, *PLOGBRUSH
;
1139 typedef struct tagEMRCREATEBRUSHINDIRECT
1144 } EMRCREATEBRUSHINDIRECT
, *PEMRCREATEBRUSHINDIRECT
;
1146 typedef LONG LCSCSTYPE
;
1147 typedef LONG LCSGAMUTMATCH
;
1149 typedef struct tagLOGCOLORSPACE
{
1154 LCSCSTYPE lcsCSType
;
1155 LCSGAMUTMATCH lcsIntent
;
1156 CIEXYZTRIPLE lcsEndpoints
;
1158 DWORD lcsGammaGreen
;
1160 TCHAR lcsFilename
[MAX_PATH
];
1161 } LOGCOLORSPACE
, *LPLOGCOLORSPACE
;
1163 typedef struct tagEMRCREATECOLORSPACE
1168 } EMRCREATECOLORSPACE
, *PEMRCREATECOLORSPACE
;
1170 typedef struct tagEMRCREATEDIBPATTERNBRUSHPT
1179 } EMRCREATEDIBPATTERNBRUSHPT
,
1180 PEMRCREATEDIBPATTERNBRUSHPT
;
1182 typedef struct tagEMRCREATEMONOBRUSH
1191 } EMRCREATEMONOBRUSH
, *PEMRCREATEMONOBRUSH
;
1193 typedef struct tagPALETTEENTRY
{
1198 } PALETTEENTRY
, *LPPALETTEENTRY
, *PPALETTEENTRY
;
1200 typedef struct tagLOGPALETTE
{
1203 PALETTEENTRY palPalEntry
[1];
1204 } LOGPALETTE
, *LPLOGPALETTE
, *PLOGPALETTE
;
1206 typedef struct tagEMRCREATEPALETTE
1211 } EMRCREATEPALETTE
, *PEMRCREATEPALETTE
;
1213 typedef struct tagLOGPEN
{
1219 typedef struct tagEMRCREATEPEN
1224 } EMRCREATEPEN
, *PEMRCREATEPEN
;
1226 typedef struct tagEMRELLIPSE
1230 } EMRELLIPSE
, *PEMRELLIPSE
,
1231 EMRRECTANGLE
, *PEMRRECTANGLE
;
1233 typedef struct tagEMREOF
1237 DWORD offPalEntries
;
1241 typedef struct tagEMREXCLUDECLIPRECT
1245 } EMREXCLUDECLIPRECT
, *PEMREXCLUDECLIPRECT
,
1246 EMRINTERSECTCLIPRECT
, *PEMRINTERSECTCLIPRECT
;
1248 typedef struct tagPANOSE
{
1254 BYTE bStrokeVariation
;
1261 typedef struct tagEXTLOGFONT
{
1263 BCHAR elfFullName
[LF_FULLFACESIZE
];
1264 BCHAR elfStyle
[LF_FACESIZE
];
1269 BYTE elfVendorId
[ELF_VENDOR_SIZE
];
1274 typedef struct tagEMREXTCREATEFONTINDIRECTW
1279 } EMREXTCREATEFONTINDIRECTW
,
1280 PEMREXTCREATEFONTINDIRECTW
;
1282 typedef struct tagEXTLOGPEN
{
1288 DWORD elpNumEntries
;
1289 DWORD elpStyleEntry
[1];
1292 typedef struct tagEMREXTCREATEPEN
1301 } EMREXTCREATEPEN
, *PEMREXTCREATEPEN
;
1303 typedef struct tagEMREXTFLOODFILL
1309 } EMREXTFLOODFILL
, *PEMREXTFLOODFILL
;
1311 typedef struct tagEMREXTSELECTCLIPRGN
1317 } EMREXTSELECTCLIPRGN
, *PEMREXTSELECTCLIPRGN
;
1319 typedef struct tagEMRTEXT
1321 POINTL ptlReference
;
1327 } EMRTEXT
, *PEMRTEXT
;
1329 typedef struct tagEMREXTTEXTOUTA
1333 DWORD iGraphicsMode
;
1337 } EMREXTTEXTOUTA
, *PEMREXTTEXTOUTA
,
1338 EMREXTTEXTOUTW
, *PEMREXTTEXTOUTW
;
1340 typedef struct tagEMRFILLPATH
1344 } EMRFILLPATH
, *PEMRFILLPATH
,
1345 EMRSTROKEANDFILLPATH
, *PEMRSTROKEANDFILLPATH
,
1346 EMRSTROKEPATH
, *PEMRSTROKEPATH
;
1348 typedef struct tagEMRFILLRGN
1355 } EMRFILLRGN
, *PEMRFILLRGN
;
1357 typedef struct tagEMRFORMAT
{
1364 typedef struct tagSIZE
{
1367 } SIZE
, *PSIZE
, *LPSIZE
, SIZEL
, *PSIZEL
, *LPSIZEL
;
1369 typedef struct tagEMRFRAMERGN
1377 } EMRFRAMERGN
, *PEMRFRAMERGN
;
1379 typedef struct tagEMRGDICOMMENT
1384 } EMRGDICOMMENT
, *PEMRGDICOMMENT
;
1386 typedef struct tagEMRINVERTRGN
1392 } EMRINVERTRGN
, *PEMRINVERTRGN
,
1393 EMRPAINTRGN
, *PEMRPAINTRGN
;
1395 typedef struct tagEMRLINETO
1399 } EMRLINETO
, *PEMRLINETO
,
1400 EMRMOVETOEX
, *PEMRMOVETOEX
;
1402 typedef struct tagEMRMASKBLT
1414 COLORREF crBkColorSrc
;
1427 } EMRMASKBLT
, *PEMRMASKBLT
;
1429 typedef struct tagEMRMODIFYWORLDTRANSFORM
1434 } EMRMODIFYWORLDTRANSFORM
,
1435 PEMRMODIFYWORLDTRANSFORM
;
1437 typedef struct tagEMROFFSETCLIPRGN
1441 } EMROFFSETCLIPRGN
, *PEMROFFSETCLIPRGN
;
1443 typedef struct tagEMRPLGBLT
1453 COLORREF crBkColorSrc
;
1466 } EMRPLGBLT
, *PEMRPLGBLT
;
1468 typedef struct tagEMRPOLYDRAW
1475 } EMRPOLYDRAW
, *PEMRPOLYDRAW
;
1477 typedef struct tagEMRPOLYDRAW16
1484 } EMRPOLYDRAW16
, *PEMRPOLYDRAW16
;
1486 typedef struct tagEMRPOLYLINE
1492 } EMRPOLYLINE
, *PEMRPOLYLINE
,
1493 EMRPOLYBEZIER
, *PEMRPOLYBEZIER
,
1494 EMRPOLYGON
, *PEMRPOLYGON
,
1495 EMRPOLYBEZIERTO
, *PEMRPOLYBEZIERTO
,
1496 EMRPOLYLINETO
, *PEMRPOLYLINETO
;
1498 typedef struct tagEMRPOLYLINE16
1504 } EMRPOLYLINE16
, *PEMRPOLYLINE16
,
1505 EMRPOLYBEZIER16
, *PEMRPOLYBEZIER16
,
1506 EMRPOLYGON16
, *PEMRPOLYGON16
,
1507 EMRPOLYBEZIERTO16
, *PEMRPOLYBEZIERTO16
,
1508 EMRPOLYLINETO16
, *PEMRPOLYLINETO16
;
1510 typedef struct tagEMRPOLYPOLYLINE
1516 DWORD aPolyCounts
[1];
1518 } EMRPOLYPOLYLINE
, *PEMRPOLYPOLYLINE
,
1519 EMRPOLYPOLYGON
, *PEMRPOLYPOLYGON
;
1521 typedef struct tagEMRPOLYPOLYLINE16
1527 DWORD aPolyCounts
[1];
1529 } EMRPOLYPOLYLINE16
, *PEMRPOLYPOLYLINE16
,
1530 EMRPOLYPOLYGON16
, *PEMRPOLYPOLYGON16
;
1532 typedef struct tagEMRPOLYTEXTOUTA
1536 DWORD iGraphicsMode
;
1540 EMRTEXT aemrtext
[1];
1541 } EMRPOLYTEXTOUTA
, *PEMRPOLYTEXTOUTA
,
1542 EMRPOLYTEXTOUTW
, *PEMRPOLYTEXTOUTW
;
1544 typedef struct tagEMRRESIZEPALETTE
1549 } EMRRESIZEPALETTE
, *PEMRRESIZEPALETTE
;
1551 typedef struct tagEMRRESTOREDC
1555 } EMRRESTOREDC
, *PEMRRESTOREDC
;
1557 typedef struct tagEMRROUNDRECT
1562 } EMRROUNDRECT
, *PEMRROUNDRECT
;
1564 typedef struct tagEMRSCALEVIEWPORTEXTEX
1571 } EMRSCALEVIEWPORTEXTEX
, *PEMRSCALEVIEWPORTEXTEX
,
1572 EMRSCALEWINDOWEXTEX
, *PEMRSCALEWINDOWEXTEX
;
1574 typedef struct tagEMRSELECTCOLORSPACE
1578 } EMRSELECTCOLORSPACE
, *PEMRSELECTCOLORSPACE
,
1579 EMRDELETECOLORSPACE
, *PEMRDELETECOLORSPACE
;
1580 typedef struct tagEMRSELECTOBJECT
1584 } EMRSELECTOBJECT
, *PEMRSELECTOBJECT
,
1585 EMRDELETEOBJECT
, *PEMRDELETEOBJECT
;
1587 typedef struct tagEMRSELECTPALETTE
1591 } EMRSELECTPALETTE
, *PEMRSELECTPALETTE
;
1593 typedef struct tagEMRSETARCDIRECTION
1596 DWORD iArcDirection
;
1597 } EMRSETARCDIRECTION
, *PEMRSETARCDIRECTION
;
1599 typedef struct tagEMRSETTEXTCOLOR
1603 } EMRSETBKCOLOR
, *PEMRSETBKCOLOR
,
1604 EMRSETTEXTCOLOR
, *PEMRSETTEXTCOLOR
;
1606 typedef struct tagEMRSETCOLORADJUSTMENT
1609 COLORADJUSTMENT ColorAdjustment
;
1610 } EMRSETCOLORADJUSTMENT
, *PEMRSETCOLORADJUSTMENT
;
1612 typedef struct tagEMRSETDIBITSTODEVICE
1629 } EMRSETDIBITSTODEVICE
, *PEMRSETDIBITSTODEVICE
;
1631 typedef struct tagEMRSETMAPPERFLAGS
1635 } EMRSETMAPPERFLAGS
, *PEMRSETMAPPERFLAGS
;
1637 typedef struct tagEMRSETMITERLIMIT
1641 } EMRSETMITERLIMIT
, *PEMRSETMITERLIMIT
;
1643 typedef struct tagEMRSETPALETTEENTRIES
1649 PALETTEENTRY aPalEntries
[1];
1650 } EMRSETPALETTEENTRIES
, *PEMRSETPALETTEENTRIES
;
1652 typedef struct tagEMRSETPIXELV
1657 } EMRSETPIXELV
, *PEMRSETPIXELV
;
1659 typedef struct tagEMRSETVIEWPORTEXTEX
1663 } EMRSETVIEWPORTEXTEX
, *PEMRSETVIEWPORTEXTEX
,
1664 EMRSETWINDOWEXTEX
, *PEMRSETWINDOWEXTEX
;
1666 typedef struct tagEMRSETVIEWPORTORGEX
1670 } EMRSETVIEWPORTORGEX
, *PEMRSETVIEWPORTORGEX
,
1671 EMRSETWINDOWORGEX
, *PEMRSETWINDOWORGEX
,
1672 EMRSETBRUSHORGEX
, *PEMRSETBRUSHORGEX
;
1674 typedef struct tagEMRSETWORLDTRANSFORM
1678 } EMRSETWORLDTRANSFORM
, *PEMRSETWORLDTRANSFORM
;
1680 typedef struct tagEMRSTRETCHBLT
1692 COLORREF crBkColorSrc
;
1700 } EMRSTRETCHBLT
, *PEMRSTRETCHBLT
;
1702 typedef struct tagEMRSTRETCHDIBITS
1720 } EMRSTRETCHDIBITS
, *PEMRSTRETCHDIBITS
;
1722 typedef struct tagABORTPATH
1725 } EMRABORTPATH
, *PEMRABORTPATH
,
1726 EMRBEGINPATH
, *PEMRBEGINPATH
,
1727 EMRENDPATH
, *PEMRENDPATH
,
1728 EMRCLOSEFIGURE
, *PEMRCLOSEFIGURE
,
1729 EMRFLATTENPATH
, *PEMRFLATTENPATH
,
1730 EMRWIDENPATH
, *PEMRWIDENPATH
,
1731 EMRSETMETARGN
, *PEMRSETMETARGN
,
1732 EMRSAVEDC
, *PEMRSAVEDC
,
1733 EMRREALIZEPALETTE
, *PEMRREALIZEPALETTE
;
1735 typedef struct tagEMRSELECTCLIPPATH
1739 } EMRSELECTCLIPPATH
, *PEMRSELECTCLIPPATH
,
1740 EMRSETBKMODE
, *PEMRSETBKMODE
,
1741 EMRSETMAPMODE
, *PEMRSETMAPMODE
,
1742 EMRSETPOLYFILLMODE
, *PEMRSETPOLYFILLMODE
,
1743 EMRSETROP2
, *PEMRSETROP2
,
1744 EMRSETSTRETCHBLTMODE
, *PEMRSETSTRETCHBLTMODE
,
1745 EMRSETTEXTALIGN
, *PEMRSETTEXTALIGN
,
1746 EMRENABLEICM
, *PEMRENABLEICM
;
1748 typedef struct tagNMHDR
{
1754 typedef struct _encorrecttext
{
1760 typedef struct _endropfiles
{
1780 typedef struct tagENHMETAHEADER
{
1792 DWORD offDescription
;
1795 SIZEL szlMillimeters
;
1796 } ENHMETAHEADER
, *LPENHMETAHEADER
;
1798 typedef struct tagENHMETARECORD
{
1802 } ENHMETARECORD
, *PENHMETARECORD
, *LPENHMETARECORD
;
1804 typedef struct _enprotected
{
1812 typedef struct _SERVICE_STATUS
{
1813 DWORD dwServiceType
;
1814 DWORD dwCurrentState
;
1815 DWORD dwControlsAccepted
;
1816 DWORD dwWin32ExitCode
;
1817 DWORD dwServiceSpecificExitCode
;
1820 } SERVICE_STATUS
, *LPSERVICE_STATUS
;
1822 typedef struct _ENUM_SERVICE_STATUSA
{
1823 LPSTR lpServiceName
;
1824 LPSTR lpDisplayName
;
1825 SERVICE_STATUS ServiceStatus
;
1826 } ENUM_SERVICE_STATUSA
, *LPENUM_SERVICE_STATUSA
;
1828 typedef struct _ENUM_SERVICE_STATUSW
{
1829 LPWSTR lpServiceName
;
1830 LPWSTR lpDisplayName
;
1831 SERVICE_STATUS ServiceStatus
;
1832 } ENUM_SERVICE_STATUSW
, *LPENUM_SERVICE_STATUSW
;
1835 #define ENUM_SERVICE_STATUS ENUM_SERVICE_STATUSW
1836 #define LPENUM_SERVICE_STATUS LPENUM_SERVICE_STATUSW
1838 #define ENUM_SERVICE_STATUS ENUM_SERVICE_STATUSA
1839 #define LPENUM_SERVICE_STATUS LPENUM_SERVICE_STATUSA
1842 typedef struct tagENUMLOGFONT
{
1844 BCHAR elfFullName
[LF_FULLFACESIZE
];
1845 BCHAR elfStyle
[LF_FACESIZE
];
1848 typedef struct tagENUMLOGFONTEX
{
1850 BCHAR elfFullName
[LF_FULLFACESIZE
];
1851 BCHAR elfStyle
[LF_FACESIZE
];
1852 BCHAR elfScript
[LF_FACESIZE
];
1855 typedef struct _EVENTLOGRECORD
{
1859 DWORD TimeGenerated
;
1866 DWORD ClosingRecordNumber
;
1868 DWORD UserSidLength
;
1869 DWORD UserSidOffset
;
1877 TCHAR Computername[]
1887 typedef struct tagEVENTMSG
{
1895 typedef struct _EXT_BUTTON
{
1899 } EXT_BUTTON
, *LPEXT_BUTTON
;
1901 typedef struct tagFILTERKEYS
{
1910 typedef struct _FIND_NAME_BUFFER
{
1912 UCHAR access_control
;
1913 UCHAR frame_control
;
1914 UCHAR destination_addr
[6];
1915 UCHAR source_addr
[6];
1916 UCHAR routing_info
[18];
1919 typedef struct _FIND_NAME_HEADER
{
1926 enum _FINDEX_INFO_LEVELS
1929 FindExInfoMaxInfoLevel
1930 } FINDEX_INFO_LEVELS
;
1933 enum _FINDEX_SEARCH_OPS
1935 FindExSearchNameMatch
,
1936 FindExSearchLimitToDirectories
,
1937 FindExSearchLimitToDevices
,
1938 FindExSearchMaxSearchOp
1940 } FINDEX_SEARCH_OPS
;
1942 #define FIND_FIRST_EX_CASE_SENSITIVE 0x00000001
1947 HINSTANCE hInstance
;
1949 LPTSTR lpstrFindWhat
;
1950 LPTSTR lpstrReplaceWith
;
1952 WORD wReplaceWithLen
;
1954 LPFRHOOKPROC lpfnHook
;
1955 LPCTSTR lpTemplateName
;
1956 } FINDREPLACE
, *LPFINDREPLACE
;
1958 typedef struct _findtext
{
1963 typedef struct _findtextex
{
1969 typedef struct _FMS_GETDRIVEINFO
{
1977 typedef struct _FMS_GETFILESEL
{
1984 typedef struct _FMS_LOAD
{
1986 TCHAR szMenuName
[MENU_TEXT_LEN
];
1991 typedef struct _FMS_TOOLBARLOAD
{
1993 LPEXT_BUTTON lpButtons
;
2001 typedef struct _FORM_INFO_1
{
2005 RECTL ImageableArea
;
2008 typedef struct _FORMAT_PARAMETERS
{
2009 MEDIA_TYPE MediaType
;
2010 DWORD StartCylinderNumber
;
2011 DWORD EndCylinderNumber
;
2012 DWORD StartHeadNumber
;
2013 DWORD EndHeadNumber
;
2014 } FORMAT_PARAMETERS
;
2016 typedef struct _formatrange
{
2024 typedef struct tagGCP_RESULTS
{
2034 } GCP_RESULTS
, *LPGCP_RESULTS
;
2037 typedef struct _GLYPHMETRICS
{
2040 POINT gmptGlyphOrigin
;
2043 } GLYPHMETRICS
, *LPGLYPHMETRICS
;
2045 typedef struct tagHANDLETABLE
{
2046 HGDIOBJ objectHandle
[1];
2047 } HANDLETABLE
, *LPHANDLETABLE
;
2049 typedef struct _HD_HITTESTINFO
{
2055 typedef struct _HD_ITEM
{
2065 typedef struct _WINDOWPOS
{
2067 HWND hwndInsertAfter
;
2073 } WINDOWPOS
, *PWINDOWPOS
, *LPWINDOWPOS
;
2075 typedef struct _HD_LAYOUT
{
2080 typedef struct _HD_NOTIFY
{
2087 typedef struct tagHELPINFO
{
2094 } HELPINFO
, *LPHELPINFO
;
2103 TCHAR rgchMember
[2];
2106 typedef struct tagHIGHCONTRAST
{
2109 LPTSTR lpszDefaultScheme
;
2110 } HIGHCONTRAST
, * LPHIGHCONTRAST
;
2112 typedef struct tagHSZPAIR
{
2117 typedef struct _ICONINFO
{
2123 } ICONINFO
, *PICONINFO
;
2125 typedef struct tagICONMETRICS
{
2131 } ICONMETRICS
, *LPICONMETRICS
;
2133 typedef struct _IMAGEINFO
{
2141 typedef struct _JOB_INFO_1
{
2143 LPTSTR pPrinterName
;
2144 LPTSTR pMachineName
;
2154 SYSTEMTIME Submitted
;
2158 typedef struct _JOB_INFO_2
{
2160 LPTSTR pPrinterName
;
2161 LPTSTR pMachineName
;
2166 LPTSTR pPrintProcessor
;
2171 PSECURITY_DESCRIPTOR pSecurityDescriptor
;
2179 SYSTEMTIME Submitted
;
2181 DWORD PagesPrinted
;
2185 typedef struct tagKERNINGPAIR
{
2189 } KERNINGPAIR
, *LPKERNINGPAIR
;
2191 typedef struct _LANA_ENUM
{
2193 UCHAR lana
[MAX_LANA
];
2196 typedef struct _LDT_ENTRY
{
2213 DWORD Reserved_0
: 1;
2214 DWORD Default_Big
: 1;
2215 DWORD Granularity
: 1;
2219 } LDT_ENTRY
, *PLDT_ENTRY
, *LPLDT_ENTRY
;
2221 typedef struct tagLOCALESIGNATURE
{
2223 DWORD lsCsbDefault
[2];
2224 DWORD lsCsbSupported
[2];
2228 typedef struct _LOCALGROUP_MEMBERS_INFO_0
{
2230 } LOCALGROUP_MEMBERS_INFO_0
;
2233 typedef struct _LOCALGROUP_MEMBERS_INFO_3
{
2234 LPWSTR lgrmi3_domainandname
;
2235 } LOCALGROUP_MEMBERS_INFO_3
;
2237 typedef long FXPT16DOT16
, * LPFXPT16DOT16
;
2241 typedef LUID_AND_ATTRIBUTES LUID_AND_ATTRIBUTES_ARRAY
[ANYSIZE_ARRAY
];
2242 typedef LUID_AND_ATTRIBUTES_ARRAY
*PLUID_AND_ATTRIBUTES_ARRAY
;
2244 typedef struct _LV_COLUMN
{
2253 typedef struct _LV_ITEM
{
2265 typedef struct tagLV_DISPINFO
{
2270 typedef struct _LV_FINDINFO
{
2278 typedef struct _LV_HITTESTINFO
{
2284 typedef struct tagLV_KEYDOWN
{
2290 typedef struct _MAT2
{
2297 typedef struct tagMDICREATESTRUCT
{
2309 typedef MDICREATESTRUCT
*LPMDICREATESTRUCT
;
2311 typedef struct tagMEASUREITEMSTRUCT
{
2318 } MEASUREITEMSTRUCT
, *LPMEASUREITEMSTRUCT
;
2320 typedef struct _MEMORYSTATUS
{
2325 DWORD dwTotalPageFile
;
2326 DWORD dwAvailPageFile
;
2327 DWORD dwTotalVirtual
;
2328 DWORD dwAvailVirtual
;
2329 } MEMORYSTATUS
, *LPMEMORYSTATUS
;
2335 } MENUEX_TEMPLATE_HEADER
;
2344 } MENUEX_TEMPLATE_ITEM
;
2346 typedef struct tagMENUITEMINFO
{
2353 HBITMAP hbmpChecked
;
2354 HBITMAP hbmpUnchecked
;
2358 } MENUITEMINFO
, *LPMENUITEMINFO
;
2359 typedef MENUITEMINFO CONST
*LPCMENUITEMINFO
;
2370 } MENUITEMTEMPLATEHEADER
;
2371 typedef VOID MENUTEMPLATE
, *LPMENUTEMPLATE
;
2373 typedef struct tagMETAFILEPICT
{
2380 } METAFILEPICT
, *PMETAFILEPICT
, *LPMETAFILEPICT
;
2382 typedef struct tagMETAHEADER
{
2389 WORD mtNoParameters
;
2390 } METAHEADER PACKED
;
2392 typedef struct tagMETARECORD
{
2396 } METARECORD
, *LPMETARECORD
;
2398 typedef struct tagMINIMIZEDMETRICS
{
2404 } MINIMIZEDMETRICS
, *LPMINIMIZEDMETRICS
;
2406 typedef struct tagMINMAXINFO
{
2409 POINT ptMaxPosition
;
2410 POINT ptMinTrackSize
;
2411 POINT ptMaxTrackSize
;
2414 typedef struct modemdevcaps_tag
{
2416 DWORD dwRequiredSize
;
2417 DWORD dwDevSpecificOffset
;
2418 DWORD dwDevSpecificSize
;
2420 DWORD dwModemProviderVersion
;
2421 DWORD dwModemManufacturerOffset
;
2422 DWORD dwModemManufacturerSize
;
2423 DWORD dwModemModelOffset
;
2424 DWORD dwModemModelSize
;
2425 DWORD dwModemVersionOffset
;
2426 DWORD dwModemVersionSize
;
2428 DWORD dwDialOptions
;
2429 DWORD dwCallSetupFailTimer
;
2430 DWORD dwInactivityTimeout
;
2431 DWORD dwSpeakerVolume
;
2432 DWORD dwSpeakerMode
;
2433 DWORD dwModemOptions
;
2437 BYTE abVariablePortion
[1];
2438 } MODEMDEVCAPS
, *PMODEMDEVCAPS
, *LPMODEMDEVCAPS
;
2440 typedef struct modemsettings_tag
{
2442 DWORD dwRequiredSize
;
2443 DWORD dwDevSpecificOffset
;
2444 DWORD dwDevSpecificSize
;
2446 DWORD dwCallSetupFailTimer
;
2447 DWORD dwInactivityTimeout
;
2448 DWORD dwSpeakerVolume
;
2449 DWORD dwSpeakerMode
;
2450 DWORD dwPreferredModemOptions
;
2452 DWORD dwNegotiatedModemOptions
;
2453 DWORD dwNegotiatedDCERate
;
2455 BYTE abVariablePortion
[1];
2456 } MODEMSETTINGS
, *PMODEMSETTINGS
, *LPMODEMSETTINGS
;
2458 typedef struct tagMONCBSTRUCT
{
2476 typedef struct tagMONCONVSTRUCT
{
2487 typedef struct tagMONERRSTRUCT
{
2494 typedef struct tagMONHSZSTRUCT
{
2503 typedef struct _MONITOR_INFO_1
{
2507 typedef struct _MONITOR_INFO_2
{
2509 LPTSTR pEnvironment
;
2513 typedef struct tagMONLINKSTRUCT
{
2517 WINBOOL fEstablished
;
2528 typedef struct tagMONMSGSTRUCT
{
2536 DDEML_MSG_HOOK_DATA dmhd
;
2539 typedef struct tagMOUSEHOOKSTRUCT
{
2544 } MOUSEHOOKSTRUCT
, *PMOUSEHOOKSTRUCT
, *LPMOUSEHOOKSTRUCT
;
2546 typedef struct _MOUSEKEYS
{
2550 DWORD iTimeToMaxSpeed
;
2556 typedef struct tagMSG
{
2565 typedef void CALLBACK (*MSGBOXCALLBACK
) (LPHELPINFO lpHelpInfo
);
2570 HINSTANCE hInstance
;
2575 DWORD dwContextHelpId
;
2576 MSGBOXCALLBACK lpfnMsgBoxCallback
;
2578 } MSGBOXPARAMS
, *PMSGBOXPARAMS
, *LPMSGBOXPARAMS
;
2580 typedef struct _msgfilter
{
2587 typedef struct tagMULTIKEYHELP
{
2590 TCHAR szKeyphrase
[1];
2593 typedef struct _NAME_BUFFER
{
2594 UCHAR name
[NCBNAMSZ
];
2599 typedef struct _NCB
{
2606 UCHAR ncb_callname
[NCBNAMSZ
];
2607 UCHAR ncb_name
[NCBNAMSZ
];
2610 void (*ncb_post
) (struct _NCB
*);
2613 UCHAR ncb_reserve
[10];
2617 typedef struct _NCCALCSIZE_PARAMS
{
2620 } NCCALCSIZE_PARAMS
;
2622 typedef struct _NDDESHAREINFO
{
2624 LPTSTR lpszShareName
;
2626 LPTSTR lpszAppTopicList
;
2633 LPTSTR lpszItemList
;
2636 typedef struct _NETRESOURCE
{
2639 DWORD dwDisplayType
;
2642 LPTSTR lpRemoteName
;
2645 } NETRESOURCE
, *LPNETRESOURCE
;
2647 typedef struct tagNEWCPLINFO
{
2650 DWORD dwHelpContext
;
2655 TCHAR szHelpFile
[128];
2658 typedef struct tagNEWTEXTMETRIC
{
2662 LONG tmInternalLeading
;
2663 LONG tmExternalLeading
;
2664 LONG tmAveCharWidth
;
2665 LONG tmMaxCharWidth
;
2668 LONG tmDigitizedAspectX
;
2669 LONG tmDigitizedAspectY
;
2672 BCHAR tmDefaultChar
;
2677 BYTE tmPitchAndFamily
;
2686 typedef struct tagNEWTEXTMETRICEX
{
2687 NEWTEXTMETRIC ntmentm
;
2688 FONTSIGNATURE ntmeFontSignature
;
2691 typedef struct tagNM_LISTVIEW
{
2702 typedef struct _TREEITEM
*HTREEITEM
;
2704 typedef struct _TV_ITEM
{
2715 } TV_ITEM
, *LPTV_ITEM
;
2717 typedef struct _NM_TREEVIEW
{
2724 typedef NM_TREEVIEW
*LPNM_TREEVIEW
;
2726 typedef struct _NM_UPDOWN
{
2732 typedef struct tagNONCLIENTMETRICS
{
2739 LOGFONT lfCaptionFont
;
2740 int iSmCaptionWidth
;
2741 int iSmCaptionHeight
;
2742 LOGFONT lfSmCaptionFont
;
2746 LOGFONT lfStatusFont
;
2747 LOGFONT lfMessageFont
;
2748 } NONCLIENTMETRICS
, * LPNONCLIENTMETRICS
;
2750 typedef struct _SERVICE_ADDRESS
{
2751 DWORD dwAddressType
;
2752 DWORD dwAddressFlags
;
2753 DWORD dwAddressLength
;
2754 DWORD dwPrincipalLength
;
2759 typedef struct _SERVICE_ADDRESSES
{
2760 DWORD dwAddressCount
;
2761 SERVICE_ADDRESS Addresses
[1];
2762 } SERVICE_ADDRESSES
, *LPSERVICE_ADDRESSES
;
2764 #ifndef GUID_DEFINED
2765 #define GUID_DEFINED
2766 typedef struct _GUID
2768 unsigned long Data1
;
2769 unsigned short Data2
;
2770 unsigned short Data3
;
2771 unsigned char Data4
[8];
2773 typedef GUID CLSID
, *LPCLSID
;
2776 typedef struct _SERVICE_INFO
{
2777 LPGUID lpServiceType
;
2778 LPTSTR lpServiceName
;
2781 DWORD dwDisplayHint
;
2784 LPTSTR lpMachineName
;
2785 LPSERVICE_ADDRESSES lpServiceAddress
;
2786 BLOB ServiceSpecificInfo
;
2789 typedef struct _NS_SERVICE_INFO
{
2791 SERVICE_INFO ServiceInfo
;
2794 typedef struct _numberfmt
{
2798 LPTSTR lpDecimalSep
;
2799 LPTSTR lpThousandSep
;
2803 typedef struct _OFSTRUCT
{
2809 CHAR szPathName
[OFS_MAXPATHNAME
];
2810 } OFSTRUCT
, *LPOFSTRUCT
;
2812 typedef struct tagOFN
{
2815 HINSTANCE hInstance
;
2816 LPCTSTR lpstrFilter
;
2817 LPTSTR lpstrCustomFilter
;
2818 DWORD nMaxCustFilter
;
2822 LPTSTR lpstrFileTitle
;
2823 DWORD nMaxFileTitle
;
2824 LPCTSTR lpstrInitialDir
;
2828 WORD nFileExtension
;
2829 LPCTSTR lpstrDefExt
;
2831 LPOFNHOOKPROC lpfnHook
;
2832 LPCTSTR lpTemplateName
;
2833 } OPENFILENAME
, *LPOPENFILENAME
;
2835 typedef struct _OFNOTIFY
{
2837 LPOPENFILENAME lpOFN
;
2839 } OFNOTIFY
, *LPOFNOTIFY
;
2841 typedef struct _OSVERSIONINFO
{
2842 DWORD dwOSVersionInfoSize
;
2843 DWORD dwMajorVersion
;
2844 DWORD dwMinorVersion
;
2845 DWORD dwBuildNumber
;
2847 TCHAR szCSDVersion
[ 128 ];
2848 } OSVERSIONINFO
, *POSVERSIONINFO
, *LPOSVERSIONINFO
;
2850 typedef struct tagTEXTMETRIC
{
2854 LONG tmInternalLeading
;
2855 LONG tmExternalLeading
;
2856 LONG tmAveCharWidth
;
2857 LONG tmMaxCharWidth
;
2860 LONG tmDigitizedAspectX
;
2861 LONG tmDigitizedAspectY
;
2864 BCHAR tmDefaultChar
;
2869 BYTE tmPitchAndFamily
;
2871 } TEXTMETRIC
, *LPTEXTMETRIC
;
2873 typedef struct _OUTLINETEXTMETRIC
{
2875 TEXTMETRIC otmTextMetrics
;
2877 PANOSE otmPanoseNumber
;
2878 UINT otmfsSelection
;
2880 int otmsCharSlopeRise
;
2881 int otmsCharSlopeRun
;
2887 UINT otmsCapEmHeight
;
2893 UINT otmusMinimumPPEM
;
2894 POINT otmptSubscriptSize
;
2895 POINT otmptSubscriptOffset
;
2896 POINT otmptSuperscriptSize
;
2897 POINT otmptSuperscriptOffset
;
2898 UINT otmsStrikeoutSize
;
2899 int otmsStrikeoutPosition
;
2900 int otmsUnderscoreSize
;
2901 int otmsUnderscorePosition
;
2902 PSTR otmpFamilyName
;
2906 } OUTLINETEXTMETRIC
, *LPOUTLINETEXTMETRIC
;
2908 typedef struct _OVERLAPPED
{
2914 } OVERLAPPED
, *LPOVERLAPPED
;
2916 typedef struct tagPSD
{
2925 HINSTANCE hInstance
;
2927 LPPAGESETUPHOOK lpfnPageSetupHook
;
2928 LPPAGEPAINTHOOK lpfnPagePaintHook
;
2929 LPCTSTR lpPageSetupTemplateName
;
2930 HGLOBAL hPageSetupTemplate
;
2931 } PAGESETUPDLG
, *LPPAGESETUPDLG
;
2933 typedef struct tagPAINTSTRUCT
{
2939 BYTE rgbReserved
[32];
2940 } PAINTSTRUCT
, *LPPAINTSTRUCT
;
2942 typedef struct _paraformat
{
2952 LONG rgxTabs
[MAX_TAB_STOPS
];
2955 typedef struct _PERF_COUNTER_BLOCK
{
2957 } PERF_COUNTER_BLOCK
;
2959 typedef struct _PERF_COUNTER_DEFINITION
{
2961 DWORD CounterNameTitleIndex
;
2962 LPWSTR CounterNameTitle
;
2963 DWORD CounterHelpTitleIndex
;
2964 LPWSTR CounterHelpTitle
;
2969 DWORD CounterOffset
;
2970 } PERF_COUNTER_DEFINITION
;
2972 typedef struct _PERF_DATA_BLOCK
{
2977 DWORD TotalByteLength
;
2979 DWORD NumObjectTypes
;
2980 DWORD DefaultObject
;
2981 SYSTEMTIME SystemTime
;
2982 LARGE_INTEGER PerfTime
;
2983 LARGE_INTEGER PerfFreq
;
2984 LARGE_INTEGER PerfTime100nSec
;
2985 DWORD SystemNameLength
;
2986 DWORD SystemNameOffset
;
2989 typedef struct _PERF_INSTANCE_DEFINITION
{
2991 DWORD ParentObjectTitleIndex
;
2992 DWORD ParentObjectInstance
;
2996 } PERF_INSTANCE_DEFINITION
;
2998 typedef struct _PERF_OBJECT_TYPE
{
2999 DWORD TotalByteLength
;
3000 DWORD DefinitionLength
;
3002 DWORD ObjectNameTitleIndex
;
3003 LPWSTR ObjectNameTitle
;
3004 DWORD ObjectHelpTitleIndex
;
3005 LPWSTR ObjectHelpTitle
;
3008 DWORD DefaultCounter
;
3011 LARGE_INTEGER PerfTime
;
3012 LARGE_INTEGER PerfFreq
;
3015 typedef struct _POLYTEXT
{
3023 } POLYTEXT
, *LPPOLYTEXT
;
3025 typedef struct _PORT_INFO_1
{
3029 typedef struct _PORT_INFO_2
{
3037 typedef struct _PREVENT_MEDIA_REMOVAL
{
3038 BOOLEAN PreventMediaRemoval
;
3039 } PREVENT_MEDIA_REMOVAL
;
3041 typedef struct tagPD
{
3053 HINSTANCE hInstance
;
3055 LPPRINTHOOKPROC lpfnPrintHook
;
3056 LPSETUPHOOKPROC lpfnSetupHook
;
3057 LPCTSTR lpPrintTemplateName
;
3058 LPCTSTR lpSetupTemplateName
;
3059 HANDLE hPrintTemplate
;
3060 HANDLE hSetupTemplate
;
3061 } PRINTDLG PACKED
, *LPPRINTDLG PACKED
;
3063 typedef struct _PRINTER_DEFAULTSA
3066 LPDEVMODEA pDevMode
;
3067 ACCESS_MASK DesiredAccess
;
3068 } PRINTER_DEFAULTSA
, *PPRINTER_DEFAULTSA
, *LPPRINTER_DEFAULTSA
;
3070 typedef struct _PRINTER_DEFAULTSW
3073 LPDEVMODEA pDevMode
;
3074 ACCESS_MASK DesiredAccess
;
3075 } PRINTER_DEFAULTSW
, *PPRINTER_DEFAULTSW
, *LPPRINTER_DEFAULTSW
;
3077 typedef struct _PRINTER_INFO_1
{
3079 LPTSTR pDescription
;
3082 } PRINTER_INFO_1
, *PPRINTER_INFO_1
, *LPPRINTER_INFO_1
;
3085 typedef struct _PRINTER_INFO_2
{
3087 LPTSTR pPrinterName
;
3095 LPTSTR pPrintProcessor
;
3098 PSECURITY_DESCRIPTOR pSecurityDescriptor
;
3101 DWORD DefaultPriority
;
3110 typedef struct _PRINTER_INFO_3
{
3111 PSECURITY_DESCRIPTOR pSecurityDescriptor
;
3115 typedef struct _PRINTER_INFO_4
{
3116 LPTSTR pPrinterName
;
3121 typedef struct _PRINTER_INFO_5
{
3122 LPTSTR pPrinterName
;
3125 DWORD DeviceNotSelectedTimeout
;
3126 DWORD TransmissionRetryTimeout
;
3129 typedef struct _PRINTER_NOTIFY_INFO_DATA
{
3141 } PRINTER_NOTIFY_INFO_DATA
;
3143 typedef struct _PRINTER_NOTIFY_INFO
{
3147 PRINTER_NOTIFY_INFO_DATA aData
[1];
3148 } PRINTER_NOTIFY_INFO
;
3150 typedef struct _PRINTER_NOTIFY_OPTIONS_TYPE
{
3157 } PRINTER_NOTIFY_OPTIONS_TYPE
, *PPRINTER_NOTIFY_OPTIONS_TYPE
;
3159 typedef struct _PRINTER_NOTIFY_OPTIONS
{
3163 PPRINTER_NOTIFY_OPTIONS_TYPE pTypes
;
3164 } PRINTER_NOTIFY_OPTIONS
;
3166 typedef struct _PRINTPROCESSOR_INFO_1
{
3168 } PRINTPROCESSOR_INFO_1
;
3171 typedef struct _PROCESS_HEAP_ENTRY
{
3177 DWORD dwCommittedSize
;
3178 DWORD dwUnCommittedSize
;
3179 LPVOID lpFirstBlock
;
3182 } PROCESS_HEAPENTRY
, *LPPROCESS_HEAP_ENTRY
;
3184 typedef struct _PROCESS_INFORMATION
{
3189 } PROCESS_INFORMATION
, *LPPROCESS_INFORMATION
;
3191 typedef UINT
CALLBACK (*LPFNPSPCALLBACK
) (HWND
, UINT
, LPVOID
);
3193 typedef struct _PROPSHEETPAGE
{
3196 HINSTANCE hInstance
;
3198 LPCTSTR pszTemplate
;
3199 LPCDLGTEMPLATE pResource
;
3208 LPFNPSPCALLBACK pfnCallback
;
3210 } PROPSHEETPAGE
, *LPPROPSHEETPAGE
;
3211 typedef const PROPSHEETPAGE
*LPCPROPSHEETPAGE
;
3213 typedef struct _PSP
*HPROPSHEETPAGE
;
3214 typedef struct _PROPSHEETHEADER
{
3218 HINSTANCE hInstance
;
3230 LPCPROPSHEETPAGE ppsp
;
3231 HPROPSHEETPAGE
*phpage
;
3233 PFNPROPSHEETCALLBACK pfnCallback
;
3234 } PROPSHEETHEADER
, *LPPROPSHEETHEADER
;
3235 typedef const PROPSHEETHEADER
*LPCPROPSHEETHEADER
;
3237 /* PropertySheet callbacks */
3238 typedef WINBOOL
CALLBACK (*LPFNADDPROPSHEETPAGE
) (HPROPSHEETPAGE
, LPARAM
);
3239 typedef WINBOOL
CALLBACK (*LPFNADDPROPSHEETPAGES
) (LPVOID
,
3240 LPFNADDPROPSHEETPAGE
,
3243 typedef struct _PROTOCOL_INFO
{
3244 DWORD dwServiceFlags
;
3250 DWORD dwMessageSize
;
3254 typedef struct _PROVIDOR_INFO_1
{
3256 LPTSTR pEnvironment
;
3260 typedef struct _PSHNOTIFY
{
3263 } PSHNOTIFY
, *LPPSHNOTIFY
;
3265 typedef struct _punctuation
{
3267 LPSTR szPunctuation
;
3270 typedef struct _QUERY_SERVICE_CONFIGA
{
3271 DWORD dwServiceType
;
3273 DWORD dwErrorControl
;
3274 LPSTR lpBinaryPathName
;
3275 LPSTR lpLoadOrderGroup
;
3277 LPSTR lpDependencies
;
3278 LPSTR lpServiceStartName
;
3279 LPSTR lpDisplayName
;
3280 } QUERY_SERVICE_CONFIGA
, *LPQUERY_SERVICE_CONFIGA
;
3282 typedef struct _QUERY_SERVICE_CONFIGW
{
3283 DWORD dwServiceType
;
3285 DWORD dwErrorControl
;
3286 LPWSTR lpBinaryPathName
;
3287 LPWSTR lpLoadOrderGroup
;
3289 LPWSTR lpDependencies
;
3290 LPWSTR lpServiceStartName
;
3291 LPWSTR lpDisplayName
;
3292 } QUERY_SERVICE_CONFIGW
, *LPQUERY_SERVICE_CONFIGW
;
3295 #define QUERY_SERVICE_CONFIG QUERY_SERVICE_CONFIGW
3296 #define LPQUERY_SERVICE_CONFIG LPQUERY_SERVICE_CONFIGW
3298 #define QUERY_SERVICE_CONFIG QUERY_SERVICE_CONFIGA
3299 #define LPQUERY_SERVICE_CONFIG LPQUERY_SERVICE_CONFIGA
3302 typedef struct _QUERY_SERVICE_LOCK_STATUSA
{
3305 DWORD dwLockDuration
;
3306 } QUERY_SERVICE_LOCK_STATUSA
, *LPQUERY_SERVICE_LOCK_STATUSA
;
3308 typedef struct _QUERY_SERVICE_LOCK_STATUSW
{
3311 DWORD dwLockDuration
;
3312 } QUERY_SERVICE_LOCK_STATUSW
, *LPQUERY_SERVICE_LOCK_STATUSW
;
3315 #define QUERY_SERVICE_LOCK_STATUS QUERY_SERVICE_LOCK_STATUSW
3316 #define LPQUERY_SERVICE_LOCK_STATUS LPQUERY_SERVICE_LOCK_STATUSW
3318 #define QUERY_SERVICE_LOCK_STATUS QUERY_SERVICE_LOCK_STATUSA
3319 #define LPQUERY_SERVICE_LOCK_STATUS LPQUERY_SERVICE_LOCK_STATUSA
3322 typedef struct _RASAMB
{
3325 TCHAR szNetBiosError
[ NETBIOS_NAME_LEN
+ 1 ];
3329 typedef struct _RASCONN
{
3332 TCHAR szEntryName
[RAS_MaxEntryName
+ 1];
3334 CHAR szDeviceType
[ RAS_MaxDeviceType
+ 1 ];
3335 CHAR szDeviceName
[ RAS_MaxDeviceName
+ 1 ];
3338 typedef struct _RASCONNSTATUS
{
3340 RASCONNSTATE rasconnstate
;
3342 TCHAR szDeviceType
[RAS_MaxDeviceType
+ 1];
3343 TCHAR szDeviceName
[RAS_MaxDeviceName
+ 1];
3346 typedef struct _RASDIALEXTENSIONS
{
3351 } RASDIALEXTENSIONS
;
3353 typedef struct _RASDIALPARAMS
{
3355 TCHAR szEntryName
[RAS_MaxEntryName
+ 1];
3356 TCHAR szPhoneNumber
[RAS_MaxPhoneNumber
+ 1];
3357 TCHAR szCallbackNumber
[RAS_MaxCallbackNumber
+ 1];
3358 TCHAR szUserName
[UNLEN
+ 1];
3359 TCHAR szPassword
[PWLEN
+ 1];
3360 TCHAR szDomain
[DNLEN
+ 1] ;
3363 typedef struct _RASENTRYNAME
{
3365 TCHAR szEntryName
[RAS_MaxEntryName
+ 1];
3368 typedef struct _RASPPPIP
{
3371 TCHAR szIpAddress
[ RAS_MaxIpAddress
+ 1 ];
3374 typedef struct _RASPPPIPX
{
3377 TCHAR szIpxAddress
[ RAS_MaxIpxAddress
+ 1 ];
3380 typedef struct _RASPPPNBF
{
3383 DWORD dwNetBiosError
;
3384 TCHAR szNetBiosError
[ NETBIOS_NAME_LEN
+ 1 ];
3385 TCHAR szWorkstationName
[ NETBIOS_NAME_LEN
+ 1 ];
3389 typedef struct _RASTERIZER_STATUS
{
3393 } RASTERIZER_STATUS
, *LPRASTERIZER_STATUS
;
3395 typedef struct _REASSIGN_BLOCKS
{
3398 DWORD BlockNumber
[1];
3401 typedef struct _REMOTE_NAME_INFO
{
3402 LPTSTR lpUniversalName
;
3403 LPTSTR lpConnectionName
;
3404 LPTSTR lpRemainingPath
;
3409 typedef struct _reobject {
3413 LPOLEOBJECT poleobj;
3415 LPOLECLIENTSITE polesite;
3423 typedef struct _repastespecial
{
3428 typedef struct _reqresize
{
3433 typedef struct _RGNDATAHEADER
{
3441 typedef struct _RGNDATA
{
3444 } RGNDATA
, *PRGNDATA
, *LPRGNDATA
;
3446 typedef struct tagSCROLLINFO
{
3454 } SCROLLINFO
, *LPSCROLLINFO
;
3455 typedef SCROLLINFO
const *LPCSCROLLINFO
;
3458 typedef struct _selchange
{
3464 typedef struct tagSERIALKEYS
{
3467 LPSTR lpszActivePort
;
3471 } SERIALKEYS
, * LPSERIALKEYS
;
3473 typedef struct _SERVICE_TABLE_ENTRYA
{
3474 LPSTR lpServiceName
;
3475 LPSERVICE_MAIN_FUNCTION lpServiceProc
;
3476 } SERVICE_TABLE_ENTRYA
, *LPSERVICE_TABLE_ENTRYA
;
3478 typedef struct _SERVICE_TABLE_ENTRYW
{
3479 LPWSTR lpServiceName
;
3480 LPSERVICE_MAIN_FUNCTION lpServiceProc
;
3481 } SERVICE_TABLE_ENTRYW
, *LPSERVICE_TABLE_ENTRYW
;
3484 #define SERVICE_TABLE_ENTRY SERVICE_TABLE_ENTRYW
3485 #define LPSERVICE_TABLE_ENTRY LPSERVICE_TABLE_ENTRYW
3487 #define SERVICE_TABLE_ENTRY SERVICE_TABLE_ENTRYA
3488 #define LPSERVICE_TABLE_ENTRY LPSERVICE_TABLE_ENTRYA
3492 typedef struct _SERVICE_TYPE_VALUE_ABS
{
3498 } SERVICE_TYPE_VALUE_ABS
;
3500 typedef struct _SERVICE_TYPE_INFO_ABS
{
3503 SERVICE_TYPE_VALUE_ABS Values
[1];
3504 } SERVICE_TYPE_INFO_ABS
;
3506 typedef struct _SESSION_BUFFER
{
3509 UCHAR local_name
[NCBNAMSZ
];
3510 UCHAR remote_name
[NCBNAMSZ
];
3511 UCHAR rcvs_outstanding
;
3512 UCHAR sends_outstanding
;
3515 typedef struct _SESSION_HEADER
{
3518 UCHAR rcv_dg_outstanding
;
3519 UCHAR rcv_any_outstanding
;
3522 typedef enum tagSHCONTF
{
3523 SHCONTF_FOLDERS
= 32,
3524 SHCONTF_NONFOLDERS
= 64,
3525 SHCONTF_INCLUDEHIDDEN
= 128,
3528 typedef struct _SHFILEINFO
{
3532 char szDisplayName
[MAX_PATH
];
3533 char szTypeName
[80];
3536 typedef WORD FILEOP_FLAGS
;
3537 typedef struct _SHFILEOPSTRUCT
{
3542 FILEOP_FLAGS fFlags
;
3543 WINBOOL fAnyOperationsAborted
;
3544 LPVOID hNameMappings
;
3545 LPCSTR lpszProgressTitle
;
3546 } SHFILEOPSTRUCT
, *LPSHFILEOPSTRUCT
;
3548 typedef enum tagSHGDN
{
3551 SHGDN_FORPARSING
= 0x8000,
3554 typedef struct _SHNAMEMAPPING
{
3559 } SHNAMEMAPPING
, *LPSHNAMEMAPPING
;
3561 typedef struct tagSOUNDSENTRY
{
3564 DWORD iFSTextEffect
;
3565 DWORD iFSTextEffectMSec
;
3566 DWORD iFSTextEffectColorBits
;
3567 DWORD iFSGrafEffect
;
3568 DWORD iFSGrafEffectMSec
;
3569 DWORD iFSGrafEffectColor
;
3570 DWORD iWindowsEffect
;
3571 DWORD iWindowsEffectMSec
;
3572 LPTSTR lpszWindowsEffectDLL
;
3573 DWORD iWindowsEffectOrdinal
;
3574 } SOUNDSENTRY
, *LPSOUNDSENTRY
;
3576 typedef struct _STARTUPINFOA
{
3585 DWORD dwXCountChars
;
3586 DWORD dwYCountChars
;
3587 DWORD dwFillAttribute
;
3595 } STARTUPINFOA
, *LPSTARTUPINFOA
;
3597 typedef struct _STARTUPINFOW
{
3606 DWORD dwXCountChars
;
3607 DWORD dwYCountChars
;
3608 DWORD dwFillAttribute
;
3616 } STARTUPINFOW
, *LPSTARTUPINFOW
;
3619 typedef STARTUPINFOW STARTUPINFO
;
3620 typedef LPSTARTUPINFOW LPSTARTUPINFO
;
3622 typedef STARTUPINFOA STARTUPINFO
;
3623 typedef LPSTARTUPINFOA LPSTARTUPINFO
;
3624 #endif /* UNICODE */
3626 typedef struct tagSTICKYKEYS
{
3629 } STICKYKEYS
, *LPSTICKYKEYS
;
3631 typedef struct _STRRET
{
3637 char cStr
[MAX_PATH
];
3639 } STRRET
, *LPSTRRET
;
3641 typedef struct _tagSTYLEBUF
{
3643 CHAR szDescription
[32];
3644 } STYLEBUF
, *LPSTYLEBUF
;
3646 typedef struct tagSTYLESTRUCT
{
3649 } STYLESTRUCT
, * LPSTYLESTRUCT
;
3651 typedef struct _SYSTEM_AUDIT_ACE
{
3657 typedef struct _SYSTEM_INFO
3664 WORD wProcessorArchitecture
;
3671 LPVOID lpMinimumApplicationAddress
;
3672 LPVOID lpMaximumApplicationAddress
;
3673 DWORD dwActiveProcessorMask
;
3674 DWORD dwNumberOfProcessors
;
3675 DWORD dwProcessorType
;
3676 DWORD dwAllocationGranularity
;
3677 WORD wProcessorLevel
;
3678 WORD wProcessorRevision
;
3679 } SYSTEM_INFO
, *LPSYSTEM_INFO
;
3681 typedef struct _SYSTEM_POWER_STATUS
{
3684 BYTE BatteryLifePercent
;
3686 DWORD BatteryLifeTime
;
3687 DWORD BatteryFullLifeTime
;
3688 } SYSTEM_POWER_STATUS
;
3689 typedef SYSTEM_POWER_STATUS
*LPSYSTEM_POWER_STATUS
;
3691 typedef struct _TAPE_ERASE
{
3695 typedef struct _TAPE_GET_DRIVE_PARAMETERS
{
3697 BOOLEAN Compression
;
3698 BOOLEAN DataPadding
;
3699 BOOLEAN ReportSetmarks
;
3700 ULONG DefaultBlockSize
;
3701 ULONG MaximumBlockSize
;
3702 ULONG MinimumBlockSize
;
3703 ULONG MaximumPartitionCount
;
3706 ULONG EOTWarningZoneSize
;
3707 } TAPE_GET_DRIVE_PARAMETERS
;
3709 typedef struct _TAPE_GET_MEDIA_PARAMETERS
{
3710 LARGE_INTEGER Capacity
;
3711 LARGE_INTEGER Remaining
;
3713 DWORD PartitionCount
;
3714 BOOLEAN WriteProtected
;
3715 } TAPE_GET_MEDIA_PARAMETERS
;
3717 typedef struct _TAPE_GET_POSITION
{
3722 } TAPE_GET_POSITION
;
3724 typedef struct _TAPE_PREPARE
{
3728 typedef struct _TAPE_SET_DRIVE_PARAMETERS
{
3730 BOOLEAN Compression
;
3731 BOOLEAN DataPadding
;
3732 BOOLEAN ReportSetmarks
;
3733 ULONG EOTWarningZoneSize
;
3734 } TAPE_SET_DRIVE_PARAMETERS
;
3736 typedef struct _TAPE_SET_MEDIA_PARAMETERS
{
3738 } TAPE_SET_MEDIA_PARAMETERS
;
3740 typedef struct _TAPE_SET_POSITION
{
3745 } TAPE_SET_POSITION
;
3747 typedef struct _TAPE_WRITE_MARKS
{
3755 } TBADDBITMAP
, *LPTBADDBITMAP
;
3757 typedef struct _TBBUTTON
{
3764 } TBBUTTON
, * PTBBUTTON
, * LPTBBUTTON
;
3765 typedef const TBBUTTON
* LPCTBBUTTON
;
3773 } TBNOTIFY
, *LPTBNOTIFY
;
3778 LPCTSTR pszValueName
;
3781 typedef struct _TC_HITTESTINFO
{
3786 typedef struct _TC_ITEM
{
3796 typedef struct _TC_ITEMHEADER
{
3805 typedef struct _TC_KEYDOWN
{
3811 typedef struct _textrange
{
3816 typedef struct tagTOGGLEKEYS
{
3829 } TOOLINFO
, *PTOOLINFO
, *LPTOOLINFO
;
3837 } TOOLTIPTEXT
, *LPTOOLTIPTEXT
;
3839 typedef struct tagTPMPARAMS
{
3842 } TPMPARAMS
, *LPTPMPARAMS
;
3844 typedef struct _TRANSMIT_FILE_BUFFERS
{
3849 } TRANSMIT_FILE_BUFFERS
;
3851 typedef struct _TT_HITTESTINFO
{
3855 } TTHITTESTINFO
, * LPHITTESTINFO
;
3857 typedef struct tagTTPOLYCURVE
{
3861 } TTPOLYCURVE
, * LPTTPOLYCURVE
;
3863 typedef struct _TTPOLYGONHEADER
{
3867 } TTPOLYGONHEADER
, * LPTTPOLYGONHEADER
;
3869 typedef struct _TV_DISPINFO
{
3874 typedef struct _TVHITTESTINFO
{
3878 } TV_HITTESTINFO
, *LPTV_HITTESTINFO
;
3880 typedef struct _TV_INSERTSTRUCT
{
3882 HTREEITEM hInsertAfter
;
3884 } TV_INSERTSTRUCT
, *LPTV_INSERTSTRUCT
;
3886 typedef struct _TV_KEYDOWN
{
3892 typedef struct _TV_SORTCB
{
3894 PFNTVCOMPARE lpfnCompare
;
3896 } TV_SORTCB
, *LPTV_SORTCB
;
3903 typedef struct _UNIVERSAL_NAME_INFO
{
3904 LPTSTR lpUniversalName
;
3905 } UNIVERSAL_NAME_INFO
;
3907 typedef struct tagUSEROBJECTFLAGS
{
3913 typedef struct _VERIFY_INFORMATION
{
3914 LARGE_INTEGER StartingOffset
;
3916 } VERIFY_INFORMATION
;
3918 typedef struct _VS_FIXEDFILEINFO
{
3920 DWORD dwStrucVersion
;
3921 DWORD dwFileVersionMS
;
3922 DWORD dwFileVersionLS
;
3923 DWORD dwProductVersionMS
;
3924 DWORD dwProductVersionLS
;
3925 DWORD dwFileFlagsMask
;
3929 DWORD dwFileSubtype
;
3934 typedef struct _WIN32_FIND_DATAA
{
3935 DWORD dwFileAttributes
;
3936 FILETIME ftCreationTime
;
3937 FILETIME ftLastAccessTime
;
3938 FILETIME ftLastWriteTime
;
3939 DWORD nFileSizeHigh
;
3943 CHAR cFileName
[ MAX_PATH
];
3944 CHAR cAlternateFileName
[ 14 ];
3945 } WIN32_FIND_DATAA
, *LPWIN32_FIND_DATAA
, *PWIN32_FIND_DATAA
;
3947 typedef struct _WIN32_FIND_DATAW
{
3948 DWORD dwFileAttributes
;
3949 FILETIME ftCreationTime
;
3950 FILETIME ftLastAccessTime
;
3951 FILETIME ftLastWriteTime
;
3952 DWORD nFileSizeHigh
;
3956 WCHAR cFileName
[ MAX_PATH
];
3957 WCHAR cAlternateFileName
[ 14 ];
3958 } WIN32_FIND_DATAW
, *LPWIN32_FIND_DATAW
, *PWIN32_FIND_DATAW
;
3961 #define WIN32_FIND_DATA WIN32_FIND_DATAW
3962 #define PWIN32_FIND_DATA PWIN32_FIND_DATAW
3963 #define LPWIN32_FIND_DATA LPWIN32_FIND_DATAW
3965 #define WIN32_FIND_DATA WIN32_FIND_DATAA
3966 #define PWIN32_FIND_DATA PWIN32_FIND_DATAA
3967 #define LPWIN32_FIND_DATA LPWIN32_FIND_DATAA
3970 typedef struct _WIN32_STREAM_ID
{
3972 DWORD dwStreamAttributes
;
3974 DWORD dwStreamNameSize
;
3978 typedef struct _WINDOWPLACEMENT
{
3982 POINT ptMinPosition
;
3983 POINT ptMaxPosition
;
3984 RECT rcNormalPosition
;
3987 typedef struct _WNDCLASS
{
3989 WNDPROC lpfnWndProc
;
3995 HBRUSH hbrBackground
;
3996 LPCTSTR lpszMenuName
;
3997 LPCTSTR lpszClassName
;
3998 } WNDCLASS
, *LPWNDCLASS
;
4000 typedef struct _WNDCLASSEX
{
4003 WNDPROC lpfnWndProc
;
4009 HBRUSH hbrBackground
;
4010 LPCTSTR lpszMenuName
;
4011 LPCTSTR lpszClassName
;
4013 } WNDCLASSEX
, *LPWNDCLASSEX
;
4015 typedef struct _CONNECTDLGSTRUCT
{
4018 LPNETRESOURCE lpConnRes
;
4021 } CONNECTDLGSTRUCT
, *LPCONNECTDLGSTRUCT
;
4023 typedef struct _DISCDLGSTRUCT
{
4027 LPTSTR lpRemoteName
;
4029 } DISCDLGSTRUCT
, *LPDISCDLGSTRUCT
;
4031 typedef struct _NETINFOSTRUCT
{
4033 DWORD dwProviderVersion
;
4035 DWORD dwCharacteristics
;
4040 } NETINFOSTRUCT
, *LPNETINFOSTRUCT
;
4042 typedef struct _NETCONNECTINFOSTRUCT
{
4047 DWORD dwOptDataSize
;
4048 } NETCONNECTINFOSTRUCT
, *LPNETCONNECTINFOSTRUCT
;
4050 typedef int CALLBACK (*ENUMMETAFILEPROC
) (HDC
, HANDLETABLE
,
4051 METARECORD
, int, LPARAM
);
4052 typedef int CALLBACK (*ENHMETAFILEPROC
) (HDC
, HANDLETABLE
,
4053 ENHMETARECORD
, int, LPARAM
);
4055 typedef int CALLBACK (*ENUMFONTSPROC
) (LPLOGFONT
, LPTEXTMETRIC
, DWORD
, LPARAM
);
4056 typedef int CALLBACK (*FONTENUMPROC
) (ENUMLOGFONT
*, NEWTEXTMETRIC
*,
4058 typedef int CALLBACK (*FONTENUMEXPROC
) (ENUMLOGFONTEX
*, NEWTEXTMETRICEX
*,
4061 typedef VOID
CALLBACK (*LPOVERLAPPED_COMPLETION_ROUTINE
) (DWORD
, DWORD
,
4065 Structures for the extensions to OpenGL
4067 typedef struct _POINTFLOAT
4071 } POINTFLOAT
, *PPOINTFLOAT
;
4073 typedef struct _GLYPHMETRICSFLOAT
4077 POINTFLOAT gmfptGlyphOrigin
;
4080 } GLYPHMETRICSFLOAT
, *PGLYPHMETRICSFLOAT
, *LPGLYPHMETRICSFLOAT
;
4082 typedef struct tagLAYERPLANEDESCRIPTOR
4099 BYTE cAccumGreenBits
;
4100 BYTE cAccumBlueBits
;
4101 BYTE cAccumAlphaBits
;
4107 COLORREF crTransparent
;
4108 } LAYERPLANEDESCRIPTOR
, *PLAYERPLANEDESCRIPTOR
, *LPLAYERPLANEDESCRIPTOR
;
4110 typedef struct tagPIXELFORMATDESCRIPTOR
4127 BYTE cAccumGreenBits
;
4128 BYTE cAccumBlueBits
;
4129 BYTE cAccumAlphaBits
;
4136 DWORD dwVisibleMask
;
4138 } PIXELFORMATDESCRIPTOR
, *PPIXELFORMATDESCRIPTOR
, *LPPIXELFORMATDESCRIPTOR
;
4143 LPWSTR usri2_password
;
4144 DWORD usri2_password_age
;
4146 LPWSTR usri2_home_dir
;
4147 LPWSTR usri2_comment
;
4149 LPWSTR usri2_script_path
;
4150 DWORD usri2_auth_flags
;
4151 LPWSTR usri2_full_name
;
4152 LPWSTR usri2_usr_comment
;
4154 LPWSTR usri2_workstations
;
4155 DWORD usri2_last_logon
;
4156 DWORD usri2_last_logoff
;
4157 DWORD usri2_acct_expires
;
4158 DWORD usri2_max_storage
;
4159 DWORD usri2_units_per_week
;
4160 PBYTE usri2_logon_hours
;
4161 DWORD usri2_bad_pw_count
;
4162 DWORD usri2_num_logons
;
4163 LPWSTR usri2_logon_server
;
4164 DWORD usri2_country_code
;
4165 DWORD usri2_code_page
;
4166 } USER_INFO_2
, *PUSER_INFO_2
, *LPUSER_INFO_2
;
4171 } USER_INFO_0
, *PUSER_INFO_0
, *LPUSER_INFO_0
;
4176 LPWSTR usri3_password
;
4177 DWORD usri3_password_age
;
4179 LPWSTR usri3_home_dir
;
4180 LPWSTR usri3_comment
;
4182 LPWSTR usri3_script_path
;
4183 DWORD usri3_auth_flags
;
4184 LPWSTR usri3_full_name
;
4185 LPWSTR usri3_usr_comment
;
4187 LPWSTR usri3_workstations
;
4188 DWORD usri3_last_logon
;
4189 DWORD usri3_last_logoff
;
4190 DWORD usri3_acct_expires
;
4191 DWORD usri3_max_storage
;
4192 DWORD usri3_units_per_week
;
4193 PBYTE usri3_logon_hours
;
4194 DWORD usri3_bad_pw_count
;
4195 DWORD usri3_num_logons
;
4196 LPWSTR usri3_logon_server
;
4197 DWORD usri3_country_code
;
4198 DWORD usri3_code_page
;
4199 DWORD usri3_user_id
;
4200 DWORD usri3_primary_group_id
;
4201 LPWSTR usri3_profile
;
4202 LPWSTR usri3_home_dir_drive
;
4203 DWORD usri3_password_expired
;
4204 } USER_INFO_3
, *PUSER_INFO_3
, *LPUSER_INFO_3
;
4209 LPWSTR grpi2_comment
;
4210 DWORD grpi2_group_id
;
4211 DWORD grpi2_attributes
;
4212 } GROUP_INFO_2
, *PGROUP_INFO_2
;
4217 } LOCALGROUP_INFO_0
, *PLOCALGROUP_INFO_0
, *LPLOCALGROUP_INFO_0
;
4219 /* PE executable header. */
4220 /* Windows.h now includes pe.h to avoid conflicts! */
4222 typedef struct _DISPLAY_DEVICE
{
4224 WCHAR DeviceName
[32];
4225 WCHAR DeviceString
[128];
4227 WCHAR DeviceID
[128];
4228 WCHAR DeviceKey
[128];
4229 } DISPLAY_DEVICE
, *PDISPLAY_DEVICE
;
4231 typedef HANDLE HMONITOR
;
4232 typedef HANDLE HDEVNOTIFY
;
4234 typedef BOOL
CALLBACK (*MonitorEnumProc
)(
4240 typedef MonitorEnumProc MONITORENUMPROC
;
4248 } FLASHWINFO
, *PFLASHWINFO
;
4250 typedef struct tagALTTABINFO
{
4260 } ALTTABINFO
, *PALTTABINFO
, *LPALTTABINFO
;
4262 typedef struct tagCOMBOBOXINFO
{
4270 } COMBOBOXINFO
, *PCOMBOBOXINFO
, *LPCOMBOBOXINFO
;
4272 typedef struct tagCURSORINFO
{
4277 } CURSORINFO
, *PCURSORINFO
, *LPCURSORINFO
;
4279 typedef struct tagGUITHREADINFO
{
4289 } GUITHREADINFO
, *PGUITHREADINFO
, *LPGUITHREADINFO
;
4291 typedef struct tagLASTINPUTINFO
{
4294 } LASTINPUTINFO
, *PLASTINPUTINFO
;
4296 typedef struct tagMENUBARINFO
{
4303 } MENUBARINFO
, *PMENUBARINFO
;
4305 typedef struct tagMENUINFO
{
4311 DWORD dwContextHelpID
;
4312 ULONG_PTR dwMenuData
;
4313 } MENUINFO
, FAR
*LPMENUINFO
;
4314 typedef MENUINFO CONST FAR
*LPCMENUINFO
;
4316 typedef struct tagMONITORINFO
{
4321 } MONITORINFO
, *LPMONITORINFO
;
4323 typedef struct tagMOUSEMOVEPOINT
{
4327 ULONG_PTR dwExtraInfo
;
4328 } MOUSEMOVEPOINT
, *PMOUSEMOVEPOINT
, *LPMOUSEMOVEPOINT
;
4330 #define CCHILDREN_SCROLLBAR 5
4332 typedef struct tagSCROLLBARINFO
{
4339 DWORD rgstate
[CCHILDREN_SCROLLBAR
+1];
4340 } SCROLLBARINFO
, *PSCROLLBARINFO
, *LPSCROLLBARINFO
;
4342 #define CCHILDREN_TITLEBAR 5
4344 typedef struct tagTITLEBARINFO
{
4347 DWORD rgstate
[CCHILDREN_TITLEBAR
+1];
4348 } TITLEBARINFO
, *PTITLEBARINFO
, *LPTITLEBARINFO
;
4352 LPCTSTR szWindowName
;
4354 UINT32 fToBeTerminated
;
4355 } WINDOWINFO
, *PWINDOWINFO
, *LPWINDOWINFO
;
4357 typedef struct tagMOUSEINPUT
{
4363 ULONG_PTR dwExtraInfo
;
4364 } MOUSEINPUT
, *PMOUSEINPUT
;
4366 typedef struct tagKEYBDINPUT
{
4371 ULONG_PTR dwExtraInfo
;
4372 } KEYBDINPUT
, *PKEYBDINPUT
;
4374 typedef struct tagHARDWAREINPUT
{
4378 } HARDWAREINPUT
, *PHARDWAREINPUT
;
4380 typedef struct tagINPUT
{
4388 } INPUT
, *PINPUT
, FAR
* LPINPUT
;
4390 typedef struct tagTRACKMOUSEEVENT
{
4395 } TRACKMOUSEEVENT
, *LPTRACKMOUSEEVENT
;
4397 typedef struct _BLENDFUNCTION
{
4400 BYTE SourceConstantAlpha
;
4402 }BLENDFUNCTION
, *PBLENDFUNCTION
, *LPBLENDFUNCTION
;
4404 typedef enum _GET_FILEEX_INFO_LEVELS
{
4405 GetFileExInfoStandard
4406 } GET_FILEEX_INFO_LEVELS
;
4408 typedef struct _WIN32_FILE_ATTRIBUTES_DATA
{
4409 DWORD dwFileAttributes
;
4410 FILETIME ftCreationTime
;
4411 FILETIME ftLastAccessTime
;
4412 FILETIME ftLastWriteTime
;
4413 DWORD nFileSizeHigh
;
4415 } WIN32_FILE_ATTRIBUTE_DATA
, *LPWIN32_FILE_ATTRIBUTE_DATA
;
4419 #endif /* __cplusplus */
4421 #endif /* WIN32_LEAN_AND_MEAN */
4423 #endif /* _GNU_H_WINDOWS32_STRUCTURES */