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
;
63 typedef struct _PARTITION_INFORMATION
{
65 BOOLEAN BootIndicator
;
66 BOOLEAN RecognizedPartition
;
67 BOOLEAN RewritePartition
;
68 LARGE_INTEGER StartingOffset
;
69 LARGE_INTEGER PartitionLength
;
70 LARGE_INTEGER HiddenSectors
;
71 } PARTITION_INFORMATION
;
73 typedef struct _SINGLE_LIST_ENTRY
{
74 struct _SINGLE_LIST_ENTRY
*Next
;
75 } SINGLE_LIST_ENTRY
, *PSINGLE_LIST_ENTRY
;
77 typedef struct _CRITICAL_SECTION_DEBUG
{
79 WORD CreatorBackTraceIndex
;
80 struct _CRITICAL_SECTION
*CriticalSection
;
81 LIST_ENTRY ProcessLocksList
;
83 DWORD ContentionCount
;
85 PVOID OwnerBackTrace
[ 5 ];
86 } CRITICAL_SECTION_DEBUG
, *PCRITICAL_SECTION_DEBUG
;
88 typedef struct _CRITICAL_SECTION
{
89 PCRITICAL_SECTION_DEBUG DebugInfo
;
95 } CRITICAL_SECTION
, *PCRITICAL_SECTION
, *LPCRITICAL_SECTION
;
97 typedef struct _GENERIC_MAPPING
{
98 ACCESS_MASK GenericRead
;
99 ACCESS_MASK GenericWrite
;
100 ACCESS_MASK GenericExecute
;
101 ACCESS_MASK GenericAll
;
102 } GENERIC_MAPPING
, *PGENERIC_MAPPING
;
104 typedef struct _PRIVILEGE_SET
{
105 DWORD PrivilegeCount
;
107 LUID_AND_ATTRIBUTES Privilege
[ANYSIZE_ARRAY
];
108 } PRIVILEGE_SET
, *PPRIVILEGE_SET
, *LPPRIVILEGE_SET
;
112 typedef struct _FLOATING_SAVE_AREA
{
120 BYTE RegisterArea
[80];
122 } FLOATING_SAVE_AREA
;
124 typedef struct _CONTEXT
{
134 FLOATING_SAVE_AREA FloatSave
;
154 } CONTEXT
, *PCONTEXT
, *LPCONTEXT
;
160 /* Floating point registers returned when CONTEXT_FLOATING_POINT is set */
195 /* Integer registers returned when CONTEXT_INTEGER is set. */
229 DWORD Cr
; /* Condition register */
230 DWORD Xer
; /* Fixed point exception register */
232 /* The following are set when CONTEXT_CONTROL is set. */
233 DWORD Msr
; /* Machine status register */
234 DWORD Iar
; /* Instruction address register */
235 DWORD Lr
; /* Link register */
236 DWORD Ctr
; /* Control register */
238 /* Control which context values are returned */
242 /* Registers returned if CONTEXT_DEBUG_REGISTERS is set. */
243 DWORD Dr0
; /* Breakpoint Register 1 */
244 DWORD Dr1
; /* Breakpoint Register 2 */
245 DWORD Dr2
; /* Breakpoint Register 3 */
246 DWORD Dr3
; /* Breakpoint Register 4 */
247 DWORD Dr4
; /* Breakpoint Register 5 */
248 DWORD Dr5
; /* Breakpoint Register 6 */
249 DWORD Dr6
; /* Debug Status Register */
250 DWORD Dr7
; /* Debug Control Register */
251 } CONTEXT
, *PCONTEXT
, *LPCONTEXT
;
255 typedef struct value_ent
{
263 typedef struct _EXCEPTION_RECORD
{
265 DWORD ExceptionFlags
;
266 struct _EXCEPTION_RECORD
*ExceptionRecord
;
267 PVOID ExceptionAddress
;
268 DWORD NumberParameters
;
269 DWORD ExceptionInformation
[EXCEPTION_MAXIMUM_PARAMETERS
];
270 } EXCEPTION_RECORD
, *PEXCEPTION_RECORD
, *LPEXCEPTION_RECORD
;
272 typedef struct _DRIVE_LAYOUT_INFORMATION
{
273 DWORD PartitionCount
;
275 PARTITION_INFORMATION PartitionEntry
[1];
276 } DRIVE_LAYOUT_INFORMATION
;
278 typedef struct _KEY_EVENT_RECORD
{
281 WORD wVirtualKeyCode
;
282 WORD wVirtualScanCode
;
287 DWORD dwControlKeyState
;
288 } KEY_EVENT_RECORD PACKED
;
290 typedef struct _COORD
{
295 typedef struct _MOUSE_EVENT_RECORD
{
296 COORD dwMousePosition
;
298 DWORD dwControlKeyState
;
300 } MOUSE_EVENT_RECORD
;
302 typedef struct _DISK_GEOMETRY
{
303 LARGE_INTEGER Cylinders
;
304 MEDIA_TYPE MediaType
;
305 DWORD TracksPerCylinder
;
306 DWORD SectorsPerTrack
;
307 DWORD BytesPerSector
;
310 typedef struct _MEMORY_BASIC_INFORMATION
{
312 PVOID AllocationBase
;
313 DWORD AllocationProtect
;
318 } MEMORY_BASIC_INFORMATION
;
319 typedef MEMORY_BASIC_INFORMATION
*PMEMORY_BASIC_INFORMATION
;
321 typedef struct _SYSTEMTIME
{
330 } SYSTEMTIME
, *LPSYSTEMTIME
;
332 typedef struct _TIME_ZONE_INFORMATION
{
334 WCHAR StandardName
[ 32 ];
335 SYSTEMTIME StandardDate
;
337 WCHAR DaylightName
[ 32 ];
338 SYSTEMTIME DaylightDate
;
340 } TIME_ZONE_INFORMATION
, *LPTIME_ZONE_INFORMATION
;
343 #ifndef WIN32_LEAN_AND_MEAN
347 #endif /* __cplusplus */
349 typedef struct _ABC
{
355 typedef struct _ABCFLOAT
{
359 } ABCFLOAT
, *LPABCFLOAT
;
361 typedef struct tagACCEL
{
367 typedef struct tagACCESSTIMEOUT
{
373 typedef struct _ACL_REVISION_INFORMATION
{
375 } ACL_REVISION_INFORMATION
;
377 typedef struct _ACL_SIZE_INFORMATION
{
381 } ACL_SIZE_INFORMATION
;
383 typedef struct _ACTION_HEADER
{
389 typedef struct _ADAPTER_STATUS
{
390 UCHAR adapter_address
[6];
398 WORD iframe_recv_err
;
402 WORD iframe_xmit_err
;
403 WORD recv_buff_unavail
;
410 WORD xmit_buf_unavail
;
415 WORD max_sess_pkt_size
;
419 typedef struct _ADDJOB_INFO_1
{
424 typedef struct tagANIMATIONINFO
{
427 } ANIMATIONINFO
, *LPANIMATIONINFO
;
429 typedef struct _RECT
{
434 } RECT
, *LPRECT
, *PRECT
;
436 typedef struct _RECTL
{
443 typedef struct _AppBarData
{
446 UINT uCallbackMessage
;
450 } APPBARDATA
, *PAPPBARDATA
;
452 typedef struct tagBITMAP
461 } BITMAP
, *PBITMAP
, *NPBITMAP
, *LPBITMAP
;
463 typedef struct tagBITMAPCOREHEADER
{
471 typedef struct tagRGBTRIPLE
{
477 typedef struct _BITMAPCOREINFO
{
478 BITMAPCOREHEADER bmciHeader
;
479 RGBTRIPLE bmciColors
[1];
480 } BITMAPCOREINFO
, *PBITMAPCOREINFO
, *LPBITMAPCOREINFO
;
482 typedef struct tagBITMAPFILEHEADER
{
488 } BITMAPFILEHEADER
__attribute__((packed
));
490 typedef struct tagBITMAPINFOHEADER
{
498 LONG biXPelsPerMeter
;
499 LONG biYPelsPerMeter
;
501 DWORD biClrImportant
;
502 } BITMAPINFOHEADER
, *LPBITMAPINFOHEADER
, *PBITMAPINFOHEADER
;
504 typedef struct tagRGBQUAD
{
511 typedef struct tagBITMAPINFO
{
512 BITMAPINFOHEADER bmiHeader
;
513 RGBQUAD bmiColors
[1];
514 } BITMAPINFO
, *LPBITMAPINFO
, *PBITMAPINFO
;
516 typedef long FXPT2DOT30
, * LPFXPT2DOT30
;
518 typedef struct tagCIEXYZ
524 typedef CIEXYZ
* LPCIEXYZ
;
526 typedef struct tagCIEXYZTRIPLE
532 typedef CIEXYZTRIPLE
* LPCIEXYZTRIPLE
;
540 DWORD bV4V4Compression
;
542 LONG bV4XPelsPerMeter
;
543 LONG bV4YPelsPerMeter
;
545 DWORD bV4ClrImportant
;
551 CIEXYZTRIPLE bV4Endpoints
;
555 } BITMAPV4HEADER
, *LPBITMAPV4HEADER
, *PBITMAPV4HEADER
;
557 typedef struct _BLOB
{
562 typedef struct _SHITEMID
{
565 } SHITEMID
, * LPSHITEMID
;
566 typedef const SHITEMID
* LPCSHITEMID
;
568 typedef struct _ITEMIDLIST
{
570 } ITEMIDLIST
, * LPITEMIDLIST
;
571 typedef const ITEMIDLIST
* LPCITEMIDLIST
;
573 typedef struct _browseinfo
{
575 LPCITEMIDLIST pidlRoot
;
576 LPSTR pszDisplayName
;
582 } BROWSEINFO
, *PBROWSEINFO
, *LPBROWSEINFO
;
584 typedef struct _FILETIME
{
586 DWORD dwHighDateTime
;
587 } FILETIME
, *LPFILETIME
, *PFILETIME
;
589 typedef struct _BY_HANDLE_FILE_INFORMATION
{
590 DWORD dwFileAttributes
;
591 FILETIME ftCreationTime
;
592 FILETIME ftLastAccessTime
;
593 FILETIME ftLastWriteTime
;
594 DWORD dwVolumeSerialNumber
;
597 DWORD nNumberOfLinks
;
598 DWORD nFileIndexHigh
;
600 } BY_HANDLE_FILE_INFORMATION
, *LPBY_HANDLE_FILE_INFORMATION
;
602 typedef struct _FIXED
{
607 typedef struct tagPOINT
{
610 } POINT
, *LPPOINT
, *PPOINT
;
612 typedef struct tagPOINTFX
{
617 typedef struct _POINTL
{
622 typedef struct tagPOINTS
{
627 typedef struct _tagCANDIDATEFORM
{
632 } CANDIDATEFORM
, *LPCANDIDATEFORM
;
634 typedef struct _tagCANDIDATELIST
{
642 } CANDIDATELIST
, *LPCANDIDATELIST
;
644 typedef struct tagCREATESTRUCT
{
645 LPVOID lpCreateParams
;
657 } CREATESTRUCT
, *LPCREATESTRUCT
;
659 typedef struct tagCBT_CREATEWND
{
661 HWND hwndInsertAfter
;
664 typedef struct tagCBTACTIVATESTRUCT
{
669 typedef struct _CHAR_INFO
{
675 } CHAR_INFO
, *PCHAR_INFO
;
677 typedef struct _charformat
{
683 COLORREF crTextColor
;
685 BYTE bPitchAndFamily
;
686 TCHAR szFaceName
[LF_FACESIZE
];
689 typedef struct _charrange
{
694 typedef struct tagCHARSET
{
699 typedef struct tagFONTSIGNATURE
{
702 } FONTSIGNATURE
, *LPFONTSIGNATURE
;
708 } CHARSETINFO
, *LPCHARSETINFO
;
715 COLORREF
* lpCustColors
;
718 LPCCHOOKPROC lpfnHook
;
719 LPCTSTR lpTemplateName
;
720 } CHOOSECOLOR
, *LPCHOOSECOLOR
;
722 typedef struct tagLOGFONT
{
733 BYTE lfClipPrecision
;
735 BYTE lfPitchAndFamily
;
736 TCHAR lfFaceName
[LF_FACESIZE
];
737 } LOGFONT
, *LPLOGFONT
, *PLOGFONT
;
748 LPCFHOOKPROC lpfnHook
;
749 LPCTSTR lpTemplateName
;
753 WORD ___MISSING_ALIGNMENT__
;
756 } CHOOSEFONT
, *LPCHOOSEFONT
;
758 typedef struct _IDA
{
763 typedef struct tagCLIENTCREATESTRUCT
{
766 } CLIENTCREATESTRUCT
;
768 typedef CLIENTCREATESTRUCT
*LPCLIENTCREATESTRUCT
;
770 typedef struct _CMInvokeCommandInfo
{
780 } CMINVOKECOMMANDINFO
, *LPCMINVOKECOMMANDINFO
;
782 typedef struct tagCOLORADJUSTMENT
{
785 WORD caIlluminantIndex
;
789 WORD caReferenceBlack
;
790 WORD caReferenceWhite
;
793 SHORT caColorfulness
;
794 SHORT caRedGreenTint
;
795 } COLORADJUSTMENT
, *LPCOLORADJUSTMENT
;
797 typedef struct _COLORMAP
{
800 } COLORMAP
, * LPCOLORMAP
;
802 typedef struct _DCB
{
807 DWORD fOutxCtsFlow
:1;
808 DWORD fOutxDsrFlow
:1;
810 DWORD fDsrSensitivity
:1;
811 DWORD fTXContinueOnXoff
:1;
817 DWORD fAbortOnError
:1;
833 typedef struct _COMM_CONFIG
{
838 DWORD dwProviderSubType
;
839 DWORD dwProviderOffset
;
840 DWORD dwProviderSize
;
841 WCHAR wcProviderData
[1];
842 } COMMCONFIG
, *LPCOMMCONFIG
;
844 typedef struct _COMMPROP
{
853 DWORD dwProvCapabilities
;
854 DWORD dwSettableParams
;
855 DWORD dwSettableBaud
;
857 WORD wSettableStopParity
;
858 DWORD dwCurrentTxQueue
;
859 DWORD dwCurrentRxQueue
;
863 } COMMPROP
, *LPCOMMPROP
;
865 typedef struct _COMMTIMEOUTS
{
866 DWORD ReadIntervalTimeout
;
867 DWORD ReadTotalTimeoutMultiplier
;
868 DWORD ReadTotalTimeoutConstant
;
869 DWORD WriteTotalTimeoutMultiplier
;
870 DWORD WriteTotalTimeoutConstant
;
871 } COMMTIMEOUTS
,*LPCOMMTIMEOUTS
;
873 typedef struct tagCOMPAREITEMSTRUCT
{
885 COLORREF crBackground
;
889 typedef struct _tagCOMPOSITIONFORM
{
893 } COMPOSITIONFORM
, *LPCOMPOSITIONFORM
;
895 typedef struct _COMSTAT
{
903 DWORD fReserved
: 25;
906 } COMSTAT
, *LPCOMSTAT
;
908 typedef struct _CONSOLE_CURSOR_INFO
{
911 } CONSOLE_CURSOR_INFO
, *PCONSOLE_CURSOR_INFO
;
913 typedef struct _SMALL_RECT
{
918 } SMALL_RECT
, *PSMALL_RECT
;
920 typedef struct _CONSOLE_SCREEN_BUFFER_INFO
{
922 COORD dwCursorPosition
;
925 COORD dwMaximumWindowSize
;
926 } CONSOLE_SCREEN_BUFFER_INFO
, *PCONSOLE_SCREEN_BUFFER_INFO
;
928 typedef struct tagCONVCONTEXT
{
935 SECURITY_QUALITY_OF_SERVICE qos
;
938 typedef CONVCONTEXT
*PCONVCONTEXT
;
940 typedef struct tagCONVINFO
{
954 CONVCONTEXT ConvCtxt
;
959 typedef struct tagCOPYDATASTRUCT
{
965 typedef struct _cpinfo
{
967 BYTE DefaultChar
[MAX_DEFAULTCHAR
];
968 BYTE LeadByte
[MAX_LEADBYTES
];
971 typedef struct tagCPLINFO
{
978 typedef struct _CREATE_PROCESS_DEBUG_INFO
{
982 LPVOID lpBaseOfImage
;
983 DWORD dwDebugInfoFileOffset
;
984 DWORD nDebugInfoSize
;
985 LPVOID lpThreadLocalBase
;
986 LPTHREAD_START_ROUTINE lpStartAddress
;
989 } CREATE_PROCESS_DEBUG_INFO
;
991 typedef struct _CREATE_THREAD_DEBUG_INFO
{
993 LPVOID lpThreadLocalBase
;
994 LPTHREAD_START_ROUTINE lpStartAddress
;
995 } CREATE_THREAD_DEBUG_INFO
;
999 typedef struct _SOCKET_ADDRESS {
1000 LPSOCKADDR lpSockaddr ;
1001 INT iSockaddrLength ;
1002 } SOCKET_ADDRESS, *PSOCKET_ADDRESS, *LPSOCKET_ADDRESS;
1006 typedef struct _CSADDR_INFO {
1007 SOCKET_ADDRESS LocalAddr;
1008 SOCKET_ADDRESS RemoteAddr;
1014 typedef struct _currencyfmt
{
1018 LPTSTR lpDecimalSep
;
1019 LPTSTR lpThousandSep
;
1022 LPTSTR lpCurrencySymbol
;
1025 typedef struct tagCURSORSHAPE
{
1033 } CURSORSHAPE
, *LPCURSORSHAPE
;
1035 typedef struct tagCWPRETSTRUCT
{
1043 typedef struct tagCWPSTRUCT
{
1050 typedef struct _DATATYPES_INFO_1
{
1055 unsigned short bAppReturnCode
:8,
1062 unsigned short reserved
:14,
1069 unsigned short unused
:12,
1079 unsigned short unused
:13,
1086 typedef struct tagDDEML_MSG_HOOK_DATA
{
1091 } DDEML_MSG_HOOK_DATA
;
1094 unsigned short unused
:13,
1102 unsigned short unused
:12,
1111 typedef struct _EXCEPTION_DEBUG_INFO
{
1112 EXCEPTION_RECORD ExceptionRecord
;
1113 DWORD dwFirstChance
;
1114 } EXCEPTION_DEBUG_INFO
;
1116 typedef struct _EXIT_PROCESS_DEBUG_INFO
{
1118 } EXIT_PROCESS_DEBUG_INFO
;
1120 typedef struct _EXIT_THREAD_DEBUG_INFO
{
1122 } EXIT_THREAD_DEBUG_INFO
;
1124 typedef struct _LOAD_DLL_DEBUG_INFO
{
1127 DWORD dwDebugInfoFileOffset
;
1128 DWORD nDebugInfoSize
;
1131 } LOAD_DLL_DEBUG_INFO
;
1133 typedef struct _UNLOAD_DLL_DEBUG_INFO
{
1135 } UNLOAD_DLL_DEBUG_INFO
;
1137 typedef struct _OUTPUT_DEBUG_STRING_INFO
{
1138 LPSTR lpDebugStringData
;
1140 WORD nDebugStringLength
;
1141 } OUTPUT_DEBUG_STRING_INFO
;
1143 typedef struct _RIP_INFO
{
1148 typedef struct _DEBUG_EVENT
{
1149 DWORD dwDebugEventCode
;
1153 EXCEPTION_DEBUG_INFO Exception
;
1154 CREATE_THREAD_DEBUG_INFO CreateThread
;
1155 CREATE_PROCESS_DEBUG_INFO CreateProcessInfo
;
1156 EXIT_THREAD_DEBUG_INFO ExitThread
;
1157 EXIT_PROCESS_DEBUG_INFO ExitProcess
;
1158 LOAD_DLL_DEBUG_INFO LoadDll
;
1159 UNLOAD_DLL_DEBUG_INFO UnloadDll
;
1160 OUTPUT_DEBUG_STRING_INFO DebugString
;
1163 } DEBUG_EVENT
, *LPDEBUG_EVENT
;
1165 typedef struct tagDEBUGHOOKINFO
{
1167 DWORD idThreadInstaller
;
1173 typedef struct tagDELETEITEMSTRUCT
{
1181 typedef struct _DEV_BROADCAST_HDR
{
1183 ULONG dbch_devicetype
;
1184 ULONG dbch_reserved
;
1185 } DEV_BROADCAST_HDR
;
1186 typedef DEV_BROADCAST_HDR
*PDEV_BROADCAST_HDR
;
1188 typedef struct _DEV_BROADCAST_OEM
{
1190 ULONG dbco_devicetype
;
1191 ULONG dbco_reserved
;
1192 ULONG dbco_identifier
;
1193 ULONG dbco_suppfunc
;
1194 } DEV_BROADCAST_OEM
;
1195 typedef DEV_BROADCAST_OEM
*PDEV_BROADCAST_OEM
;
1197 typedef struct _DEV_BROADCAST_PORT
{
1199 ULONG dbcp_devicetype
;
1200 ULONG dbcp_reserved
;
1202 } DEV_BROADCAST_PORT
;
1203 typedef DEV_BROADCAST_PORT
*PDEV_BROADCAST_PORT
;
1205 struct _DEV_BROADCAST_USERDEFINED
{
1206 struct _DEV_BROADCAST_HDR dbud_dbh
;
1207 char dbud_szName
[1];
1208 BYTE dbud_rgbUserDefined
[1];
1211 typedef struct _DEV_BROADCAST_VOLUME
{
1213 ULONG dbcv_devicetype
;
1214 ULONG dbcv_reserved
;
1215 ULONG dbcv_unitmask
;
1217 } DEV_BROADCAST_VOLUME
;
1218 typedef DEV_BROADCAST_VOLUME
*PDEV_BROADCAST_VOLUME
;
1220 typedef struct _devicemode
{
1221 BCHAR dmDeviceName
[CCHDEVICENAME
];
1223 WORD dmDriverVersion
;
1227 short dmOrientation
;
1229 short dmPaperLength
;
1233 short dmDefaultSource
;
1234 short dmPrintQuality
;
1237 short dmYResolution
;
1240 BCHAR dmFormName
[CCHFORMNAME
];
1245 DWORD dmDisplayFlags
;
1246 DWORD dmDisplayFrequency
;
1251 DWORD dmICCManufacturer
;
1253 } DEVMODE
, *LPDEVMODE
;
1255 typedef struct tagDEVNAMES
{
1260 } DEVNAMES
, *LPDEVNAMES
;
1262 typedef struct tagDIBSECTION
{
1264 BITMAPINFOHEADER dsBmih
;
1265 DWORD dsBitfields
[3];
1270 typedef struct _DISK_PERFORMANCE
{
1271 LARGE_INTEGER BytesRead
;
1272 LARGE_INTEGER BytesWritten
;
1273 LARGE_INTEGER ReadTime
;
1274 LARGE_INTEGER WriteTime
;
1278 } DISK_PERFORMANCE
;
1282 DWORD dwExtendedStyle
;
1288 } DLGITEMTEMPLATE PACKED
;
1290 typedef DLGITEMTEMPLATE
*LPDLGITEMTEMPLATE
;
1291 typedef DLGITEMTEMPLATE
*PDLGITEMTEMPLATE
;
1295 DWORD dwExtendedStyle
;
1301 } DLGTEMPLATE PACKED
;
1303 typedef DLGTEMPLATE
*LPDLGTEMPLATE
;
1304 typedef const DLGTEMPLATE
*LPCDLGTEMPLATE
;
1306 typedef struct _DOC_INFO_1
{
1312 typedef struct _DOC_INFO_2
{
1322 LPCTSTR lpszDocName
;
1324 LPCTSTR lpszDatatype
;
1326 } DOCINFO
, *PDOCINFO
;
1332 } DRAGLISTINFO
, *LPDRAGLISTINFO
;
1334 typedef struct tagDRAWITEMSTRUCT
{
1344 } DRAWITEMSTRUCT
, *LPDRAWITEMSTRUCT
, *PDRAWITEMSTRUCT
;
1352 } DRAWTEXTPARAMS
, *LPDRAWTEXTPARAMS
;
1356 typedef struct _DRIVER_INFO_1
{
1360 typedef struct _DRIVER_INFO_2
{
1363 LPTSTR pEnvironment
;
1369 typedef struct _DRIVER_INFO_3
{
1372 LPTSTR pEnvironment
;
1377 LPTSTR pDependentFiles
;
1378 LPTSTR pMonitorName
;
1379 LPTSTR pDefaultDataType
;
1382 typedef struct _editstream
{
1385 EDITSTREAMCALLBACK pfnCallback
;
1388 typedef struct tagEMR
1394 typedef struct tagEMRANGLEARC
1401 } EMRANGLEARC
, *PEMRANGLEARC
;
1403 typedef struct tagEMRARC
1410 EMRARCTO
, *PEMRARCTO
,
1411 EMRCHORD
, *PEMRCHORD
,
1414 typedef struct _XFORM
1422 } XFORM
, *PXFORM
, *LPXFORM
;
1424 typedef struct tagEMRBITBLT
1436 COLORREF crBkColorSrc
;
1441 } EMRBITBLT
, *PEMRBITBLT
;
1443 typedef struct tagLOGBRUSH
{
1447 } LOGBRUSH
, *PLOGBRUSH
;
1449 typedef struct tagEMRCREATEBRUSHINDIRECT
1454 } EMRCREATEBRUSHINDIRECT
, *PEMRCREATEBRUSHINDIRECT
;
1456 typedef LONG LCSCSTYPE
;
1457 typedef LONG LCSGAMUTMATCH
;
1459 typedef struct tagLOGCOLORSPACE
{
1464 LCSCSTYPE lcsCSType
;
1465 LCSGAMUTMATCH lcsIntent
;
1466 CIEXYZTRIPLE lcsEndpoints
;
1468 DWORD lcsGammaGreen
;
1470 TCHAR lcsFilename
[MAX_PATH
];
1471 } LOGCOLORSPACE
, *LPLOGCOLORSPACE
;
1473 typedef struct tagEMRCREATECOLORSPACE
1478 } EMRCREATECOLORSPACE
, *PEMRCREATECOLORSPACE
;
1480 typedef struct tagEMRCREATEDIBPATTERNBRUSHPT
1489 } EMRCREATEDIBPATTERNBRUSHPT
,
1490 PEMRCREATEDIBPATTERNBRUSHPT
;
1492 typedef struct tagEMRCREATEMONOBRUSH
1501 } EMRCREATEMONOBRUSH
, *PEMRCREATEMONOBRUSH
;
1503 typedef struct tagPALETTEENTRY
{
1508 } PALETTEENTRY
, *LPPALETTEENTRY
, *PPALETTEENTRY
;
1510 typedef struct tagLOGPALETTE
{
1513 PALETTEENTRY palPalEntry
[1];
1514 } LOGPALETTE
, *LPLOGPALETTE
, *PLOGPALETTE
;
1516 typedef struct tagEMRCREATEPALETTE
1521 } EMRCREATEPALETTE
, *PEMRCREATEPALETTE
;
1523 typedef struct tagLOGPEN
{
1529 typedef struct tagEMRCREATEPEN
1534 } EMRCREATEPEN
, *PEMRCREATEPEN
;
1536 typedef struct tagEMRELLIPSE
1540 } EMRELLIPSE
, *PEMRELLIPSE
,
1541 EMRRECTANGLE
, *PEMRRECTANGLE
;
1543 typedef struct tagEMREOF
1547 DWORD offPalEntries
;
1551 typedef struct tagEMREXCLUDECLIPRECT
1555 } EMREXCLUDECLIPRECT
, *PEMREXCLUDECLIPRECT
,
1556 EMRINTERSECTCLIPRECT
, *PEMRINTERSECTCLIPRECT
;
1558 typedef struct tagPANOSE
{
1564 BYTE bStrokeVariation
;
1571 typedef struct tagEXTLOGFONT
{
1573 BCHAR elfFullName
[LF_FULLFACESIZE
];
1574 BCHAR elfStyle
[LF_FACESIZE
];
1579 BYTE elfVendorId
[ELF_VENDOR_SIZE
];
1584 typedef struct tagEMREXTCREATEFONTINDIRECTW
1589 } EMREXTCREATEFONTINDIRECTW
,
1590 PEMREXTCREATEFONTINDIRECTW
;
1592 typedef struct tagEXTLOGPEN
{
1598 DWORD elpNumEntries
;
1599 DWORD elpStyleEntry
[1];
1602 typedef struct tagEMREXTCREATEPEN
1611 } EMREXTCREATEPEN
, *PEMREXTCREATEPEN
;
1613 typedef struct tagEMREXTFLOODFILL
1619 } EMREXTFLOODFILL
, *PEMREXTFLOODFILL
;
1621 typedef struct tagEMREXTSELECTCLIPRGN
1627 } EMREXTSELECTCLIPRGN
, *PEMREXTSELECTCLIPRGN
;
1629 typedef struct tagEMRTEXT
1631 POINTL ptlReference
;
1637 } EMRTEXT
, *PEMRTEXT
;
1639 typedef struct tagEMREXTTEXTOUTA
1643 DWORD iGraphicsMode
;
1647 } EMREXTTEXTOUTA
, *PEMREXTTEXTOUTA
,
1648 EMREXTTEXTOUTW
, *PEMREXTTEXTOUTW
;
1650 typedef struct tagEMRFILLPATH
1654 } EMRFILLPATH
, *PEMRFILLPATH
,
1655 EMRSTROKEANDFILLPATH
, *PEMRSTROKEANDFILLPATH
,
1656 EMRSTROKEPATH
, *PEMRSTROKEPATH
;
1658 typedef struct tagEMRFILLRGN
1665 } EMRFILLRGN
, *PEMRFILLRGN
;
1667 typedef struct tagEMRFORMAT
{
1674 typedef struct tagSIZE
{
1677 } SIZE
, *PSIZE
, *LPSIZE
, SIZEL
, *PSIZEL
, *LPSIZEL
;
1679 typedef struct tagEMRFRAMERGN
1687 } EMRFRAMERGN
, *PEMRFRAMERGN
;
1689 typedef struct tagEMRGDICOMMENT
1694 } EMRGDICOMMENT
, *PEMRGDICOMMENT
;
1696 typedef struct tagEMRINVERTRGN
1702 } EMRINVERTRGN
, *PEMRINVERTRGN
,
1703 EMRPAINTRGN
, *PEMRPAINTRGN
;
1705 typedef struct tagEMRLINETO
1709 } EMRLINETO
, *PEMRLINETO
,
1710 EMRMOVETOEX
, *PEMRMOVETOEX
;
1712 typedef struct tagEMRMASKBLT
1724 COLORREF crBkColorSrc
;
1737 } EMRMASKBLT
, *PEMRMASKBLT
;
1739 typedef struct tagEMRMODIFYWORLDTRANSFORM
1744 } EMRMODIFYWORLDTRANSFORM
,
1745 PEMRMODIFYWORLDTRANSFORM
;
1747 typedef struct tagEMROFFSETCLIPRGN
1751 } EMROFFSETCLIPRGN
, *PEMROFFSETCLIPRGN
;
1753 typedef struct tagEMRPLGBLT
1763 COLORREF crBkColorSrc
;
1776 } EMRPLGBLT
, *PEMRPLGBLT
;
1778 typedef struct tagEMRPOLYDRAW
1785 } EMRPOLYDRAW
, *PEMRPOLYDRAW
;
1787 typedef struct tagEMRPOLYDRAW16
1794 } EMRPOLYDRAW16
, *PEMRPOLYDRAW16
;
1796 typedef struct tagEMRPOLYLINE
1802 } EMRPOLYLINE
, *PEMRPOLYLINE
,
1803 EMRPOLYBEZIER
, *PEMRPOLYBEZIER
,
1804 EMRPOLYGON
, *PEMRPOLYGON
,
1805 EMRPOLYBEZIERTO
, *PEMRPOLYBEZIERTO
,
1806 EMRPOLYLINETO
, *PEMRPOLYLINETO
;
1808 typedef struct tagEMRPOLYLINE16
1814 } EMRPOLYLINE16
, *PEMRPOLYLINE16
,
1815 EMRPOLYBEZIER16
, *PEMRPOLYBEZIER16
,
1816 EMRPOLYGON16
, *PEMRPOLYGON16
,
1817 EMRPOLYBEZIERTO16
, *PEMRPOLYBEZIERTO16
,
1818 EMRPOLYLINETO16
, *PEMRPOLYLINETO16
;
1820 typedef struct tagEMRPOLYPOLYLINE
1826 DWORD aPolyCounts
[1];
1828 } EMRPOLYPOLYLINE
, *PEMRPOLYPOLYLINE
,
1829 EMRPOLYPOLYGON
, *PEMRPOLYPOLYGON
;
1831 typedef struct tagEMRPOLYPOLYLINE16
1837 DWORD aPolyCounts
[1];
1839 } EMRPOLYPOLYLINE16
, *PEMRPOLYPOLYLINE16
,
1840 EMRPOLYPOLYGON16
, *PEMRPOLYPOLYGON16
;
1842 typedef struct tagEMRPOLYTEXTOUTA
1846 DWORD iGraphicsMode
;
1850 EMRTEXT aemrtext
[1];
1851 } EMRPOLYTEXTOUTA
, *PEMRPOLYTEXTOUTA
,
1852 EMRPOLYTEXTOUTW
, *PEMRPOLYTEXTOUTW
;
1854 typedef struct tagEMRRESIZEPALETTE
1859 } EMRRESIZEPALETTE
, *PEMRRESIZEPALETTE
;
1861 typedef struct tagEMRRESTOREDC
1865 } EMRRESTOREDC
, *PEMRRESTOREDC
;
1867 typedef struct tagEMRROUNDRECT
1872 } EMRROUNDRECT
, *PEMRROUNDRECT
;
1874 typedef struct tagEMRSCALEVIEWPORTEXTEX
1881 } EMRSCALEVIEWPORTEXTEX
, *PEMRSCALEVIEWPORTEXTEX
,
1882 EMRSCALEWINDOWEXTEX
, *PEMRSCALEWINDOWEXTEX
;
1884 typedef struct tagEMRSELECTCOLORSPACE
1888 } EMRSELECTCOLORSPACE
, *PEMRSELECTCOLORSPACE
,
1889 EMRDELETECOLORSPACE
, *PEMRDELETECOLORSPACE
;
1890 typedef struct tagEMRSELECTOBJECT
1894 } EMRSELECTOBJECT
, *PEMRSELECTOBJECT
,
1895 EMRDELETEOBJECT
, *PEMRDELETEOBJECT
;
1897 typedef struct tagEMRSELECTPALETTE
1901 } EMRSELECTPALETTE
, *PEMRSELECTPALETTE
;
1903 typedef struct tagEMRSETARCDIRECTION
1906 DWORD iArcDirection
;
1907 } EMRSETARCDIRECTION
, *PEMRSETARCDIRECTION
;
1909 typedef struct tagEMRSETTEXTCOLOR
1913 } EMRSETBKCOLOR
, *PEMRSETBKCOLOR
,
1914 EMRSETTEXTCOLOR
, *PEMRSETTEXTCOLOR
;
1916 typedef struct tagEMRSETCOLORADJUSTMENT
1919 COLORADJUSTMENT ColorAdjustment
;
1920 } EMRSETCOLORADJUSTMENT
, *PEMRSETCOLORADJUSTMENT
;
1922 typedef struct tagEMRSETDIBITSTODEVICE
1939 } EMRSETDIBITSTODEVICE
, *PEMRSETDIBITSTODEVICE
;
1941 typedef struct tagEMRSETMAPPERFLAGS
1945 } EMRSETMAPPERFLAGS
, *PEMRSETMAPPERFLAGS
;
1947 typedef struct tagEMRSETMITERLIMIT
1951 } EMRSETMITERLIMIT
, *PEMRSETMITERLIMIT
;
1953 typedef struct tagEMRSETPALETTEENTRIES
1959 PALETTEENTRY aPalEntries
[1];
1960 } EMRSETPALETTEENTRIES
, *PEMRSETPALETTEENTRIES
;
1962 typedef struct tagEMRSETPIXELV
1967 } EMRSETPIXELV
, *PEMRSETPIXELV
;
1969 typedef struct tagEMRSETVIEWPORTEXTEX
1973 } EMRSETVIEWPORTEXTEX
, *PEMRSETVIEWPORTEXTEX
,
1974 EMRSETWINDOWEXTEX
, *PEMRSETWINDOWEXTEX
;
1976 typedef struct tagEMRSETVIEWPORTORGEX
1980 } EMRSETVIEWPORTORGEX
, *PEMRSETVIEWPORTORGEX
,
1981 EMRSETWINDOWORGEX
, *PEMRSETWINDOWORGEX
,
1982 EMRSETBRUSHORGEX
, *PEMRSETBRUSHORGEX
;
1984 typedef struct tagEMRSETWORLDTRANSFORM
1988 } EMRSETWORLDTRANSFORM
, *PEMRSETWORLDTRANSFORM
;
1990 typedef struct tagEMRSTRETCHBLT
2002 COLORREF crBkColorSrc
;
2010 } EMRSTRETCHBLT
, *PEMRSTRETCHBLT
;
2012 typedef struct tagEMRSTRETCHDIBITS
2030 } EMRSTRETCHDIBITS
, *PEMRSTRETCHDIBITS
;
2032 typedef struct tagABORTPATH
2035 } EMRABORTPATH
, *PEMRABORTPATH
,
2036 EMRBEGINPATH
, *PEMRBEGINPATH
,
2037 EMRENDPATH
, *PEMRENDPATH
,
2038 EMRCLOSEFIGURE
, *PEMRCLOSEFIGURE
,
2039 EMRFLATTENPATH
, *PEMRFLATTENPATH
,
2040 EMRWIDENPATH
, *PEMRWIDENPATH
,
2041 EMRSETMETARGN
, *PEMRSETMETARGN
,
2042 EMRSAVEDC
, *PEMRSAVEDC
,
2043 EMRREALIZEPALETTE
, *PEMRREALIZEPALETTE
;
2045 typedef struct tagEMRSELECTCLIPPATH
2049 } EMRSELECTCLIPPATH
, *PEMRSELECTCLIPPATH
,
2050 EMRSETBKMODE
, *PEMRSETBKMODE
,
2051 EMRSETMAPMODE
, *PEMRSETMAPMODE
,
2052 EMRSETPOLYFILLMODE
, *PEMRSETPOLYFILLMODE
,
2053 EMRSETROP2
, *PEMRSETROP2
,
2054 EMRSETSTRETCHBLTMODE
, *PEMRSETSTRETCHBLTMODE
,
2055 EMRSETTEXTALIGN
, *PEMRSETTEXTALIGN
,
2056 EMRENABLEICM
, *PEMRENABLEICM
;
2058 typedef struct tagNMHDR
{
2064 typedef struct _encorrecttext
{
2070 typedef struct _endropfiles
{
2090 typedef struct tagENHMETAHEADER
{
2102 DWORD offDescription
;
2105 SIZEL szlMillimeters
;
2106 } ENHMETAHEADER
, *LPENHMETAHEADER
;
2108 typedef struct tagENHMETARECORD
{
2112 } ENHMETARECORD
, *PENHMETARECORD
, *LPENHMETARECORD
;
2114 typedef struct _enprotected
{
2122 typedef struct _SERVICE_STATUS
{
2123 DWORD dwServiceType
;
2124 DWORD dwCurrentState
;
2125 DWORD dwControlsAccepted
;
2126 DWORD dwWin32ExitCode
;
2127 DWORD dwServiceSpecificExitCode
;
2130 } SERVICE_STATUS
, *LPSERVICE_STATUS
;
2132 typedef struct _ENUM_SERVICE_STATUSA
{
2133 LPSTR lpServiceName
;
2134 LPSTR lpDisplayName
;
2135 SERVICE_STATUS ServiceStatus
;
2136 } ENUM_SERVICE_STATUSA
, *LPENUM_SERVICE_STATUSA
;
2138 typedef struct _ENUM_SERVICE_STATUSW
{
2139 LPWSTR lpServiceName
;
2140 LPWSTR lpDisplayName
;
2141 SERVICE_STATUS ServiceStatus
;
2142 } ENUM_SERVICE_STATUSW
, *LPENUM_SERVICE_STATUSW
;
2145 #define ENUM_SERVICE_STATUS ENUM_SERVICE_STATUSW
2146 #define LPENUM_SERVICE_STATUS LPENUM_SERVICE_STATUSW
2148 #define ENUM_SERVICE_STATUS ENUM_SERVICE_STATUSA
2149 #define LPENUM_SERVICE_STATUS LPENUM_SERVICE_STATUSA
2152 typedef struct tagENUMLOGFONT
{
2154 BCHAR elfFullName
[LF_FULLFACESIZE
];
2155 BCHAR elfStyle
[LF_FACESIZE
];
2158 typedef struct tagENUMLOGFONTEX
{
2160 BCHAR elfFullName
[LF_FULLFACESIZE
];
2161 BCHAR elfStyle
[LF_FACESIZE
];
2162 BCHAR elfScript
[LF_FACESIZE
];
2165 typedef struct _EVENTLOGRECORD
{
2169 DWORD TimeGenerated
;
2176 DWORD ClosingRecordNumber
;
2178 DWORD UserSidLength
;
2179 DWORD UserSidOffset
;
2187 TCHAR Computername[]
2197 typedef struct tagEVENTMSG
{
2205 typedef struct _EXCEPTION_POINTERS
{
2206 PEXCEPTION_RECORD ExceptionRecord
;
2207 PCONTEXT ContextRecord
;
2208 } EXCEPTION_POINTERS
, *PEXCEPTION_POINTERS
, *LPEXCEPTION_POINTERS
;
2210 typedef struct _EXT_BUTTON
{
2214 } EXT_BUTTON
, *LPEXT_BUTTON
;
2216 typedef struct tagFILTERKEYS
{
2225 typedef struct _FIND_NAME_BUFFER
{
2227 UCHAR access_control
;
2228 UCHAR frame_control
;
2229 UCHAR destination_addr
[6];
2230 UCHAR source_addr
[6];
2231 UCHAR routing_info
[18];
2234 typedef struct _FIND_NAME_HEADER
{
2243 HINSTANCE hInstance
;
2245 LPTSTR lpstrFindWhat
;
2246 LPTSTR lpstrReplaceWith
;
2248 WORD wReplaceWithLen
;
2250 LPFRHOOKPROC lpfnHook
;
2251 LPCTSTR lpTemplateName
;
2252 } FINDREPLACE
, *LPFINDREPLACE
;
2254 typedef struct _findtext
{
2259 typedef struct _findtextex
{
2265 typedef struct _FMS_GETDRIVEINFO
{
2273 typedef struct _FMS_GETFILESEL
{
2280 typedef struct _FMS_LOAD
{
2282 TCHAR szMenuName
[MENU_TEXT_LEN
];
2287 typedef struct _FMS_TOOLBARLOAD
{
2289 LPEXT_BUTTON lpButtons
;
2296 typedef struct _FOCUS_EVENT_RECORD
{
2298 } FOCUS_EVENT_RECORD
;
2300 typedef struct _FORM_INFO_1
{
2304 RECTL ImageableArea
;
2307 typedef struct _FORMAT_PARAMETERS
{
2308 MEDIA_TYPE MediaType
;
2309 DWORD StartCylinderNumber
;
2310 DWORD EndCylinderNumber
;
2311 DWORD StartHeadNumber
;
2312 DWORD EndHeadNumber
;
2313 } FORMAT_PARAMETERS
;
2315 typedef struct _formatrange
{
2323 typedef struct tagGCP_RESULTS
{
2333 } GCP_RESULTS
, *LPGCP_RESULTS
;
2336 typedef struct _GLYPHMETRICS
{
2339 POINT gmptGlyphOrigin
;
2342 } GLYPHMETRICS
, *LPGLYPHMETRICS
;
2344 typedef struct tagHANDLETABLE
{
2345 HGDIOBJ objectHandle
[1];
2346 } HANDLETABLE
, *LPHANDLETABLE
;
2348 typedef struct _HD_HITTESTINFO
{
2354 typedef struct _HD_ITEM
{
2364 typedef struct _WINDOWPOS
{
2366 HWND hwndInsertAfter
;
2372 } WINDOWPOS
, *PWINDOWPOS
, *LPWINDOWPOS
;
2374 typedef struct _HD_LAYOUT
{
2379 typedef struct _HD_NOTIFY
{
2386 typedef struct tagHELPINFO
{
2393 } HELPINFO
, *LPHELPINFO
;
2402 TCHAR rgchMember
[2];
2405 typedef struct tagHIGHCONTRAST
{
2408 LPTSTR lpszDefaultScheme
;
2409 } HIGHCONTRAST
, * LPHIGHCONTRAST
;
2411 typedef struct tagHSZPAIR
{
2416 typedef struct _ICONINFO
{
2422 } ICONINFO
, *PICONINFO
;
2424 typedef struct tagICONMETRICS
{
2430 } ICONMETRICS
, *LPICONMETRICS
;
2432 typedef struct _IMAGEINFO
{
2440 typedef struct _WINDOW_BUFFER_SIZE_RECORD
{
2442 } WINDOW_BUFFER_SIZE_RECORD
;
2444 typedef struct _MENU_EVENT_RECORD
{
2446 } MENU_EVENT_RECORD
, *PMENU_EVENT_RECORD
;
2448 typedef struct _INPUT_RECORD
{
2451 #ifndef __cplus_plus
2452 /* this will be the wrong size in c++ */
2453 KEY_EVENT_RECORD KeyEvent
;
2455 MOUSE_EVENT_RECORD MouseEvent
;
2456 WINDOW_BUFFER_SIZE_RECORD WindowBufferSizeEvent
;
2457 MENU_EVENT_RECORD MenuEvent
;
2458 FOCUS_EVENT_RECORD FocusEvent
;
2460 } INPUT_RECORD
, *PINPUT_RECORD
;
2462 typedef struct _JOB_INFO_1
{
2464 LPTSTR pPrinterName
;
2465 LPTSTR pMachineName
;
2475 SYSTEMTIME Submitted
;
2479 typedef struct _JOB_INFO_2
{
2481 LPTSTR pPrinterName
;
2482 LPTSTR pMachineName
;
2487 LPTSTR pPrintProcessor
;
2492 PSECURITY_DESCRIPTOR pSecurityDescriptor
;
2500 SYSTEMTIME Submitted
;
2502 DWORD PagesPrinted
;
2506 typedef struct tagKERNINGPAIR
{
2510 } KERNINGPAIR
, *LPKERNINGPAIR
;
2512 typedef struct _LANA_ENUM
{
2514 UCHAR lana
[MAX_LANA
];
2517 typedef struct _LDT_ENTRY
{
2534 DWORD Reserved_0
: 1;
2535 DWORD Default_Big
: 1;
2536 DWORD Granularity
: 1;
2540 } LDT_ENTRY
, *PLDT_ENTRY
, *LPLDT_ENTRY
;
2542 typedef struct tagLOCALESIGNATURE
{
2544 DWORD lsCsbDefault
[2];
2545 DWORD lsCsbSupported
[2];
2549 typedef struct _LOCALGROUP_MEMBERS_INFO_0
{
2551 } LOCALGROUP_MEMBERS_INFO_0
;
2554 typedef struct _LOCALGROUP_MEMBERS_INFO_3
{
2555 LPWSTR lgrmi3_domainandname
;
2556 } LOCALGROUP_MEMBERS_INFO_3
;
2558 typedef long FXPT16DOT16
, * LPFXPT16DOT16
;
2562 typedef LUID_AND_ATTRIBUTES LUID_AND_ATTRIBUTES_ARRAY
[ANYSIZE_ARRAY
];
2563 typedef LUID_AND_ATTRIBUTES_ARRAY
*PLUID_AND_ATTRIBUTES_ARRAY
;
2565 typedef struct _LV_COLUMN
{
2574 typedef struct _LV_ITEM
{
2586 typedef struct tagLV_DISPINFO
{
2591 typedef struct _LV_FINDINFO
{
2599 typedef struct _LV_HITTESTINFO
{
2605 typedef struct tagLV_KEYDOWN
{
2611 typedef struct _MAT2
{
2618 typedef struct tagMDICREATESTRUCT
{
2630 typedef MDICREATESTRUCT
*LPMDICREATESTRUCT
;
2632 typedef struct tagMEASUREITEMSTRUCT
{
2639 } MEASUREITEMSTRUCT
, *LPMEASUREITEMSTRUCT
;
2641 typedef struct _MEMORYSTATUS
{
2646 DWORD dwTotalPageFile
;
2647 DWORD dwAvailPageFile
;
2648 DWORD dwTotalVirtual
;
2649 DWORD dwAvailVirtual
;
2650 } MEMORYSTATUS
, *LPMEMORYSTATUS
;
2656 } MENUEX_TEMPLATE_HEADER
;
2665 } MENUEX_TEMPLATE_ITEM
;
2667 typedef struct tagMENUITEMINFO
{
2674 HBITMAP hbmpChecked
;
2675 HBITMAP hbmpUnchecked
;
2679 } MENUITEMINFO
, *LPMENUITEMINFO
;
2680 typedef MENUITEMINFO CONST
*LPCMENUITEMINFO
;
2691 } MENUITEMTEMPLATEHEADER
;
2692 typedef VOID MENUTEMPLATE
, *LPMENUTEMPLATE
;
2694 typedef struct tagMETAFILEPICT
{
2701 } METAFILEPICT
, *PMETAFILEPICT
, *LPMETAFILEPICT
;
2703 typedef struct tagMETAHEADER
{
2710 WORD mtNoParameters
;
2711 } METAHEADER PACKED
;
2713 typedef struct tagMETARECORD
{
2717 } METARECORD
, *LPMETARECORD
;
2719 typedef struct tagMINIMIZEDMETRICS
{
2725 } MINIMIZEDMETRICS
, *LPMINIMIZEDMETRICS
;
2727 typedef struct tagMINMAXINFO
{
2730 POINT ptMaxPosition
;
2731 POINT ptMinTrackSize
;
2732 POINT ptMaxTrackSize
;
2735 typedef struct modemdevcaps_tag
{
2737 DWORD dwRequiredSize
;
2738 DWORD dwDevSpecificOffset
;
2739 DWORD dwDevSpecificSize
;
2741 DWORD dwModemProviderVersion
;
2742 DWORD dwModemManufacturerOffset
;
2743 DWORD dwModemManufacturerSize
;
2744 DWORD dwModemModelOffset
;
2745 DWORD dwModemModelSize
;
2746 DWORD dwModemVersionOffset
;
2747 DWORD dwModemVersionSize
;
2749 DWORD dwDialOptions
;
2750 DWORD dwCallSetupFailTimer
;
2751 DWORD dwInactivityTimeout
;
2752 DWORD dwSpeakerVolume
;
2753 DWORD dwSpeakerMode
;
2754 DWORD dwModemOptions
;
2758 BYTE abVariablePortion
[1];
2759 } MODEMDEVCAPS
, *PMODEMDEVCAPS
, *LPMODEMDEVCAPS
;
2761 typedef struct modemsettings_tag
{
2763 DWORD dwRequiredSize
;
2764 DWORD dwDevSpecificOffset
;
2765 DWORD dwDevSpecificSize
;
2767 DWORD dwCallSetupFailTimer
;
2768 DWORD dwInactivityTimeout
;
2769 DWORD dwSpeakerVolume
;
2770 DWORD dwSpeakerMode
;
2771 DWORD dwPreferredModemOptions
;
2773 DWORD dwNegotiatedModemOptions
;
2774 DWORD dwNegotiatedDCERate
;
2776 BYTE abVariablePortion
[1];
2777 } MODEMSETTINGS
, *PMODEMSETTINGS
, *LPMODEMSETTINGS
;
2779 typedef struct tagMONCBSTRUCT
{
2797 typedef struct tagMONCONVSTRUCT
{
2808 typedef struct tagMONERRSTRUCT
{
2815 typedef struct tagMONHSZSTRUCT
{
2824 typedef struct _MONITOR_INFO_1
{
2828 typedef struct _MONITOR_INFO_2
{
2830 LPTSTR pEnvironment
;
2834 typedef struct tagMONLINKSTRUCT
{
2838 WINBOOL fEstablished
;
2849 typedef struct tagMONMSGSTRUCT
{
2857 DDEML_MSG_HOOK_DATA dmhd
;
2860 typedef struct tagMOUSEHOOKSTRUCT
{
2865 } MOUSEHOOKSTRUCT
, *PMOUSEHOOKSTRUCT
, *LPMOUSEHOOKSTRUCT
;
2867 typedef struct _MOUSEKEYS
{
2871 DWORD iTimeToMaxSpeed
;
2877 typedef struct tagMSG
{
2886 typedef void CALLBACK (*MSGBOXCALLBACK
) (LPHELPINFO lpHelpInfo
);
2891 HINSTANCE hInstance
;
2896 DWORD dwContextHelpId
;
2897 MSGBOXCALLBACK lpfnMsgBoxCallback
;
2899 } MSGBOXPARAMS
, *PMSGBOXPARAMS
, *LPMSGBOXPARAMS
;
2901 typedef struct _msgfilter
{
2908 typedef struct tagMULTIKEYHELP
{
2911 TCHAR szKeyphrase
[1];
2914 typedef struct _NAME_BUFFER
{
2915 UCHAR name
[NCBNAMSZ
];
2920 typedef struct _NCB
{
2927 UCHAR ncb_callname
[NCBNAMSZ
];
2928 UCHAR ncb_name
[NCBNAMSZ
];
2931 void (*ncb_post
) (struct _NCB
*);
2934 UCHAR ncb_reserve
[10];
2938 typedef struct _NCCALCSIZE_PARAMS
{
2941 } NCCALCSIZE_PARAMS
;
2943 typedef struct _NDDESHAREINFO
{
2945 LPTSTR lpszShareName
;
2947 LPTSTR lpszAppTopicList
;
2954 LPTSTR lpszItemList
;
2957 typedef struct _NETRESOURCE
{
2960 DWORD dwDisplayType
;
2963 LPTSTR lpRemoteName
;
2966 } NETRESOURCE
, *LPNETRESOURCE
;
2968 typedef struct tagNEWCPLINFO
{
2971 DWORD dwHelpContext
;
2976 TCHAR szHelpFile
[128];
2979 typedef struct tagNEWTEXTMETRIC
{
2983 LONG tmInternalLeading
;
2984 LONG tmExternalLeading
;
2985 LONG tmAveCharWidth
;
2986 LONG tmMaxCharWidth
;
2989 LONG tmDigitizedAspectX
;
2990 LONG tmDigitizedAspectY
;
2993 BCHAR tmDefaultChar
;
2998 BYTE tmPitchAndFamily
;
3007 typedef struct tagNEWTEXTMETRICEX
{
3008 NEWTEXTMETRIC ntmentm
;
3009 FONTSIGNATURE ntmeFontSignature
;
3012 typedef struct tagNM_LISTVIEW
{
3023 typedef struct _TREEITEM
*HTREEITEM
;
3025 typedef struct _TV_ITEM
{
3036 } TV_ITEM
, *LPTV_ITEM
;
3038 typedef struct _NM_TREEVIEW
{
3045 typedef NM_TREEVIEW
*LPNM_TREEVIEW
;
3047 typedef struct _NM_UPDOWN
{
3053 typedef struct tagNONCLIENTMETRICS
{
3060 LOGFONT lfCaptionFont
;
3061 int iSmCaptionWidth
;
3062 int iSmCaptionHeight
;
3063 LOGFONT lfSmCaptionFont
;
3067 LOGFONT lfStatusFont
;
3068 LOGFONT lfMessageFont
;
3069 } NONCLIENTMETRICS
, * LPNONCLIENTMETRICS
;
3071 typedef struct _SERVICE_ADDRESS
{
3072 DWORD dwAddressType
;
3073 DWORD dwAddressFlags
;
3074 DWORD dwAddressLength
;
3075 DWORD dwPrincipalLength
;
3080 typedef struct _SERVICE_ADDRESSES
{
3081 DWORD dwAddressCount
;
3082 SERVICE_ADDRESS Addresses
[1];
3083 } SERVICE_ADDRESSES
, *LPSERVICE_ADDRESSES
;
3085 typedef struct _GUID
3087 unsigned long Data1
;
3088 unsigned short Data2
;
3089 unsigned short Data3
;
3090 unsigned char Data4
[8];
3092 typedef GUID CLSID
, *LPCLSID
;
3094 typedef struct _SERVICE_INFO
{
3095 LPGUID lpServiceType
;
3096 LPTSTR lpServiceName
;
3099 DWORD dwDisplayHint
;
3102 LPTSTR lpMachineName
;
3103 LPSERVICE_ADDRESSES lpServiceAddress
;
3104 BLOB ServiceSpecificInfo
;
3107 typedef struct _NS_SERVICE_INFO
{
3109 SERVICE_INFO ServiceInfo
;
3112 typedef struct _numberfmt
{
3116 LPTSTR lpDecimalSep
;
3117 LPTSTR lpThousandSep
;
3121 typedef struct _OFSTRUCT
{
3127 CHAR szPathName
[OFS_MAXPATHNAME
];
3128 } OFSTRUCT
, *LPOFSTRUCT
;
3130 typedef struct tagOFN
{
3133 HINSTANCE hInstance
;
3134 LPCTSTR lpstrFilter
;
3135 LPTSTR lpstrCustomFilter
;
3136 DWORD nMaxCustFilter
;
3140 LPTSTR lpstrFileTitle
;
3141 DWORD nMaxFileTitle
;
3142 LPCTSTR lpstrInitialDir
;
3146 WORD nFileExtension
;
3147 LPCTSTR lpstrDefExt
;
3149 LPOFNHOOKPROC lpfnHook
;
3150 LPCTSTR lpTemplateName
;
3151 } OPENFILENAME
, *LPOPENFILENAME
;
3153 typedef struct _OFNOTIFY
{
3155 LPOPENFILENAME lpOFN
;
3157 } OFNOTIFY
, *LPOFNOTIFY
;
3159 typedef struct _OSVERSIONINFO
{
3160 DWORD dwOSVersionInfoSize
;
3161 DWORD dwMajorVersion
;
3162 DWORD dwMinorVersion
;
3163 DWORD dwBuildNumber
;
3165 TCHAR szCSDVersion
[ 128 ];
3166 } OSVERSIONINFO
, *POSVERSIONINFO
, *LPOSVERSIONINFO
;
3168 typedef struct tagTEXTMETRIC
{
3172 LONG tmInternalLeading
;
3173 LONG tmExternalLeading
;
3174 LONG tmAveCharWidth
;
3175 LONG tmMaxCharWidth
;
3178 LONG tmDigitizedAspectX
;
3179 LONG tmDigitizedAspectY
;
3182 BCHAR tmDefaultChar
;
3187 BYTE tmPitchAndFamily
;
3189 } TEXTMETRIC
, *LPTEXTMETRIC
;
3191 typedef struct _OUTLINETEXTMETRIC
{
3193 TEXTMETRIC otmTextMetrics
;
3195 PANOSE otmPanoseNumber
;
3196 UINT otmfsSelection
;
3198 int otmsCharSlopeRise
;
3199 int otmsCharSlopeRun
;
3205 UINT otmsCapEmHeight
;
3211 UINT otmusMinimumPPEM
;
3212 POINT otmptSubscriptSize
;
3213 POINT otmptSubscriptOffset
;
3214 POINT otmptSuperscriptSize
;
3215 POINT otmptSuperscriptOffset
;
3216 UINT otmsStrikeoutSize
;
3217 int otmsStrikeoutPosition
;
3218 int otmsUnderscoreSize
;
3219 int otmsUnderscorePosition
;
3220 PSTR otmpFamilyName
;
3224 } OUTLINETEXTMETRIC
, *LPOUTLINETEXTMETRIC
;
3226 typedef struct _OVERLAPPED
{
3232 } OVERLAPPED
, *LPOVERLAPPED
;
3234 typedef struct tagPSD
{
3243 HINSTANCE hInstance
;
3245 LPPAGESETUPHOOK lpfnPageSetupHook
;
3246 LPPAGEPAINTHOOK lpfnPagePaintHook
;
3247 LPCTSTR lpPageSetupTemplateName
;
3248 HGLOBAL hPageSetupTemplate
;
3249 } PAGESETUPDLG
, *LPPAGESETUPDLG
;
3251 typedef struct tagPAINTSTRUCT
{
3257 BYTE rgbReserved
[32];
3258 } PAINTSTRUCT
, *LPPAINTSTRUCT
;
3260 typedef struct _paraformat
{
3270 LONG rgxTabs
[MAX_TAB_STOPS
];
3273 typedef struct _PERF_COUNTER_BLOCK
{
3275 } PERF_COUNTER_BLOCK
;
3277 typedef struct _PERF_COUNTER_DEFINITION
{
3279 DWORD CounterNameTitleIndex
;
3280 LPWSTR CounterNameTitle
;
3281 DWORD CounterHelpTitleIndex
;
3282 LPWSTR CounterHelpTitle
;
3287 DWORD CounterOffset
;
3288 } PERF_COUNTER_DEFINITION
;
3290 typedef struct _PERF_DATA_BLOCK
{
3295 DWORD TotalByteLength
;
3297 DWORD NumObjectTypes
;
3298 DWORD DefaultObject
;
3299 SYSTEMTIME SystemTime
;
3300 LARGE_INTEGER PerfTime
;
3301 LARGE_INTEGER PerfFreq
;
3302 LARGE_INTEGER PerfTime100nSec
;
3303 DWORD SystemNameLength
;
3304 DWORD SystemNameOffset
;
3307 typedef struct _PERF_INSTANCE_DEFINITION
{
3309 DWORD ParentObjectTitleIndex
;
3310 DWORD ParentObjectInstance
;
3314 } PERF_INSTANCE_DEFINITION
;
3316 typedef struct _PERF_OBJECT_TYPE
{
3317 DWORD TotalByteLength
;
3318 DWORD DefinitionLength
;
3320 DWORD ObjectNameTitleIndex
;
3321 LPWSTR ObjectNameTitle
;
3322 DWORD ObjectHelpTitleIndex
;
3323 LPWSTR ObjectHelpTitle
;
3326 DWORD DefaultCounter
;
3329 LARGE_INTEGER PerfTime
;
3330 LARGE_INTEGER PerfFreq
;
3333 typedef struct _POLYTEXT
{
3341 } POLYTEXT
, *LPPOLYTEXT
;
3343 typedef struct _PORT_INFO_1
{
3347 typedef struct _PORT_INFO_2
{
3355 typedef struct _PREVENT_MEDIA_REMOVAL
{
3356 BOOLEAN PreventMediaRemoval
;
3357 } PREVENT_MEDIA_REMOVAL
;
3359 typedef struct tagPD
{
3371 HINSTANCE hInstance
;
3373 LPPRINTHOOKPROC lpfnPrintHook
;
3374 LPSETUPHOOKPROC lpfnSetupHook
;
3375 LPCTSTR lpPrintTemplateName
;
3376 LPCTSTR lpSetupTemplateName
;
3377 HANDLE hPrintTemplate
;
3378 HANDLE hSetupTemplate
;
3379 } PRINTDLG PACKED
, *LPPRINTDLG PACKED
;
3381 typedef struct _PRINTER_DEFAULTS
{
3384 ACCESS_MASK DesiredAccess
;
3387 typedef struct _PRINTER_INFO_1
{
3389 LPTSTR pDescription
;
3392 } PRINTER_INFO_1
, *PPRINTER_INFO_1
, *LPPRINTER_INFO_1
;
3395 typedef struct _PRINTER_INFO_2
{
3397 LPTSTR pPrinterName
;
3405 LPTSTR pPrintProcessor
;
3408 PSECURITY_DESCRIPTOR pSecurityDescriptor
;
3411 DWORD DefaultPriority
;
3420 typedef struct _PRINTER_INFO_3
{
3421 PSECURITY_DESCRIPTOR pSecurityDescriptor
;
3425 typedef struct _PRINTER_INFO_4
{
3426 LPTSTR pPrinterName
;
3431 typedef struct _PRINTER_INFO_5
{
3432 LPTSTR pPrinterName
;
3435 DWORD DeviceNotSelectedTimeout
;
3436 DWORD TransmissionRetryTimeout
;
3439 typedef struct _PRINTER_NOTIFY_INFO_DATA
{
3451 } PRINTER_NOTIFY_INFO_DATA
;
3453 typedef struct _PRINTER_NOTIFY_INFO
{
3457 PRINTER_NOTIFY_INFO_DATA aData
[1];
3458 } PRINTER_NOTIFY_INFO
;
3460 typedef struct _PRINTER_NOTIFY_OPTIONS_TYPE
{
3467 } PRINTER_NOTIFY_OPTIONS_TYPE
, *PPRINTER_NOTIFY_OPTIONS_TYPE
;
3469 typedef struct _PRINTER_NOTIFY_OPTIONS
{
3473 PPRINTER_NOTIFY_OPTIONS_TYPE pTypes
;
3474 } PRINTER_NOTIFY_OPTIONS
;
3476 typedef struct _PRINTPROCESSOR_INFO_1
{
3478 } PRINTPROCESSOR_INFO_1
;
3481 typedef struct _PROCESS_HEAP_ENTRY
{
3487 DWORD dwCommittedSize
;
3488 DWORD dwUnCommittedSize
;
3489 LPVOID lpFirstBlock
;
3492 } PROCESS_HEAPENTRY
, *LPPROCESS_HEAP_ENTRY
;
3494 typedef struct _PROCESS_INFORMATION
{
3499 } PROCESS_INFORMATION
, *LPPROCESS_INFORMATION
;
3501 typedef UINT
CALLBACK (*LPFNPSPCALLBACK
) (HWND
, UINT
, LPVOID
);
3503 typedef struct _PROPSHEETPAGE
{
3506 HINSTANCE hInstance
;
3508 LPCTSTR pszTemplate
;
3509 LPCDLGTEMPLATE pResource
;
3518 LPFNPSPCALLBACK pfnCallback
;
3520 } PROPSHEETPAGE
, *LPPROPSHEETPAGE
;
3521 typedef const PROPSHEETPAGE
*LPCPROPSHEETPAGE
;
3523 typedef struct _PSP
*HPROPSHEETPAGE
;
3524 typedef struct _PROPSHEETHEADER
{
3528 HINSTANCE hInstance
;
3540 LPCPROPSHEETPAGE ppsp
;
3541 HPROPSHEETPAGE
*phpage
;
3543 PFNPROPSHEETCALLBACK pfnCallback
;
3544 } PROPSHEETHEADER
, *LPPROPSHEETHEADER
;
3545 typedef const PROPSHEETHEADER
*LPCPROPSHEETHEADER
;
3547 /* PropertySheet callbacks */
3548 typedef WINBOOL
CALLBACK (*LPFNADDPROPSHEETPAGE
) (HPROPSHEETPAGE
, LPARAM
);
3549 typedef WINBOOL
CALLBACK (*LPFNADDPROPSHEETPAGES
) (LPVOID
,
3550 LPFNADDPROPSHEETPAGE
,
3553 typedef struct _PROTOCOL_INFO
{
3554 DWORD dwServiceFlags
;
3560 DWORD dwMessageSize
;
3564 typedef struct _PROVIDOR_INFO_1
{
3566 LPTSTR pEnvironment
;
3570 typedef struct _PSHNOTIFY
{
3573 } PSHNOTIFY
, *LPPSHNOTIFY
;
3575 typedef struct _punctuation
{
3577 LPSTR szPunctuation
;
3580 typedef struct _QUERY_SERVICE_CONFIGA
{
3581 DWORD dwServiceType
;
3583 DWORD dwErrorControl
;
3584 LPSTR lpBinaryPathName
;
3585 LPSTR lpLoadOrderGroup
;
3587 LPSTR lpDependencies
;
3588 LPSTR lpServiceStartName
;
3589 LPSTR lpDisplayName
;
3590 } QUERY_SERVICE_CONFIGA
, *LPQUERY_SERVICE_CONFIGA
;
3592 typedef struct _QUERY_SERVICE_CONFIGW
{
3593 DWORD dwServiceType
;
3595 DWORD dwErrorControl
;
3596 LPWSTR lpBinaryPathName
;
3597 LPWSTR lpLoadOrderGroup
;
3599 LPWSTR lpDependencies
;
3600 LPWSTR lpServiceStartName
;
3601 LPWSTR lpDisplayName
;
3602 } QUERY_SERVICE_CONFIGW
, *LPQUERY_SERVICE_CONFIGW
;
3605 #define QUERY_SERVICE_CONFIG QUERY_SERVICE_CONFIGW
3606 #define LPQUERY_SERVICE_CONFIG LPQUERY_SERVICE_CONFIGW
3608 #define QUERY_SERVICE_CONFIG QUERY_SERVICE_CONFIGA
3609 #define LPQUERY_SERVICE_CONFIG LPQUERY_SERVICE_CONFIGA
3612 typedef struct _QUERY_SERVICE_LOCK_STATUSA
{
3615 DWORD dwLockDuration
;
3616 } QUERY_SERVICE_LOCK_STATUSA
, *LPQUERY_SERVICE_LOCK_STATUSA
;
3618 typedef struct _QUERY_SERVICE_LOCK_STATUSW
{
3621 DWORD dwLockDuration
;
3622 } QUERY_SERVICE_LOCK_STATUSW
, *LPQUERY_SERVICE_LOCK_STATUSW
;
3625 #define QUERY_SERVICE_LOCK_STATUS QUERY_SERVICE_LOCK_STATUSW
3626 #define LPQUERY_SERVICE_LOCK_STATUS LPQUERY_SERVICE_LOCK_STATUSW
3628 #define QUERY_SERVICE_LOCK_STATUS QUERY_SERVICE_LOCK_STATUSA
3629 #define LPQUERY_SERVICE_LOCK_STATUS LPQUERY_SERVICE_LOCK_STATUSA
3632 typedef struct _RASAMB
{
3635 TCHAR szNetBiosError
[ NETBIOS_NAME_LEN
+ 1 ];
3639 typedef struct _RASCONN
{
3642 TCHAR szEntryName
[RAS_MaxEntryName
+ 1];
3644 CHAR szDeviceType
[ RAS_MaxDeviceType
+ 1 ];
3645 CHAR szDeviceName
[ RAS_MaxDeviceName
+ 1 ];
3648 typedef struct _RASCONNSTATUS
{
3650 RASCONNSTATE rasconnstate
;
3652 TCHAR szDeviceType
[RAS_MaxDeviceType
+ 1];
3653 TCHAR szDeviceName
[RAS_MaxDeviceName
+ 1];
3656 typedef struct _RASDIALEXTENSIONS
{
3661 } RASDIALEXTENSIONS
;
3663 typedef struct _RASDIALPARAMS
{
3665 TCHAR szEntryName
[RAS_MaxEntryName
+ 1];
3666 TCHAR szPhoneNumber
[RAS_MaxPhoneNumber
+ 1];
3667 TCHAR szCallbackNumber
[RAS_MaxCallbackNumber
+ 1];
3668 TCHAR szUserName
[UNLEN
+ 1];
3669 TCHAR szPassword
[PWLEN
+ 1];
3670 TCHAR szDomain
[DNLEN
+ 1] ;
3673 typedef struct _RASENTRYNAME
{
3675 TCHAR szEntryName
[RAS_MaxEntryName
+ 1];
3678 typedef struct _RASPPPIP
{
3681 TCHAR szIpAddress
[ RAS_MaxIpAddress
+ 1 ];
3684 typedef struct _RASPPPIPX
{
3687 TCHAR szIpxAddress
[ RAS_MaxIpxAddress
+ 1 ];
3690 typedef struct _RASPPPNBF
{
3693 DWORD dwNetBiosError
;
3694 TCHAR szNetBiosError
[ NETBIOS_NAME_LEN
+ 1 ];
3695 TCHAR szWorkstationName
[ NETBIOS_NAME_LEN
+ 1 ];
3699 typedef struct _RASTERIZER_STATUS
{
3703 } RASTERIZER_STATUS
, *LPRASTERIZER_STATUS
;
3705 typedef struct _REASSIGN_BLOCKS
{
3708 DWORD BlockNumber
[1];
3711 typedef struct _REMOTE_NAME_INFO
{
3712 LPTSTR lpUniversalName
;
3713 LPTSTR lpConnectionName
;
3714 LPTSTR lpRemainingPath
;
3719 typedef struct _reobject {
3723 LPOLEOBJECT poleobj;
3725 LPOLECLIENTSITE polesite;
3733 typedef struct _repastespecial
{
3738 typedef struct _reqresize
{
3743 typedef struct _RGNDATAHEADER
{
3751 typedef struct _RGNDATA
{
3754 } RGNDATA
, *PRGNDATA
, *LPRGNDATA
;
3756 typedef struct tagSCROLLINFO
{
3764 } SCROLLINFO
, *LPSCROLLINFO
;
3765 typedef SCROLLINFO
const *LPCSCROLLINFO
;
3767 typedef struct _SECURITY_ATTRIBUTES
{
3769 LPVOID lpSecurityDescriptor
;
3770 WINBOOL bInheritHandle
;
3771 } SECURITY_ATTRIBUTES
, *LPSECURITY_ATTRIBUTES
;
3773 typedef struct _selchange
{
3779 typedef struct tagSERIALKEYS
{
3782 LPSTR lpszActivePort
;
3786 } SERIALKEYS
, * LPSERIALKEYS
;
3788 typedef struct _SERVICE_TABLE_ENTRYA
{
3789 LPSTR lpServiceName
;
3790 LPSERVICE_MAIN_FUNCTION lpServiceProc
;
3791 } SERVICE_TABLE_ENTRYA
, *LPSERVICE_TABLE_ENTRYA
;
3793 typedef struct _SERVICE_TABLE_ENTRYW
{
3794 LPWSTR lpServiceName
;
3795 LPSERVICE_MAIN_FUNCTION lpServiceProc
;
3796 } SERVICE_TABLE_ENTRYW
, *LPSERVICE_TABLE_ENTRYW
;
3799 #define SERVICE_TABLE_ENTRY SERVICE_TABLE_ENTRYW
3800 #define LPSERVICE_TABLE_ENTRY LPSERVICE_TABLE_ENTRYW
3802 #define SERVICE_TABLE_ENTRY SERVICE_TABLE_ENTRYA
3803 #define LPSERVICE_TABLE_ENTRY LPSERVICE_TABLE_ENTRYA
3807 typedef struct _SERVICE_TYPE_VALUE_ABS
{
3813 } SERVICE_TYPE_VALUE_ABS
;
3815 typedef struct _SERVICE_TYPE_INFO_ABS
{
3818 SERVICE_TYPE_VALUE_ABS Values
[1];
3819 } SERVICE_TYPE_INFO_ABS
;
3821 typedef struct _SESSION_BUFFER
{
3824 UCHAR local_name
[NCBNAMSZ
];
3825 UCHAR remote_name
[NCBNAMSZ
];
3826 UCHAR rcvs_outstanding
;
3827 UCHAR sends_outstanding
;
3830 typedef struct _SESSION_HEADER
{
3833 UCHAR rcv_dg_outstanding
;
3834 UCHAR rcv_any_outstanding
;
3837 typedef struct _SET_PARTITION_INFORMATION
{
3839 } SET_PARTITION_INFORMATION
;
3841 typedef enum tagSHCONTF
{
3842 SHCONTF_FOLDERS
= 32,
3843 SHCONTF_NONFOLDERS
= 64,
3844 SHCONTF_INCLUDEHIDDEN
= 128,
3847 typedef struct _SHFILEINFO
{
3851 char szDisplayName
[MAX_PATH
];
3852 char szTypeName
[80];
3855 typedef WORD FILEOP_FLAGS
;
3856 typedef struct _SHFILEOPSTRUCT
{
3861 FILEOP_FLAGS fFlags
;
3862 WINBOOL fAnyOperationsAborted
;
3863 LPVOID hNameMappings
;
3864 LPCSTR lpszProgressTitle
;
3865 } SHFILEOPSTRUCT
, *LPSHFILEOPSTRUCT
;
3867 typedef enum tagSHGDN
{
3870 SHGDN_FORPARSING
= 0x8000,
3873 typedef struct _SHNAMEMAPPING
{
3878 } SHNAMEMAPPING
, *LPSHNAMEMAPPING
;
3880 typedef struct tagSOUNDSENTRY
{
3883 DWORD iFSTextEffect
;
3884 DWORD iFSTextEffectMSec
;
3885 DWORD iFSTextEffectColorBits
;
3886 DWORD iFSGrafEffect
;
3887 DWORD iFSGrafEffectMSec
;
3888 DWORD iFSGrafEffectColor
;
3889 DWORD iWindowsEffect
;
3890 DWORD iWindowsEffectMSec
;
3891 LPTSTR lpszWindowsEffectDLL
;
3892 DWORD iWindowsEffectOrdinal
;
3893 } SOUNDSENTRY
, *LPSOUNDSENTRY
;
3895 typedef struct _STARTUPINFOA
{
3904 DWORD dwXCountChars
;
3905 DWORD dwYCountChars
;
3906 DWORD dwFillAttribute
;
3914 } STARTUPINFOA
, *LPSTARTUPINFOA
;
3916 typedef struct _STARTUPINFOW
{
3925 DWORD dwXCountChars
;
3926 DWORD dwYCountChars
;
3927 DWORD dwFillAttribute
;
3935 } STARTUPINFOW
, *LPSTARTUPINFOW
;
3938 typedef STARTUPINFOW STARTUPINFO
;
3939 typedef LPSTARTUPINFOW LPSTARTUPINFO
;
3941 typedef STARTUPINFOA STARTUPINFO
;
3942 typedef LPSTARTUPINFOA LPSTARTUPINFO
;
3943 #endif /* UNICODE */
3945 typedef struct tagSTICKYKEYS
{
3948 } STICKYKEYS
, *LPSTICKYKEYS
;
3950 typedef struct _STRRET
{
3956 char cStr
[MAX_PATH
];
3958 } STRRET
, *LPSTRRET
;
3960 typedef struct _tagSTYLEBUF
{
3962 CHAR szDescription
[32];
3963 } STYLEBUF
, *LPSTYLEBUF
;
3965 typedef struct tagSTYLESTRUCT
{
3968 } STYLESTRUCT
, * LPSTYLESTRUCT
;
3970 typedef struct _SYSTEM_AUDIT_ACE
{
3976 typedef struct _SYSTEM_INFO
3983 WORD wProcessorArchitecture
;
3990 LPVOID lpMinimumApplicationAddress
;
3991 LPVOID lpMaximumApplicationAddress
;
3992 DWORD dwActiveProcessorMask
;
3993 DWORD dwNumberOfProcessors
;
3994 DWORD dwProcessorType
;
3995 DWORD dwAllocationGranularity
;
3996 WORD wProcessorLevel
;
3997 WORD wProcessorRevision
;
3998 } SYSTEM_INFO
, *LPSYSTEM_INFO
;
4000 typedef struct _SYSTEM_POWER_STATUS
{
4003 BYTE BatteryLifePercent
;
4005 DWORD BatteryLifeTime
;
4006 DWORD BatteryFullLifeTime
;
4007 } SYSTEM_POWER_STATUS
;
4008 typedef SYSTEM_POWER_STATUS
*LPSYSTEM_POWER_STATUS
;
4010 typedef struct _TAPE_ERASE
{
4014 typedef struct _TAPE_GET_DRIVE_PARAMETERS
{
4016 BOOLEAN Compression
;
4017 BOOLEAN DataPadding
;
4018 BOOLEAN ReportSetmarks
;
4019 ULONG DefaultBlockSize
;
4020 ULONG MaximumBlockSize
;
4021 ULONG MinimumBlockSize
;
4022 ULONG MaximumPartitionCount
;
4025 ULONG EOTWarningZoneSize
;
4026 } TAPE_GET_DRIVE_PARAMETERS
;
4028 typedef struct _TAPE_GET_MEDIA_PARAMETERS
{
4029 LARGE_INTEGER Capacity
;
4030 LARGE_INTEGER Remaining
;
4032 DWORD PartitionCount
;
4033 BOOLEAN WriteProtected
;
4034 } TAPE_GET_MEDIA_PARAMETERS
;
4036 typedef struct _TAPE_GET_POSITION
{
4041 } TAPE_GET_POSITION
;
4043 typedef struct _TAPE_PREPARE
{
4047 typedef struct _TAPE_SET_DRIVE_PARAMETERS
{
4049 BOOLEAN Compression
;
4050 BOOLEAN DataPadding
;
4051 BOOLEAN ReportSetmarks
;
4052 ULONG EOTWarningZoneSize
;
4053 } TAPE_SET_DRIVE_PARAMETERS
;
4055 typedef struct _TAPE_SET_MEDIA_PARAMETERS
{
4057 } TAPE_SET_MEDIA_PARAMETERS
;
4059 typedef struct _TAPE_SET_POSITION
{
4064 } TAPE_SET_POSITION
;
4066 typedef struct _TAPE_WRITE_MARKS
{
4074 } TBADDBITMAP
, *LPTBADDBITMAP
;
4076 typedef struct _TBBUTTON
{
4083 } TBBUTTON
, * PTBBUTTON
, * LPTBBUTTON
;
4084 typedef const TBBUTTON
* LPCTBBUTTON
;
4092 } TBNOTIFY
, *LPTBNOTIFY
;
4097 LPCTSTR pszValueName
;
4100 typedef struct _TC_HITTESTINFO
{
4105 typedef struct _TC_ITEM
{
4115 typedef struct _TC_ITEMHEADER
{
4124 typedef struct _TC_KEYDOWN
{
4130 typedef struct _textrange
{
4135 typedef struct tagTOGGLEKEYS
{
4140 typedef struct _TOKEN_CONTROL
{
4142 LUID AuthenticationId
;
4144 TOKEN_SOURCE TokenSource
;
4145 } TOKEN_CONTROL
, *PTOKEN_CONTROL
;
4155 } TOOLINFO
, *PTOOLINFO
, *LPTOOLINFO
;
4163 } TOOLTIPTEXT
, *LPTOOLTIPTEXT
;
4165 typedef struct tagTPMPARAMS
{
4168 } TPMPARAMS
, *LPTPMPARAMS
;
4170 typedef struct _TRANSMIT_FILE_BUFFERS
{
4175 } TRANSMIT_FILE_BUFFERS
;
4177 typedef struct _TT_HITTESTINFO
{
4181 } TTHITTESTINFO
, * LPHITTESTINFO
;
4183 typedef struct tagTTPOLYCURVE
{
4187 } TTPOLYCURVE
, * LPTTPOLYCURVE
;
4189 typedef struct _TTPOLYGONHEADER
{
4193 } TTPOLYGONHEADER
, * LPTTPOLYGONHEADER
;
4195 typedef struct _TV_DISPINFO
{
4200 typedef struct _TVHITTESTINFO
{
4204 } TV_HITTESTINFO
, *LPTV_HITTESTINFO
;
4206 typedef struct _TV_INSERTSTRUCT
{
4208 HTREEITEM hInsertAfter
;
4210 } TV_INSERTSTRUCT
, *LPTV_INSERTSTRUCT
;
4212 typedef struct _TV_KEYDOWN
{
4218 typedef struct _TV_SORTCB
{
4220 PFNTVCOMPARE lpfnCompare
;
4222 } TV_SORTCB
, *LPTV_SORTCB
;
4229 typedef struct _UNIVERSAL_NAME_INFO
{
4230 LPTSTR lpUniversalName
;
4231 } UNIVERSAL_NAME_INFO
;
4233 typedef struct tagUSEROBJECTFLAGS
{
4239 typedef struct _VERIFY_INFORMATION
{
4240 LARGE_INTEGER StartingOffset
;
4242 } VERIFY_INFORMATION
;
4244 typedef struct _VS_FIXEDFILEINFO
{
4246 DWORD dwStrucVersion
;
4247 DWORD dwFileVersionMS
;
4248 DWORD dwFileVersionLS
;
4249 DWORD dwProductVersionMS
;
4250 DWORD dwProductVersionLS
;
4251 DWORD dwFileFlagsMask
;
4255 DWORD dwFileSubtype
;
4260 typedef struct _WIN32_FIND_DATAA
{
4261 DWORD dwFileAttributes
;
4262 FILETIME ftCreationTime
;
4263 FILETIME ftLastAccessTime
;
4264 FILETIME ftLastWriteTime
;
4265 DWORD nFileSizeHigh
;
4269 CHAR cFileName
[ MAX_PATH
];
4270 CHAR cAlternateFileName
[ 14 ];
4271 } WIN32_FIND_DATAA
, *LPWIN32_FIND_DATAA
, *PWIN32_FIND_DATAA
;
4273 typedef struct _WIN32_FIND_DATAW
{
4274 DWORD dwFileAttributes
;
4275 FILETIME ftCreationTime
;
4276 FILETIME ftLastAccessTime
;
4277 FILETIME ftLastWriteTime
;
4278 DWORD nFileSizeHigh
;
4282 WCHAR cFileName
[ MAX_PATH
];
4283 WCHAR cAlternateFileName
[ 14 ];
4284 } WIN32_FIND_DATAW
, *LPWIN32_FIND_DATAW
, *PWIN32_FIND_DATAW
;
4287 #define WIN32_FIND_DATA WIN32_FIND_DATAW
4288 #define PWIN32_FIND_DATA PWIN32_FIND_DATAW
4289 #define LPWIN32_FIND_DATA LPWIN32_FIND_DATAW
4291 #define WIN32_FIND_DATA WIN32_FIND_DATAA
4292 #define PWIN32_FIND_DATA PWIN32_FIND_DATAA
4293 #define LPWIN32_FIND_DATA LPWIN32_FIND_DATAA
4296 typedef struct _WIN32_STREAM_ID
{
4298 DWORD dwStreamAttributes
;
4300 DWORD dwStreamNameSize
;
4304 typedef struct _WINDOWPLACEMENT
{
4308 POINT ptMinPosition
;
4309 POINT ptMaxPosition
;
4310 RECT rcNormalPosition
;
4313 typedef struct _WNDCLASS
{
4315 WNDPROC lpfnWndProc
;
4321 HBRUSH hbrBackground
;
4322 LPCTSTR lpszMenuName
;
4323 LPCTSTR lpszClassName
;
4324 } WNDCLASS
, *LPWNDCLASS
;
4326 typedef struct _WNDCLASSEX
{
4329 WNDPROC lpfnWndProc
;
4335 HBRUSH hbrBackground
;
4336 LPCTSTR lpszMenuName
;
4337 LPCTSTR lpszClassName
;
4339 } WNDCLASSEX
, *LPWNDCLASSEX
;
4341 typedef struct _CONNECTDLGSTRUCT
{
4344 LPNETRESOURCE lpConnRes
;
4347 } CONNECTDLGSTRUCT
, *LPCONNECTDLGSTRUCT
;
4349 typedef struct _DISCDLGSTRUCT
{
4353 LPTSTR lpRemoteName
;
4355 } DISCDLGSTRUCT
, *LPDISCDLGSTRUCT
;
4357 typedef struct _NETINFOSTRUCT
{
4359 DWORD dwProviderVersion
;
4361 DWORD dwCharacteristics
;
4366 } NETINFOSTRUCT
, *LPNETINFOSTRUCT
;
4368 typedef struct _NETCONNECTINFOSTRUCT
{
4373 DWORD dwOptDataSize
;
4374 } NETCONNECTINFOSTRUCT
, *LPNETCONNECTINFOSTRUCT
;
4376 typedef int CALLBACK (*ENUMMETAFILEPROC
) (HDC
, HANDLETABLE
,
4377 METARECORD
, int, LPARAM
);
4378 typedef int CALLBACK (*ENHMETAFILEPROC
) (HDC
, HANDLETABLE
,
4379 ENHMETARECORD
, int, LPARAM
);
4381 typedef int CALLBACK (*ENUMFONTSPROC
) (LPLOGFONT
, LPTEXTMETRIC
, DWORD
, LPARAM
);
4382 typedef int CALLBACK (*FONTENUMPROC
) (ENUMLOGFONT
*, NEWTEXTMETRIC
*,
4384 typedef int CALLBACK (*FONTENUMEXPROC
) (ENUMLOGFONTEX
*, NEWTEXTMETRICEX
*,
4387 typedef VOID
CALLBACK (*LPOVERLAPPED_COMPLETION_ROUTINE
) (DWORD
, DWORD
,
4391 Structures for the extensions to OpenGL
4393 typedef struct _POINTFLOAT
4397 } POINTFLOAT
, *PPOINTFLOAT
;
4399 typedef struct _GLYPHMETRICSFLOAT
4403 POINTFLOAT gmfptGlyphOrigin
;
4406 } GLYPHMETRICSFLOAT
, *PGLYPHMETRICSFLOAT
, *LPGLYPHMETRICSFLOAT
;
4408 typedef struct tagLAYERPLANEDESCRIPTOR
4425 BYTE cAccumGreenBits
;
4426 BYTE cAccumBlueBits
;
4427 BYTE cAccumAlphaBits
;
4433 COLORREF crTransparent
;
4434 } LAYERPLANEDESCRIPTOR
, *PLAYERPLANEDESCRIPTOR
, *LPLAYERPLANEDESCRIPTOR
;
4436 typedef struct tagPIXELFORMATDESCRIPTOR
4453 BYTE cAccumGreenBits
;
4454 BYTE cAccumBlueBits
;
4455 BYTE cAccumAlphaBits
;
4462 DWORD dwVisibleMask
;
4464 } PIXELFORMATDESCRIPTOR
, *PPIXELFORMATDESCRIPTOR
, *LPPIXELFORMATDESCRIPTOR
;
4469 LPWSTR usri2_password
;
4470 DWORD usri2_password_age
;
4472 LPWSTR usri2_home_dir
;
4473 LPWSTR usri2_comment
;
4475 LPWSTR usri2_script_path
;
4476 DWORD usri2_auth_flags
;
4477 LPWSTR usri2_full_name
;
4478 LPWSTR usri2_usr_comment
;
4480 LPWSTR usri2_workstations
;
4481 DWORD usri2_last_logon
;
4482 DWORD usri2_last_logoff
;
4483 DWORD usri2_acct_expires
;
4484 DWORD usri2_max_storage
;
4485 DWORD usri2_units_per_week
;
4486 PBYTE usri2_logon_hours
;
4487 DWORD usri2_bad_pw_count
;
4488 DWORD usri2_num_logons
;
4489 LPWSTR usri2_logon_server
;
4490 DWORD usri2_country_code
;
4491 DWORD usri2_code_page
;
4492 } USER_INFO_2
, *PUSER_INFO_2
, *LPUSER_INFO_2
;
4497 } USER_INFO_0
, *PUSER_INFO_0
, *LPUSER_INFO_0
;
4502 LPWSTR usri3_password
;
4503 DWORD usri3_password_age
;
4505 LPWSTR usri3_home_dir
;
4506 LPWSTR usri3_comment
;
4508 LPWSTR usri3_script_path
;
4509 DWORD usri3_auth_flags
;
4510 LPWSTR usri3_full_name
;
4511 LPWSTR usri3_usr_comment
;
4513 LPWSTR usri3_workstations
;
4514 DWORD usri3_last_logon
;
4515 DWORD usri3_last_logoff
;
4516 DWORD usri3_acct_expires
;
4517 DWORD usri3_max_storage
;
4518 DWORD usri3_units_per_week
;
4519 PBYTE usri3_logon_hours
;
4520 DWORD usri3_bad_pw_count
;
4521 DWORD usri3_num_logons
;
4522 LPWSTR usri3_logon_server
;
4523 DWORD usri3_country_code
;
4524 DWORD usri3_code_page
;
4525 DWORD usri3_user_id
;
4526 DWORD usri3_primary_group_id
;
4527 LPWSTR usri3_profile
;
4528 LPWSTR usri3_home_dir_drive
;
4529 DWORD usri3_password_expired
;
4530 } USER_INFO_3
, *PUSER_INFO_3
, *LPUSER_INFO_3
;
4535 LPWSTR grpi2_comment
;
4536 DWORD grpi2_group_id
;
4537 DWORD grpi2_attributes
;
4538 } GROUP_INFO_2
, *PGROUP_INFO_2
;
4543 } LOCALGROUP_INFO_0
, *PLOCALGROUP_INFO_0
, *LPLOCALGROUP_INFO_0
;
4545 /* PE executable header. */
4546 /* Windows.h now includes pe.h to avoid conflicts! */
4551 #endif /* __cplusplus */
4553 #endif /* WIN32_LEAN_AND_MEAN */
4555 #endif /* _GNU_H_WINDOWS32_STRUCTURES */