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 typedef union _LARGE_INTEGER
44 } LARGE_INTEGER
, *PLARGE_INTEGER
;
46 typedef union _ULARGE_INTEGER
54 } ULARGE_INTEGER
, *PULARGE_INTEGER
;
58 typedef struct _LIST_ENTRY
{
59 struct _LIST_ENTRY
*Flink
;
60 struct _LIST_ENTRY
*Blink
;
61 } LIST_ENTRY
, *PLIST_ENTRY
;
65 typedef struct _PARTITION_INFORMATION
{
67 BOOLEAN BootIndicator
;
68 BOOLEAN RecognizedPartition
;
69 BOOLEAN RewritePartition
;
70 LARGE_INTEGER StartingOffset
;
71 LARGE_INTEGER PartitionLength
;
72 LARGE_INTEGER HiddenSectors
;
73 } PARTITION_INFORMATION
;
75 typedef struct _SINGLE_LIST_ENTRY
{
76 struct _SINGLE_LIST_ENTRY
*Next
;
77 } SINGLE_LIST_ENTRY
, *PSINGLE_LIST_ENTRY
;
80 typedef struct _CRITICAL_SECTION_DEBUG
{
82 WORD CreatorBackTraceIndex
;
83 struct _CRITICAL_SECTION
*CriticalSection
;
84 LIST_ENTRY ProcessLocksList
;
86 DWORD ContentionCount
;
88 PVOID OwnerBackTrace
[ 5 ];
89 } CRITICAL_SECTION_DEBUG
, *PCRITICAL_SECTION_DEBUG
;
91 typedef struct _CRITICAL_SECTION
{
92 PCRITICAL_SECTION_DEBUG DebugInfo
;
98 } CRITICAL_SECTION
, *PCRITICAL_SECTION
, *LPCRITICAL_SECTION
;
100 typedef struct _GENERIC_MAPPING
{
101 ACCESS_MASK GenericRead
;
102 ACCESS_MASK GenericWrite
;
103 ACCESS_MASK GenericExecute
;
104 ACCESS_MASK GenericAll
;
105 } GENERIC_MAPPING
, *PGENERIC_MAPPING
;
107 typedef struct _PRIVILEGE_SET
{
108 DWORD PrivilegeCount
;
110 LUID_AND_ATTRIBUTES Privilege
[ANYSIZE_ARRAY
];
111 } PRIVILEGE_SET
, *PPRIVILEGE_SET
, *LPPRIVILEGE_SET
;
115 typedef struct _FLOATING_SAVE_AREA
{
123 BYTE RegisterArea
[80];
125 } FLOATING_SAVE_AREA
;
127 typedef struct _CONTEXT
{
137 FLOATING_SAVE_AREA FloatSave
;
157 } CONTEXT
, *PCONTEXT
, *LPCONTEXT
;
163 /* Floating point registers returned when CONTEXT_FLOATING_POINT is set */
198 /* Integer registers returned when CONTEXT_INTEGER is set. */
232 DWORD Cr
; /* Condition register */
233 DWORD Xer
; /* Fixed point exception register */
235 /* The following are set when CONTEXT_CONTROL is set. */
236 DWORD Msr
; /* Machine status register */
237 DWORD Iar
; /* Instruction address register */
238 DWORD Lr
; /* Link register */
239 DWORD Ctr
; /* Control register */
241 /* Control which context values are returned */
245 /* Registers returned if CONTEXT_DEBUG_REGISTERS is set. */
246 DWORD Dr0
; /* Breakpoint Register 1 */
247 DWORD Dr1
; /* Breakpoint Register 2 */
248 DWORD Dr2
; /* Breakpoint Register 3 */
249 DWORD Dr3
; /* Breakpoint Register 4 */
250 DWORD Dr4
; /* Breakpoint Register 5 */
251 DWORD Dr5
; /* Breakpoint Register 6 */
252 DWORD Dr6
; /* Debug Status Register */
253 DWORD Dr7
; /* Debug Control Register */
254 } CONTEXT
, *PCONTEXT
, *LPCONTEXT
;
258 typedef struct value_ent
{
266 typedef struct _EXCEPTION_RECORD
{
268 DWORD ExceptionFlags
;
269 struct _EXCEPTION_RECORD
*ExceptionRecord
;
270 PVOID ExceptionAddress
;
271 DWORD NumberParameters
;
272 DWORD ExceptionInformation
[EXCEPTION_MAXIMUM_PARAMETERS
];
273 } EXCEPTION_RECORD
, *PEXCEPTION_RECORD
, *LPEXCEPTION_RECORD
;
275 typedef struct _DRIVE_LAYOUT_INFORMATION
{
276 DWORD PartitionCount
;
278 PARTITION_INFORMATION PartitionEntry
[1];
279 } DRIVE_LAYOUT_INFORMATION
;
281 typedef struct _KEY_EVENT_RECORD
{
284 WORD wVirtualKeyCode
;
285 WORD wVirtualScanCode
;
290 DWORD dwControlKeyState
;
291 } KEY_EVENT_RECORD PACKED
;
293 typedef struct _COORD
{
298 typedef struct _MOUSE_EVENT_RECORD
{
299 COORD dwMousePosition
;
301 DWORD dwControlKeyState
;
303 } MOUSE_EVENT_RECORD
;
305 typedef struct _DISK_GEOMETRY
{
306 LARGE_INTEGER Cylinders
;
307 MEDIA_TYPE MediaType
;
308 DWORD TracksPerCylinder
;
309 DWORD SectorsPerTrack
;
310 DWORD BytesPerSector
;
313 typedef struct _MEMORY_BASIC_INFORMATION
{
315 PVOID AllocationBase
;
316 DWORD AllocationProtect
;
321 } MEMORY_BASIC_INFORMATION
;
322 typedef MEMORY_BASIC_INFORMATION
*PMEMORY_BASIC_INFORMATION
;
324 typedef struct _SYSTEMTIME
{
333 } SYSTEMTIME
, *LPSYSTEMTIME
;
335 typedef struct _TIME_ZONE_INFORMATION
{
337 WCHAR StandardName
[ 32 ];
338 SYSTEMTIME StandardDate
;
340 WCHAR DaylightName
[ 32 ];
341 SYSTEMTIME DaylightDate
;
343 } TIME_ZONE_INFORMATION
, *LPTIME_ZONE_INFORMATION
;
346 #ifndef WIN32_LEAN_AND_MEAN
350 #endif /* __cplusplus */
352 typedef struct _ABC
{
358 typedef struct _ABCFLOAT
{
362 } ABCFLOAT
, *LPABCFLOAT
;
364 typedef struct tagACCEL
{
370 typedef struct tagACCESSTIMEOUT
{
376 typedef struct _ACL_REVISION_INFORMATION
{
378 } ACL_REVISION_INFORMATION
;
380 typedef struct _ACL_SIZE_INFORMATION
{
384 } ACL_SIZE_INFORMATION
;
386 typedef struct _ACTION_HEADER
{
392 typedef struct _ADAPTER_STATUS
{
393 UCHAR adapter_address
[6];
401 WORD iframe_recv_err
;
405 WORD iframe_xmit_err
;
406 WORD recv_buff_unavail
;
413 WORD xmit_buf_unavail
;
418 WORD max_sess_pkt_size
;
422 typedef struct _ADDJOB_INFO_1
{
427 typedef struct tagANIMATIONINFO
{
430 } ANIMATIONINFO
, *LPANIMATIONINFO
;
432 typedef struct _RECT
{
437 } RECT
, *LPRECT
, *PRECT
;
439 typedef struct _RECTL
{
446 typedef struct _AppBarData
{
449 UINT uCallbackMessage
;
453 } APPBARDATA
, *PAPPBARDATA
;
455 typedef struct tagBITMAP
464 } BITMAP
, *PBITMAP
, *NPBITMAP
, *LPBITMAP
;
466 typedef struct tagBITMAPCOREHEADER
{
474 typedef struct tagRGBTRIPLE
{
480 typedef struct _BITMAPCOREINFO
{
481 BITMAPCOREHEADER bmciHeader
;
482 RGBTRIPLE bmciColors
[1];
483 } BITMAPCOREINFO
, *PBITMAPCOREINFO
, *LPBITMAPCOREINFO
;
485 typedef struct tagBITMAPFILEHEADER
{
491 } BITMAPFILEHEADER
__attribute__((packed
));
493 typedef struct tagBITMAPINFOHEADER
{
501 LONG biXPelsPerMeter
;
502 LONG biYPelsPerMeter
;
504 DWORD biClrImportant
;
505 } BITMAPINFOHEADER
, *LPBITMAPINFOHEADER
, *PBITMAPINFOHEADER
;
507 typedef struct tagRGBQUAD
{
514 typedef struct tagBITMAPINFO
{
515 BITMAPINFOHEADER bmiHeader
;
516 RGBQUAD bmiColors
[1];
517 } BITMAPINFO
, *LPBITMAPINFO
, *PBITMAPINFO
;
519 typedef long FXPT2DOT30
, * LPFXPT2DOT30
;
521 typedef struct tagCIEXYZ
527 typedef CIEXYZ
* LPCIEXYZ
;
529 typedef struct tagCIEXYZTRIPLE
535 typedef CIEXYZTRIPLE
* LPCIEXYZTRIPLE
;
543 DWORD bV4V4Compression
;
545 LONG bV4XPelsPerMeter
;
546 LONG bV4YPelsPerMeter
;
548 DWORD bV4ClrImportant
;
554 CIEXYZTRIPLE bV4Endpoints
;
558 } BITMAPV4HEADER
, *LPBITMAPV4HEADER
, *PBITMAPV4HEADER
;
560 typedef struct _BLOB
{
565 typedef struct _SHITEMID
{
568 } SHITEMID
, * LPSHITEMID
;
569 typedef const SHITEMID
* LPCSHITEMID
;
571 typedef struct _ITEMIDLIST
{
573 } ITEMIDLIST
, * LPITEMIDLIST
;
574 typedef const ITEMIDLIST
* LPCITEMIDLIST
;
576 typedef struct _browseinfo
{
578 LPCITEMIDLIST pidlRoot
;
579 LPSTR pszDisplayName
;
585 } BROWSEINFO
, *PBROWSEINFO
, *LPBROWSEINFO
;
587 typedef struct _FILETIME
{
589 DWORD dwHighDateTime
;
590 } FILETIME
, *LPFILETIME
, *PFILETIME
;
592 typedef struct _BY_HANDLE_FILE_INFORMATION
{
593 DWORD dwFileAttributes
;
594 FILETIME ftCreationTime
;
595 FILETIME ftLastAccessTime
;
596 FILETIME ftLastWriteTime
;
597 DWORD dwVolumeSerialNumber
;
600 DWORD nNumberOfLinks
;
601 DWORD nFileIndexHigh
;
603 } BY_HANDLE_FILE_INFORMATION
, *LPBY_HANDLE_FILE_INFORMATION
;
605 typedef struct _FIXED
{
610 typedef struct tagPOINT
{
613 } POINT
, *LPPOINT
, *PPOINT
;
615 typedef struct tagPOINTFX
{
620 typedef struct _POINTL
{
625 typedef struct tagPOINTS
{
630 typedef struct _tagCANDIDATEFORM
{
635 } CANDIDATEFORM
, *LPCANDIDATEFORM
;
637 typedef struct _tagCANDIDATELIST
{
645 } CANDIDATELIST
, *LPCANDIDATELIST
;
647 typedef struct tagCREATESTRUCT
{
648 LPVOID lpCreateParams
;
660 } CREATESTRUCT
, *LPCREATESTRUCT
;
662 typedef struct tagCBT_CREATEWND
{
664 HWND hwndInsertAfter
;
667 typedef struct tagCBTACTIVATESTRUCT
{
672 typedef struct _CHAR_INFO
{
678 } CHAR_INFO
, *PCHAR_INFO
;
680 typedef struct _charformat
{
686 COLORREF crTextColor
;
688 BYTE bPitchAndFamily
;
689 TCHAR szFaceName
[LF_FACESIZE
];
692 typedef struct _charrange
{
697 typedef struct tagCHARSET
{
702 typedef struct tagFONTSIGNATURE
{
705 } FONTSIGNATURE
, *LPFONTSIGNATURE
;
711 } CHARSETINFO
, *LPCHARSETINFO
;
718 COLORREF
* lpCustColors
;
721 LPCCHOOKPROC lpfnHook
;
722 LPCTSTR lpTemplateName
;
723 } CHOOSECOLOR
, *LPCHOOSECOLOR
;
725 typedef struct tagLOGFONT
{
736 BYTE lfClipPrecision
;
738 BYTE lfPitchAndFamily
;
739 TCHAR lfFaceName
[LF_FACESIZE
];
740 } LOGFONT
, *LPLOGFONT
, *PLOGFONT
;
751 LPCFHOOKPROC lpfnHook
;
752 LPCTSTR lpTemplateName
;
756 WORD ___MISSING_ALIGNMENT__
;
759 } CHOOSEFONT
, *LPCHOOSEFONT
;
761 typedef struct _IDA
{
766 typedef struct tagCLIENTCREATESTRUCT
{
769 } CLIENTCREATESTRUCT
;
771 typedef CLIENTCREATESTRUCT
*LPCLIENTCREATESTRUCT
;
773 typedef struct _CMInvokeCommandInfo
{
783 } CMINVOKECOMMANDINFO
, *LPCMINVOKECOMMANDINFO
;
785 typedef struct tagCOLORADJUSTMENT
{
788 WORD caIlluminantIndex
;
792 WORD caReferenceBlack
;
793 WORD caReferenceWhite
;
796 SHORT caColorfulness
;
797 SHORT caRedGreenTint
;
798 } COLORADJUSTMENT
, *LPCOLORADJUSTMENT
;
800 typedef struct _COLORMAP
{
803 } COLORMAP
, * LPCOLORMAP
;
805 typedef struct _DCB
{
810 DWORD fOutxCtsFlow
:1;
811 DWORD fOutxDsrFlow
:1;
813 DWORD fDsrSensitivity
:1;
814 DWORD fTXContinueOnXoff
:1;
820 DWORD fAbortOnError
:1;
836 typedef struct _COMM_CONFIG
{
841 DWORD dwProviderSubType
;
842 DWORD dwProviderOffset
;
843 DWORD dwProviderSize
;
844 WCHAR wcProviderData
[1];
845 } COMMCONFIG
, *LPCOMMCONFIG
;
847 typedef struct _COMMPROP
{
856 DWORD dwProvCapabilities
;
857 DWORD dwSettableParams
;
858 DWORD dwSettableBaud
;
860 WORD wSettableStopParity
;
861 DWORD dwCurrentTxQueue
;
862 DWORD dwCurrentRxQueue
;
866 } COMMPROP
, *LPCOMMPROP
;
868 typedef struct _COMMTIMEOUTS
{
869 DWORD ReadIntervalTimeout
;
870 DWORD ReadTotalTimeoutMultiplier
;
871 DWORD ReadTotalTimeoutConstant
;
872 DWORD WriteTotalTimeoutMultiplier
;
873 DWORD WriteTotalTimeoutConstant
;
874 } COMMTIMEOUTS
,*LPCOMMTIMEOUTS
;
876 typedef struct tagCOMPAREITEMSTRUCT
{
888 COLORREF crBackground
;
892 typedef struct _tagCOMPOSITIONFORM
{
896 } COMPOSITIONFORM
, *LPCOMPOSITIONFORM
;
898 typedef struct _COMSTAT
{
906 DWORD fReserved
: 25;
909 } COMSTAT
, *LPCOMSTAT
;
911 typedef struct _CONSOLE_CURSOR_INFO
{
914 } CONSOLE_CURSOR_INFO
, *PCONSOLE_CURSOR_INFO
;
916 typedef struct _SMALL_RECT
{
921 } SMALL_RECT
, *PSMALL_RECT
;
923 typedef struct _CONSOLE_SCREEN_BUFFER_INFO
{
925 COORD dwCursorPosition
;
928 COORD dwMaximumWindowSize
;
929 } CONSOLE_SCREEN_BUFFER_INFO
, *PCONSOLE_SCREEN_BUFFER_INFO
;
931 typedef struct tagCONVCONTEXT
{
938 SECURITY_QUALITY_OF_SERVICE qos
;
941 typedef CONVCONTEXT
*PCONVCONTEXT
;
943 typedef struct tagCONVINFO
{
957 CONVCONTEXT ConvCtxt
;
962 typedef struct tagCOPYDATASTRUCT
{
968 typedef struct _cpinfo
{
970 BYTE DefaultChar
[MAX_DEFAULTCHAR
];
971 BYTE LeadByte
[MAX_LEADBYTES
];
974 typedef struct tagCPLINFO
{
981 typedef struct _CREATE_PROCESS_DEBUG_INFO
{
985 LPVOID lpBaseOfImage
;
986 DWORD dwDebugInfoFileOffset
;
987 DWORD nDebugInfoSize
;
988 LPVOID lpThreadLocalBase
;
989 LPTHREAD_START_ROUTINE lpStartAddress
;
992 } CREATE_PROCESS_DEBUG_INFO
;
994 typedef struct _CREATE_THREAD_DEBUG_INFO
{
996 LPVOID lpThreadLocalBase
;
997 LPTHREAD_START_ROUTINE lpStartAddress
;
998 } CREATE_THREAD_DEBUG_INFO
;
1002 typedef struct _SOCKET_ADDRESS {
1003 LPSOCKADDR lpSockaddr ;
1004 INT iSockaddrLength ;
1005 } SOCKET_ADDRESS, *PSOCKET_ADDRESS, *LPSOCKET_ADDRESS;
1009 typedef struct _CSADDR_INFO {
1010 SOCKET_ADDRESS LocalAddr;
1011 SOCKET_ADDRESS RemoteAddr;
1017 typedef struct _currencyfmt
{
1021 LPTSTR lpDecimalSep
;
1022 LPTSTR lpThousandSep
;
1025 LPTSTR lpCurrencySymbol
;
1028 typedef struct tagCURSORSHAPE
{
1036 } CURSORSHAPE
, *LPCURSORSHAPE
;
1038 typedef struct tagCWPRETSTRUCT
{
1046 typedef struct tagCWPSTRUCT
{
1053 typedef struct _DATATYPES_INFO_1
{
1058 unsigned short bAppReturnCode
:8,
1065 unsigned short reserved
:14,
1072 unsigned short unused
:12,
1082 unsigned short unused
:13,
1089 typedef struct tagDDEML_MSG_HOOK_DATA
{
1094 } DDEML_MSG_HOOK_DATA
;
1097 unsigned short unused
:13,
1105 unsigned short unused
:12,
1114 typedef struct _EXCEPTION_DEBUG_INFO
{
1115 EXCEPTION_RECORD ExceptionRecord
;
1116 DWORD dwFirstChance
;
1117 } EXCEPTION_DEBUG_INFO
;
1119 typedef struct _EXIT_PROCESS_DEBUG_INFO
{
1121 } EXIT_PROCESS_DEBUG_INFO
;
1123 typedef struct _EXIT_THREAD_DEBUG_INFO
{
1125 } EXIT_THREAD_DEBUG_INFO
;
1127 typedef struct _LOAD_DLL_DEBUG_INFO
{
1130 DWORD dwDebugInfoFileOffset
;
1131 DWORD nDebugInfoSize
;
1134 } LOAD_DLL_DEBUG_INFO
;
1136 typedef struct _UNLOAD_DLL_DEBUG_INFO
{
1138 } UNLOAD_DLL_DEBUG_INFO
;
1140 typedef struct _OUTPUT_DEBUG_STRING_INFO
{
1141 LPSTR lpDebugStringData
;
1143 WORD nDebugStringLength
;
1144 } OUTPUT_DEBUG_STRING_INFO
;
1146 typedef struct _RIP_INFO
{
1151 typedef struct _DEBUG_EVENT
{
1152 DWORD dwDebugEventCode
;
1156 EXCEPTION_DEBUG_INFO Exception
;
1157 CREATE_THREAD_DEBUG_INFO CreateThread
;
1158 CREATE_PROCESS_DEBUG_INFO CreateProcessInfo
;
1159 EXIT_THREAD_DEBUG_INFO ExitThread
;
1160 EXIT_PROCESS_DEBUG_INFO ExitProcess
;
1161 LOAD_DLL_DEBUG_INFO LoadDll
;
1162 UNLOAD_DLL_DEBUG_INFO UnloadDll
;
1163 OUTPUT_DEBUG_STRING_INFO DebugString
;
1166 } DEBUG_EVENT
, *LPDEBUG_EVENT
;
1168 typedef struct tagDEBUGHOOKINFO
{
1170 DWORD idThreadInstaller
;
1176 typedef struct tagDELETEITEMSTRUCT
{
1184 typedef struct _DEV_BROADCAST_HDR
{
1186 ULONG dbch_devicetype
;
1187 ULONG dbch_reserved
;
1188 } DEV_BROADCAST_HDR
;
1189 typedef DEV_BROADCAST_HDR
*PDEV_BROADCAST_HDR
;
1191 typedef struct _DEV_BROADCAST_OEM
{
1193 ULONG dbco_devicetype
;
1194 ULONG dbco_reserved
;
1195 ULONG dbco_identifier
;
1196 ULONG dbco_suppfunc
;
1197 } DEV_BROADCAST_OEM
;
1198 typedef DEV_BROADCAST_OEM
*PDEV_BROADCAST_OEM
;
1200 typedef struct _DEV_BROADCAST_PORT
{
1202 ULONG dbcp_devicetype
;
1203 ULONG dbcp_reserved
;
1205 } DEV_BROADCAST_PORT
;
1206 typedef DEV_BROADCAST_PORT
*PDEV_BROADCAST_PORT
;
1208 struct _DEV_BROADCAST_USERDEFINED
{
1209 struct _DEV_BROADCAST_HDR dbud_dbh
;
1210 char dbud_szName
[1];
1211 BYTE dbud_rgbUserDefined
[1];
1214 typedef struct _DEV_BROADCAST_VOLUME
{
1216 ULONG dbcv_devicetype
;
1217 ULONG dbcv_reserved
;
1218 ULONG dbcv_unitmask
;
1220 } DEV_BROADCAST_VOLUME
;
1221 typedef DEV_BROADCAST_VOLUME
*PDEV_BROADCAST_VOLUME
;
1223 typedef struct _devicemode
{
1224 BCHAR dmDeviceName
[CCHDEVICENAME
];
1226 WORD dmDriverVersion
;
1230 short dmOrientation
;
1232 short dmPaperLength
;
1236 short dmDefaultSource
;
1237 short dmPrintQuality
;
1240 short dmYResolution
;
1243 BCHAR dmFormName
[CCHFORMNAME
];
1248 DWORD dmDisplayFlags
;
1249 DWORD dmDisplayFrequency
;
1254 DWORD dmICCManufacturer
;
1256 } DEVMODE
, *LPDEVMODE
;
1258 typedef struct tagDEVNAMES
{
1263 } DEVNAMES
, *LPDEVNAMES
;
1265 typedef struct tagDIBSECTION
{
1267 BITMAPINFOHEADER dsBmih
;
1268 DWORD dsBitfields
[3];
1273 typedef struct _DISK_PERFORMANCE
{
1274 LARGE_INTEGER BytesRead
;
1275 LARGE_INTEGER BytesWritten
;
1276 LARGE_INTEGER ReadTime
;
1277 LARGE_INTEGER WriteTime
;
1281 } DISK_PERFORMANCE
;
1285 DWORD dwExtendedStyle
;
1291 } DLGITEMTEMPLATE PACKED
;
1293 typedef DLGITEMTEMPLATE
*LPDLGITEMTEMPLATE
;
1294 typedef DLGITEMTEMPLATE
*PDLGITEMTEMPLATE
;
1298 DWORD dwExtendedStyle
;
1304 } DLGTEMPLATE PACKED
;
1306 typedef DLGTEMPLATE
*LPDLGTEMPLATE
;
1307 typedef const DLGTEMPLATE
*LPCDLGTEMPLATE
;
1309 typedef struct _DOC_INFO_1
{
1315 typedef struct _DOC_INFO_2
{
1325 LPCTSTR lpszDocName
;
1327 LPCTSTR lpszDatatype
;
1329 } DOCINFO
, *PDOCINFO
;
1335 } DRAGLISTINFO
, *LPDRAGLISTINFO
;
1337 typedef struct tagDRAWITEMSTRUCT
{
1347 } DRAWITEMSTRUCT
, *LPDRAWITEMSTRUCT
, *PDRAWITEMSTRUCT
;
1355 } DRAWTEXTPARAMS
, *LPDRAWTEXTPARAMS
;
1359 typedef struct _DRIVER_INFO_1
{
1363 typedef struct _DRIVER_INFO_2
{
1366 LPTSTR pEnvironment
;
1372 typedef struct _DRIVER_INFO_3
{
1375 LPTSTR pEnvironment
;
1380 LPTSTR pDependentFiles
;
1381 LPTSTR pMonitorName
;
1382 LPTSTR pDefaultDataType
;
1385 typedef struct _editstream
{
1388 EDITSTREAMCALLBACK pfnCallback
;
1391 typedef struct tagEMR
1397 typedef struct tagEMRANGLEARC
1404 } EMRANGLEARC
, *PEMRANGLEARC
;
1406 typedef struct tagEMRARC
1413 EMRARCTO
, *PEMRARCTO
,
1414 EMRCHORD
, *PEMRCHORD
,
1417 typedef struct _XFORM
1425 } XFORM
, *PXFORM
, *LPXFORM
;
1427 typedef struct tagEMRBITBLT
1439 COLORREF crBkColorSrc
;
1444 } EMRBITBLT
, *PEMRBITBLT
;
1446 typedef struct tagLOGBRUSH
{
1450 } LOGBRUSH
, *PLOGBRUSH
;
1452 typedef struct tagEMRCREATEBRUSHINDIRECT
1457 } EMRCREATEBRUSHINDIRECT
, *PEMRCREATEBRUSHINDIRECT
;
1459 typedef LONG LCSCSTYPE
;
1460 typedef LONG LCSGAMUTMATCH
;
1462 typedef struct tagLOGCOLORSPACE
{
1467 LCSCSTYPE lcsCSType
;
1468 LCSGAMUTMATCH lcsIntent
;
1469 CIEXYZTRIPLE lcsEndpoints
;
1471 DWORD lcsGammaGreen
;
1473 TCHAR lcsFilename
[MAX_PATH
];
1474 } LOGCOLORSPACE
, *LPLOGCOLORSPACE
;
1476 typedef struct tagEMRCREATECOLORSPACE
1481 } EMRCREATECOLORSPACE
, *PEMRCREATECOLORSPACE
;
1483 typedef struct tagEMRCREATEDIBPATTERNBRUSHPT
1492 } EMRCREATEDIBPATTERNBRUSHPT
,
1493 PEMRCREATEDIBPATTERNBRUSHPT
;
1495 typedef struct tagEMRCREATEMONOBRUSH
1504 } EMRCREATEMONOBRUSH
, *PEMRCREATEMONOBRUSH
;
1506 typedef struct tagPALETTEENTRY
{
1511 } PALETTEENTRY
, *LPPALETTEENTRY
, *PPALETTEENTRY
;
1513 typedef struct tagLOGPALETTE
{
1516 PALETTEENTRY palPalEntry
[1];
1517 } LOGPALETTE
, *LPLOGPALETTE
, *PLOGPALETTE
;
1519 typedef struct tagEMRCREATEPALETTE
1524 } EMRCREATEPALETTE
, *PEMRCREATEPALETTE
;
1526 typedef struct tagLOGPEN
{
1532 typedef struct tagEMRCREATEPEN
1537 } EMRCREATEPEN
, *PEMRCREATEPEN
;
1539 typedef struct tagEMRELLIPSE
1543 } EMRELLIPSE
, *PEMRELLIPSE
,
1544 EMRRECTANGLE
, *PEMRRECTANGLE
;
1546 typedef struct tagEMREOF
1550 DWORD offPalEntries
;
1554 typedef struct tagEMREXCLUDECLIPRECT
1558 } EMREXCLUDECLIPRECT
, *PEMREXCLUDECLIPRECT
,
1559 EMRINTERSECTCLIPRECT
, *PEMRINTERSECTCLIPRECT
;
1561 typedef struct tagPANOSE
{
1567 BYTE bStrokeVariation
;
1574 typedef struct tagEXTLOGFONT
{
1576 BCHAR elfFullName
[LF_FULLFACESIZE
];
1577 BCHAR elfStyle
[LF_FACESIZE
];
1582 BYTE elfVendorId
[ELF_VENDOR_SIZE
];
1587 typedef struct tagEMREXTCREATEFONTINDIRECTW
1592 } EMREXTCREATEFONTINDIRECTW
,
1593 PEMREXTCREATEFONTINDIRECTW
;
1595 typedef struct tagEXTLOGPEN
{
1601 DWORD elpNumEntries
;
1602 DWORD elpStyleEntry
[1];
1605 typedef struct tagEMREXTCREATEPEN
1614 } EMREXTCREATEPEN
, *PEMREXTCREATEPEN
;
1616 typedef struct tagEMREXTFLOODFILL
1622 } EMREXTFLOODFILL
, *PEMREXTFLOODFILL
;
1624 typedef struct tagEMREXTSELECTCLIPRGN
1630 } EMREXTSELECTCLIPRGN
, *PEMREXTSELECTCLIPRGN
;
1632 typedef struct tagEMRTEXT
1634 POINTL ptlReference
;
1640 } EMRTEXT
, *PEMRTEXT
;
1642 typedef struct tagEMREXTTEXTOUTA
1646 DWORD iGraphicsMode
;
1650 } EMREXTTEXTOUTA
, *PEMREXTTEXTOUTA
,
1651 EMREXTTEXTOUTW
, *PEMREXTTEXTOUTW
;
1653 typedef struct tagEMRFILLPATH
1657 } EMRFILLPATH
, *PEMRFILLPATH
,
1658 EMRSTROKEANDFILLPATH
, *PEMRSTROKEANDFILLPATH
,
1659 EMRSTROKEPATH
, *PEMRSTROKEPATH
;
1661 typedef struct tagEMRFILLRGN
1668 } EMRFILLRGN
, *PEMRFILLRGN
;
1670 typedef struct tagEMRFORMAT
{
1677 typedef struct tagSIZE
{
1680 } SIZE
, *PSIZE
, *LPSIZE
, SIZEL
, *PSIZEL
, *LPSIZEL
;
1682 typedef struct tagEMRFRAMERGN
1690 } EMRFRAMERGN
, *PEMRFRAMERGN
;
1692 typedef struct tagEMRGDICOMMENT
1697 } EMRGDICOMMENT
, *PEMRGDICOMMENT
;
1699 typedef struct tagEMRINVERTRGN
1705 } EMRINVERTRGN
, *PEMRINVERTRGN
,
1706 EMRPAINTRGN
, *PEMRPAINTRGN
;
1708 typedef struct tagEMRLINETO
1712 } EMRLINETO
, *PEMRLINETO
,
1713 EMRMOVETOEX
, *PEMRMOVETOEX
;
1715 typedef struct tagEMRMASKBLT
1727 COLORREF crBkColorSrc
;
1740 } EMRMASKBLT
, *PEMRMASKBLT
;
1742 typedef struct tagEMRMODIFYWORLDTRANSFORM
1747 } EMRMODIFYWORLDTRANSFORM
,
1748 PEMRMODIFYWORLDTRANSFORM
;
1750 typedef struct tagEMROFFSETCLIPRGN
1754 } EMROFFSETCLIPRGN
, *PEMROFFSETCLIPRGN
;
1756 typedef struct tagEMRPLGBLT
1766 COLORREF crBkColorSrc
;
1779 } EMRPLGBLT
, *PEMRPLGBLT
;
1781 typedef struct tagEMRPOLYDRAW
1788 } EMRPOLYDRAW
, *PEMRPOLYDRAW
;
1790 typedef struct tagEMRPOLYDRAW16
1797 } EMRPOLYDRAW16
, *PEMRPOLYDRAW16
;
1799 typedef struct tagEMRPOLYLINE
1805 } EMRPOLYLINE
, *PEMRPOLYLINE
,
1806 EMRPOLYBEZIER
, *PEMRPOLYBEZIER
,
1807 EMRPOLYGON
, *PEMRPOLYGON
,
1808 EMRPOLYBEZIERTO
, *PEMRPOLYBEZIERTO
,
1809 EMRPOLYLINETO
, *PEMRPOLYLINETO
;
1811 typedef struct tagEMRPOLYLINE16
1817 } EMRPOLYLINE16
, *PEMRPOLYLINE16
,
1818 EMRPOLYBEZIER16
, *PEMRPOLYBEZIER16
,
1819 EMRPOLYGON16
, *PEMRPOLYGON16
,
1820 EMRPOLYBEZIERTO16
, *PEMRPOLYBEZIERTO16
,
1821 EMRPOLYLINETO16
, *PEMRPOLYLINETO16
;
1823 typedef struct tagEMRPOLYPOLYLINE
1829 DWORD aPolyCounts
[1];
1831 } EMRPOLYPOLYLINE
, *PEMRPOLYPOLYLINE
,
1832 EMRPOLYPOLYGON
, *PEMRPOLYPOLYGON
;
1834 typedef struct tagEMRPOLYPOLYLINE16
1840 DWORD aPolyCounts
[1];
1842 } EMRPOLYPOLYLINE16
, *PEMRPOLYPOLYLINE16
,
1843 EMRPOLYPOLYGON16
, *PEMRPOLYPOLYGON16
;
1845 typedef struct tagEMRPOLYTEXTOUTA
1849 DWORD iGraphicsMode
;
1853 EMRTEXT aemrtext
[1];
1854 } EMRPOLYTEXTOUTA
, *PEMRPOLYTEXTOUTA
,
1855 EMRPOLYTEXTOUTW
, *PEMRPOLYTEXTOUTW
;
1857 typedef struct tagEMRRESIZEPALETTE
1862 } EMRRESIZEPALETTE
, *PEMRRESIZEPALETTE
;
1864 typedef struct tagEMRRESTOREDC
1868 } EMRRESTOREDC
, *PEMRRESTOREDC
;
1870 typedef struct tagEMRROUNDRECT
1875 } EMRROUNDRECT
, *PEMRROUNDRECT
;
1877 typedef struct tagEMRSCALEVIEWPORTEXTEX
1884 } EMRSCALEVIEWPORTEXTEX
, *PEMRSCALEVIEWPORTEXTEX
,
1885 EMRSCALEWINDOWEXTEX
, *PEMRSCALEWINDOWEXTEX
;
1887 typedef struct tagEMRSELECTCOLORSPACE
1891 } EMRSELECTCOLORSPACE
, *PEMRSELECTCOLORSPACE
,
1892 EMRDELETECOLORSPACE
, *PEMRDELETECOLORSPACE
;
1893 typedef struct tagEMRSELECTOBJECT
1897 } EMRSELECTOBJECT
, *PEMRSELECTOBJECT
,
1898 EMRDELETEOBJECT
, *PEMRDELETEOBJECT
;
1900 typedef struct tagEMRSELECTPALETTE
1904 } EMRSELECTPALETTE
, *PEMRSELECTPALETTE
;
1906 typedef struct tagEMRSETARCDIRECTION
1909 DWORD iArcDirection
;
1910 } EMRSETARCDIRECTION
, *PEMRSETARCDIRECTION
;
1912 typedef struct tagEMRSETTEXTCOLOR
1916 } EMRSETBKCOLOR
, *PEMRSETBKCOLOR
,
1917 EMRSETTEXTCOLOR
, *PEMRSETTEXTCOLOR
;
1919 typedef struct tagEMRSETCOLORADJUSTMENT
1922 COLORADJUSTMENT ColorAdjustment
;
1923 } EMRSETCOLORADJUSTMENT
, *PEMRSETCOLORADJUSTMENT
;
1925 typedef struct tagEMRSETDIBITSTODEVICE
1942 } EMRSETDIBITSTODEVICE
, *PEMRSETDIBITSTODEVICE
;
1944 typedef struct tagEMRSETMAPPERFLAGS
1948 } EMRSETMAPPERFLAGS
, *PEMRSETMAPPERFLAGS
;
1950 typedef struct tagEMRSETMITERLIMIT
1954 } EMRSETMITERLIMIT
, *PEMRSETMITERLIMIT
;
1956 typedef struct tagEMRSETPALETTEENTRIES
1962 PALETTEENTRY aPalEntries
[1];
1963 } EMRSETPALETTEENTRIES
, *PEMRSETPALETTEENTRIES
;
1965 typedef struct tagEMRSETPIXELV
1970 } EMRSETPIXELV
, *PEMRSETPIXELV
;
1972 typedef struct tagEMRSETVIEWPORTEXTEX
1976 } EMRSETVIEWPORTEXTEX
, *PEMRSETVIEWPORTEXTEX
,
1977 EMRSETWINDOWEXTEX
, *PEMRSETWINDOWEXTEX
;
1979 typedef struct tagEMRSETVIEWPORTORGEX
1983 } EMRSETVIEWPORTORGEX
, *PEMRSETVIEWPORTORGEX
,
1984 EMRSETWINDOWORGEX
, *PEMRSETWINDOWORGEX
,
1985 EMRSETBRUSHORGEX
, *PEMRSETBRUSHORGEX
;
1987 typedef struct tagEMRSETWORLDTRANSFORM
1991 } EMRSETWORLDTRANSFORM
, *PEMRSETWORLDTRANSFORM
;
1993 typedef struct tagEMRSTRETCHBLT
2005 COLORREF crBkColorSrc
;
2013 } EMRSTRETCHBLT
, *PEMRSTRETCHBLT
;
2015 typedef struct tagEMRSTRETCHDIBITS
2033 } EMRSTRETCHDIBITS
, *PEMRSTRETCHDIBITS
;
2035 typedef struct tagABORTPATH
2038 } EMRABORTPATH
, *PEMRABORTPATH
,
2039 EMRBEGINPATH
, *PEMRBEGINPATH
,
2040 EMRENDPATH
, *PEMRENDPATH
,
2041 EMRCLOSEFIGURE
, *PEMRCLOSEFIGURE
,
2042 EMRFLATTENPATH
, *PEMRFLATTENPATH
,
2043 EMRWIDENPATH
, *PEMRWIDENPATH
,
2044 EMRSETMETARGN
, *PEMRSETMETARGN
,
2045 EMRSAVEDC
, *PEMRSAVEDC
,
2046 EMRREALIZEPALETTE
, *PEMRREALIZEPALETTE
;
2048 typedef struct tagEMRSELECTCLIPPATH
2052 } EMRSELECTCLIPPATH
, *PEMRSELECTCLIPPATH
,
2053 EMRSETBKMODE
, *PEMRSETBKMODE
,
2054 EMRSETMAPMODE
, *PEMRSETMAPMODE
,
2055 EMRSETPOLYFILLMODE
, *PEMRSETPOLYFILLMODE
,
2056 EMRSETROP2
, *PEMRSETROP2
,
2057 EMRSETSTRETCHBLTMODE
, *PEMRSETSTRETCHBLTMODE
,
2058 EMRSETTEXTALIGN
, *PEMRSETTEXTALIGN
,
2059 EMRENABLEICM
, *PEMRENABLEICM
;
2061 typedef struct tagNMHDR
{
2067 typedef struct _encorrecttext
{
2073 typedef struct _endropfiles
{
2093 typedef struct tagENHMETAHEADER
{
2105 DWORD offDescription
;
2108 SIZEL szlMillimeters
;
2109 } ENHMETAHEADER
, *LPENHMETAHEADER
;
2111 typedef struct tagENHMETARECORD
{
2115 } ENHMETARECORD
, *PENHMETARECORD
, *LPENHMETARECORD
;
2117 typedef struct _enprotected
{
2125 typedef struct _SERVICE_STATUS
{
2126 DWORD dwServiceType
;
2127 DWORD dwCurrentState
;
2128 DWORD dwControlsAccepted
;
2129 DWORD dwWin32ExitCode
;
2130 DWORD dwServiceSpecificExitCode
;
2133 } SERVICE_STATUS
, *LPSERVICE_STATUS
;
2135 typedef struct _ENUM_SERVICE_STATUSA
{
2136 LPSTR lpServiceName
;
2137 LPSTR lpDisplayName
;
2138 SERVICE_STATUS ServiceStatus
;
2139 } ENUM_SERVICE_STATUSA
, *LPENUM_SERVICE_STATUSA
;
2141 typedef struct _ENUM_SERVICE_STATUSW
{
2142 LPWSTR lpServiceName
;
2143 LPWSTR lpDisplayName
;
2144 SERVICE_STATUS ServiceStatus
;
2145 } ENUM_SERVICE_STATUSW
, *LPENUM_SERVICE_STATUSW
;
2148 #define ENUM_SERVICE_STATUS ENUM_SERVICE_STATUSW
2149 #define LPENUM_SERVICE_STATUS LPENUM_SERVICE_STATUSW
2151 #define ENUM_SERVICE_STATUS ENUM_SERVICE_STATUSA
2152 #define LPENUM_SERVICE_STATUS LPENUM_SERVICE_STATUSA
2155 typedef struct tagENUMLOGFONT
{
2157 BCHAR elfFullName
[LF_FULLFACESIZE
];
2158 BCHAR elfStyle
[LF_FACESIZE
];
2161 typedef struct tagENUMLOGFONTEX
{
2163 BCHAR elfFullName
[LF_FULLFACESIZE
];
2164 BCHAR elfStyle
[LF_FACESIZE
];
2165 BCHAR elfScript
[LF_FACESIZE
];
2168 typedef struct _EVENTLOGRECORD
{
2172 DWORD TimeGenerated
;
2179 DWORD ClosingRecordNumber
;
2181 DWORD UserSidLength
;
2182 DWORD UserSidOffset
;
2190 TCHAR Computername[]
2200 typedef struct tagEVENTMSG
{
2208 typedef struct _EXCEPTION_POINTERS
{
2209 PEXCEPTION_RECORD ExceptionRecord
;
2210 PCONTEXT ContextRecord
;
2211 } EXCEPTION_POINTERS
, *PEXCEPTION_POINTERS
, *LPEXCEPTION_POINTERS
;
2213 typedef struct _EXT_BUTTON
{
2217 } EXT_BUTTON
, *LPEXT_BUTTON
;
2219 typedef struct tagFILTERKEYS
{
2228 typedef struct _FIND_NAME_BUFFER
{
2230 UCHAR access_control
;
2231 UCHAR frame_control
;
2232 UCHAR destination_addr
[6];
2233 UCHAR source_addr
[6];
2234 UCHAR routing_info
[18];
2237 typedef struct _FIND_NAME_HEADER
{
2246 HINSTANCE hInstance
;
2248 LPTSTR lpstrFindWhat
;
2249 LPTSTR lpstrReplaceWith
;
2251 WORD wReplaceWithLen
;
2253 LPFRHOOKPROC lpfnHook
;
2254 LPCTSTR lpTemplateName
;
2255 } FINDREPLACE
, *LPFINDREPLACE
;
2257 typedef struct _findtext
{
2262 typedef struct _findtextex
{
2268 typedef struct _FMS_GETDRIVEINFO
{
2276 typedef struct _FMS_GETFILESEL
{
2283 typedef struct _FMS_LOAD
{
2285 TCHAR szMenuName
[MENU_TEXT_LEN
];
2290 typedef struct _FMS_TOOLBARLOAD
{
2292 LPEXT_BUTTON lpButtons
;
2299 typedef struct _FOCUS_EVENT_RECORD
{
2301 } FOCUS_EVENT_RECORD
;
2303 typedef struct _FORM_INFO_1
{
2307 RECTL ImageableArea
;
2310 typedef struct _FORMAT_PARAMETERS
{
2311 MEDIA_TYPE MediaType
;
2312 DWORD StartCylinderNumber
;
2313 DWORD EndCylinderNumber
;
2314 DWORD StartHeadNumber
;
2315 DWORD EndHeadNumber
;
2316 } FORMAT_PARAMETERS
;
2318 typedef struct _formatrange
{
2326 typedef struct tagGCP_RESULTS
{
2336 } GCP_RESULTS
, *LPGCP_RESULTS
;
2339 typedef struct _GLYPHMETRICS
{
2342 POINT gmptGlyphOrigin
;
2345 } GLYPHMETRICS
, *LPGLYPHMETRICS
;
2347 typedef struct tagHANDLETABLE
{
2348 HGDIOBJ objectHandle
[1];
2349 } HANDLETABLE
, *LPHANDLETABLE
;
2351 typedef struct _HD_HITTESTINFO
{
2357 typedef struct _HD_ITEM
{
2367 typedef struct _WINDOWPOS
{
2369 HWND hwndInsertAfter
;
2375 } WINDOWPOS
, *PWINDOWPOS
, *LPWINDOWPOS
;
2377 typedef struct _HD_LAYOUT
{
2382 typedef struct _HD_NOTIFY
{
2389 typedef struct tagHELPINFO
{
2396 } HELPINFO
, *LPHELPINFO
;
2405 TCHAR rgchMember
[2];
2408 typedef struct tagHIGHCONTRAST
{
2411 LPTSTR lpszDefaultScheme
;
2412 } HIGHCONTRAST
, * LPHIGHCONTRAST
;
2414 typedef struct tagHSZPAIR
{
2419 typedef struct _ICONINFO
{
2425 } ICONINFO
, *PICONINFO
;
2427 typedef struct tagICONMETRICS
{
2433 } ICONMETRICS
, *LPICONMETRICS
;
2435 typedef struct _IMAGEINFO
{
2443 typedef struct _WINDOW_BUFFER_SIZE_RECORD
{
2445 } WINDOW_BUFFER_SIZE_RECORD
;
2447 typedef struct _MENU_EVENT_RECORD
{
2449 } MENU_EVENT_RECORD
, *PMENU_EVENT_RECORD
;
2451 typedef struct _INPUT_RECORD
{
2454 #ifndef __cplus_plus
2455 /* this will be the wrong size in c++ */
2456 KEY_EVENT_RECORD KeyEvent
;
2458 MOUSE_EVENT_RECORD MouseEvent
;
2459 WINDOW_BUFFER_SIZE_RECORD WindowBufferSizeEvent
;
2460 MENU_EVENT_RECORD MenuEvent
;
2461 FOCUS_EVENT_RECORD FocusEvent
;
2463 } INPUT_RECORD
, *PINPUT_RECORD
;
2465 typedef struct _JOB_INFO_1
{
2467 LPTSTR pPrinterName
;
2468 LPTSTR pMachineName
;
2478 SYSTEMTIME Submitted
;
2482 typedef struct _JOB_INFO_2
{
2484 LPTSTR pPrinterName
;
2485 LPTSTR pMachineName
;
2490 LPTSTR pPrintProcessor
;
2495 PSECURITY_DESCRIPTOR pSecurityDescriptor
;
2503 SYSTEMTIME Submitted
;
2505 DWORD PagesPrinted
;
2509 typedef struct tagKERNINGPAIR
{
2513 } KERNINGPAIR
, *LPKERNINGPAIR
;
2515 typedef struct _LANA_ENUM
{
2517 UCHAR lana
[MAX_LANA
];
2520 typedef struct _LDT_ENTRY
{
2537 DWORD Reserved_0
: 1;
2538 DWORD Default_Big
: 1;
2539 DWORD Granularity
: 1;
2543 } LDT_ENTRY
, *PLDT_ENTRY
, *LPLDT_ENTRY
;
2545 typedef struct tagLOCALESIGNATURE
{
2547 DWORD lsCsbDefault
[2];
2548 DWORD lsCsbSupported
[2];
2552 typedef struct _LOCALGROUP_MEMBERS_INFO_0
{
2554 } LOCALGROUP_MEMBERS_INFO_0
;
2557 typedef struct _LOCALGROUP_MEMBERS_INFO_3
{
2558 LPWSTR lgrmi3_domainandname
;
2559 } LOCALGROUP_MEMBERS_INFO_3
;
2561 typedef long FXPT16DOT16
, * LPFXPT16DOT16
;
2565 typedef LUID_AND_ATTRIBUTES LUID_AND_ATTRIBUTES_ARRAY
[ANYSIZE_ARRAY
];
2566 typedef LUID_AND_ATTRIBUTES_ARRAY
*PLUID_AND_ATTRIBUTES_ARRAY
;
2568 typedef struct _LV_COLUMN
{
2577 typedef struct _LV_ITEM
{
2589 typedef struct tagLV_DISPINFO
{
2594 typedef struct _LV_FINDINFO
{
2602 typedef struct _LV_HITTESTINFO
{
2608 typedef struct tagLV_KEYDOWN
{
2614 typedef struct _MAT2
{
2621 typedef struct tagMDICREATESTRUCT
{
2633 typedef MDICREATESTRUCT
*LPMDICREATESTRUCT
;
2635 typedef struct tagMEASUREITEMSTRUCT
{
2642 } MEASUREITEMSTRUCT
, *LPMEASUREITEMSTRUCT
;
2644 typedef struct _MEMORYSTATUS
{
2649 DWORD dwTotalPageFile
;
2650 DWORD dwAvailPageFile
;
2651 DWORD dwTotalVirtual
;
2652 DWORD dwAvailVirtual
;
2653 } MEMORYSTATUS
, *LPMEMORYSTATUS
;
2659 } MENUEX_TEMPLATE_HEADER
;
2668 } MENUEX_TEMPLATE_ITEM
;
2670 typedef struct tagMENUITEMINFO
{
2677 HBITMAP hbmpChecked
;
2678 HBITMAP hbmpUnchecked
;
2682 } MENUITEMINFO
, *LPMENUITEMINFO
;
2683 typedef MENUITEMINFO CONST
*LPCMENUITEMINFO
;
2694 } MENUITEMTEMPLATEHEADER
;
2695 typedef VOID MENUTEMPLATE
, *LPMENUTEMPLATE
;
2697 typedef struct tagMETAFILEPICT
{
2704 } METAFILEPICT
, *PMETAFILEPICT
, *LPMETAFILEPICT
;
2706 typedef struct tagMETAHEADER
{
2713 WORD mtNoParameters
;
2714 } METAHEADER PACKED
;
2716 typedef struct tagMETARECORD
{
2720 } METARECORD
, *LPMETARECORD
;
2722 typedef struct tagMINIMIZEDMETRICS
{
2728 } MINIMIZEDMETRICS
, *LPMINIMIZEDMETRICS
;
2730 typedef struct tagMINMAXINFO
{
2733 POINT ptMaxPosition
;
2734 POINT ptMinTrackSize
;
2735 POINT ptMaxTrackSize
;
2738 typedef struct modemdevcaps_tag
{
2740 DWORD dwRequiredSize
;
2741 DWORD dwDevSpecificOffset
;
2742 DWORD dwDevSpecificSize
;
2744 DWORD dwModemProviderVersion
;
2745 DWORD dwModemManufacturerOffset
;
2746 DWORD dwModemManufacturerSize
;
2747 DWORD dwModemModelOffset
;
2748 DWORD dwModemModelSize
;
2749 DWORD dwModemVersionOffset
;
2750 DWORD dwModemVersionSize
;
2752 DWORD dwDialOptions
;
2753 DWORD dwCallSetupFailTimer
;
2754 DWORD dwInactivityTimeout
;
2755 DWORD dwSpeakerVolume
;
2756 DWORD dwSpeakerMode
;
2757 DWORD dwModemOptions
;
2761 BYTE abVariablePortion
[1];
2762 } MODEMDEVCAPS
, *PMODEMDEVCAPS
, *LPMODEMDEVCAPS
;
2764 typedef struct modemsettings_tag
{
2766 DWORD dwRequiredSize
;
2767 DWORD dwDevSpecificOffset
;
2768 DWORD dwDevSpecificSize
;
2770 DWORD dwCallSetupFailTimer
;
2771 DWORD dwInactivityTimeout
;
2772 DWORD dwSpeakerVolume
;
2773 DWORD dwSpeakerMode
;
2774 DWORD dwPreferredModemOptions
;
2776 DWORD dwNegotiatedModemOptions
;
2777 DWORD dwNegotiatedDCERate
;
2779 BYTE abVariablePortion
[1];
2780 } MODEMSETTINGS
, *PMODEMSETTINGS
, *LPMODEMSETTINGS
;
2782 typedef struct tagMONCBSTRUCT
{
2800 typedef struct tagMONCONVSTRUCT
{
2811 typedef struct tagMONERRSTRUCT
{
2818 typedef struct tagMONHSZSTRUCT
{
2827 typedef struct _MONITOR_INFO_1
{
2831 typedef struct _MONITOR_INFO_2
{
2833 LPTSTR pEnvironment
;
2837 typedef struct tagMONLINKSTRUCT
{
2841 WINBOOL fEstablished
;
2852 typedef struct tagMONMSGSTRUCT
{
2860 DDEML_MSG_HOOK_DATA dmhd
;
2863 typedef struct tagMOUSEHOOKSTRUCT
{
2868 } MOUSEHOOKSTRUCT
, *PMOUSEHOOKSTRUCT
, *LPMOUSEHOOKSTRUCT
;
2870 typedef struct _MOUSEKEYS
{
2874 DWORD iTimeToMaxSpeed
;
2880 typedef struct tagMSG
{
2889 typedef void CALLBACK (*MSGBOXCALLBACK
) (LPHELPINFO lpHelpInfo
);
2894 HINSTANCE hInstance
;
2899 DWORD dwContextHelpId
;
2900 MSGBOXCALLBACK lpfnMsgBoxCallback
;
2902 } MSGBOXPARAMS
, *PMSGBOXPARAMS
, *LPMSGBOXPARAMS
;
2904 typedef struct _msgfilter
{
2911 typedef struct tagMULTIKEYHELP
{
2914 TCHAR szKeyphrase
[1];
2917 typedef struct _NAME_BUFFER
{
2918 UCHAR name
[NCBNAMSZ
];
2923 typedef struct _NCB
{
2930 UCHAR ncb_callname
[NCBNAMSZ
];
2931 UCHAR ncb_name
[NCBNAMSZ
];
2934 void (*ncb_post
) (struct _NCB
*);
2937 UCHAR ncb_reserve
[10];
2941 typedef struct _NCCALCSIZE_PARAMS
{
2944 } NCCALCSIZE_PARAMS
;
2946 typedef struct _NDDESHAREINFO
{
2948 LPTSTR lpszShareName
;
2950 LPTSTR lpszAppTopicList
;
2957 LPTSTR lpszItemList
;
2960 typedef struct _NETRESOURCE
{
2963 DWORD dwDisplayType
;
2966 LPTSTR lpRemoteName
;
2969 } NETRESOURCE
, *LPNETRESOURCE
;
2971 typedef struct tagNEWCPLINFO
{
2974 DWORD dwHelpContext
;
2979 TCHAR szHelpFile
[128];
2982 typedef struct tagNEWTEXTMETRIC
{
2986 LONG tmInternalLeading
;
2987 LONG tmExternalLeading
;
2988 LONG tmAveCharWidth
;
2989 LONG tmMaxCharWidth
;
2992 LONG tmDigitizedAspectX
;
2993 LONG tmDigitizedAspectY
;
2996 BCHAR tmDefaultChar
;
3001 BYTE tmPitchAndFamily
;
3010 typedef struct tagNEWTEXTMETRICEX
{
3011 NEWTEXTMETRIC ntmentm
;
3012 FONTSIGNATURE ntmeFontSignature
;
3015 typedef struct tagNM_LISTVIEW
{
3026 typedef struct _TREEITEM
*HTREEITEM
;
3028 typedef struct _TV_ITEM
{
3039 } TV_ITEM
, *LPTV_ITEM
;
3041 typedef struct _NM_TREEVIEW
{
3048 typedef NM_TREEVIEW
*LPNM_TREEVIEW
;
3050 typedef struct _NM_UPDOWN
{
3056 typedef struct tagNONCLIENTMETRICS
{
3063 LOGFONT lfCaptionFont
;
3064 int iSmCaptionWidth
;
3065 int iSmCaptionHeight
;
3066 LOGFONT lfSmCaptionFont
;
3070 LOGFONT lfStatusFont
;
3071 LOGFONT lfMessageFont
;
3072 } NONCLIENTMETRICS
, * LPNONCLIENTMETRICS
;
3074 typedef struct _SERVICE_ADDRESS
{
3075 DWORD dwAddressType
;
3076 DWORD dwAddressFlags
;
3077 DWORD dwAddressLength
;
3078 DWORD dwPrincipalLength
;
3083 typedef struct _SERVICE_ADDRESSES
{
3084 DWORD dwAddressCount
;
3085 SERVICE_ADDRESS Addresses
[1];
3086 } SERVICE_ADDRESSES
, *LPSERVICE_ADDRESSES
;
3088 typedef struct _GUID
3090 unsigned long Data1
;
3091 unsigned short Data2
;
3092 unsigned short Data3
;
3093 unsigned char Data4
[8];
3095 typedef GUID CLSID
, *LPCLSID
;
3097 typedef struct _SERVICE_INFO
{
3098 LPGUID lpServiceType
;
3099 LPTSTR lpServiceName
;
3102 DWORD dwDisplayHint
;
3105 LPTSTR lpMachineName
;
3106 LPSERVICE_ADDRESSES lpServiceAddress
;
3107 BLOB ServiceSpecificInfo
;
3110 typedef struct _NS_SERVICE_INFO
{
3112 SERVICE_INFO ServiceInfo
;
3115 typedef struct _numberfmt
{
3119 LPTSTR lpDecimalSep
;
3120 LPTSTR lpThousandSep
;
3124 typedef struct _OFSTRUCT
{
3130 CHAR szPathName
[OFS_MAXPATHNAME
];
3131 } OFSTRUCT
, *LPOFSTRUCT
;
3133 typedef struct tagOFN
{
3136 HINSTANCE hInstance
;
3137 LPCTSTR lpstrFilter
;
3138 LPTSTR lpstrCustomFilter
;
3139 DWORD nMaxCustFilter
;
3143 LPTSTR lpstrFileTitle
;
3144 DWORD nMaxFileTitle
;
3145 LPCTSTR lpstrInitialDir
;
3149 WORD nFileExtension
;
3150 LPCTSTR lpstrDefExt
;
3152 LPOFNHOOKPROC lpfnHook
;
3153 LPCTSTR lpTemplateName
;
3154 } OPENFILENAME
, *LPOPENFILENAME
;
3156 typedef struct _OFNOTIFY
{
3158 LPOPENFILENAME lpOFN
;
3160 } OFNOTIFY
, *LPOFNOTIFY
;
3162 typedef struct _OSVERSIONINFO
{
3163 DWORD dwOSVersionInfoSize
;
3164 DWORD dwMajorVersion
;
3165 DWORD dwMinorVersion
;
3166 DWORD dwBuildNumber
;
3168 TCHAR szCSDVersion
[ 128 ];
3169 } OSVERSIONINFO
, *POSVERSIONINFO
, *LPOSVERSIONINFO
;
3171 typedef struct tagTEXTMETRIC
{
3175 LONG tmInternalLeading
;
3176 LONG tmExternalLeading
;
3177 LONG tmAveCharWidth
;
3178 LONG tmMaxCharWidth
;
3181 LONG tmDigitizedAspectX
;
3182 LONG tmDigitizedAspectY
;
3185 BCHAR tmDefaultChar
;
3190 BYTE tmPitchAndFamily
;
3192 } TEXTMETRIC
, *LPTEXTMETRIC
;
3194 typedef struct _OUTLINETEXTMETRIC
{
3196 TEXTMETRIC otmTextMetrics
;
3198 PANOSE otmPanoseNumber
;
3199 UINT otmfsSelection
;
3201 int otmsCharSlopeRise
;
3202 int otmsCharSlopeRun
;
3208 UINT otmsCapEmHeight
;
3214 UINT otmusMinimumPPEM
;
3215 POINT otmptSubscriptSize
;
3216 POINT otmptSubscriptOffset
;
3217 POINT otmptSuperscriptSize
;
3218 POINT otmptSuperscriptOffset
;
3219 UINT otmsStrikeoutSize
;
3220 int otmsStrikeoutPosition
;
3221 int otmsUnderscoreSize
;
3222 int otmsUnderscorePosition
;
3223 PSTR otmpFamilyName
;
3227 } OUTLINETEXTMETRIC
, *LPOUTLINETEXTMETRIC
;
3229 typedef struct _OVERLAPPED
{
3235 } OVERLAPPED
, *LPOVERLAPPED
;
3237 typedef struct tagPSD
{
3246 HINSTANCE hInstance
;
3248 LPPAGESETUPHOOK lpfnPageSetupHook
;
3249 LPPAGEPAINTHOOK lpfnPagePaintHook
;
3250 LPCTSTR lpPageSetupTemplateName
;
3251 HGLOBAL hPageSetupTemplate
;
3252 } PAGESETUPDLG
, *LPPAGESETUPDLG
;
3254 typedef struct tagPAINTSTRUCT
{
3260 BYTE rgbReserved
[32];
3261 } PAINTSTRUCT
, *LPPAINTSTRUCT
;
3263 typedef struct _paraformat
{
3273 LONG rgxTabs
[MAX_TAB_STOPS
];
3276 typedef struct _PERF_COUNTER_BLOCK
{
3278 } PERF_COUNTER_BLOCK
;
3280 typedef struct _PERF_COUNTER_DEFINITION
{
3282 DWORD CounterNameTitleIndex
;
3283 LPWSTR CounterNameTitle
;
3284 DWORD CounterHelpTitleIndex
;
3285 LPWSTR CounterHelpTitle
;
3290 DWORD CounterOffset
;
3291 } PERF_COUNTER_DEFINITION
;
3293 typedef struct _PERF_DATA_BLOCK
{
3298 DWORD TotalByteLength
;
3300 DWORD NumObjectTypes
;
3301 DWORD DefaultObject
;
3302 SYSTEMTIME SystemTime
;
3303 LARGE_INTEGER PerfTime
;
3304 LARGE_INTEGER PerfFreq
;
3305 LARGE_INTEGER PerfTime100nSec
;
3306 DWORD SystemNameLength
;
3307 DWORD SystemNameOffset
;
3310 typedef struct _PERF_INSTANCE_DEFINITION
{
3312 DWORD ParentObjectTitleIndex
;
3313 DWORD ParentObjectInstance
;
3317 } PERF_INSTANCE_DEFINITION
;
3319 typedef struct _PERF_OBJECT_TYPE
{
3320 DWORD TotalByteLength
;
3321 DWORD DefinitionLength
;
3323 DWORD ObjectNameTitleIndex
;
3324 LPWSTR ObjectNameTitle
;
3325 DWORD ObjectHelpTitleIndex
;
3326 LPWSTR ObjectHelpTitle
;
3329 DWORD DefaultCounter
;
3332 LARGE_INTEGER PerfTime
;
3333 LARGE_INTEGER PerfFreq
;
3336 typedef struct _POLYTEXT
{
3344 } POLYTEXT
, *LPPOLYTEXT
;
3346 typedef struct _PORT_INFO_1
{
3350 typedef struct _PORT_INFO_2
{
3358 typedef struct _PREVENT_MEDIA_REMOVAL
{
3359 BOOLEAN PreventMediaRemoval
;
3360 } PREVENT_MEDIA_REMOVAL
;
3362 typedef struct tagPD
{
3374 HINSTANCE hInstance
;
3376 LPPRINTHOOKPROC lpfnPrintHook
;
3377 LPSETUPHOOKPROC lpfnSetupHook
;
3378 LPCTSTR lpPrintTemplateName
;
3379 LPCTSTR lpSetupTemplateName
;
3380 HANDLE hPrintTemplate
;
3381 HANDLE hSetupTemplate
;
3382 } PRINTDLG PACKED
, *LPPRINTDLG PACKED
;
3384 typedef struct _PRINTER_DEFAULTS
{
3387 ACCESS_MASK DesiredAccess
;
3390 typedef struct _PRINTER_INFO_1
{
3392 LPTSTR pDescription
;
3395 } PRINTER_INFO_1
, *PPRINTER_INFO_1
, *LPPRINTER_INFO_1
;
3398 typedef struct _PRINTER_INFO_2
{
3400 LPTSTR pPrinterName
;
3408 LPTSTR pPrintProcessor
;
3411 PSECURITY_DESCRIPTOR pSecurityDescriptor
;
3414 DWORD DefaultPriority
;
3423 typedef struct _PRINTER_INFO_3
{
3424 PSECURITY_DESCRIPTOR pSecurityDescriptor
;
3428 typedef struct _PRINTER_INFO_4
{
3429 LPTSTR pPrinterName
;
3434 typedef struct _PRINTER_INFO_5
{
3435 LPTSTR pPrinterName
;
3438 DWORD DeviceNotSelectedTimeout
;
3439 DWORD TransmissionRetryTimeout
;
3442 typedef struct _PRINTER_NOTIFY_INFO_DATA
{
3454 } PRINTER_NOTIFY_INFO_DATA
;
3456 typedef struct _PRINTER_NOTIFY_INFO
{
3460 PRINTER_NOTIFY_INFO_DATA aData
[1];
3461 } PRINTER_NOTIFY_INFO
;
3463 typedef struct _PRINTER_NOTIFY_OPTIONS_TYPE
{
3470 } PRINTER_NOTIFY_OPTIONS_TYPE
, *PPRINTER_NOTIFY_OPTIONS_TYPE
;
3472 typedef struct _PRINTER_NOTIFY_OPTIONS
{
3476 PPRINTER_NOTIFY_OPTIONS_TYPE pTypes
;
3477 } PRINTER_NOTIFY_OPTIONS
;
3479 typedef struct _PRINTPROCESSOR_INFO_1
{
3481 } PRINTPROCESSOR_INFO_1
;
3484 typedef struct _PROCESS_HEAP_ENTRY
{
3490 DWORD dwCommittedSize
;
3491 DWORD dwUnCommittedSize
;
3492 LPVOID lpFirstBlock
;
3495 } PROCESS_HEAPENTRY
, *LPPROCESS_HEAP_ENTRY
;
3497 typedef struct _PROCESS_INFORMATION
{
3502 } PROCESS_INFORMATION
, *LPPROCESS_INFORMATION
;
3504 typedef UINT
CALLBACK (*LPFNPSPCALLBACK
) (HWND
, UINT
, LPVOID
);
3506 typedef struct _PROPSHEETPAGE
{
3509 HINSTANCE hInstance
;
3511 LPCTSTR pszTemplate
;
3512 LPCDLGTEMPLATE pResource
;
3521 LPFNPSPCALLBACK pfnCallback
;
3523 } PROPSHEETPAGE
, *LPPROPSHEETPAGE
;
3524 typedef const PROPSHEETPAGE
*LPCPROPSHEETPAGE
;
3526 typedef struct _PSP
*HPROPSHEETPAGE
;
3527 typedef struct _PROPSHEETHEADER
{
3531 HINSTANCE hInstance
;
3543 LPCPROPSHEETPAGE ppsp
;
3544 HPROPSHEETPAGE
*phpage
;
3546 PFNPROPSHEETCALLBACK pfnCallback
;
3547 } PROPSHEETHEADER
, *LPPROPSHEETHEADER
;
3548 typedef const PROPSHEETHEADER
*LPCPROPSHEETHEADER
;
3550 /* PropertySheet callbacks */
3551 typedef WINBOOL
CALLBACK (*LPFNADDPROPSHEETPAGE
) (HPROPSHEETPAGE
, LPARAM
);
3552 typedef WINBOOL
CALLBACK (*LPFNADDPROPSHEETPAGES
) (LPVOID
,
3553 LPFNADDPROPSHEETPAGE
,
3556 typedef struct _PROTOCOL_INFO
{
3557 DWORD dwServiceFlags
;
3563 DWORD dwMessageSize
;
3567 typedef struct _PROVIDOR_INFO_1
{
3569 LPTSTR pEnvironment
;
3573 typedef struct _PSHNOTIFY
{
3576 } PSHNOTIFY
, *LPPSHNOTIFY
;
3578 typedef struct _punctuation
{
3580 LPSTR szPunctuation
;
3583 typedef struct _QUERY_SERVICE_CONFIGA
{
3584 DWORD dwServiceType
;
3586 DWORD dwErrorControl
;
3587 LPSTR lpBinaryPathName
;
3588 LPSTR lpLoadOrderGroup
;
3590 LPSTR lpDependencies
;
3591 LPSTR lpServiceStartName
;
3592 LPSTR lpDisplayName
;
3593 } QUERY_SERVICE_CONFIGA
, *LPQUERY_SERVICE_CONFIGA
;
3595 typedef struct _QUERY_SERVICE_CONFIGW
{
3596 DWORD dwServiceType
;
3598 DWORD dwErrorControl
;
3599 LPWSTR lpBinaryPathName
;
3600 LPWSTR lpLoadOrderGroup
;
3602 LPWSTR lpDependencies
;
3603 LPWSTR lpServiceStartName
;
3604 LPWSTR lpDisplayName
;
3605 } QUERY_SERVICE_CONFIGW
, *LPQUERY_SERVICE_CONFIGW
;
3608 #define QUERY_SERVICE_CONFIG QUERY_SERVICE_CONFIGW
3609 #define LPQUERY_SERVICE_CONFIG LPQUERY_SERVICE_CONFIGW
3611 #define QUERY_SERVICE_CONFIG QUERY_SERVICE_CONFIGA
3612 #define LPQUERY_SERVICE_CONFIG LPQUERY_SERVICE_CONFIGA
3615 typedef struct _QUERY_SERVICE_LOCK_STATUSA
{
3618 DWORD dwLockDuration
;
3619 } QUERY_SERVICE_LOCK_STATUSA
, *LPQUERY_SERVICE_LOCK_STATUSA
;
3621 typedef struct _QUERY_SERVICE_LOCK_STATUSW
{
3624 DWORD dwLockDuration
;
3625 } QUERY_SERVICE_LOCK_STATUSW
, *LPQUERY_SERVICE_LOCK_STATUSW
;
3628 #define QUERY_SERVICE_LOCK_STATUS QUERY_SERVICE_LOCK_STATUSW
3629 #define LPQUERY_SERVICE_LOCK_STATUS LPQUERY_SERVICE_LOCK_STATUSW
3631 #define QUERY_SERVICE_LOCK_STATUS QUERY_SERVICE_LOCK_STATUSA
3632 #define LPQUERY_SERVICE_LOCK_STATUS LPQUERY_SERVICE_LOCK_STATUSA
3635 typedef struct _RASAMB
{
3638 TCHAR szNetBiosError
[ NETBIOS_NAME_LEN
+ 1 ];
3642 typedef struct _RASCONN
{
3645 TCHAR szEntryName
[RAS_MaxEntryName
+ 1];
3647 CHAR szDeviceType
[ RAS_MaxDeviceType
+ 1 ];
3648 CHAR szDeviceName
[ RAS_MaxDeviceName
+ 1 ];
3651 typedef struct _RASCONNSTATUS
{
3653 RASCONNSTATE rasconnstate
;
3655 TCHAR szDeviceType
[RAS_MaxDeviceType
+ 1];
3656 TCHAR szDeviceName
[RAS_MaxDeviceName
+ 1];
3659 typedef struct _RASDIALEXTENSIONS
{
3664 } RASDIALEXTENSIONS
;
3666 typedef struct _RASDIALPARAMS
{
3668 TCHAR szEntryName
[RAS_MaxEntryName
+ 1];
3669 TCHAR szPhoneNumber
[RAS_MaxPhoneNumber
+ 1];
3670 TCHAR szCallbackNumber
[RAS_MaxCallbackNumber
+ 1];
3671 TCHAR szUserName
[UNLEN
+ 1];
3672 TCHAR szPassword
[PWLEN
+ 1];
3673 TCHAR szDomain
[DNLEN
+ 1] ;
3676 typedef struct _RASENTRYNAME
{
3678 TCHAR szEntryName
[RAS_MaxEntryName
+ 1];
3681 typedef struct _RASPPPIP
{
3684 TCHAR szIpAddress
[ RAS_MaxIpAddress
+ 1 ];
3687 typedef struct _RASPPPIPX
{
3690 TCHAR szIpxAddress
[ RAS_MaxIpxAddress
+ 1 ];
3693 typedef struct _RASPPPNBF
{
3696 DWORD dwNetBiosError
;
3697 TCHAR szNetBiosError
[ NETBIOS_NAME_LEN
+ 1 ];
3698 TCHAR szWorkstationName
[ NETBIOS_NAME_LEN
+ 1 ];
3702 typedef struct _RASTERIZER_STATUS
{
3706 } RASTERIZER_STATUS
, *LPRASTERIZER_STATUS
;
3708 typedef struct _REASSIGN_BLOCKS
{
3711 DWORD BlockNumber
[1];
3714 typedef struct _REMOTE_NAME_INFO
{
3715 LPTSTR lpUniversalName
;
3716 LPTSTR lpConnectionName
;
3717 LPTSTR lpRemainingPath
;
3722 typedef struct _reobject {
3726 LPOLEOBJECT poleobj;
3728 LPOLECLIENTSITE polesite;
3736 typedef struct _repastespecial
{
3741 typedef struct _reqresize
{
3746 typedef struct _RGNDATAHEADER
{
3754 typedef struct _RGNDATA
{
3757 } RGNDATA
, *PRGNDATA
, *LPRGNDATA
;
3759 typedef struct tagSCROLLINFO
{
3767 } SCROLLINFO
, *LPSCROLLINFO
;
3768 typedef SCROLLINFO
const *LPCSCROLLINFO
;
3770 typedef struct _SECURITY_ATTRIBUTES
{
3772 LPVOID lpSecurityDescriptor
;
3773 WINBOOL bInheritHandle
;
3774 } SECURITY_ATTRIBUTES
, *LPSECURITY_ATTRIBUTES
;
3776 typedef DWORD SECURITY_INFORMATION
, *PSECURITY_INFORMATION
;
3778 typedef struct _selchange
{
3784 typedef struct tagSERIALKEYS
{
3787 LPSTR lpszActivePort
;
3791 } SERIALKEYS
, * LPSERIALKEYS
;
3793 typedef struct _SERVICE_TABLE_ENTRYA
{
3794 LPSTR lpServiceName
;
3795 LPSERVICE_MAIN_FUNCTION lpServiceProc
;
3796 } SERVICE_TABLE_ENTRYA
, *LPSERVICE_TABLE_ENTRYA
;
3798 typedef struct _SERVICE_TABLE_ENTRYW
{
3799 LPWSTR lpServiceName
;
3800 LPSERVICE_MAIN_FUNCTION lpServiceProc
;
3801 } SERVICE_TABLE_ENTRYW
, *LPSERVICE_TABLE_ENTRYW
;
3804 #define SERVICE_TABLE_ENTRY SERVICE_TABLE_ENTRYW
3805 #define LPSERVICE_TABLE_ENTRY LPSERVICE_TABLE_ENTRYW
3807 #define SERVICE_TABLE_ENTRY SERVICE_TABLE_ENTRYA
3808 #define LPSERVICE_TABLE_ENTRY LPSERVICE_TABLE_ENTRYA
3812 typedef struct _SERVICE_TYPE_VALUE_ABS
{
3818 } SERVICE_TYPE_VALUE_ABS
;
3820 typedef struct _SERVICE_TYPE_INFO_ABS
{
3823 SERVICE_TYPE_VALUE_ABS Values
[1];
3824 } SERVICE_TYPE_INFO_ABS
;
3826 typedef struct _SESSION_BUFFER
{
3829 UCHAR local_name
[NCBNAMSZ
];
3830 UCHAR remote_name
[NCBNAMSZ
];
3831 UCHAR rcvs_outstanding
;
3832 UCHAR sends_outstanding
;
3835 typedef struct _SESSION_HEADER
{
3838 UCHAR rcv_dg_outstanding
;
3839 UCHAR rcv_any_outstanding
;
3842 typedef struct _SET_PARTITION_INFORMATION
{
3844 } SET_PARTITION_INFORMATION
;
3846 typedef enum tagSHCONTF
{
3847 SHCONTF_FOLDERS
= 32,
3848 SHCONTF_NONFOLDERS
= 64,
3849 SHCONTF_INCLUDEHIDDEN
= 128,
3852 typedef struct _SHFILEINFO
{
3856 char szDisplayName
[MAX_PATH
];
3857 char szTypeName
[80];
3860 typedef WORD FILEOP_FLAGS
;
3861 typedef struct _SHFILEOPSTRUCT
{
3866 FILEOP_FLAGS fFlags
;
3867 WINBOOL fAnyOperationsAborted
;
3868 LPVOID hNameMappings
;
3869 LPCSTR lpszProgressTitle
;
3870 } SHFILEOPSTRUCT
, *LPSHFILEOPSTRUCT
;
3872 typedef enum tagSHGDN
{
3875 SHGDN_FORPARSING
= 0x8000,
3878 typedef struct _SHNAMEMAPPING
{
3883 } SHNAMEMAPPING
, *LPSHNAMEMAPPING
;
3885 typedef struct tagSOUNDSENTRY
{
3888 DWORD iFSTextEffect
;
3889 DWORD iFSTextEffectMSec
;
3890 DWORD iFSTextEffectColorBits
;
3891 DWORD iFSGrafEffect
;
3892 DWORD iFSGrafEffectMSec
;
3893 DWORD iFSGrafEffectColor
;
3894 DWORD iWindowsEffect
;
3895 DWORD iWindowsEffectMSec
;
3896 LPTSTR lpszWindowsEffectDLL
;
3897 DWORD iWindowsEffectOrdinal
;
3898 } SOUNDSENTRY
, *LPSOUNDSENTRY
;
3900 typedef struct _STARTUPINFOA
{
3909 DWORD dwXCountChars
;
3910 DWORD dwYCountChars
;
3911 DWORD dwFillAttribute
;
3919 } STARTUPINFOA
, *LPSTARTUPINFOA
;
3921 typedef struct _STARTUPINFOW
{
3930 DWORD dwXCountChars
;
3931 DWORD dwYCountChars
;
3932 DWORD dwFillAttribute
;
3940 } STARTUPINFOW
, *LPSTARTUPINFOW
;
3943 typedef STARTUPINFOW STARTUPINFO
;
3944 typedef LPSTARTUPINFOW LPSTARTUPINFO
;
3946 typedef STARTUPINFOA STARTUPINFO
;
3947 typedef LPSTARTUPINFOA LPSTARTUPINFO
;
3948 #endif /* UNICODE */
3950 typedef struct tagSTICKYKEYS
{
3953 } STICKYKEYS
, *LPSTICKYKEYS
;
3955 typedef struct _STRRET
{
3961 char cStr
[MAX_PATH
];
3963 } STRRET
, *LPSTRRET
;
3965 typedef struct _tagSTYLEBUF
{
3967 CHAR szDescription
[32];
3968 } STYLEBUF
, *LPSTYLEBUF
;
3970 typedef struct tagSTYLESTRUCT
{
3973 } STYLESTRUCT
, * LPSTYLESTRUCT
;
3975 typedef struct _SYSTEM_AUDIT_ACE
{
3981 typedef struct _SYSTEM_INFO
3988 WORD wProcessorArchitecture
;
3995 LPVOID lpMinimumApplicationAddress
;
3996 LPVOID lpMaximumApplicationAddress
;
3997 DWORD dwActiveProcessorMask
;
3998 DWORD dwNumberOfProcessors
;
3999 DWORD dwProcessorType
;
4000 DWORD dwAllocationGranularity
;
4001 WORD wProcessorLevel
;
4002 WORD wProcessorRevision
;
4003 } SYSTEM_INFO
, *LPSYSTEM_INFO
;
4005 typedef struct _SYSTEM_POWER_STATUS
{
4008 BYTE BatteryLifePercent
;
4010 DWORD BatteryLifeTime
;
4011 DWORD BatteryFullLifeTime
;
4012 } SYSTEM_POWER_STATUS
;
4013 typedef SYSTEM_POWER_STATUS
*LPSYSTEM_POWER_STATUS
;
4015 typedef struct _TAPE_ERASE
{
4019 typedef struct _TAPE_GET_DRIVE_PARAMETERS
{
4021 BOOLEAN Compression
;
4022 BOOLEAN DataPadding
;
4023 BOOLEAN ReportSetmarks
;
4024 ULONG DefaultBlockSize
;
4025 ULONG MaximumBlockSize
;
4026 ULONG MinimumBlockSize
;
4027 ULONG MaximumPartitionCount
;
4030 ULONG EOTWarningZoneSize
;
4031 } TAPE_GET_DRIVE_PARAMETERS
;
4033 typedef struct _TAPE_GET_MEDIA_PARAMETERS
{
4034 LARGE_INTEGER Capacity
;
4035 LARGE_INTEGER Remaining
;
4037 DWORD PartitionCount
;
4038 BOOLEAN WriteProtected
;
4039 } TAPE_GET_MEDIA_PARAMETERS
;
4041 typedef struct _TAPE_GET_POSITION
{
4046 } TAPE_GET_POSITION
;
4048 typedef struct _TAPE_PREPARE
{
4052 typedef struct _TAPE_SET_DRIVE_PARAMETERS
{
4054 BOOLEAN Compression
;
4055 BOOLEAN DataPadding
;
4056 BOOLEAN ReportSetmarks
;
4057 ULONG EOTWarningZoneSize
;
4058 } TAPE_SET_DRIVE_PARAMETERS
;
4060 typedef struct _TAPE_SET_MEDIA_PARAMETERS
{
4062 } TAPE_SET_MEDIA_PARAMETERS
;
4064 typedef struct _TAPE_SET_POSITION
{
4069 } TAPE_SET_POSITION
;
4071 typedef struct _TAPE_WRITE_MARKS
{
4079 } TBADDBITMAP
, *LPTBADDBITMAP
;
4081 typedef struct _TBBUTTON
{
4088 } TBBUTTON
, * PTBBUTTON
, * LPTBBUTTON
;
4089 typedef const TBBUTTON
* LPCTBBUTTON
;
4097 } TBNOTIFY
, *LPTBNOTIFY
;
4102 LPCTSTR pszValueName
;
4105 typedef struct _TC_HITTESTINFO
{
4110 typedef struct _TC_ITEM
{
4120 typedef struct _TC_ITEMHEADER
{
4129 typedef struct _TC_KEYDOWN
{
4135 typedef struct _textrange
{
4140 typedef struct tagTOGGLEKEYS
{
4145 typedef struct _TOKEN_CONTROL
{
4147 LUID AuthenticationId
;
4149 TOKEN_SOURCE TokenSource
;
4150 } TOKEN_CONTROL
, *PTOKEN_CONTROL
;
4160 } TOOLINFO
, *PTOOLINFO
, *LPTOOLINFO
;
4168 } TOOLTIPTEXT
, *LPTOOLTIPTEXT
;
4170 typedef struct tagTPMPARAMS
{
4173 } TPMPARAMS
, *LPTPMPARAMS
;
4175 typedef struct _TRANSMIT_FILE_BUFFERS
{
4180 } TRANSMIT_FILE_BUFFERS
;
4182 typedef struct _TT_HITTESTINFO
{
4186 } TTHITTESTINFO
, * LPHITTESTINFO
;
4188 typedef struct tagTTPOLYCURVE
{
4192 } TTPOLYCURVE
, * LPTTPOLYCURVE
;
4194 typedef struct _TTPOLYGONHEADER
{
4198 } TTPOLYGONHEADER
, * LPTTPOLYGONHEADER
;
4200 typedef struct _TV_DISPINFO
{
4205 typedef struct _TVHITTESTINFO
{
4209 } TV_HITTESTINFO
, *LPTV_HITTESTINFO
;
4211 typedef struct _TV_INSERTSTRUCT
{
4213 HTREEITEM hInsertAfter
;
4215 } TV_INSERTSTRUCT
, *LPTV_INSERTSTRUCT
;
4217 typedef struct _TV_KEYDOWN
{
4223 typedef struct _TV_SORTCB
{
4225 PFNTVCOMPARE lpfnCompare
;
4227 } TV_SORTCB
, *LPTV_SORTCB
;
4234 typedef struct _UNIVERSAL_NAME_INFO
{
4235 LPTSTR lpUniversalName
;
4236 } UNIVERSAL_NAME_INFO
;
4238 typedef struct tagUSEROBJECTFLAGS
{
4244 typedef struct _VERIFY_INFORMATION
{
4245 LARGE_INTEGER StartingOffset
;
4247 } VERIFY_INFORMATION
;
4249 typedef struct _VS_FIXEDFILEINFO
{
4251 DWORD dwStrucVersion
;
4252 DWORD dwFileVersionMS
;
4253 DWORD dwFileVersionLS
;
4254 DWORD dwProductVersionMS
;
4255 DWORD dwProductVersionLS
;
4256 DWORD dwFileFlagsMask
;
4260 DWORD dwFileSubtype
;
4265 typedef struct _WIN32_FIND_DATA
{
4266 DWORD dwFileAttributes
;
4267 FILETIME ftCreationTime
;
4268 FILETIME ftLastAccessTime
;
4269 FILETIME ftLastWriteTime
;
4270 DWORD nFileSizeHigh
;
4274 TCHAR cFileName
[ MAX_PATH
];
4275 TCHAR cAlternateFileName
[ 14 ];
4276 } WIN32_FIND_DATA
, *LPWIN32_FIND_DATA
, *PWIN32_FIND_DATA
;
4278 typedef struct _WIN32_STREAM_ID
{
4280 DWORD dwStreamAttributes
;
4282 DWORD dwStreamNameSize
;
4283 WCHAR
*cStreamName
;
4286 typedef struct _WINDOWPLACEMENT
{
4290 POINT ptMinPosition
;
4291 POINT ptMaxPosition
;
4292 RECT rcNormalPosition
;
4295 typedef struct _WNDCLASS
{
4297 WNDPROC lpfnWndProc
;
4303 HBRUSH hbrBackground
;
4304 LPCTSTR lpszMenuName
;
4305 LPCTSTR lpszClassName
;
4306 } WNDCLASS
, *LPWNDCLASS
;
4308 typedef struct _WNDCLASSEX
{
4311 WNDPROC lpfnWndProc
;
4317 HBRUSH hbrBackground
;
4318 LPCTSTR lpszMenuName
;
4319 LPCTSTR lpszClassName
;
4321 } WNDCLASSEX
, *LPWNDCLASSEX
;
4323 typedef struct _CONNECTDLGSTRUCT
{
4326 LPNETRESOURCE lpConnRes
;
4329 } CONNECTDLGSTRUCT
, *LPCONNECTDLGSTRUCT
;
4331 typedef struct _DISCDLGSTRUCT
{
4335 LPTSTR lpRemoteName
;
4337 } DISCDLGSTRUCT
, *LPDISCDLGSTRUCT
;
4339 typedef struct _NETINFOSTRUCT
{
4341 DWORD dwProviderVersion
;
4343 DWORD dwCharacteristics
;
4348 } NETINFOSTRUCT
, *LPNETINFOSTRUCT
;
4350 typedef struct _NETCONNECTINFOSTRUCT
{
4355 DWORD dwOptDataSize
;
4356 } NETCONNECTINFOSTRUCT
, *LPNETCONNECTINFOSTRUCT
;
4358 typedef int CALLBACK (*ENUMMETAFILEPROC
) (HDC
, HANDLETABLE
,
4359 METARECORD
, int, LPARAM
);
4360 typedef int CALLBACK (*ENHMETAFILEPROC
) (HDC
, HANDLETABLE
,
4361 ENHMETARECORD
, int, LPARAM
);
4363 typedef int CALLBACK (*ENUMFONTSPROC
) (LPLOGFONT
, LPTEXTMETRIC
, DWORD
, LPARAM
);
4364 typedef int CALLBACK (*FONTENUMPROC
) (ENUMLOGFONT
*, NEWTEXTMETRIC
*,
4366 typedef int CALLBACK (*FONTENUMEXPROC
) (ENUMLOGFONTEX
*, NEWTEXTMETRICEX
*,
4369 typedef VOID
CALLBACK (*LPOVERLAPPED_COMPLETION_ROUTINE
) (DWORD
, DWORD
,
4373 Structures for the extensions to OpenGL
4375 typedef struct _POINTFLOAT
4379 } POINTFLOAT
, *PPOINTFLOAT
;
4381 typedef struct _GLYPHMETRICSFLOAT
4385 POINTFLOAT gmfptGlyphOrigin
;
4388 } GLYPHMETRICSFLOAT
, *PGLYPHMETRICSFLOAT
, *LPGLYPHMETRICSFLOAT
;
4390 typedef struct tagLAYERPLANEDESCRIPTOR
4407 BYTE cAccumGreenBits
;
4408 BYTE cAccumBlueBits
;
4409 BYTE cAccumAlphaBits
;
4415 COLORREF crTransparent
;
4416 } LAYERPLANEDESCRIPTOR
, *PLAYERPLANEDESCRIPTOR
, *LPLAYERPLANEDESCRIPTOR
;
4418 typedef struct tagPIXELFORMATDESCRIPTOR
4435 BYTE cAccumGreenBits
;
4436 BYTE cAccumBlueBits
;
4437 BYTE cAccumAlphaBits
;
4444 DWORD dwVisibleMask
;
4446 } PIXELFORMATDESCRIPTOR
, *PPIXELFORMATDESCRIPTOR
, *LPPIXELFORMATDESCRIPTOR
;
4451 LPWSTR usri2_password
;
4452 DWORD usri2_password_age
;
4454 LPWSTR usri2_home_dir
;
4455 LPWSTR usri2_comment
;
4457 LPWSTR usri2_script_path
;
4458 DWORD usri2_auth_flags
;
4459 LPWSTR usri2_full_name
;
4460 LPWSTR usri2_usr_comment
;
4462 LPWSTR usri2_workstations
;
4463 DWORD usri2_last_logon
;
4464 DWORD usri2_last_logoff
;
4465 DWORD usri2_acct_expires
;
4466 DWORD usri2_max_storage
;
4467 DWORD usri2_units_per_week
;
4468 PBYTE usri2_logon_hours
;
4469 DWORD usri2_bad_pw_count
;
4470 DWORD usri2_num_logons
;
4471 LPWSTR usri2_logon_server
;
4472 DWORD usri2_country_code
;
4473 DWORD usri2_code_page
;
4474 } USER_INFO_2
, *PUSER_INFO_2
, *LPUSER_INFO_2
;
4479 } USER_INFO_0
, *PUSER_INFO_0
, *LPUSER_INFO_0
;
4484 LPWSTR usri3_password
;
4485 DWORD usri3_password_age
;
4487 LPWSTR usri3_home_dir
;
4488 LPWSTR usri3_comment
;
4490 LPWSTR usri3_script_path
;
4491 DWORD usri3_auth_flags
;
4492 LPWSTR usri3_full_name
;
4493 LPWSTR usri3_usr_comment
;
4495 LPWSTR usri3_workstations
;
4496 DWORD usri3_last_logon
;
4497 DWORD usri3_last_logoff
;
4498 DWORD usri3_acct_expires
;
4499 DWORD usri3_max_storage
;
4500 DWORD usri3_units_per_week
;
4501 PBYTE usri3_logon_hours
;
4502 DWORD usri3_bad_pw_count
;
4503 DWORD usri3_num_logons
;
4504 LPWSTR usri3_logon_server
;
4505 DWORD usri3_country_code
;
4506 DWORD usri3_code_page
;
4507 DWORD usri3_user_id
;
4508 DWORD usri3_primary_group_id
;
4509 LPWSTR usri3_profile
;
4510 LPWSTR usri3_home_dir_drive
;
4511 DWORD usri3_password_expired
;
4512 } USER_INFO_3
, *PUSER_INFO_3
, *LPUSER_INFO_3
;
4517 LPWSTR grpi2_comment
;
4518 DWORD grpi2_group_id
;
4519 DWORD grpi2_attributes
;
4520 } GROUP_INFO_2
, *PGROUP_INFO_2
;
4525 } LOCALGROUP_INFO_0
, *PLOCALGROUP_INFO_0
, *LPLOCALGROUP_INFO_0
;
4527 /* PE executable header. */
4529 #ifndef WIN32_NO_PEHDR
4533 WORD e_magic
; /* Magic number, 0x5a4d */
4534 WORD e_cblp
; /* Bytes on last page of file, 0x90 */
4535 WORD e_cp
; /* Pages in file, 0x3 */
4536 WORD e_crlc
; /* Relocations, 0x0 */
4537 WORD e_cparhdr
; /* Size of header in paragraphs, 0x4 */
4538 WORD e_minalloc
; /* Minimum extra paragraphs needed, 0x0 */
4539 WORD e_maxalloc
; /* Maximum extra paragraphs needed, 0xFFFF */
4540 WORD e_ss
; /* Initial (relative) SS value, 0x0 */
4541 WORD e_sp
; /* Initial SP value, 0xb8 */
4542 WORD e_csum
; /* Checksum, 0x0 */
4543 WORD e_ip
; /* Initial IP value, 0x0 */
4544 WORD e_cs
; /* Initial (relative) CS value, 0x0 */
4545 WORD e_lfarlc
; /* File address of relocation table, 0x40 */
4546 WORD e_ovno
; /* Overlay number, 0x0 */
4547 WORD e_res
[4]; /* Reserved words, all 0x0 */
4548 WORD e_oemid
; /* OEM identifier (for e_oeminfo), 0x0 */
4549 WORD e_oeminfo
; /* OEM information; e_oemid specific, 0x0 */
4550 WORD e_res2
[10]; /* Reserved words, all 0x0 */
4551 LONG e_lfanew
; /* File address of new exe header, 0x80 */
4552 /* We leave out the next two fields, since they aren't in the
4553 Windows header file. */
4554 /* DWORD dos_message[16]; * text which always follows dos header */
4555 /* DWORD nt_signature; * required NT signature, 0x4550 */
4556 } IMAGE_DOS_HEADER
, *PIMAGE_DOS_HEADER
;
4558 #endif /* WIN32_NO_PEHDR */
4562 #endif /* __cplusplus */
4564 #endif /* WIN32_LEAN_AND_MEAN */
4566 #endif /* _GNU_H_WINDOWS32_STRUCTURES */