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 _ACL_REVISION_INFORMATION
{
88 } ACL_REVISION_INFORMATION
;
90 typedef struct _ACL_SIZE_INFORMATION
{
94 } ACL_SIZE_INFORMATION
;
96 typedef struct _ACTION_HEADER
{
102 typedef struct _ADAPTER_STATUS
{
103 UCHAR adapter_address
[6];
111 WORD iframe_recv_err
;
115 WORD iframe_xmit_err
;
116 WORD recv_buff_unavail
;
123 WORD xmit_buf_unavail
;
128 WORD max_sess_pkt_size
;
132 typedef struct _ADDJOB_INFO_1
{
137 typedef struct tagANIMATIONINFO
{
140 } ANIMATIONINFO
, *LPANIMATIONINFO
;
142 typedef struct _RECT
{
147 } RECT
, *LPRECT
, *LPCRECT
, *PRECT
;
149 typedef struct _RECTL
{
154 } RECTL
, *LPRECTL
, *LPCRECTL
, *PRECTL
;
156 typedef struct _AppBarData
{
159 UINT uCallbackMessage
;
163 } APPBARDATA
, *PAPPBARDATA
;
165 typedef struct tagBITMAP
174 } BITMAP
, *PBITMAP
, *NPBITMAP
, *LPBITMAP
;
176 typedef struct tagBITMAPCOREHEADER
{
184 typedef struct tagRGBTRIPLE
{
188 } RGBTRIPLE
, *PRGBTRIPLE
;
190 typedef struct _BITMAPCOREINFO
{
191 BITMAPCOREHEADER bmciHeader
;
192 RGBTRIPLE bmciColors
[1];
193 } BITMAPCOREINFO
, *PBITMAPCOREINFO
, *LPBITMAPCOREINFO
;
195 typedef struct tagBITMAPFILEHEADER
{
201 } BITMAPFILEHEADER
__attribute__((packed
));
203 typedef struct tagBITMAPINFOHEADER
{
211 LONG biXPelsPerMeter
;
212 LONG biYPelsPerMeter
;
214 DWORD biClrImportant
;
215 } BITMAPINFOHEADER
, *LPBITMAPINFOHEADER
, *PBITMAPINFOHEADER
;
217 typedef struct tagRGBQUAD
{
224 typedef struct tagBITMAPINFO
{
225 BITMAPINFOHEADER bmiHeader
;
226 RGBQUAD bmiColors
[1];
227 } BITMAPINFO
, *LPBITMAPINFO
, *PBITMAPINFO
;
229 typedef long FXPT2DOT30
, * LPFXPT2DOT30
;
231 typedef struct tagCIEXYZ
237 typedef CIEXYZ
* LPCIEXYZ
;
239 typedef struct tagCIEXYZTRIPLE
245 typedef CIEXYZTRIPLE
* LPCIEXYZTRIPLE
;
253 DWORD bV4V4Compression
;
255 LONG bV4XPelsPerMeter
;
256 LONG bV4YPelsPerMeter
;
258 DWORD bV4ClrImportant
;
264 CIEXYZTRIPLE bV4Endpoints
;
268 } BITMAPV4HEADER
, *LPBITMAPV4HEADER
, *PBITMAPV4HEADER
;
270 typedef struct _BLOB
{
275 typedef struct _SHITEMID
{
278 } SHITEMID
, * LPSHITEMID
;
279 typedef const SHITEMID
* LPCSHITEMID
;
281 typedef struct _ITEMIDLIST
{
283 } ITEMIDLIST
, * LPITEMIDLIST
;
284 typedef const ITEMIDLIST
* LPCITEMIDLIST
;
286 typedef struct _browseinfo
{
288 LPCITEMIDLIST pidlRoot
;
289 LPSTR pszDisplayName
;
295 } BROWSEINFO
, *PBROWSEINFO
, *LPBROWSEINFO
;
297 typedef struct _BY_HANDLE_FILE_INFORMATION
{
298 DWORD dwFileAttributes
;
299 FILETIME ftCreationTime
;
300 FILETIME ftLastAccessTime
;
301 FILETIME ftLastWriteTime
;
302 DWORD dwVolumeSerialNumber
;
305 DWORD nNumberOfLinks
;
306 DWORD nFileIndexHigh
;
308 } BY_HANDLE_FILE_INFORMATION
, *LPBY_HANDLE_FILE_INFORMATION
;
310 typedef struct _FIXED
{
315 typedef struct tagPOINT
{
318 } POINT
, *LPPOINT
, *PPOINT
;
320 typedef struct tagPOINTFX
{
325 typedef struct _POINTL
{
330 typedef struct tagPOINTS
{
335 typedef struct _tagCANDIDATEFORM
{
340 } CANDIDATEFORM
, *LPCANDIDATEFORM
;
342 typedef struct _tagCANDIDATELIST
{
350 } CANDIDATELIST
, *LPCANDIDATELIST
;
352 typedef struct tagCREATESTRUCT
{
353 LPVOID lpCreateParams
;
365 } CREATESTRUCT
, *LPCREATESTRUCT
;
367 typedef struct tagCREATESTRUCTA
{
368 LPVOID lpCreateParams
;
380 } CREATESTRUCTA
, *LPCREATESTRUCTA
;
382 typedef struct tagCREATESTRUCTW
{
383 LPVOID lpCreateParams
;
395 } CREATESTRUCTW
, *LPCREATESTRUCTW
;
397 typedef struct tagCBT_CREATEWND
{
399 HWND hwndInsertAfter
;
402 typedef struct tagCBTACTIVATESTRUCT
{
407 typedef struct _CHAR_INFO
{
413 } CHAR_INFO
, *PCHAR_INFO
;
415 typedef struct _charformat
{
421 COLORREF crTextColor
;
423 BYTE bPitchAndFamily
;
424 TCHAR szFaceName
[LF_FACESIZE
];
427 typedef struct _charrange
{
432 typedef struct tagCHARSET
{
437 typedef struct tagFONTSIGNATURE
{
440 } FONTSIGNATURE
, *LPFONTSIGNATURE
;
446 } CHARSETINFO
, *LPCHARSETINFO
;
453 COLORREF
* lpCustColors
;
456 LPCCHOOKPROC lpfnHook
;
457 LPCTSTR lpTemplateName
;
458 } CHOOSECOLOR
, *LPCHOOSECOLOR
;
460 typedef struct tagLOGFONT
{
471 BYTE lfClipPrecision
;
473 BYTE lfPitchAndFamily
;
474 TCHAR lfFaceName
[LF_FACESIZE
];
475 } LOGFONT
, *LPLOGFONT
, *PLOGFONT
;
477 typedef struct tagLOGFONTW
{
488 BYTE lfClipPrecision
;
490 BYTE lfPitchAndFamily
;
492 } LOGFONTW
, *LPLOGFONTW
, *PLOGFONTW
;
503 LPCFHOOKPROC lpfnHook
;
504 LPCTSTR lpTemplateName
;
508 WORD ___MISSING_ALIGNMENT__
;
511 } CHOOSEFONT
, *LPCHOOSEFONT
;
513 typedef struct _IDA
{
518 typedef struct tagCLIENTCREATESTRUCT
{
521 } CLIENTCREATESTRUCT
;
523 typedef CLIENTCREATESTRUCT
*LPCLIENTCREATESTRUCT
;
525 typedef struct _CMInvokeCommandInfo
{
535 } CMINVOKECOMMANDINFO
, *LPCMINVOKECOMMANDINFO
;
537 typedef struct tagCOLORADJUSTMENT
{
540 WORD caIlluminantIndex
;
544 WORD caReferenceBlack
;
545 WORD caReferenceWhite
;
548 SHORT caColorfulness
;
549 SHORT caRedGreenTint
;
550 } COLORADJUSTMENT
, *LPCOLORADJUSTMENT
;
552 typedef struct _COLORMAP
{
555 } COLORMAP
, * LPCOLORMAP
;
557 typedef struct _DCB
{
562 DWORD fOutxCtsFlow
:1;
563 DWORD fOutxDsrFlow
:1;
565 DWORD fDsrSensitivity
:1;
566 DWORD fTXContinueOnXoff
:1;
572 DWORD fAbortOnError
:1;
588 typedef struct _COMM_CONFIG
{
593 DWORD dwProviderSubType
;
594 DWORD dwProviderOffset
;
595 DWORD dwProviderSize
;
596 WCHAR wcProviderData
[1];
597 } COMMCONFIG
, *LPCOMMCONFIG
;
599 typedef struct _COMMPROP
{
608 DWORD dwProvCapabilities
;
609 DWORD dwSettableParams
;
610 DWORD dwSettableBaud
;
612 WORD wSettableStopParity
;
613 DWORD dwCurrentTxQueue
;
614 DWORD dwCurrentRxQueue
;
618 } COMMPROP
, *LPCOMMPROP
;
620 typedef struct _COMMTIMEOUTS
{
621 DWORD ReadIntervalTimeout
;
622 DWORD ReadTotalTimeoutMultiplier
;
623 DWORD ReadTotalTimeoutConstant
;
624 DWORD WriteTotalTimeoutMultiplier
;
625 DWORD WriteTotalTimeoutConstant
;
626 } COMMTIMEOUTS
,*LPCOMMTIMEOUTS
;
628 typedef struct tagCOMPAREITEMSTRUCT
{
640 COLORREF crBackground
;
644 typedef struct _tagCOMPOSITIONFORM
{
648 } COMPOSITIONFORM
, *LPCOMPOSITIONFORM
;
650 typedef struct _COMSTAT
{
658 DWORD fReserved
: 25;
661 } COMSTAT
, *LPCOMSTAT
;
663 typedef struct tagCONVCONTEXT
{
670 SECURITY_QUALITY_OF_SERVICE qos
;
673 typedef CONVCONTEXT
*PCONVCONTEXT
;
675 typedef struct tagCONVINFO
{
689 CONVCONTEXT ConvCtxt
;
692 } CONVINFO
, *PCONVINFO
;
694 typedef struct tagCOPYDATASTRUCT
{
700 typedef struct _cpinfo
{
702 BYTE DefaultChar
[MAX_DEFAULTCHAR
];
703 BYTE LeadByte
[MAX_LEADBYTES
];
706 typedef struct tagCPLINFO
{
713 typedef struct _CREATE_PROCESS_DEBUG_INFO
{
717 LPVOID lpBaseOfImage
;
718 DWORD dwDebugInfoFileOffset
;
719 DWORD nDebugInfoSize
;
720 LPVOID lpThreadLocalBase
;
721 LPTHREAD_START_ROUTINE lpStartAddress
;
724 } CREATE_PROCESS_DEBUG_INFO
;
726 typedef struct _CREATE_THREAD_DEBUG_INFO
{
728 LPVOID lpThreadLocalBase
;
729 LPTHREAD_START_ROUTINE lpStartAddress
;
730 } CREATE_THREAD_DEBUG_INFO
;
734 typedef struct _SOCKET_ADDRESS {
735 LPSOCKADDR lpSockaddr ;
736 INT iSockaddrLength ;
737 } SOCKET_ADDRESS, *PSOCKET_ADDRESS, *LPSOCKET_ADDRESS;
741 typedef struct _CSADDR_INFO {
742 SOCKET_ADDRESS LocalAddr;
743 SOCKET_ADDRESS RemoteAddr;
749 typedef struct _currencyfmt
{
754 LPTSTR lpThousandSep
;
757 LPTSTR lpCurrencySymbol
;
760 typedef struct tagCURSORSHAPE
{
768 } CURSORSHAPE
, *LPCURSORSHAPE
;
770 typedef struct tagCWPRETSTRUCT
{
778 typedef struct tagCWPSTRUCT
{
785 typedef struct _DATATYPES_INFO_1
{
790 unsigned short bAppReturnCode
:8,
797 unsigned short reserved
:14,
804 unsigned short unused
:12,
814 unsigned short unused
:13,
821 typedef struct tagDDEML_MSG_HOOK_DATA
{
826 } DDEML_MSG_HOOK_DATA
;
829 unsigned short unused
:13,
837 unsigned short unused
:12,
846 typedef struct _EXCEPTION_DEBUG_INFO
{
847 EXCEPTION_RECORD ExceptionRecord
;
849 } EXCEPTION_DEBUG_INFO
;
851 typedef struct _EXIT_PROCESS_DEBUG_INFO
{
853 } EXIT_PROCESS_DEBUG_INFO
;
855 typedef struct _EXIT_THREAD_DEBUG_INFO
{
857 } EXIT_THREAD_DEBUG_INFO
;
859 typedef struct _LOAD_DLL_DEBUG_INFO
{
862 DWORD dwDebugInfoFileOffset
;
863 DWORD nDebugInfoSize
;
866 } LOAD_DLL_DEBUG_INFO
;
868 typedef struct _UNLOAD_DLL_DEBUG_INFO
{
870 } UNLOAD_DLL_DEBUG_INFO
;
872 typedef struct _OUTPUT_DEBUG_STRING_INFO
{
873 LPSTR lpDebugStringData
;
875 WORD nDebugStringLength
;
876 } OUTPUT_DEBUG_STRING_INFO
;
878 typedef struct _RIP_INFO
{
883 typedef struct _DEBUG_EVENT
{
884 DWORD dwDebugEventCode
;
888 EXCEPTION_DEBUG_INFO Exception
;
889 CREATE_THREAD_DEBUG_INFO CreateThread
;
890 CREATE_PROCESS_DEBUG_INFO CreateProcessInfo
;
891 EXIT_THREAD_DEBUG_INFO ExitThread
;
892 EXIT_PROCESS_DEBUG_INFO ExitProcess
;
893 LOAD_DLL_DEBUG_INFO LoadDll
;
894 UNLOAD_DLL_DEBUG_INFO UnloadDll
;
895 OUTPUT_DEBUG_STRING_INFO DebugString
;
898 } DEBUG_EVENT
, *LPDEBUG_EVENT
;
900 typedef struct tagDEBUGHOOKINFO
{
902 DWORD idThreadInstaller
;
908 typedef struct tagDELETEITEMSTRUCT
{
916 typedef struct _DEV_BROADCAST_HDR
{
918 ULONG dbch_devicetype
;
921 typedef DEV_BROADCAST_HDR
*PDEV_BROADCAST_HDR
;
923 typedef struct _DEV_BROADCAST_OEM
{
925 ULONG dbco_devicetype
;
927 ULONG dbco_identifier
;
930 typedef DEV_BROADCAST_OEM
*PDEV_BROADCAST_OEM
;
932 typedef struct _DEV_BROADCAST_PORT
{
934 ULONG dbcp_devicetype
;
937 } DEV_BROADCAST_PORT
;
938 typedef DEV_BROADCAST_PORT
*PDEV_BROADCAST_PORT
;
940 struct _DEV_BROADCAST_USERDEFINED
{
941 struct _DEV_BROADCAST_HDR dbud_dbh
;
943 BYTE dbud_rgbUserDefined
[1];
946 typedef struct _DEV_BROADCAST_VOLUME
{
948 ULONG dbcv_devicetype
;
952 } DEV_BROADCAST_VOLUME
;
953 typedef DEV_BROADCAST_VOLUME
*PDEV_BROADCAST_VOLUME
;
955 typedef struct tagDEVNAMES
{
960 } DEVNAMES
, *LPDEVNAMES
;
962 typedef struct tagDIBSECTION
{
964 BITMAPINFOHEADER dsBmih
;
965 DWORD dsBitfields
[3];
970 typedef struct _DISK_PERFORMANCE
{
971 LARGE_INTEGER BytesRead
;
972 LARGE_INTEGER BytesWritten
;
973 LARGE_INTEGER ReadTime
;
974 LARGE_INTEGER WriteTime
;
982 DWORD dwExtendedStyle
;
988 } DLGITEMTEMPLATE PACKED
;
990 typedef DLGITEMTEMPLATE
*LPDLGITEMTEMPLATE
;
991 typedef DLGITEMTEMPLATE
*PDLGITEMTEMPLATE
;
995 DWORD dwExtendedStyle
;
1001 } DLGTEMPLATE PACKED
;
1003 typedef DLGTEMPLATE
*LPDLGTEMPLATE
;
1004 typedef const DLGTEMPLATE
*LPCDLGTEMPLATE
;
1006 typedef struct _DOC_INFO_1
{
1012 typedef struct _DOC_INFO_2
{
1022 LPCTSTR lpszDocName
;
1024 LPCTSTR lpszDatatype
;
1026 } DOCINFO
, *PDOCINFO
;
1032 } DRAGLISTINFO
, *LPDRAGLISTINFO
;
1034 typedef struct tagDRAWITEMSTRUCT
{
1044 } DRAWITEMSTRUCT
, *LPDRAWITEMSTRUCT
, *PDRAWITEMSTRUCT
;
1052 } DRAWTEXTPARAMS
, *LPDRAWTEXTPARAMS
;
1056 typedef struct _DRIVER_INFO_1
{
1060 typedef struct _DRIVER_INFO_2
{
1063 LPTSTR pEnvironment
;
1069 typedef struct _DRIVER_INFO_3
{
1072 LPTSTR pEnvironment
;
1077 LPTSTR pDependentFiles
;
1078 LPTSTR pMonitorName
;
1079 LPTSTR pDefaultDataType
;
1082 typedef struct _editstream
{
1085 EDITSTREAMCALLBACK pfnCallback
;
1088 typedef struct tagEMR
1094 typedef struct tagEMRANGLEARC
1101 } EMRANGLEARC
, *PEMRANGLEARC
;
1103 typedef struct tagEMRARC
1110 EMRARCTO
, *PEMRARCTO
,
1111 EMRCHORD
, *PEMRCHORD
,
1114 typedef struct _XFORM
1122 } XFORM
, *PXFORM
, *LPXFORM
;
1124 typedef struct tagEMRBITBLT
1136 COLORREF crBkColorSrc
;
1141 } EMRBITBLT
, *PEMRBITBLT
;
1143 typedef struct tagLOGBRUSH
{
1147 } LOGBRUSH
, *PLOGBRUSH
;
1149 typedef struct tagEMRCREATEBRUSHINDIRECT
1154 } EMRCREATEBRUSHINDIRECT
, *PEMRCREATEBRUSHINDIRECT
;
1156 typedef LONG LCSCSTYPE
;
1157 typedef LONG LCSGAMUTMATCH
;
1159 typedef struct tagLOGCOLORSPACE
{
1164 LCSCSTYPE lcsCSType
;
1165 LCSGAMUTMATCH lcsIntent
;
1166 CIEXYZTRIPLE lcsEndpoints
;
1168 DWORD lcsGammaGreen
;
1170 TCHAR lcsFilename
[MAX_PATH
];
1171 } LOGCOLORSPACE
, *LPLOGCOLORSPACE
;
1173 typedef struct tagEMRCREATECOLORSPACE
1178 } EMRCREATECOLORSPACE
, *PEMRCREATECOLORSPACE
;
1180 typedef struct tagEMRCREATEDIBPATTERNBRUSHPT
1189 } EMRCREATEDIBPATTERNBRUSHPT
,
1190 PEMRCREATEDIBPATTERNBRUSHPT
;
1192 typedef struct tagEMRCREATEMONOBRUSH
1201 } EMRCREATEMONOBRUSH
, *PEMRCREATEMONOBRUSH
;
1203 typedef struct tagPALETTEENTRY
{
1208 } PALETTEENTRY
, *LPPALETTEENTRY
, *PPALETTEENTRY
;
1210 typedef struct tagLOGPALETTE
{
1213 PALETTEENTRY palPalEntry
[1];
1214 } LOGPALETTE
, *LPLOGPALETTE
, *PLOGPALETTE
;
1216 typedef struct tagEMRCREATEPALETTE
1221 } EMRCREATEPALETTE
, *PEMRCREATEPALETTE
;
1223 typedef struct tagLOGPEN
{
1229 typedef struct tagEMRCREATEPEN
1234 } EMRCREATEPEN
, *PEMRCREATEPEN
;
1236 typedef struct tagEMRELLIPSE
1240 } EMRELLIPSE
, *PEMRELLIPSE
,
1241 EMRRECTANGLE
, *PEMRRECTANGLE
;
1243 typedef struct tagEMREOF
1247 DWORD offPalEntries
;
1251 typedef struct tagEMREXCLUDECLIPRECT
1255 } EMREXCLUDECLIPRECT
, *PEMREXCLUDECLIPRECT
,
1256 EMRINTERSECTCLIPRECT
, *PEMRINTERSECTCLIPRECT
;
1258 typedef struct tagPANOSE
{
1264 BYTE bStrokeVariation
;
1271 typedef struct tagEXTLOGFONT
{
1273 BCHAR elfFullName
[LF_FULLFACESIZE
];
1274 BCHAR elfStyle
[LF_FACESIZE
];
1279 BYTE elfVendorId
[ELF_VENDOR_SIZE
];
1284 typedef struct tagEMREXTCREATEFONTINDIRECTW
1289 } EMREXTCREATEFONTINDIRECTW
,
1290 PEMREXTCREATEFONTINDIRECTW
;
1292 typedef struct tagEXTLOGPEN
{
1298 DWORD elpNumEntries
;
1299 DWORD elpStyleEntry
[1];
1302 typedef struct tagEMREXTCREATEPEN
1311 } EMREXTCREATEPEN
, *PEMREXTCREATEPEN
;
1313 typedef struct tagEMREXTFLOODFILL
1319 } EMREXTFLOODFILL
, *PEMREXTFLOODFILL
;
1321 typedef struct tagEMREXTSELECTCLIPRGN
1327 } EMREXTSELECTCLIPRGN
, *PEMREXTSELECTCLIPRGN
;
1329 typedef struct tagEMRTEXT
1331 POINTL ptlReference
;
1337 } EMRTEXT
, *PEMRTEXT
;
1339 typedef struct tagEMREXTTEXTOUTA
1343 DWORD iGraphicsMode
;
1347 } EMREXTTEXTOUTA
, *PEMREXTTEXTOUTA
,
1348 EMREXTTEXTOUTW
, *PEMREXTTEXTOUTW
;
1350 typedef struct tagEMRFILLPATH
1354 } EMRFILLPATH
, *PEMRFILLPATH
,
1355 EMRSTROKEANDFILLPATH
, *PEMRSTROKEANDFILLPATH
,
1356 EMRSTROKEPATH
, *PEMRSTROKEPATH
;
1358 typedef struct tagEMRFILLRGN
1365 } EMRFILLRGN
, *PEMRFILLRGN
;
1367 typedef struct tagEMRFORMAT
{
1374 typedef struct tagSIZE
{
1377 } SIZE
, *PSIZE
, *LPSIZE
, SIZEL
, *PSIZEL
, *LPSIZEL
;
1379 typedef struct tagEMRFRAMERGN
1387 } EMRFRAMERGN
, *PEMRFRAMERGN
;
1389 typedef struct tagEMRGDICOMMENT
1394 } EMRGDICOMMENT
, *PEMRGDICOMMENT
;
1396 typedef struct tagEMRINVERTRGN
1402 } EMRINVERTRGN
, *PEMRINVERTRGN
,
1403 EMRPAINTRGN
, *PEMRPAINTRGN
;
1405 typedef struct tagEMRLINETO
1409 } EMRLINETO
, *PEMRLINETO
,
1410 EMRMOVETOEX
, *PEMRMOVETOEX
;
1412 typedef struct tagEMRMASKBLT
1424 COLORREF crBkColorSrc
;
1437 } EMRMASKBLT
, *PEMRMASKBLT
;
1439 typedef struct tagEMRMODIFYWORLDTRANSFORM
1444 } EMRMODIFYWORLDTRANSFORM
,
1445 PEMRMODIFYWORLDTRANSFORM
;
1447 typedef struct tagEMROFFSETCLIPRGN
1451 } EMROFFSETCLIPRGN
, *PEMROFFSETCLIPRGN
;
1453 typedef struct tagEMRPLGBLT
1463 COLORREF crBkColorSrc
;
1476 } EMRPLGBLT
, *PEMRPLGBLT
;
1478 typedef struct tagEMRPOLYDRAW
1485 } EMRPOLYDRAW
, *PEMRPOLYDRAW
;
1487 typedef struct tagEMRPOLYDRAW16
1494 } EMRPOLYDRAW16
, *PEMRPOLYDRAW16
;
1496 typedef struct tagEMRPOLYLINE
1502 } EMRPOLYLINE
, *PEMRPOLYLINE
,
1503 EMRPOLYBEZIER
, *PEMRPOLYBEZIER
,
1504 EMRPOLYGON
, *PEMRPOLYGON
,
1505 EMRPOLYBEZIERTO
, *PEMRPOLYBEZIERTO
,
1506 EMRPOLYLINETO
, *PEMRPOLYLINETO
;
1508 typedef struct tagEMRPOLYLINE16
1514 } EMRPOLYLINE16
, *PEMRPOLYLINE16
,
1515 EMRPOLYBEZIER16
, *PEMRPOLYBEZIER16
,
1516 EMRPOLYGON16
, *PEMRPOLYGON16
,
1517 EMRPOLYBEZIERTO16
, *PEMRPOLYBEZIERTO16
,
1518 EMRPOLYLINETO16
, *PEMRPOLYLINETO16
;
1520 typedef struct tagEMRPOLYPOLYLINE
1526 DWORD aPolyCounts
[1];
1528 } EMRPOLYPOLYLINE
, *PEMRPOLYPOLYLINE
,
1529 EMRPOLYPOLYGON
, *PEMRPOLYPOLYGON
;
1531 typedef struct tagEMRPOLYPOLYLINE16
1537 DWORD aPolyCounts
[1];
1539 } EMRPOLYPOLYLINE16
, *PEMRPOLYPOLYLINE16
,
1540 EMRPOLYPOLYGON16
, *PEMRPOLYPOLYGON16
;
1542 typedef struct tagEMRPOLYTEXTOUTA
1546 DWORD iGraphicsMode
;
1550 EMRTEXT aemrtext
[1];
1551 } EMRPOLYTEXTOUTA
, *PEMRPOLYTEXTOUTA
,
1552 EMRPOLYTEXTOUTW
, *PEMRPOLYTEXTOUTW
;
1554 typedef struct tagEMRRESIZEPALETTE
1559 } EMRRESIZEPALETTE
, *PEMRRESIZEPALETTE
;
1561 typedef struct tagEMRRESTOREDC
1565 } EMRRESTOREDC
, *PEMRRESTOREDC
;
1567 typedef struct tagEMRROUNDRECT
1572 } EMRROUNDRECT
, *PEMRROUNDRECT
;
1574 typedef struct tagEMRSCALEVIEWPORTEXTEX
1581 } EMRSCALEVIEWPORTEXTEX
, *PEMRSCALEVIEWPORTEXTEX
,
1582 EMRSCALEWINDOWEXTEX
, *PEMRSCALEWINDOWEXTEX
;
1584 typedef struct tagEMRSELECTCOLORSPACE
1588 } EMRSELECTCOLORSPACE
, *PEMRSELECTCOLORSPACE
,
1589 EMRDELETECOLORSPACE
, *PEMRDELETECOLORSPACE
;
1590 typedef struct tagEMRSELECTOBJECT
1594 } EMRSELECTOBJECT
, *PEMRSELECTOBJECT
,
1595 EMRDELETEOBJECT
, *PEMRDELETEOBJECT
;
1597 typedef struct tagEMRSELECTPALETTE
1601 } EMRSELECTPALETTE
, *PEMRSELECTPALETTE
;
1603 typedef struct tagEMRSETARCDIRECTION
1606 DWORD iArcDirection
;
1607 } EMRSETARCDIRECTION
, *PEMRSETARCDIRECTION
;
1609 typedef struct tagEMRSETTEXTCOLOR
1613 } EMRSETBKCOLOR
, *PEMRSETBKCOLOR
,
1614 EMRSETTEXTCOLOR
, *PEMRSETTEXTCOLOR
;
1616 typedef struct tagEMRSETCOLORADJUSTMENT
1619 COLORADJUSTMENT ColorAdjustment
;
1620 } EMRSETCOLORADJUSTMENT
, *PEMRSETCOLORADJUSTMENT
;
1622 typedef struct tagEMRSETDIBITSTODEVICE
1639 } EMRSETDIBITSTODEVICE
, *PEMRSETDIBITSTODEVICE
;
1641 typedef struct tagEMRSETMAPPERFLAGS
1645 } EMRSETMAPPERFLAGS
, *PEMRSETMAPPERFLAGS
;
1647 typedef struct tagEMRSETMITERLIMIT
1651 } EMRSETMITERLIMIT
, *PEMRSETMITERLIMIT
;
1653 typedef struct tagEMRSETPALETTEENTRIES
1659 PALETTEENTRY aPalEntries
[1];
1660 } EMRSETPALETTEENTRIES
, *PEMRSETPALETTEENTRIES
;
1662 typedef struct tagEMRSETPIXELV
1667 } EMRSETPIXELV
, *PEMRSETPIXELV
;
1669 typedef struct tagEMRSETVIEWPORTEXTEX
1673 } EMRSETVIEWPORTEXTEX
, *PEMRSETVIEWPORTEXTEX
,
1674 EMRSETWINDOWEXTEX
, *PEMRSETWINDOWEXTEX
;
1676 typedef struct tagEMRSETVIEWPORTORGEX
1680 } EMRSETVIEWPORTORGEX
, *PEMRSETVIEWPORTORGEX
,
1681 EMRSETWINDOWORGEX
, *PEMRSETWINDOWORGEX
,
1682 EMRSETBRUSHORGEX
, *PEMRSETBRUSHORGEX
;
1684 typedef struct tagEMRSETWORLDTRANSFORM
1688 } EMRSETWORLDTRANSFORM
, *PEMRSETWORLDTRANSFORM
;
1690 typedef struct tagEMRSTRETCHBLT
1702 COLORREF crBkColorSrc
;
1710 } EMRSTRETCHBLT
, *PEMRSTRETCHBLT
;
1712 typedef struct tagEMRSTRETCHDIBITS
1730 } EMRSTRETCHDIBITS
, *PEMRSTRETCHDIBITS
;
1732 typedef struct tagABORTPATH
1735 } EMRABORTPATH
, *PEMRABORTPATH
,
1736 EMRBEGINPATH
, *PEMRBEGINPATH
,
1737 EMRENDPATH
, *PEMRENDPATH
,
1738 EMRCLOSEFIGURE
, *PEMRCLOSEFIGURE
,
1739 EMRFLATTENPATH
, *PEMRFLATTENPATH
,
1740 EMRWIDENPATH
, *PEMRWIDENPATH
,
1741 EMRSETMETARGN
, *PEMRSETMETARGN
,
1742 EMRSAVEDC
, *PEMRSAVEDC
,
1743 EMRREALIZEPALETTE
, *PEMRREALIZEPALETTE
;
1745 typedef struct tagEMRSELECTCLIPPATH
1749 } EMRSELECTCLIPPATH
, *PEMRSELECTCLIPPATH
,
1750 EMRSETBKMODE
, *PEMRSETBKMODE
,
1751 EMRSETMAPMODE
, *PEMRSETMAPMODE
,
1752 EMRSETPOLYFILLMODE
, *PEMRSETPOLYFILLMODE
,
1753 EMRSETROP2
, *PEMRSETROP2
,
1754 EMRSETSTRETCHBLTMODE
, *PEMRSETSTRETCHBLTMODE
,
1755 EMRSETTEXTALIGN
, *PEMRSETTEXTALIGN
,
1756 EMRENABLEICM
, *PEMRENABLEICM
;
1758 typedef struct tagNMHDR
{
1764 typedef struct _encorrecttext
{
1770 typedef struct _endropfiles
{
1790 typedef struct tagENHMETAHEADER
{
1802 DWORD offDescription
;
1805 SIZEL szlMillimeters
;
1806 } ENHMETAHEADER
, *LPENHMETAHEADER
;
1808 typedef struct tagENHMETARECORD
{
1812 } ENHMETARECORD
, *PENHMETARECORD
, *LPENHMETARECORD
;
1814 typedef struct _enprotected
{
1822 typedef struct _SERVICE_STATUS
{
1823 DWORD dwServiceType
;
1824 DWORD dwCurrentState
;
1825 DWORD dwControlsAccepted
;
1826 DWORD dwWin32ExitCode
;
1827 DWORD dwServiceSpecificExitCode
;
1830 } SERVICE_STATUS
, *LPSERVICE_STATUS
;
1832 typedef struct _ENUM_SERVICE_STATUSA
{
1833 LPSTR lpServiceName
;
1834 LPSTR lpDisplayName
;
1835 SERVICE_STATUS ServiceStatus
;
1836 } ENUM_SERVICE_STATUSA
, *LPENUM_SERVICE_STATUSA
;
1838 typedef struct _ENUM_SERVICE_STATUSW
{
1839 LPWSTR lpServiceName
;
1840 LPWSTR lpDisplayName
;
1841 SERVICE_STATUS ServiceStatus
;
1842 } ENUM_SERVICE_STATUSW
, *LPENUM_SERVICE_STATUSW
;
1845 #define ENUM_SERVICE_STATUS ENUM_SERVICE_STATUSW
1846 #define LPENUM_SERVICE_STATUS LPENUM_SERVICE_STATUSW
1848 #define ENUM_SERVICE_STATUS ENUM_SERVICE_STATUSA
1849 #define LPENUM_SERVICE_STATUS LPENUM_SERVICE_STATUSA
1852 typedef struct tagENUMLOGFONT
{
1854 BCHAR elfFullName
[LF_FULLFACESIZE
];
1855 BCHAR elfStyle
[LF_FACESIZE
];
1858 typedef struct tagENUMLOGFONTEX
{
1860 BCHAR elfFullName
[LF_FULLFACESIZE
];
1861 BCHAR elfStyle
[LF_FACESIZE
];
1862 BCHAR elfScript
[LF_FACESIZE
];
1865 typedef struct _EVENTLOGRECORD
{
1869 DWORD TimeGenerated
;
1876 DWORD ClosingRecordNumber
;
1878 DWORD UserSidLength
;
1879 DWORD UserSidOffset
;
1887 TCHAR Computername[]
1897 typedef struct tagEVENTMSG
{
1905 typedef struct _EXT_BUTTON
{
1909 } EXT_BUTTON
, *LPEXT_BUTTON
;
1911 typedef struct tagFILTERKEYS
{
1920 typedef struct _FIND_NAME_BUFFER
{
1922 UCHAR access_control
;
1923 UCHAR frame_control
;
1924 UCHAR destination_addr
[6];
1925 UCHAR source_addr
[6];
1926 UCHAR routing_info
[18];
1929 typedef struct _FIND_NAME_HEADER
{
1936 enum _FINDEX_INFO_LEVELS
1939 FindExInfoMaxInfoLevel
1940 } FINDEX_INFO_LEVELS
;
1943 enum _FINDEX_SEARCH_OPS
1945 FindExSearchNameMatch
,
1946 FindExSearchLimitToDirectories
,
1947 FindExSearchLimitToDevices
,
1948 FindExSearchMaxSearchOp
1950 } FINDEX_SEARCH_OPS
;
1952 #define FIND_FIRST_EX_CASE_SENSITIVE 0x00000001
1957 HINSTANCE hInstance
;
1959 LPTSTR lpstrFindWhat
;
1960 LPTSTR lpstrReplaceWith
;
1962 WORD wReplaceWithLen
;
1964 LPFRHOOKPROC lpfnHook
;
1965 LPCTSTR lpTemplateName
;
1966 } FINDREPLACE
, *LPFINDREPLACE
;
1968 typedef struct _findtext
{
1973 typedef struct _findtextex
{
1979 typedef struct _FMS_GETDRIVEINFO
{
1987 typedef struct _FMS_GETFILESEL
{
1994 typedef struct _FMS_LOAD
{
1996 TCHAR szMenuName
[MENU_TEXT_LEN
];
2001 typedef struct _FMS_TOOLBARLOAD
{
2003 LPEXT_BUTTON lpButtons
;
2011 typedef struct _FORM_INFO_1
{
2015 RECTL ImageableArea
;
2018 typedef struct _FORMAT_PARAMETERS
{
2019 MEDIA_TYPE MediaType
;
2020 DWORD StartCylinderNumber
;
2021 DWORD EndCylinderNumber
;
2022 DWORD StartHeadNumber
;
2023 DWORD EndHeadNumber
;
2024 } FORMAT_PARAMETERS
;
2026 typedef struct _formatrange
{
2034 typedef struct tagGCP_RESULTS
{
2044 } GCP_RESULTS
, *LPGCP_RESULTS
;
2047 typedef struct _GLYPHMETRICS
{
2050 POINT gmptGlyphOrigin
;
2053 } GLYPHMETRICS
, *LPGLYPHMETRICS
;
2055 typedef struct tagHANDLETABLE
{
2056 HGDIOBJ objectHandle
[1];
2057 } HANDLETABLE
, *LPHANDLETABLE
;
2059 typedef struct _HD_HITTESTINFO
{
2065 typedef struct _HD_ITEM
{
2075 typedef struct _WINDOWPOS
{
2077 HWND hwndInsertAfter
;
2083 } WINDOWPOS
, *PWINDOWPOS
, *LPWINDOWPOS
;
2085 typedef struct _HD_LAYOUT
{
2090 typedef struct _HD_NOTIFY
{
2097 typedef struct tagHELPINFO
{
2104 } HELPINFO
, *LPHELPINFO
;
2113 TCHAR rgchMember
[2];
2116 typedef struct tagHIGHCONTRAST
{
2119 LPTSTR lpszDefaultScheme
;
2120 } HIGHCONTRAST
, * LPHIGHCONTRAST
;
2122 typedef struct tagHSZPAIR
{
2127 typedef struct _ICONINFO
{
2133 } ICONINFO
, *PICONINFO
;
2135 typedef struct tagICONMETRICS
{
2141 } ICONMETRICS
, *LPICONMETRICS
;
2143 typedef struct _IMAGEINFO
{
2151 typedef struct _JOB_INFO_1
{
2153 LPTSTR pPrinterName
;
2154 LPTSTR pMachineName
;
2164 SYSTEMTIME Submitted
;
2168 typedef struct _JOB_INFO_2
{
2170 LPTSTR pPrinterName
;
2171 LPTSTR pMachineName
;
2176 LPTSTR pPrintProcessor
;
2181 PSECURITY_DESCRIPTOR pSecurityDescriptor
;
2189 SYSTEMTIME Submitted
;
2191 DWORD PagesPrinted
;
2195 typedef struct tagKERNINGPAIR
{
2199 } KERNINGPAIR
, *LPKERNINGPAIR
;
2201 typedef struct _LANA_ENUM
{
2203 UCHAR lana
[MAX_LANA
];
2206 typedef struct _LDT_ENTRY
{
2223 DWORD Reserved_0
: 1;
2224 DWORD Default_Big
: 1;
2225 DWORD Granularity
: 1;
2229 } LDT_ENTRY
, *PLDT_ENTRY
, *LPLDT_ENTRY
;
2231 typedef struct tagLOCALESIGNATURE
{
2233 DWORD lsCsbDefault
[2];
2234 DWORD lsCsbSupported
[2];
2238 typedef struct _LOCALGROUP_MEMBERS_INFO_0
{
2240 } LOCALGROUP_MEMBERS_INFO_0
;
2243 typedef struct _LOCALGROUP_MEMBERS_INFO_3
{
2244 LPWSTR lgrmi3_domainandname
;
2245 } LOCALGROUP_MEMBERS_INFO_3
;
2247 typedef long FXPT16DOT16
, * LPFXPT16DOT16
;
2251 typedef LUID_AND_ATTRIBUTES LUID_AND_ATTRIBUTES_ARRAY
[ANYSIZE_ARRAY
];
2252 typedef LUID_AND_ATTRIBUTES_ARRAY
*PLUID_AND_ATTRIBUTES_ARRAY
;
2254 typedef struct _LV_COLUMN
{
2263 typedef struct _LV_ITEM
{
2275 typedef struct tagLV_DISPINFO
{
2280 typedef struct _LV_FINDINFO
{
2288 typedef struct _LV_HITTESTINFO
{
2294 typedef struct tagLV_KEYDOWN
{
2300 typedef struct _MAT2
{
2307 typedef struct tagMDICREATESTRUCT
{
2319 typedef MDICREATESTRUCT
*LPMDICREATESTRUCT
;
2321 typedef struct tagMEASUREITEMSTRUCT
{
2328 } MEASUREITEMSTRUCT
, *LPMEASUREITEMSTRUCT
;
2330 typedef struct _MEMORYSTATUS
{
2335 DWORD dwTotalPageFile
;
2336 DWORD dwAvailPageFile
;
2337 DWORD dwTotalVirtual
;
2338 DWORD dwAvailVirtual
;
2339 } MEMORYSTATUS
, *LPMEMORYSTATUS
;
2345 } MENUEX_TEMPLATE_HEADER
;
2354 } MENUEX_TEMPLATE_ITEM
;
2356 typedef struct tagMENUITEMINFO
{
2363 HBITMAP hbmpChecked
;
2364 HBITMAP hbmpUnchecked
;
2368 } MENUITEMINFO
, *LPMENUITEMINFO
;
2369 typedef MENUITEMINFO CONST
*LPCMENUITEMINFO
;
2380 } MENUITEMTEMPLATEHEADER
;
2381 typedef VOID MENUTEMPLATE
, *LPMENUTEMPLATE
;
2383 typedef struct tagMETAFILEPICT
{
2390 } METAFILEPICT
, *PMETAFILEPICT
, *LPMETAFILEPICT
;
2392 typedef struct tagMETAHEADER
{
2399 WORD mtNoParameters
;
2400 } METAHEADER PACKED
;
2402 typedef struct tagMETARECORD
{
2406 } METARECORD
, *LPMETARECORD
;
2408 typedef struct tagMINIMIZEDMETRICS
{
2414 } MINIMIZEDMETRICS
, *LPMINIMIZEDMETRICS
;
2416 typedef struct tagMINMAXINFO
{
2419 POINT ptMaxPosition
;
2420 POINT ptMinTrackSize
;
2421 POINT ptMaxTrackSize
;
2424 typedef struct modemdevcaps_tag
{
2426 DWORD dwRequiredSize
;
2427 DWORD dwDevSpecificOffset
;
2428 DWORD dwDevSpecificSize
;
2430 DWORD dwModemProviderVersion
;
2431 DWORD dwModemManufacturerOffset
;
2432 DWORD dwModemManufacturerSize
;
2433 DWORD dwModemModelOffset
;
2434 DWORD dwModemModelSize
;
2435 DWORD dwModemVersionOffset
;
2436 DWORD dwModemVersionSize
;
2438 DWORD dwDialOptions
;
2439 DWORD dwCallSetupFailTimer
;
2440 DWORD dwInactivityTimeout
;
2441 DWORD dwSpeakerVolume
;
2442 DWORD dwSpeakerMode
;
2443 DWORD dwModemOptions
;
2447 BYTE abVariablePortion
[1];
2448 } MODEMDEVCAPS
, *PMODEMDEVCAPS
, *LPMODEMDEVCAPS
;
2450 typedef struct modemsettings_tag
{
2452 DWORD dwRequiredSize
;
2453 DWORD dwDevSpecificOffset
;
2454 DWORD dwDevSpecificSize
;
2456 DWORD dwCallSetupFailTimer
;
2457 DWORD dwInactivityTimeout
;
2458 DWORD dwSpeakerVolume
;
2459 DWORD dwSpeakerMode
;
2460 DWORD dwPreferredModemOptions
;
2462 DWORD dwNegotiatedModemOptions
;
2463 DWORD dwNegotiatedDCERate
;
2465 BYTE abVariablePortion
[1];
2466 } MODEMSETTINGS
, *PMODEMSETTINGS
, *LPMODEMSETTINGS
;
2468 typedef struct tagMONCBSTRUCT
{
2486 typedef struct tagMONCONVSTRUCT
{
2497 typedef struct tagMONERRSTRUCT
{
2504 typedef struct tagMONHSZSTRUCT
{
2513 typedef struct _MONITOR_INFO_1
{
2517 typedef struct _MONITOR_INFO_2
{
2519 LPTSTR pEnvironment
;
2523 typedef struct tagMONLINKSTRUCT
{
2527 WINBOOL fEstablished
;
2538 typedef struct tagMONMSGSTRUCT
{
2546 DDEML_MSG_HOOK_DATA dmhd
;
2549 typedef struct tagMOUSEHOOKSTRUCT
{
2554 } MOUSEHOOKSTRUCT
, *PMOUSEHOOKSTRUCT
, *LPMOUSEHOOKSTRUCT
;
2556 typedef struct _MOUSEKEYS
{
2560 DWORD iTimeToMaxSpeed
;
2566 typedef struct tagMSG
{
2575 typedef void CALLBACK (*MSGBOXCALLBACK
) (LPHELPINFO lpHelpInfo
);
2580 HINSTANCE hInstance
;
2585 DWORD dwContextHelpId
;
2586 MSGBOXCALLBACK lpfnMsgBoxCallback
;
2588 } MSGBOXPARAMS
, *PMSGBOXPARAMS
, *LPMSGBOXPARAMS
;
2590 typedef struct _msgfilter
{
2597 typedef struct tagMULTIKEYHELP
{
2600 TCHAR szKeyphrase
[1];
2603 typedef struct _NAME_BUFFER
{
2604 UCHAR name
[NCBNAMSZ
];
2609 typedef struct _NCB
{
2616 UCHAR ncb_callname
[NCBNAMSZ
];
2617 UCHAR ncb_name
[NCBNAMSZ
];
2620 void (*ncb_post
) (struct _NCB
*);
2623 UCHAR ncb_reserve
[10];
2627 typedef struct _NCCALCSIZE_PARAMS
{
2630 } NCCALCSIZE_PARAMS
;
2632 typedef struct _NDDESHAREINFO
{
2634 LPTSTR lpszShareName
;
2636 LPTSTR lpszAppTopicList
;
2643 LPTSTR lpszItemList
;
2646 typedef struct _NETRESOURCE
{
2649 DWORD dwDisplayType
;
2652 LPTSTR lpRemoteName
;
2655 } NETRESOURCE
, *LPNETRESOURCE
;
2657 typedef struct tagNEWCPLINFO
{
2660 DWORD dwHelpContext
;
2665 TCHAR szHelpFile
[128];
2668 typedef struct tagNEWTEXTMETRIC
{
2672 LONG tmInternalLeading
;
2673 LONG tmExternalLeading
;
2674 LONG tmAveCharWidth
;
2675 LONG tmMaxCharWidth
;
2678 LONG tmDigitizedAspectX
;
2679 LONG tmDigitizedAspectY
;
2682 BCHAR tmDefaultChar
;
2687 BYTE tmPitchAndFamily
;
2696 typedef struct tagNEWTEXTMETRICEX
{
2697 NEWTEXTMETRIC ntmentm
;
2698 FONTSIGNATURE ntmeFontSignature
;
2701 typedef struct tagNM_LISTVIEW
{
2712 typedef struct _TREEITEM
*HTREEITEM
;
2714 typedef struct _TV_ITEM
{
2725 } TV_ITEM
, *LPTV_ITEM
;
2727 typedef struct _NM_TREEVIEW
{
2734 typedef NM_TREEVIEW
*LPNM_TREEVIEW
;
2736 typedef struct _NM_UPDOWN
{
2742 typedef struct tagNONCLIENTMETRICS
{
2749 LOGFONT lfCaptionFont
;
2750 int iSmCaptionWidth
;
2751 int iSmCaptionHeight
;
2752 LOGFONT lfSmCaptionFont
;
2756 LOGFONT lfStatusFont
;
2757 LOGFONT lfMessageFont
;
2758 } NONCLIENTMETRICS
, * LPNONCLIENTMETRICS
;
2760 typedef struct _SERVICE_ADDRESS
{
2761 DWORD dwAddressType
;
2762 DWORD dwAddressFlags
;
2763 DWORD dwAddressLength
;
2764 DWORD dwPrincipalLength
;
2769 typedef struct _SERVICE_ADDRESSES
{
2770 DWORD dwAddressCount
;
2771 SERVICE_ADDRESS Addresses
[1];
2772 } SERVICE_ADDRESSES
, *LPSERVICE_ADDRESSES
;
2774 #ifndef GUID_DEFINED
2775 #define GUID_DEFINED
2776 typedef struct _GUID
2778 unsigned long Data1
;
2779 unsigned short Data2
;
2780 unsigned short Data3
;
2781 unsigned char Data4
[8];
2783 typedef GUID CLSID
, *LPCLSID
;
2786 typedef struct _SERVICE_INFO
{
2787 LPGUID lpServiceType
;
2788 LPTSTR lpServiceName
;
2791 DWORD dwDisplayHint
;
2794 LPTSTR lpMachineName
;
2795 LPSERVICE_ADDRESSES lpServiceAddress
;
2796 BLOB ServiceSpecificInfo
;
2799 typedef struct _NS_SERVICE_INFO
{
2801 SERVICE_INFO ServiceInfo
;
2804 typedef struct _numberfmt
{
2808 LPTSTR lpDecimalSep
;
2809 LPTSTR lpThousandSep
;
2813 typedef struct _OFSTRUCT
{
2819 CHAR szPathName
[OFS_MAXPATHNAME
];
2820 } OFSTRUCT
, *LPOFSTRUCT
;
2822 typedef struct tagOFN
{
2825 HINSTANCE hInstance
;
2826 LPCTSTR lpstrFilter
;
2827 LPTSTR lpstrCustomFilter
;
2828 DWORD nMaxCustFilter
;
2832 LPTSTR lpstrFileTitle
;
2833 DWORD nMaxFileTitle
;
2834 LPCTSTR lpstrInitialDir
;
2838 WORD nFileExtension
;
2839 LPCTSTR lpstrDefExt
;
2841 LPOFNHOOKPROC lpfnHook
;
2842 LPCTSTR lpTemplateName
;
2843 } OPENFILENAME
, *LPOPENFILENAME
;
2845 typedef struct _OFNOTIFY
{
2847 LPOPENFILENAME lpOFN
;
2849 } OFNOTIFY
, *LPOFNOTIFY
;
2851 typedef struct _OSVERSIONINFO
{
2852 DWORD dwOSVersionInfoSize
;
2853 DWORD dwMajorVersion
;
2854 DWORD dwMinorVersion
;
2855 DWORD dwBuildNumber
;
2857 TCHAR szCSDVersion
[ 128 ];
2858 } OSVERSIONINFO
, *POSVERSIONINFO
, *LPOSVERSIONINFO
;
2860 typedef struct tagTEXTMETRIC
{
2864 LONG tmInternalLeading
;
2865 LONG tmExternalLeading
;
2866 LONG tmAveCharWidth
;
2867 LONG tmMaxCharWidth
;
2870 LONG tmDigitizedAspectX
;
2871 LONG tmDigitizedAspectY
;
2874 BCHAR tmDefaultChar
;
2879 BYTE tmPitchAndFamily
;
2881 } TEXTMETRIC
, *LPTEXTMETRIC
;
2883 typedef struct _OUTLINETEXTMETRIC
{
2885 TEXTMETRIC otmTextMetrics
;
2887 PANOSE otmPanoseNumber
;
2888 UINT otmfsSelection
;
2890 int otmsCharSlopeRise
;
2891 int otmsCharSlopeRun
;
2897 UINT otmsCapEmHeight
;
2903 UINT otmusMinimumPPEM
;
2904 POINT otmptSubscriptSize
;
2905 POINT otmptSubscriptOffset
;
2906 POINT otmptSuperscriptSize
;
2907 POINT otmptSuperscriptOffset
;
2908 UINT otmsStrikeoutSize
;
2909 int otmsStrikeoutPosition
;
2910 int otmsUnderscoreSize
;
2911 int otmsUnderscorePosition
;
2912 PSTR otmpFamilyName
;
2916 } OUTLINETEXTMETRIC
, *LPOUTLINETEXTMETRIC
;
2918 typedef struct _OVERLAPPED
{
2924 } OVERLAPPED
, *LPOVERLAPPED
;
2926 typedef struct tagPSD
{
2935 HINSTANCE hInstance
;
2937 LPPAGESETUPHOOK lpfnPageSetupHook
;
2938 LPPAGEPAINTHOOK lpfnPagePaintHook
;
2939 LPCTSTR lpPageSetupTemplateName
;
2940 HGLOBAL hPageSetupTemplate
;
2941 } PAGESETUPDLG
, *LPPAGESETUPDLG
;
2943 typedef struct tagPAINTSTRUCT
{
2949 BYTE rgbReserved
[32];
2950 } PAINTSTRUCT
, *LPPAINTSTRUCT
;
2952 typedef struct _paraformat
{
2962 LONG rgxTabs
[MAX_TAB_STOPS
];
2965 typedef struct _PERF_COUNTER_BLOCK
{
2967 } PERF_COUNTER_BLOCK
;
2969 typedef struct _PERF_COUNTER_DEFINITION
{
2971 DWORD CounterNameTitleIndex
;
2972 LPWSTR CounterNameTitle
;
2973 DWORD CounterHelpTitleIndex
;
2974 LPWSTR CounterHelpTitle
;
2979 DWORD CounterOffset
;
2980 } PERF_COUNTER_DEFINITION
;
2982 typedef struct _PERF_DATA_BLOCK
{
2987 DWORD TotalByteLength
;
2989 DWORD NumObjectTypes
;
2990 DWORD DefaultObject
;
2991 SYSTEMTIME SystemTime
;
2992 LARGE_INTEGER PerfTime
;
2993 LARGE_INTEGER PerfFreq
;
2994 LARGE_INTEGER PerfTime100nSec
;
2995 DWORD SystemNameLength
;
2996 DWORD SystemNameOffset
;
2999 typedef struct _PERF_INSTANCE_DEFINITION
{
3001 DWORD ParentObjectTitleIndex
;
3002 DWORD ParentObjectInstance
;
3006 } PERF_INSTANCE_DEFINITION
;
3008 typedef struct _PERF_OBJECT_TYPE
{
3009 DWORD TotalByteLength
;
3010 DWORD DefinitionLength
;
3012 DWORD ObjectNameTitleIndex
;
3013 LPWSTR ObjectNameTitle
;
3014 DWORD ObjectHelpTitleIndex
;
3015 LPWSTR ObjectHelpTitle
;
3018 DWORD DefaultCounter
;
3021 LARGE_INTEGER PerfTime
;
3022 LARGE_INTEGER PerfFreq
;
3025 typedef struct _POLYTEXT
{
3033 } POLYTEXT
, *LPPOLYTEXT
;
3035 typedef struct _PORT_INFO_1
{
3039 typedef struct _PORT_INFO_2
{
3047 typedef struct _PREVENT_MEDIA_REMOVAL
{
3048 BOOLEAN PreventMediaRemoval
;
3049 } PREVENT_MEDIA_REMOVAL
;
3051 typedef struct tagPD
{
3063 HINSTANCE hInstance
;
3065 LPPRINTHOOKPROC lpfnPrintHook
;
3066 LPSETUPHOOKPROC lpfnSetupHook
;
3067 LPCTSTR lpPrintTemplateName
;
3068 LPCTSTR lpSetupTemplateName
;
3069 HANDLE hPrintTemplate
;
3070 HANDLE hSetupTemplate
;
3071 } PRINTDLG PACKED
, *LPPRINTDLG PACKED
;
3073 typedef struct _PRINTER_DEFAULTSA
3076 LPDEVMODEA pDevMode
;
3077 ACCESS_MASK DesiredAccess
;
3078 } PRINTER_DEFAULTSA
, *PPRINTER_DEFAULTSA
, *LPPRINTER_DEFAULTSA
;
3080 typedef struct _PRINTER_DEFAULTSW
3083 LPDEVMODEA pDevMode
;
3084 ACCESS_MASK DesiredAccess
;
3085 } PRINTER_DEFAULTSW
, *PPRINTER_DEFAULTSW
, *LPPRINTER_DEFAULTSW
;
3087 typedef struct _PRINTER_INFO_1
{
3089 LPTSTR pDescription
;
3092 } PRINTER_INFO_1
, *PPRINTER_INFO_1
, *LPPRINTER_INFO_1
;
3095 typedef struct _PRINTER_INFO_2
{
3097 LPTSTR pPrinterName
;
3105 LPTSTR pPrintProcessor
;
3108 PSECURITY_DESCRIPTOR pSecurityDescriptor
;
3111 DWORD DefaultPriority
;
3120 typedef struct _PRINTER_INFO_3
{
3121 PSECURITY_DESCRIPTOR pSecurityDescriptor
;
3125 typedef struct _PRINTER_INFO_4
{
3126 LPTSTR pPrinterName
;
3131 typedef struct _PRINTER_INFO_5
{
3132 LPTSTR pPrinterName
;
3135 DWORD DeviceNotSelectedTimeout
;
3136 DWORD TransmissionRetryTimeout
;
3139 typedef struct _PRINTER_NOTIFY_INFO_DATA
{
3151 } PRINTER_NOTIFY_INFO_DATA
;
3153 typedef struct _PRINTER_NOTIFY_INFO
{
3157 PRINTER_NOTIFY_INFO_DATA aData
[1];
3158 } PRINTER_NOTIFY_INFO
;
3160 typedef struct _PRINTER_NOTIFY_OPTIONS_TYPE
{
3167 } PRINTER_NOTIFY_OPTIONS_TYPE
, *PPRINTER_NOTIFY_OPTIONS_TYPE
;
3169 typedef struct _PRINTER_NOTIFY_OPTIONS
{
3173 PPRINTER_NOTIFY_OPTIONS_TYPE pTypes
;
3174 } PRINTER_NOTIFY_OPTIONS
;
3176 typedef struct _PRINTPROCESSOR_INFO_1
{
3178 } PRINTPROCESSOR_INFO_1
;
3181 typedef struct _PROCESS_HEAP_ENTRY
{
3187 DWORD dwCommittedSize
;
3188 DWORD dwUnCommittedSize
;
3189 LPVOID lpFirstBlock
;
3192 } PROCESS_HEAPENTRY
, *LPPROCESS_HEAP_ENTRY
;
3194 typedef struct _PROCESS_INFORMATION
{
3199 } PROCESS_INFORMATION
, *LPPROCESS_INFORMATION
;
3201 typedef UINT
CALLBACK (*LPFNPSPCALLBACK
) (HWND
, UINT
, LPVOID
);
3203 typedef struct _PROPSHEETPAGE
{
3206 HINSTANCE hInstance
;
3208 LPCTSTR pszTemplate
;
3209 LPCDLGTEMPLATE pResource
;
3218 LPFNPSPCALLBACK pfnCallback
;
3220 } PROPSHEETPAGE
, *LPPROPSHEETPAGE
;
3221 typedef const PROPSHEETPAGE
*LPCPROPSHEETPAGE
;
3223 typedef struct _PSP
*HPROPSHEETPAGE
;
3224 typedef struct _PROPSHEETHEADER
{
3228 HINSTANCE hInstance
;
3240 LPCPROPSHEETPAGE ppsp
;
3241 HPROPSHEETPAGE
*phpage
;
3243 PFNPROPSHEETCALLBACK pfnCallback
;
3244 } PROPSHEETHEADER
, *LPPROPSHEETHEADER
;
3245 typedef const PROPSHEETHEADER
*LPCPROPSHEETHEADER
;
3247 /* PropertySheet callbacks */
3248 typedef WINBOOL
CALLBACK (*LPFNADDPROPSHEETPAGE
) (HPROPSHEETPAGE
, LPARAM
);
3249 typedef WINBOOL
CALLBACK (*LPFNADDPROPSHEETPAGES
) (LPVOID
,
3250 LPFNADDPROPSHEETPAGE
,
3253 typedef struct _PROTOCOL_INFO
{
3254 DWORD dwServiceFlags
;
3260 DWORD dwMessageSize
;
3264 typedef struct _PROVIDOR_INFO_1
{
3266 LPTSTR pEnvironment
;
3270 typedef struct _PSHNOTIFY
{
3273 } PSHNOTIFY
, *LPPSHNOTIFY
;
3275 typedef struct _punctuation
{
3277 LPSTR szPunctuation
;
3280 typedef struct _QUERY_SERVICE_CONFIGA
{
3281 DWORD dwServiceType
;
3283 DWORD dwErrorControl
;
3284 LPSTR lpBinaryPathName
;
3285 LPSTR lpLoadOrderGroup
;
3287 LPSTR lpDependencies
;
3288 LPSTR lpServiceStartName
;
3289 LPSTR lpDisplayName
;
3290 } QUERY_SERVICE_CONFIGA
, *LPQUERY_SERVICE_CONFIGA
;
3292 typedef struct _QUERY_SERVICE_CONFIGW
{
3293 DWORD dwServiceType
;
3295 DWORD dwErrorControl
;
3296 LPWSTR lpBinaryPathName
;
3297 LPWSTR lpLoadOrderGroup
;
3299 LPWSTR lpDependencies
;
3300 LPWSTR lpServiceStartName
;
3301 LPWSTR lpDisplayName
;
3302 } QUERY_SERVICE_CONFIGW
, *LPQUERY_SERVICE_CONFIGW
;
3305 #define QUERY_SERVICE_CONFIG QUERY_SERVICE_CONFIGW
3306 #define LPQUERY_SERVICE_CONFIG LPQUERY_SERVICE_CONFIGW
3308 #define QUERY_SERVICE_CONFIG QUERY_SERVICE_CONFIGA
3309 #define LPQUERY_SERVICE_CONFIG LPQUERY_SERVICE_CONFIGA
3312 typedef struct _QUERY_SERVICE_LOCK_STATUSA
{
3315 DWORD dwLockDuration
;
3316 } QUERY_SERVICE_LOCK_STATUSA
, *LPQUERY_SERVICE_LOCK_STATUSA
;
3318 typedef struct _QUERY_SERVICE_LOCK_STATUSW
{
3321 DWORD dwLockDuration
;
3322 } QUERY_SERVICE_LOCK_STATUSW
, *LPQUERY_SERVICE_LOCK_STATUSW
;
3325 #define QUERY_SERVICE_LOCK_STATUS QUERY_SERVICE_LOCK_STATUSW
3326 #define LPQUERY_SERVICE_LOCK_STATUS LPQUERY_SERVICE_LOCK_STATUSW
3328 #define QUERY_SERVICE_LOCK_STATUS QUERY_SERVICE_LOCK_STATUSA
3329 #define LPQUERY_SERVICE_LOCK_STATUS LPQUERY_SERVICE_LOCK_STATUSA
3332 typedef struct _RASAMB
{
3335 TCHAR szNetBiosError
[ NETBIOS_NAME_LEN
+ 1 ];
3339 typedef struct _RASCONN
{
3342 TCHAR szEntryName
[RAS_MaxEntryName
+ 1];
3344 CHAR szDeviceType
[ RAS_MaxDeviceType
+ 1 ];
3345 CHAR szDeviceName
[ RAS_MaxDeviceName
+ 1 ];
3348 typedef struct _RASCONNSTATUS
{
3350 RASCONNSTATE rasconnstate
;
3352 TCHAR szDeviceType
[RAS_MaxDeviceType
+ 1];
3353 TCHAR szDeviceName
[RAS_MaxDeviceName
+ 1];
3356 typedef struct _RASDIALEXTENSIONS
{
3361 } RASDIALEXTENSIONS
;
3363 typedef struct _RASDIALPARAMS
{
3365 TCHAR szEntryName
[RAS_MaxEntryName
+ 1];
3366 TCHAR szPhoneNumber
[RAS_MaxPhoneNumber
+ 1];
3367 TCHAR szCallbackNumber
[RAS_MaxCallbackNumber
+ 1];
3368 TCHAR szUserName
[UNLEN
+ 1];
3369 TCHAR szPassword
[PWLEN
+ 1];
3370 TCHAR szDomain
[DNLEN
+ 1] ;
3373 typedef struct _RASENTRYNAME
{
3375 TCHAR szEntryName
[RAS_MaxEntryName
+ 1];
3378 typedef struct _RASPPPIP
{
3381 TCHAR szIpAddress
[ RAS_MaxIpAddress
+ 1 ];
3384 typedef struct _RASPPPIPX
{
3387 TCHAR szIpxAddress
[ RAS_MaxIpxAddress
+ 1 ];
3390 typedef struct _RASPPPNBF
{
3393 DWORD dwNetBiosError
;
3394 TCHAR szNetBiosError
[ NETBIOS_NAME_LEN
+ 1 ];
3395 TCHAR szWorkstationName
[ NETBIOS_NAME_LEN
+ 1 ];
3399 typedef struct _RASTERIZER_STATUS
{
3403 } RASTERIZER_STATUS
, *LPRASTERIZER_STATUS
;
3405 typedef struct _REASSIGN_BLOCKS
{
3408 DWORD BlockNumber
[1];
3411 typedef struct _REMOTE_NAME_INFO
{
3412 LPTSTR lpUniversalName
;
3413 LPTSTR lpConnectionName
;
3414 LPTSTR lpRemainingPath
;
3419 typedef struct _reobject {
3423 LPOLEOBJECT poleobj;
3425 LPOLECLIENTSITE polesite;
3433 typedef struct _repastespecial
{
3438 typedef struct _reqresize
{
3443 typedef struct _RGNDATAHEADER
{
3451 typedef struct _RGNDATA
{
3454 } RGNDATA
, *PRGNDATA
, *LPRGNDATA
;
3456 typedef struct tagSCROLLINFO
{
3464 } SCROLLINFO
, *LPSCROLLINFO
;
3465 typedef SCROLLINFO
const *LPCSCROLLINFO
;
3468 typedef struct _selchange
{
3474 typedef struct tagSERIALKEYS
{
3477 LPSTR lpszActivePort
;
3481 } SERIALKEYS
, * LPSERIALKEYS
;
3483 typedef struct _SERVICE_TABLE_ENTRYA
{
3484 LPSTR lpServiceName
;
3485 LPSERVICE_MAIN_FUNCTION lpServiceProc
;
3486 } SERVICE_TABLE_ENTRYA
, *LPSERVICE_TABLE_ENTRYA
;
3488 typedef struct _SERVICE_TABLE_ENTRYW
{
3489 LPWSTR lpServiceName
;
3490 LPSERVICE_MAIN_FUNCTION lpServiceProc
;
3491 } SERVICE_TABLE_ENTRYW
, *LPSERVICE_TABLE_ENTRYW
;
3494 #define SERVICE_TABLE_ENTRY SERVICE_TABLE_ENTRYW
3495 #define LPSERVICE_TABLE_ENTRY LPSERVICE_TABLE_ENTRYW
3497 #define SERVICE_TABLE_ENTRY SERVICE_TABLE_ENTRYA
3498 #define LPSERVICE_TABLE_ENTRY LPSERVICE_TABLE_ENTRYA
3502 typedef struct _SERVICE_TYPE_VALUE_ABS
{
3508 } SERVICE_TYPE_VALUE_ABS
;
3510 typedef struct _SERVICE_TYPE_INFO_ABS
{
3513 SERVICE_TYPE_VALUE_ABS Values
[1];
3514 } SERVICE_TYPE_INFO_ABS
;
3516 typedef struct _SESSION_BUFFER
{
3519 UCHAR local_name
[NCBNAMSZ
];
3520 UCHAR remote_name
[NCBNAMSZ
];
3521 UCHAR rcvs_outstanding
;
3522 UCHAR sends_outstanding
;
3525 typedef struct _SESSION_HEADER
{
3528 UCHAR rcv_dg_outstanding
;
3529 UCHAR rcv_any_outstanding
;
3532 typedef enum tagSHCONTF
{
3533 SHCONTF_FOLDERS
= 32,
3534 SHCONTF_NONFOLDERS
= 64,
3535 SHCONTF_INCLUDEHIDDEN
= 128,
3538 typedef struct _SHFILEINFO
{
3542 char szDisplayName
[MAX_PATH
];
3543 char szTypeName
[80];
3546 typedef WORD FILEOP_FLAGS
;
3547 typedef struct _SHFILEOPSTRUCT
{
3552 FILEOP_FLAGS fFlags
;
3553 WINBOOL fAnyOperationsAborted
;
3554 LPVOID hNameMappings
;
3555 LPCSTR lpszProgressTitle
;
3556 } SHFILEOPSTRUCT
, *LPSHFILEOPSTRUCT
;
3558 typedef enum tagSHGDN
{
3561 SHGDN_FORPARSING
= 0x8000,
3564 typedef struct _SHNAMEMAPPING
{
3569 } SHNAMEMAPPING
, *LPSHNAMEMAPPING
;
3571 typedef struct tagSOUNDSENTRY
{
3574 DWORD iFSTextEffect
;
3575 DWORD iFSTextEffectMSec
;
3576 DWORD iFSTextEffectColorBits
;
3577 DWORD iFSGrafEffect
;
3578 DWORD iFSGrafEffectMSec
;
3579 DWORD iFSGrafEffectColor
;
3580 DWORD iWindowsEffect
;
3581 DWORD iWindowsEffectMSec
;
3582 LPTSTR lpszWindowsEffectDLL
;
3583 DWORD iWindowsEffectOrdinal
;
3584 } SOUNDSENTRY
, *LPSOUNDSENTRY
;
3586 typedef struct _STARTUPINFOA
{
3595 DWORD dwXCountChars
;
3596 DWORD dwYCountChars
;
3597 DWORD dwFillAttribute
;
3605 } STARTUPINFOA
, *LPSTARTUPINFOA
;
3607 typedef struct _STARTUPINFOW
{
3616 DWORD dwXCountChars
;
3617 DWORD dwYCountChars
;
3618 DWORD dwFillAttribute
;
3626 } STARTUPINFOW
, *LPSTARTUPINFOW
;
3629 typedef STARTUPINFOW STARTUPINFO
;
3630 typedef LPSTARTUPINFOW LPSTARTUPINFO
;
3632 typedef STARTUPINFOA STARTUPINFO
;
3633 typedef LPSTARTUPINFOA LPSTARTUPINFO
;
3634 #endif /* UNICODE */
3636 typedef struct tagSTICKYKEYS
{
3639 } STICKYKEYS
, *LPSTICKYKEYS
;
3641 typedef struct _STRRET
{
3647 char cStr
[MAX_PATH
];
3649 } STRRET
, *LPSTRRET
;
3651 typedef struct _tagSTYLEBUF
{
3653 CHAR szDescription
[32];
3654 } STYLEBUF
, *LPSTYLEBUF
;
3656 typedef struct tagSTYLESTRUCT
{
3659 } STYLESTRUCT
, * LPSTYLESTRUCT
;
3661 typedef struct _SYSTEM_AUDIT_ACE
{
3667 typedef struct _SYSTEM_INFO
3674 WORD wProcessorArchitecture
;
3681 LPVOID lpMinimumApplicationAddress
;
3682 LPVOID lpMaximumApplicationAddress
;
3683 DWORD dwActiveProcessorMask
;
3684 DWORD dwNumberOfProcessors
;
3685 DWORD dwProcessorType
;
3686 DWORD dwAllocationGranularity
;
3687 WORD wProcessorLevel
;
3688 WORD wProcessorRevision
;
3689 } SYSTEM_INFO
, *LPSYSTEM_INFO
;
3691 typedef struct _SYSTEM_POWER_STATUS
{
3694 BYTE BatteryLifePercent
;
3696 DWORD BatteryLifeTime
;
3697 DWORD BatteryFullLifeTime
;
3698 } SYSTEM_POWER_STATUS
;
3699 typedef SYSTEM_POWER_STATUS
*LPSYSTEM_POWER_STATUS
;
3701 typedef struct _TAPE_ERASE
{
3705 typedef struct _TAPE_GET_DRIVE_PARAMETERS
{
3707 BOOLEAN Compression
;
3708 BOOLEAN DataPadding
;
3709 BOOLEAN ReportSetmarks
;
3710 ULONG DefaultBlockSize
;
3711 ULONG MaximumBlockSize
;
3712 ULONG MinimumBlockSize
;
3713 ULONG MaximumPartitionCount
;
3716 ULONG EOTWarningZoneSize
;
3717 } TAPE_GET_DRIVE_PARAMETERS
;
3719 typedef struct _TAPE_GET_MEDIA_PARAMETERS
{
3720 LARGE_INTEGER Capacity
;
3721 LARGE_INTEGER Remaining
;
3723 DWORD PartitionCount
;
3724 BOOLEAN WriteProtected
;
3725 } TAPE_GET_MEDIA_PARAMETERS
;
3727 typedef struct _TAPE_GET_POSITION
{
3732 } TAPE_GET_POSITION
;
3734 typedef struct _TAPE_PREPARE
{
3738 typedef struct _TAPE_SET_DRIVE_PARAMETERS
{
3740 BOOLEAN Compression
;
3741 BOOLEAN DataPadding
;
3742 BOOLEAN ReportSetmarks
;
3743 ULONG EOTWarningZoneSize
;
3744 } TAPE_SET_DRIVE_PARAMETERS
;
3746 typedef struct _TAPE_SET_MEDIA_PARAMETERS
{
3748 } TAPE_SET_MEDIA_PARAMETERS
;
3750 typedef struct _TAPE_SET_POSITION
{
3755 } TAPE_SET_POSITION
;
3757 typedef struct _TAPE_WRITE_MARKS
{
3765 } TBADDBITMAP
, *LPTBADDBITMAP
;
3767 typedef struct _TBBUTTON
{
3774 } TBBUTTON
, * PTBBUTTON
, * LPTBBUTTON
;
3775 typedef const TBBUTTON
* LPCTBBUTTON
;
3783 } TBNOTIFY
, *LPTBNOTIFY
;
3788 LPCTSTR pszValueName
;
3791 typedef struct _TC_HITTESTINFO
{
3796 typedef struct _TC_ITEM
{
3806 typedef struct _TC_ITEMHEADER
{
3815 typedef struct _TC_KEYDOWN
{
3821 typedef struct _textrange
{
3826 typedef struct tagTOGGLEKEYS
{
3839 } TOOLINFO
, *PTOOLINFO
, *LPTOOLINFO
;
3847 } TOOLTIPTEXT
, *LPTOOLTIPTEXT
;
3849 typedef struct tagTPMPARAMS
{
3852 } TPMPARAMS
, *LPTPMPARAMS
;
3854 typedef struct _TRANSMIT_FILE_BUFFERS
{
3859 } TRANSMIT_FILE_BUFFERS
;
3861 typedef struct _TT_HITTESTINFO
{
3865 } TTHITTESTINFO
, * LPHITTESTINFO
;
3867 typedef struct tagTTPOLYCURVE
{
3871 } TTPOLYCURVE
, * LPTTPOLYCURVE
;
3873 typedef struct _TTPOLYGONHEADER
{
3877 } TTPOLYGONHEADER
, * LPTTPOLYGONHEADER
;
3879 typedef struct _TV_DISPINFO
{
3884 typedef struct _TVHITTESTINFO
{
3888 } TV_HITTESTINFO
, *LPTV_HITTESTINFO
;
3890 typedef struct _TV_INSERTSTRUCT
{
3892 HTREEITEM hInsertAfter
;
3894 } TV_INSERTSTRUCT
, *LPTV_INSERTSTRUCT
;
3896 typedef struct _TV_KEYDOWN
{
3902 typedef struct _TV_SORTCB
{
3904 PFNTVCOMPARE lpfnCompare
;
3906 } TV_SORTCB
, *LPTV_SORTCB
;
3913 typedef struct _UNIVERSAL_NAME_INFO
{
3914 LPTSTR lpUniversalName
;
3915 } UNIVERSAL_NAME_INFO
;
3917 typedef struct tagUSEROBJECTFLAGS
{
3923 typedef struct _VERIFY_INFORMATION
{
3924 LARGE_INTEGER StartingOffset
;
3926 } VERIFY_INFORMATION
;
3928 typedef struct _VS_FIXEDFILEINFO
{
3930 DWORD dwStrucVersion
;
3931 DWORD dwFileVersionMS
;
3932 DWORD dwFileVersionLS
;
3933 DWORD dwProductVersionMS
;
3934 DWORD dwProductVersionLS
;
3935 DWORD dwFileFlagsMask
;
3939 DWORD dwFileSubtype
;
3944 typedef struct _WIN32_FIND_DATAA
{
3945 DWORD dwFileAttributes
;
3946 FILETIME ftCreationTime
;
3947 FILETIME ftLastAccessTime
;
3948 FILETIME ftLastWriteTime
;
3949 DWORD nFileSizeHigh
;
3953 CHAR cFileName
[ MAX_PATH
];
3954 CHAR cAlternateFileName
[ 14 ];
3955 } WIN32_FIND_DATAA
, *LPWIN32_FIND_DATAA
, *PWIN32_FIND_DATAA
;
3957 typedef struct _WIN32_FIND_DATAW
{
3958 DWORD dwFileAttributes
;
3959 FILETIME ftCreationTime
;
3960 FILETIME ftLastAccessTime
;
3961 FILETIME ftLastWriteTime
;
3962 DWORD nFileSizeHigh
;
3966 WCHAR cFileName
[ MAX_PATH
];
3967 WCHAR cAlternateFileName
[ 14 ];
3968 } WIN32_FIND_DATAW
, *LPWIN32_FIND_DATAW
, *PWIN32_FIND_DATAW
;
3971 #define WIN32_FIND_DATA WIN32_FIND_DATAW
3972 #define PWIN32_FIND_DATA PWIN32_FIND_DATAW
3973 #define LPWIN32_FIND_DATA LPWIN32_FIND_DATAW
3975 #define WIN32_FIND_DATA WIN32_FIND_DATAA
3976 #define PWIN32_FIND_DATA PWIN32_FIND_DATAA
3977 #define LPWIN32_FIND_DATA LPWIN32_FIND_DATAA
3980 typedef struct _WIN32_STREAM_ID
{
3982 DWORD dwStreamAttributes
;
3984 DWORD dwStreamNameSize
;
3988 typedef struct _WINDOWPLACEMENT
{
3992 POINT ptMinPosition
;
3993 POINT ptMaxPosition
;
3994 RECT rcNormalPosition
;
3997 typedef struct _WNDCLASS
{
3999 WNDPROC lpfnWndProc
;
4005 HBRUSH hbrBackground
;
4006 LPCTSTR lpszMenuName
;
4007 LPCTSTR lpszClassName
;
4008 } WNDCLASS
, *LPWNDCLASS
;
4010 typedef struct _WNDCLASSEX
{
4013 WNDPROC lpfnWndProc
;
4019 HBRUSH hbrBackground
;
4020 LPCTSTR lpszMenuName
;
4021 LPCTSTR lpszClassName
;
4023 } WNDCLASSEX
, *LPWNDCLASSEX
;
4025 typedef struct _CONNECTDLGSTRUCT
{
4028 LPNETRESOURCE lpConnRes
;
4031 } CONNECTDLGSTRUCT
, *LPCONNECTDLGSTRUCT
;
4033 typedef struct _DISCDLGSTRUCT
{
4037 LPTSTR lpRemoteName
;
4039 } DISCDLGSTRUCT
, *LPDISCDLGSTRUCT
;
4041 typedef struct _NETINFOSTRUCT
{
4043 DWORD dwProviderVersion
;
4045 DWORD dwCharacteristics
;
4050 } NETINFOSTRUCT
, *LPNETINFOSTRUCT
;
4052 typedef struct _NETCONNECTINFOSTRUCT
{
4057 DWORD dwOptDataSize
;
4058 } NETCONNECTINFOSTRUCT
, *LPNETCONNECTINFOSTRUCT
;
4060 typedef int CALLBACK (*ENUMMETAFILEPROC
) (HDC
, HANDLETABLE
,
4061 METARECORD
, int, LPARAM
);
4062 typedef int CALLBACK (*ENHMETAFILEPROC
) (HDC
, HANDLETABLE
,
4063 ENHMETARECORD
, int, LPARAM
);
4065 typedef int CALLBACK (*ENUMFONTSPROC
) (LPLOGFONT
, LPTEXTMETRIC
, DWORD
, LPARAM
);
4066 typedef int CALLBACK (*FONTENUMPROC
) (ENUMLOGFONT
*, NEWTEXTMETRIC
*,
4068 typedef int CALLBACK (*FONTENUMEXPROC
) (ENUMLOGFONTEX
*, NEWTEXTMETRICEX
*,
4071 typedef VOID
CALLBACK (*LPOVERLAPPED_COMPLETION_ROUTINE
) (DWORD
, DWORD
,
4075 Structures for the extensions to OpenGL
4077 typedef struct _POINTFLOAT
4081 } POINTFLOAT
, *PPOINTFLOAT
;
4083 typedef struct _GLYPHMETRICSFLOAT
4087 POINTFLOAT gmfptGlyphOrigin
;
4090 } GLYPHMETRICSFLOAT
, *PGLYPHMETRICSFLOAT
, *LPGLYPHMETRICSFLOAT
;
4092 typedef struct tagLAYERPLANEDESCRIPTOR
4109 BYTE cAccumGreenBits
;
4110 BYTE cAccumBlueBits
;
4111 BYTE cAccumAlphaBits
;
4117 COLORREF crTransparent
;
4118 } LAYERPLANEDESCRIPTOR
, *PLAYERPLANEDESCRIPTOR
, *LPLAYERPLANEDESCRIPTOR
;
4120 typedef struct tagPIXELFORMATDESCRIPTOR
4137 BYTE cAccumGreenBits
;
4138 BYTE cAccumBlueBits
;
4139 BYTE cAccumAlphaBits
;
4146 DWORD dwVisibleMask
;
4148 } PIXELFORMATDESCRIPTOR
, *PPIXELFORMATDESCRIPTOR
, *LPPIXELFORMATDESCRIPTOR
;
4153 LPWSTR usri2_password
;
4154 DWORD usri2_password_age
;
4156 LPWSTR usri2_home_dir
;
4157 LPWSTR usri2_comment
;
4159 LPWSTR usri2_script_path
;
4160 DWORD usri2_auth_flags
;
4161 LPWSTR usri2_full_name
;
4162 LPWSTR usri2_usr_comment
;
4164 LPWSTR usri2_workstations
;
4165 DWORD usri2_last_logon
;
4166 DWORD usri2_last_logoff
;
4167 DWORD usri2_acct_expires
;
4168 DWORD usri2_max_storage
;
4169 DWORD usri2_units_per_week
;
4170 PBYTE usri2_logon_hours
;
4171 DWORD usri2_bad_pw_count
;
4172 DWORD usri2_num_logons
;
4173 LPWSTR usri2_logon_server
;
4174 DWORD usri2_country_code
;
4175 DWORD usri2_code_page
;
4176 } USER_INFO_2
, *PUSER_INFO_2
, *LPUSER_INFO_2
;
4181 } USER_INFO_0
, *PUSER_INFO_0
, *LPUSER_INFO_0
;
4186 LPWSTR usri3_password
;
4187 DWORD usri3_password_age
;
4189 LPWSTR usri3_home_dir
;
4190 LPWSTR usri3_comment
;
4192 LPWSTR usri3_script_path
;
4193 DWORD usri3_auth_flags
;
4194 LPWSTR usri3_full_name
;
4195 LPWSTR usri3_usr_comment
;
4197 LPWSTR usri3_workstations
;
4198 DWORD usri3_last_logon
;
4199 DWORD usri3_last_logoff
;
4200 DWORD usri3_acct_expires
;
4201 DWORD usri3_max_storage
;
4202 DWORD usri3_units_per_week
;
4203 PBYTE usri3_logon_hours
;
4204 DWORD usri3_bad_pw_count
;
4205 DWORD usri3_num_logons
;
4206 LPWSTR usri3_logon_server
;
4207 DWORD usri3_country_code
;
4208 DWORD usri3_code_page
;
4209 DWORD usri3_user_id
;
4210 DWORD usri3_primary_group_id
;
4211 LPWSTR usri3_profile
;
4212 LPWSTR usri3_home_dir_drive
;
4213 DWORD usri3_password_expired
;
4214 } USER_INFO_3
, *PUSER_INFO_3
, *LPUSER_INFO_3
;
4219 LPWSTR grpi2_comment
;
4220 DWORD grpi2_group_id
;
4221 DWORD grpi2_attributes
;
4222 } GROUP_INFO_2
, *PGROUP_INFO_2
;
4227 } LOCALGROUP_INFO_0
, *PLOCALGROUP_INFO_0
, *LPLOCALGROUP_INFO_0
;
4229 /* PE executable header. */
4230 /* Windows.h now includes pe.h to avoid conflicts! */
4232 typedef struct _DISPLAY_DEVICE
{
4234 WCHAR DeviceName
[32];
4235 WCHAR DeviceString
[128];
4237 WCHAR DeviceID
[128];
4238 WCHAR DeviceKey
[128];
4239 } DISPLAY_DEVICE
, *PDISPLAY_DEVICE
;
4241 typedef HANDLE HMONITOR
;
4242 typedef HANDLE HDEVNOTIFY
;
4244 typedef BOOL
CALLBACK (*MonitorEnumProc
)(
4250 typedef MonitorEnumProc MONITORENUMPROC
;
4258 } FLASHWINFO
, *PFLASHWINFO
;
4260 typedef struct tagALTTABINFO
{
4270 } ALTTABINFO
, *PALTTABINFO
, *LPALTTABINFO
;
4272 typedef struct tagCOMBOBOXINFO
{
4280 } COMBOBOXINFO
, *PCOMBOBOXINFO
, *LPCOMBOBOXINFO
;
4282 typedef struct tagCURSORINFO
{
4287 } CURSORINFO
, *PCURSORINFO
, *LPCURSORINFO
;
4289 typedef struct tagGUITHREADINFO
{
4299 } GUITHREADINFO
, *PGUITHREADINFO
, *LPGUITHREADINFO
;
4301 typedef struct tagLASTINPUTINFO
{
4304 } LASTINPUTINFO
, *PLASTINPUTINFO
;
4306 typedef struct tagMENUBARINFO
{
4313 } MENUBARINFO
, *PMENUBARINFO
;
4315 typedef struct tagMENUINFO
{
4321 DWORD dwContextHelpID
;
4322 ULONG_PTR dwMenuData
;
4323 } MENUINFO
, FAR
*LPMENUINFO
;
4324 typedef MENUINFO CONST FAR
*LPCMENUINFO
;
4326 typedef struct tagMONITORINFO
{
4331 } MONITORINFO
, *LPMONITORINFO
;
4333 typedef struct tagMOUSEMOVEPOINT
{
4337 ULONG_PTR dwExtraInfo
;
4338 } MOUSEMOVEPOINT
, *PMOUSEMOVEPOINT
, *LPMOUSEMOVEPOINT
;
4340 #define CCHILDREN_SCROLLBAR 5
4342 typedef struct tagSCROLLBARINFO
{
4349 DWORD rgstate
[CCHILDREN_SCROLLBAR
+1];
4350 } SCROLLBARINFO
, *PSCROLLBARINFO
, *LPSCROLLBARINFO
;
4352 #define CCHILDREN_TITLEBAR 5
4354 typedef struct tagTITLEBARINFO
{
4357 DWORD rgstate
[CCHILDREN_TITLEBAR
+1];
4358 } TITLEBARINFO
, *PTITLEBARINFO
, *LPTITLEBARINFO
;
4362 LPCTSTR szWindowName
;
4364 UINT32 fToBeTerminated
;
4365 } WINDOWINFO
, *PWINDOWINFO
, *LPWINDOWINFO
;
4367 typedef struct tagMOUSEINPUT
{
4373 ULONG_PTR dwExtraInfo
;
4374 } MOUSEINPUT
, *PMOUSEINPUT
;
4376 typedef struct tagKEYBDINPUT
{
4381 ULONG_PTR dwExtraInfo
;
4382 } KEYBDINPUT
, *PKEYBDINPUT
;
4384 typedef struct tagHARDWAREINPUT
{
4388 } HARDWAREINPUT
, *PHARDWAREINPUT
;
4390 typedef struct tagINPUT
{
4398 } INPUT
, *PINPUT
, FAR
* LPINPUT
;
4400 typedef struct tagTRACKMOUSEEVENT
{
4405 } TRACKMOUSEEVENT
, *LPTRACKMOUSEEVENT
;
4407 typedef struct _BLENDFUNCTION
{
4410 BYTE SourceConstantAlpha
;
4412 }BLENDFUNCTION
, *PBLENDFUNCTION
, *LPBLENDFUNCTION
;
4414 typedef enum _GET_FILEEX_INFO_LEVELS
{
4415 GetFileExInfoStandard
4416 } GET_FILEEX_INFO_LEVELS
;
4418 typedef struct _WIN32_FILE_ATTRIBUTES_DATA
{
4419 DWORD dwFileAttributes
;
4420 FILETIME ftCreationTime
;
4421 FILETIME ftLastAccessTime
;
4422 FILETIME ftLastWriteTime
;
4423 DWORD nFileSizeHigh
;
4425 } WIN32_FILE_ATTRIBUTE_DATA
, *LPWIN32_FILE_ATTRIBUTE_DATA
;
4429 #endif /* __cplusplus */
4431 #endif /* WIN32_LEAN_AND_MEAN */
4433 #endif /* _GNU_H_WINDOWS32_STRUCTURES */