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.
32 #ifndef _GNU_H_WINDOWS32_STRUCTURES
33 #define _GNU_H_WINDOWS32_STRUCTURES
35 typedef union _LARGE_INTEGER
43 } LARGE_INTEGER
, *PLARGE_INTEGER
;
45 typedef union _ULARGE_INTEGER
53 } ULARGE_INTEGER
, *PULARGE_INTEGER
;
56 typedef struct _LIST_ENTRY
{
57 struct _LIST_ENTRY
*Flink
;
58 struct _LIST_ENTRY
*Blink
;
59 } LIST_ENTRY
, *PLIST_ENTRY
;
61 typedef DWORD ACCESS_MASK
;
64 typedef struct _SID_IDENTIFIER_AUTHORITY
{
66 } SID_IDENTIFIER_AUTHORITY
, *PSID_IDENTIFIER_AUTHORITY
,
67 *LPSID_IDENTIFIER_AUTHORITY
;
81 BYTE SubAuthorityCount
;
82 SID_IDENTIFIER_AUTHORITY IdentifierAuthority
;
83 DWORD SubAuthority
[ANYSIZE_ARRAY
];
86 typedef WORD SECURITY_DESCRIPTOR_CONTROL
, *PSECURITY_DESCRIPTOR_CONTROL
;
88 typedef struct _SECURITY_DESCRIPTOR
{
91 SECURITY_DESCRIPTOR_CONTROL Control
;
96 } SECURITY_DESCRIPTOR
, *PSECURITY_DESCRIPTOR
;
98 typedef struct _SECURITY_QUALITY_OF_SERVICE
{
100 SECURITY_IMPERSONATION_LEVEL ImpersonationLevel
;
101 /* SECURITY_CONTEXT_TRACKING_MODE ContextTrackingMode; */
102 WINBOOL ContextTrackingMode
;
103 BOOLEAN EffectiveOnly
;
104 } SECURITY_QUALITY_OF_SERVICE
;
106 typedef LARGE_INTEGER LUID
, *PLUID
;
108 typedef struct _TOKEN_SOURCE
{
110 LUID SourceIdentifier
;
111 } TOKEN_SOURCE
, *PTOKEN_SOURCE
;
113 typedef struct _PARTITION_INFORMATION
{
115 BOOLEAN BootIndicator
;
116 BOOLEAN RecognizedPartition
;
117 BOOLEAN RewritePartition
;
118 LARGE_INTEGER StartingOffset
;
119 LARGE_INTEGER PartitionLength
;
120 LARGE_INTEGER HiddenSectors
;
121 } PARTITION_INFORMATION
;
123 typedef struct _SINGLE_LIST_ENTRY
{
124 struct _SINGLE_LIST_ENTRY
*Next
;
125 } SINGLE_LIST_ENTRY
, *PSINGLE_LIST_ENTRY
;
128 typedef struct _CRITICAL_SECTION_DEBUG
{
130 WORD CreatorBackTraceIndex
;
131 struct _CRITICAL_SECTION
*CriticalSection
;
132 LIST_ENTRY ProcessLocksList
;
134 DWORD ContentionCount
;
136 PVOID OwnerBackTrace
[ 5 ];
137 } CRITICAL_SECTION_DEBUG
, *PCRITICAL_SECTION_DEBUG
;
139 typedef struct _CRITICAL_SECTION
{
140 PCRITICAL_SECTION_DEBUG DebugInfo
;
144 HANDLE LockSemaphore
;
146 } CRITICAL_SECTION
, *PCRITICAL_SECTION
, *LPCRITICAL_SECTION
;
148 typedef struct _GENERIC_MAPPING
{
149 ACCESS_MASK GenericRead
;
150 ACCESS_MASK GenericWrite
;
151 ACCESS_MASK GenericExecute
;
152 ACCESS_MASK GenericAll
;
153 } GENERIC_MAPPING
, *PGENERIC_MAPPING
;
155 typedef struct _LUID_AND_ATTRIBUTES
{
158 } LUID_AND_ATTRIBUTES
;
160 typedef struct _PRIVILEGE_SET
{
161 DWORD PrivilegeCount
;
163 LUID_AND_ATTRIBUTES Privilege
[ANYSIZE_ARRAY
];
164 } PRIVILEGE_SET
, *PPRIVILEGE_SET
, *LPPRIVILEGE_SET
;
168 typedef struct _FLOATING_SAVE_AREA
{
176 BYTE RegisterArea
[80];
178 } FLOATING_SAVE_AREA
;
180 typedef struct _CONTEXT
{
190 FLOATING_SAVE_AREA FloatSave
;
210 } CONTEXT
, *PCONTEXT
, *LPCONTEXT
;
216 /* Floating point registers returned when CONTEXT_FLOATING_POINT is set */
251 /* Integer registers returned when CONTEXT_INTEGER is set. */
285 DWORD Cr
; /* Condition register */
286 DWORD Xer
; /* Fixed point exception register */
288 /* The following are set when CONTEXT_CONTROL is set. */
289 DWORD Msr
; /* Machine status register */
290 DWORD Iar
; /* Instruction address register */
291 DWORD Lr
; /* Link register */
292 DWORD Ctr
; /* Control register */
294 /* Control which context values are returned */
298 /* Registers returned if CONTEXT_DEBUG_REGISTERS is set. */
299 DWORD Dr0
; /* Breakpoint Register 1 */
300 DWORD Dr1
; /* Breakpoint Register 2 */
301 DWORD Dr2
; /* Breakpoint Register 3 */
302 DWORD Dr3
; /* Breakpoint Register 4 */
303 DWORD Dr4
; /* Breakpoint Register 5 */
304 DWORD Dr5
; /* Breakpoint Register 6 */
305 DWORD Dr6
; /* Debug Status Register */
306 DWORD Dr7
; /* Debug Control Register */
307 } CONTEXT
, *PCONTEXT
, *LPCONTEXT
;
311 typedef struct value_ent
{
319 typedef struct _EXCEPTION_RECORD
{
321 DWORD ExceptionFlags
;
322 struct _EXCEPTION_RECORD
*ExceptionRecord
;
323 PVOID ExceptionAddress
;
324 DWORD NumberParameters
;
325 DWORD ExceptionInformation
[EXCEPTION_MAXIMUM_PARAMETERS
];
326 } EXCEPTION_RECORD
, *PEXCEPTION_RECORD
, *LPEXCEPTION_RECORD
;
328 typedef struct _DRIVE_LAYOUT_INFORMATION
{
329 DWORD PartitionCount
;
331 PARTITION_INFORMATION PartitionEntry
[1];
332 } DRIVE_LAYOUT_INFORMATION
;
334 typedef struct _KEY_EVENT_RECORD
{
337 WORD wVirtualKeyCode
;
338 WORD wVirtualScanCode
;
343 DWORD dwControlKeyState
;
344 } KEY_EVENT_RECORD PACKED
;
346 typedef struct _COORD
{
351 typedef struct _MOUSE_EVENT_RECORD
{
352 COORD dwMousePosition
;
354 DWORD dwControlKeyState
;
356 } MOUSE_EVENT_RECORD
;
358 typedef struct _DISK_GEOMETRY
{
359 LARGE_INTEGER Cylinders
;
360 MEDIA_TYPE MediaType
;
361 DWORD TracksPerCylinder
;
362 DWORD SectorsPerTrack
;
363 DWORD BytesPerSector
;
366 typedef struct _SYSTEMTIME
{
375 } SYSTEMTIME
, *LPSYSTEMTIME
;
377 typedef struct _TIME_ZONE_INFORMATION
{
379 WCHAR StandardName
[ 32 ];
380 SYSTEMTIME StandardDate
;
382 WCHAR DaylightName
[ 32 ];
383 SYSTEMTIME DaylightDate
;
385 } TIME_ZONE_INFORMATION
, *LPTIME_ZONE_INFORMATION
;
388 #ifndef WIN32_LEAN_AND_MEAN
392 #endif /* __cplusplus */
394 typedef struct _ABC
{
400 typedef struct _ABCFLOAT
{
404 } ABCFLOAT
, *LPABCFLOAT
;
406 typedef struct tagACCEL
{
412 typedef struct _ACE_HEADER
{
418 typedef ACCESS_MASK REGSAM
;
420 typedef struct _ACCESS_ALLOWED_ACE
{
424 } ACCESS_ALLOWED_ACE
;
426 typedef struct _ACCESS_DENIED_ACE
{
432 typedef struct tagACCESSTIMEOUT
{
438 typedef struct _ACL_REVISION_INFORMATION
{
440 } ACL_REVISION_INFORMATION
;
442 typedef struct _ACL_SIZE_INFORMATION
{
446 } ACL_SIZE_INFORMATION
;
448 typedef struct _ACTION_HEADER
{
454 typedef struct _ADAPTER_STATUS
{
455 UCHAR adapter_address
[6];
463 WORD iframe_recv_err
;
467 WORD iframe_xmit_err
;
468 WORD recv_buff_unavail
;
475 WORD xmit_buf_unavail
;
480 WORD max_sess_pkt_size
;
484 typedef struct _ADDJOB_INFO_1
{
489 typedef struct tagANIMATIONINFO
{
492 } ANIMATIONINFO
, *LPANIMATIONINFO
;
494 typedef struct _RECT
{
499 } RECT
, *LPRECT
, *PRECT
;
501 typedef struct _RECTL
{
508 typedef struct _AppBarData
{
511 UINT uCallbackMessage
;
515 } APPBARDATA
, *PAPPBARDATA
;
517 typedef struct tagBITMAP
526 } BITMAP
, *PBITMAP
, *NPBITMAP
, *LPBITMAP
;
528 typedef struct tagBITMAPCOREHEADER
{
536 typedef struct tagRGBTRIPLE
{
542 typedef struct _BITMAPCOREINFO
{
543 BITMAPCOREHEADER bmciHeader
;
544 RGBTRIPLE bmciColors
[1];
545 } BITMAPCOREINFO
, *PBITMAPCOREINFO
, *LPBITMAPCOREINFO
;
547 typedef struct tagBITMAPFILEHEADER
{
553 } BITMAPFILEHEADER
__attribute__((packed
));
555 typedef struct tagBITMAPINFOHEADER
{
563 LONG biXPelsPerMeter
;
564 LONG biYPelsPerMeter
;
566 DWORD biClrImportant
;
567 } BITMAPINFOHEADER
, *LPBITMAPINFOHEADER
, *PBITMAPINFO
;
569 typedef struct tagRGBQUAD
{
576 typedef struct tagBITMAPINFO
{
577 BITMAPINFOHEADER bmiHeader
;
578 RGBQUAD bmiColors
[1];
579 } BITMAPINFO
, *LPBITMAPINFO
;
581 typedef long FXPT2DOT30
, * LPFXPT2DOT30
;
583 typedef struct tagCIEXYZ
589 typedef CIEXYZ
* LPCIEXYZ
;
591 typedef struct tagCIEXYZTRIPLE
597 typedef CIEXYZTRIPLE
* LPCIEXYZTRIPLE
;
605 DWORD bV4V4Compression
;
607 LONG bV4XPelsPerMeter
;
608 LONG bV4YPelsPerMeter
;
610 DWORD bV4ClrImportant
;
616 CIEXYZTRIPLE bV4Endpoints
;
620 } BITMAPV4HEADER
, *LPBITMAPV4HEADER
, *PBITMAPV4HEADER
;
622 typedef struct _BLOB
{
627 typedef struct _SHITEMID
{
630 } SHITEMID
, * LPSHITEMID
;
631 typedef const SHITEMID
* LPCSHITEMID
;
633 typedef struct _ITEMIDLIST
{
635 } ITEMIDLIST
, * LPITEMIDLIST
;
636 typedef const ITEMIDLIST
* LPCITEMIDLIST
;
638 typedef struct _browseinfo
{
640 LPCITEMIDLIST pidlRoot
;
641 LPSTR pszDisplayName
;
647 } BROWSEINFO
, *PBROWSEINFO
, *LPBROWSEINFO
;
649 typedef struct _FILETIME
{
651 DWORD dwHighDateTime
;
652 } FILETIME
, *LPFILETIME
, *PFILETIME
;
654 typedef struct _BY_HANDLE_FILE_INFORMATION
{
655 DWORD dwFileAttributes
;
656 FILETIME ftCreationTime
;
657 FILETIME ftLastAccessTime
;
658 FILETIME ftLastWriteTime
;
659 DWORD dwVolumeSerialNumber
;
662 DWORD nNumberOfLinks
;
663 DWORD nFileIndexHigh
;
665 } BY_HANDLE_FILE_INFORMATION
, *LPBY_HANDLE_FILE_INFORMATION
;
667 typedef struct _FIXED
{
672 typedef struct tagPOINT
{
675 } POINT
, *LPPOINT
, *PPOINT
;
677 typedef struct tagPOINTFX
{
682 typedef struct _POINTL
{
687 typedef struct tagPOINTS
{
692 typedef struct _tagCANDIDATEFORM
{
697 } CANDIDATEFORM
, *LPCANDIDATEFORM
;
699 typedef struct _tagCANDIDATELIST
{
707 } CANDIDATELIST
, *LPCANDIDATELIST
;
709 typedef struct tagCREATESTRUCT
{
710 LPVOID lpCreateParams
;
722 } CREATESTRUCT
, *LPCREATESTRUCT
;
724 typedef struct tagCBT_CREATEWND
{
726 HWND hwndInsertAfter
;
729 typedef struct tagCBTACTIVATESTRUCT
{
734 typedef struct _CHAR_INFO
{
740 } CHAR_INFO
, *PCHAR_INFO
;
742 typedef struct _charformat
{
748 COLORREF crTextColor
;
750 BYTE bPitchAndFamily
;
751 TCHAR szFaceName
[LF_FACESIZE
];
754 typedef struct _charrange
{
759 typedef struct tagCHARSET
{
764 typedef struct tagFONTSIGNATURE
{
767 } FONTSIGNATURE
, *LPFONTSIGNATURE
;
773 } CHARSETINFO
, *LPCHARSETINFO
;
780 COLORREF
* lpCustColors
;
783 LPCCHOOKPROC lpfnHook
;
784 LPCTSTR lpTemplateName
;
785 } CHOOSECOLOR
, *LPCHOOSECOLOR
;
787 typedef struct tagLOGFONT
{
798 BYTE lfClipPrecision
;
800 BYTE lfPitchAndFamily
;
801 TCHAR lfFaceName
[LF_FACESIZE
];
802 } LOGFONT
, *LPLOGFONT
, *PLOGFONT
;
813 LPCFHOOKPROC lpfnHook
;
814 LPCTSTR lpTemplateName
;
818 WORD ___MISSING_ALIGNMENT__
;
821 } CHOOSEFONT
, *LPCHOOSEFONT
;
823 typedef struct _IDA
{
828 typedef struct tagCLIENTCREATESTRUCT
{
831 } CLIENTCREATESTRUCT
;
833 typedef CLIENTCREATESTRUCT
*LPCLIENTCREATESTRUCT
;
835 typedef struct _CMInvokeCommandInfo
{
845 } CMINVOKECOMMANDINFO
, *LPCMINVOKECOMMANDINFO
;
847 typedef struct tagCOLORADJUSTMENT
{
850 WORD caIlluminantIndex
;
854 WORD caReferenceBlack
;
855 WORD caReferenceWhite
;
858 SHORT caColorfulness
;
859 SHORT caRedGreenTint
;
860 } COLORADJUSTMENT
, *LPCOLORADJUSTMENT
;
862 typedef struct _COLORMAP
{
865 } COLORMAP
, * LPCOLORMAP
;
867 typedef struct _DCB
{
872 DWORD fOutxCtsFlow
:1;
873 DWORD fOutxDsrFlow
:1;
875 DWORD fDsrSensitivity
:1;
876 DWORD fTXContinueOnXoff
:1;
882 DWORD fAbortOnError
:1;
898 typedef struct _COMM_CONFIG
{
903 DWORD dwProviderSubType
;
904 DWORD dwProviderOffset
;
905 DWORD dwProviderSize
;
906 WCHAR wcProviderData
[1];
907 } COMMCONFIG
, *LPCOMMCONFIG
;
909 typedef struct _COMMPROP
{
918 DWORD dwProvCapabilities
;
919 DWORD dwSettableParams
;
920 DWORD dwSettableBaud
;
922 WORD wSettableStopParity
;
923 DWORD dwCurrentTxQueue
;
924 DWORD dwCurrentRxQueue
;
928 } COMMPROP
, *LPCOMMPROP
;
930 typedef struct _COMMTIMEOUTS
{
931 DWORD ReadIntervalTimeout
;
932 DWORD ReadTotalTimeoutMultiplier
;
933 DWORD ReadTotalTimeoutConstant
;
934 DWORD WriteTotalTimeoutMultiplier
;
935 DWORD WriteTotalTimeoutConstant
;
936 } COMMTIMEOUTS
,*LPCOMMTIMEOUTS
;
938 typedef struct tagCOMPAREITEMSTRUCT
{
950 COLORREF crBackground
;
954 typedef struct _tagCOMPOSITIONFORM
{
958 } COMPOSITIONFORM
, *LPCOMPOSITIONFORM
;
960 typedef struct _COMSTAT
{
968 DWORD fReserved
: 25;
971 } COMSTAT
, *LPCOMSTAT
;
973 typedef struct _CONSOLE_CURSOR_INFO
{
976 } CONSOLE_CURSOR_INFO
, *PCONSOLE_CURSOR_INFO
;
978 typedef struct _SMALL_RECT
{
983 } SMALL_RECT
, *PSMALL_RECT
;
985 typedef struct _CONSOLE_SCREEN_BUFFER_INFO
{
987 COORD dwCursorPosition
;
990 COORD dwMaximumWindowSize
;
991 } CONSOLE_SCREEN_BUFFER_INFO
, *PCONSOLE_SCREEN_BUFFER_INFO
;
993 typedef struct tagCONVCONTEXT
{
1000 SECURITY_QUALITY_OF_SERVICE qos
;
1003 typedef CONVCONTEXT
*PCONVCONTEXT
;
1005 typedef struct tagCONVINFO
{
1018 HCONVLIST hConvList
;
1019 CONVCONTEXT ConvCtxt
;
1024 typedef struct tagCOPYDATASTRUCT
{
1030 typedef struct _cpinfo
{
1032 BYTE DefaultChar
[MAX_DEFAULTCHAR
];
1033 BYTE LeadByte
[MAX_LEADBYTES
];
1034 } CPINFO
, *LPCPINFO
;
1036 typedef struct tagCPLINFO
{
1043 typedef struct _CREATE_PROCESS_DEBUG_INFO
{
1047 LPVOID lpBaseOfImage
;
1048 DWORD dwDebugInfoFileOffset
;
1049 DWORD nDebugInfoSize
;
1050 LPVOID lpThreadLocalBase
;
1051 LPTHREAD_START_ROUTINE lpStartAddress
;
1054 } CREATE_PROCESS_DEBUG_INFO
;
1056 typedef struct _CREATE_THREAD_DEBUG_INFO
{
1058 LPVOID lpThreadLocalBase
;
1059 LPTHREAD_START_ROUTINE lpStartAddress
;
1060 } CREATE_THREAD_DEBUG_INFO
;
1064 typedef struct _SOCKET_ADDRESS {
1065 LPSOCKADDR lpSockaddr ;
1066 INT iSockaddrLength ;
1067 } SOCKET_ADDRESS, *PSOCKET_ADDRESS, *LPSOCKET_ADDRESS;
1071 typedef struct _CSADDR_INFO {
1072 SOCKET_ADDRESS LocalAddr;
1073 SOCKET_ADDRESS RemoteAddr;
1079 typedef struct _currencyfmt
{
1083 LPTSTR lpDecimalSep
;
1084 LPTSTR lpThousandSep
;
1087 LPTSTR lpCurrencySymbol
;
1090 typedef struct tagCURSORSHAPE
{
1098 } CURSORSHAPE
, *LPCURSORSHAPE
;
1100 typedef struct tagCWPRETSTRUCT
{
1108 typedef struct tagCWPSTRUCT
{
1115 typedef struct _DATATYPES_INFO_1
{
1120 unsigned short bAppReturnCode
:8,
1127 unsigned short reserved
:14,
1134 unsigned short unused
:12,
1144 unsigned short unused
:13,
1151 typedef struct tagDDEML_MSG_HOOK_DATA
{
1156 } DDEML_MSG_HOOK_DATA
;
1159 unsigned short unused
:13,
1167 unsigned short unused
:12,
1176 typedef struct _EXCEPTION_DEBUG_INFO
{
1177 EXCEPTION_RECORD ExceptionRecord
;
1178 DWORD dwFirstChance
;
1179 } EXCEPTION_DEBUG_INFO
;
1181 typedef struct _EXIT_PROCESS_DEBUG_INFO
{
1183 } EXIT_PROCESS_DEBUG_INFO
;
1185 typedef struct _EXIT_THREAD_DEBUG_INFO
{
1187 } EXIT_THREAD_DEBUG_INFO
;
1189 typedef struct _LOAD_DLL_DEBUG_INFO
{
1192 DWORD dwDebugInfoFileOffset
;
1193 DWORD nDebugInfoSize
;
1196 } LOAD_DLL_DEBUG_INFO
;
1198 typedef struct _UNLOAD_DLL_DEBUG_INFO
{
1200 } UNLOAD_DLL_DEBUG_INFO
;
1202 typedef struct _OUTPUT_DEBUG_STRING_INFO
{
1203 LPSTR lpDebugStringData
;
1205 WORD nDebugStringLength
;
1206 } OUTPUT_DEBUG_STRING_INFO
;
1208 typedef struct _RIP_INFO
{
1213 typedef struct _DEBUG_EVENT
{
1214 DWORD dwDebugEventCode
;
1218 EXCEPTION_DEBUG_INFO Exception
;
1219 CREATE_THREAD_DEBUG_INFO CreateThread
;
1220 CREATE_PROCESS_DEBUG_INFO CreateProcessInfo
;
1221 EXIT_THREAD_DEBUG_INFO ExitThread
;
1222 EXIT_PROCESS_DEBUG_INFO ExitProcess
;
1223 LOAD_DLL_DEBUG_INFO LoadDll
;
1224 UNLOAD_DLL_DEBUG_INFO UnloadDll
;
1225 OUTPUT_DEBUG_STRING_INFO DebugString
;
1228 } DEBUG_EVENT
, *LPDEBUG_EVENT
;
1230 typedef struct tagDEBUGHOOKINFO
{
1232 DWORD idThreadInstaller
;
1238 typedef struct tagDELETEITEMSTRUCT
{
1246 typedef struct _DEV_BROADCAST_HDR
{
1248 ULONG dbch_devicetype
;
1249 ULONG dbch_reserved
;
1250 } DEV_BROADCAST_HDR
;
1251 typedef DEV_BROADCAST_HDR
*PDEV_BROADCAST_HDR
;
1253 typedef struct _DEV_BROADCAST_OEM
{
1255 ULONG dbco_devicetype
;
1256 ULONG dbco_reserved
;
1257 ULONG dbco_identifier
;
1258 ULONG dbco_suppfunc
;
1259 } DEV_BROADCAST_OEM
;
1260 typedef DEV_BROADCAST_OEM
*PDEV_BROADCAST_OEM
;
1262 typedef struct _DEV_BROADCAST_PORT
{
1264 ULONG dbcp_devicetype
;
1265 ULONG dbcp_reserved
;
1267 } DEV_BROADCAST_PORT
;
1268 typedef DEV_BROADCAST_PORT
*PDEV_BROADCAST_PORT
;
1270 struct _DEV_BROADCAST_USERDEFINED
{
1271 struct _DEV_BROADCAST_HDR dbud_dbh
;
1272 char dbud_szName
[1];
1273 BYTE dbud_rgbUserDefined
[1];
1276 typedef struct _DEV_BROADCAST_VOLUME
{
1278 ULONG dbcv_devicetype
;
1279 ULONG dbcv_reserved
;
1280 ULONG dbcv_unitmask
;
1282 } DEV_BROADCAST_VOLUME
;
1283 typedef DEV_BROADCAST_VOLUME
*PDEV_BROADCAST_VOLUME
;
1285 typedef struct _devicemode
{
1286 BCHAR dmDeviceName
[CCHDEVICENAME
];
1288 WORD dmDriverVersion
;
1292 short dmOrientation
;
1294 short dmPaperLength
;
1298 short dmDefaultSource
;
1299 short dmPrintQuality
;
1302 short dmYResolution
;
1305 BCHAR dmFormName
[CCHFORMNAME
];
1310 DWORD dmDisplayFlags
;
1311 DWORD dmDisplayFrequency
;
1316 DWORD dmICCManufacturer
;
1318 } DEVMODE
, *LPDEVMODE
;
1320 typedef struct tagDEVNAMES
{
1325 } DEVNAMES
, *LPDEVNAMES
;
1327 typedef struct tagDIBSECTION
{
1329 BITMAPINFOHEADER dsBmih
;
1330 DWORD dsBitfields
[3];
1335 typedef struct _DISK_PERFORMANCE
{
1336 LARGE_INTEGER BytesRead
;
1337 LARGE_INTEGER BytesWritten
;
1338 LARGE_INTEGER ReadTime
;
1339 LARGE_INTEGER WriteTime
;
1343 } DISK_PERFORMANCE
;
1347 DWORD dwExtendedStyle
;
1353 } DLGITEMTEMPLATE PACKED
;
1355 typedef DLGITEMTEMPLATE
*LPDLGITEMTEMPLATE
;
1356 typedef DLGITEMTEMPLATE
*PDLGITEMTEMPLATE
;
1360 DWORD dwExtendedStyle
;
1366 } DLGTEMPLATE PACKED
;
1368 typedef DLGTEMPLATE
*LPDLGTEMPLATE
;
1369 typedef const DLGTEMPLATE
*LPCDLGTEMPLATE
;
1371 typedef struct _DOC_INFO_1
{
1377 typedef struct _DOC_INFO_2
{
1387 LPCTSTR lpszDocName
;
1389 LPCTSTR lpszDatatype
;
1391 } DOCINFO
, *PDOCINFO
;
1397 } DRAGLISTINFO
, *LPDRAGLISTINFO
;
1399 typedef struct tagDRAWITEMSTRUCT
{
1409 } DRAWITEMSTRUCT
, *LPDRAWITEMSTRUCT
, *PDRAWITEMSTRUCT
;
1417 } DRAWTEXTPARAMS
, *LPDRAWTEXTPARAMS
;
1421 typedef struct _DRIVER_INFO_1
{
1425 typedef struct _DRIVER_INFO_2
{
1428 LPTSTR pEnvironment
;
1434 typedef struct _DRIVER_INFO_3
{
1437 LPTSTR pEnvironment
;
1442 LPTSTR pDependentFiles
;
1443 LPTSTR pMonitorName
;
1444 LPTSTR pDefaultDataType
;
1447 typedef struct _editstream
{
1450 EDITSTREAMCALLBACK pfnCallback
;
1453 typedef struct tagEMR
1459 typedef struct tagEMRANGLEARC
1466 } EMRANGLEARC
, *PEMRANGLEARC
;
1468 typedef struct tagEMRARC
1475 EMRARCTO
, *PEMRARCTO
,
1476 EMRCHORD
, *PEMRCHORD
,
1479 typedef struct _XFORM
1487 } XFORM
, *PXFORM
, *LPXFORM
;
1489 typedef struct tagEMRBITBLT
1501 COLORREF crBkColorSrc
;
1506 } EMRBITBLT
, *PEMRBITBLT
;
1508 typedef struct tagLOGBRUSH
{
1512 } LOGBRUSH
, *PLOGBRUSH
;
1514 typedef struct tagEMRCREATEBRUSHINDIRECT
1519 } EMRCREATEBRUSHINDIRECT
, *PEMRCREATEBRUSHINDIRECT
;
1521 typedef LONG LCSCSTYPE
;
1522 typedef LONG LCSGAMUTMATCH
;
1524 typedef struct tagLOGCOLORSPACE
{
1529 LCSCSTYPE lcsCSType
;
1530 LCSGAMUTMATCH lcsIntent
;
1531 CIEXYZTRIPLE lcsEndpoints
;
1533 DWORD lcsGammaGreen
;
1535 TCHAR lcsFilename
[MAX_PATH
];
1536 } LOGCOLORSPACE
, *LPLOGCOLORSPACE
;
1538 typedef struct tagEMRCREATECOLORSPACE
1543 } EMRCREATECOLORSPACE
, *PEMRCREATECOLORSPACE
;
1545 typedef struct tagEMRCREATEDIBPATTERNBRUSHPT
1554 } EMRCREATEDIBPATTERNBRUSHPT
,
1555 PEMRCREATEDIBPATTERNBRUSHPT
;
1557 typedef struct tagEMRCREATEMONOBRUSH
1566 } EMRCREATEMONOBRUSH
, *PEMRCREATEMONOBRUSH
;
1568 typedef struct tagPALETTEENTRY
{
1573 } PALETTEENTRY
, *LPPALETTEENTRY
, *PPALETTEENTRY
;
1575 typedef struct tagLOGPALETTE
{
1578 PALETTEENTRY palPalEntry
[1];
1579 } LOGPALETTE
, *LPLOGPALETTE
, *PLOGPALETTE
;
1581 typedef struct tagEMRCREATEPALETTE
1586 } EMRCREATEPALETTE
, *PEMRCREATEPALETTE
;
1588 typedef struct tagLOGPEN
{
1594 typedef struct tagEMRCREATEPEN
1599 } EMRCREATEPEN
, *PEMRCREATEPEN
;
1601 typedef struct tagEMRELLIPSE
1605 } EMRELLIPSE
, *PEMRELLIPSE
,
1606 EMRRECTANGLE
, *PEMRRECTANGLE
;
1608 typedef struct tagEMREOF
1612 DWORD offPalEntries
;
1616 typedef struct tagEMREXCLUDECLIPRECT
1620 } EMREXCLUDECLIPRECT
, *PEMREXCLUDECLIPRECT
,
1621 EMRINTERSECTCLIPRECT
, *PEMRINTERSECTCLIPRECT
;
1623 typedef struct tagPANOSE
{
1629 BYTE bStrokeVariation
;
1636 typedef struct tagEXTLOGFONT
{
1638 BCHAR elfFullName
[LF_FULLFACESIZE
];
1639 BCHAR elfStyle
[LF_FACESIZE
];
1644 BYTE elfVendorId
[ELF_VENDOR_SIZE
];
1649 typedef struct tagEMREXTCREATEFONTINDIRECTW
1654 } EMREXTCREATEFONTINDIRECTW
,
1655 PEMREXTCREATEFONTINDIRECTW
;
1657 typedef struct tagEXTLOGPEN
{
1663 DWORD elpNumEntries
;
1664 DWORD elpStyleEntry
[1];
1667 typedef struct tagEMREXTCREATEPEN
1676 } EMREXTCREATEPEN
, *PEMREXTCREATEPEN
;
1678 typedef struct tagEMREXTFLOODFILL
1684 } EMREXTFLOODFILL
, *PEMREXTFLOODFILL
;
1686 typedef struct tagEMREXTSELECTCLIPRGN
1692 } EMREXTSELECTCLIPRGN
, *PEMREXTSELECTCLIPRGN
;
1694 typedef struct tagEMRTEXT
1696 POINTL ptlReference
;
1702 } EMRTEXT
, *PEMRTEXT
;
1704 typedef struct tagEMREXTTEXTOUTA
1708 DWORD iGraphicsMode
;
1712 } EMREXTTEXTOUTA
, *PEMREXTTEXTOUTA
,
1713 EMREXTTEXTOUTW
, *PEMREXTTEXTOUTW
;
1715 typedef struct tagEMRFILLPATH
1719 } EMRFILLPATH
, *PEMRFILLPATH
,
1720 EMRSTROKEANDFILLPATH
, *PEMRSTROKEANDFILLPATH
,
1721 EMRSTROKEPATH
, *PEMRSTROKEPATH
;
1723 typedef struct tagEMRFILLRGN
1730 } EMRFILLRGN
, *PEMRFILLRGN
;
1732 typedef struct tagEMRFORMAT
{
1739 typedef struct tagSIZE
{
1742 } SIZE
, *PSIZE
, *LPSIZE
, SIZEL
, *PSIZEL
, *LPSIZEL
;
1744 typedef struct tagEMRFRAMERGN
1752 } EMRFRAMERGN
, *PEMRFRAMERGN
;
1754 typedef struct tagEMRGDICOMMENT
1759 } EMRGDICOMMENT
, *PEMRGDICOMMENT
;
1761 typedef struct tagEMRINVERTRGN
1767 } EMRINVERTRGN
, *PEMRINVERTRGN
,
1768 EMRPAINTRGN
, *PEMRPAINTRGN
;
1770 typedef struct tagEMRLINETO
1774 } EMRLINETO
, *PEMRLINETO
,
1775 EMRMOVETOEX
, *PEMRMOVETOEX
;
1777 typedef struct tagEMRMASKBLT
1789 COLORREF crBkColorSrc
;
1802 } EMRMASKBLT
, *PEMRMASKBLT
;
1804 typedef struct tagEMRMODIFYWORLDTRANSFORM
1809 } EMRMODIFYWORLDTRANSFORM
,
1810 PEMRMODIFYWORLDTRANSFORM
;
1812 typedef struct tagEMROFFSETCLIPRGN
1816 } EMROFFSETCLIPRGN
, *PEMROFFSETCLIPRGN
;
1818 typedef struct tagEMRPLGBLT
1828 COLORREF crBkColorSrc
;
1841 } EMRPLGBLT
, *PEMRPLGBLT
;
1843 typedef struct tagEMRPOLYDRAW
1850 } EMRPOLYDRAW
, *PEMRPOLYDRAW
;
1852 typedef struct tagEMRPOLYDRAW16
1859 } EMRPOLYDRAW16
, *PEMRPOLYDRAW16
;
1861 typedef struct tagEMRPOLYLINE
1867 } EMRPOLYLINE
, *PEMRPOLYLINE
,
1868 EMRPOLYBEZIER
, *PEMRPOLYBEZIER
,
1869 EMRPOLYGON
, *PEMRPOLYGON
,
1870 EMRPOLYBEZIERTO
, *PEMRPOLYBEZIERTO
,
1871 EMRPOLYLINETO
, *PEMRPOLYLINETO
;
1873 typedef struct tagEMRPOLYLINE16
1879 } EMRPOLYLINE16
, *PEMRPOLYLINE16
,
1880 EMRPOLYBEZIER16
, *PEMRPOLYBEZIER16
,
1881 EMRPOLYGON16
, *PEMRPOLYGON16
,
1882 EMRPOLYBEZIERTO16
, *PEMRPOLYBEZIERTO16
,
1883 EMRPOLYLINETO16
, *PEMRPOLYLINETO16
;
1885 typedef struct tagEMRPOLYPOLYLINE
1891 DWORD aPolyCounts
[1];
1893 } EMRPOLYPOLYLINE
, *PEMRPOLYPOLYLINE
,
1894 EMRPOLYPOLYGON
, *PEMRPOLYPOLYGON
;
1896 typedef struct tagEMRPOLYPOLYLINE16
1902 DWORD aPolyCounts
[1];
1904 } EMRPOLYPOLYLINE16
, *PEMRPOLYPOLYLINE16
,
1905 EMRPOLYPOLYGON16
, *PEMRPOLYPOLYGON16
;
1907 typedef struct tagEMRPOLYTEXTOUTA
1911 DWORD iGraphicsMode
;
1915 EMRTEXT aemrtext
[1];
1916 } EMRPOLYTEXTOUTA
, *PEMRPOLYTEXTOUTA
,
1917 EMRPOLYTEXTOUTW
, *PEMRPOLYTEXTOUTW
;
1919 typedef struct tagEMRRESIZEPALETTE
1924 } EMRRESIZEPALETTE
, *PEMRRESIZEPALETTE
;
1926 typedef struct tagEMRRESTOREDC
1930 } EMRRESTOREDC
, *PEMRRESTOREDC
;
1932 typedef struct tagEMRROUNDRECT
1937 } EMRROUNDRECT
, *PEMRROUNDRECT
;
1939 typedef struct tagEMRSCALEVIEWPORTEXTEX
1946 } EMRSCALEVIEWPORTEXTEX
, *PEMRSCALEVIEWPORTEXTEX
,
1947 EMRSCALEWINDOWEXTEX
, *PEMRSCALEWINDOWEXTEX
;
1949 typedef struct tagEMRSELECTCOLORSPACE
1953 } EMRSELECTCOLORSPACE
, *PEMRSELECTCOLORSPACE
,
1954 EMRDELETECOLORSPACE
, *PEMRDELETECOLORSPACE
;
1955 typedef struct tagEMRSELECTOBJECT
1959 } EMRSELECTOBJECT
, *PEMRSELECTOBJECT
,
1960 EMRDELETEOBJECT
, *PEMRDELETEOBJECT
;
1962 typedef struct tagEMRSELECTPALETTE
1966 } EMRSELECTPALETTE
, *PEMRSELECTPALETTE
;
1968 typedef struct tagEMRSETARCDIRECTION
1971 DWORD iArcDirection
;
1972 } EMRSETARCDIRECTION
, *PEMRSETARCDIRECTION
;
1974 typedef struct tagEMRSETTEXTCOLOR
1978 } EMRSETBKCOLOR
, *PEMRSETBKCOLOR
,
1979 EMRSETTEXTCOLOR
, *PEMRSETTEXTCOLOR
;
1981 typedef struct tagEMRSETCOLORADJUSTMENT
1984 COLORADJUSTMENT ColorAdjustment
;
1985 } EMRSETCOLORADJUSTMENT
, *PEMRSETCOLORADJUSTMENT
;
1987 typedef struct tagEMRSETDIBITSTODEVICE
2004 } EMRSETDIBITSTODEVICE
, *PEMRSETDIBITSTODEVICE
;
2006 typedef struct tagEMRSETMAPPERFLAGS
2010 } EMRSETMAPPERFLAGS
, *PEMRSETMAPPERFLAGS
;
2012 typedef struct tagEMRSETMITERLIMIT
2016 } EMRSETMITERLIMIT
, *PEMRSETMITERLIMIT
;
2018 typedef struct tagEMRSETPALETTEENTRIES
2024 PALETTEENTRY aPalEntries
[1];
2025 } EMRSETPALETTEENTRIES
, *PEMRSETPALETTEENTRIES
;
2027 typedef struct tagEMRSETPIXELV
2032 } EMRSETPIXELV
, *PEMRSETPIXELV
;
2034 typedef struct tagEMRSETVIEWPORTEXTEX
2038 } EMRSETVIEWPORTEXTEX
, *PEMRSETVIEWPORTEXTEX
,
2039 EMRSETWINDOWEXTEX
, *PEMRSETWINDOWEXTEX
;
2041 typedef struct tagEMRSETVIEWPORTORGEX
2045 } EMRSETVIEWPORTORGEX
, *PEMRSETVIEWPORTORGEX
,
2046 EMRSETWINDOWORGEX
, *PEMRSETWINDOWORGEX
,
2047 EMRSETBRUSHORGEX
, *PEMRSETBRUSHORGEX
;
2049 typedef struct tagEMRSETWORLDTRANSFORM
2053 } EMRSETWORLDTRANSFORM
, *PEMRSETWORLDTRANSFORM
;
2055 typedef struct tagEMRSTRETCHBLT
2067 COLORREF crBkColorSrc
;
2075 } EMRSTRETCHBLT
, *PEMRSTRETCHBLT
;
2077 typedef struct tagEMRSTRETCHDIBITS
2095 } EMRSTRETCHDIBITS
, *PEMRSTRETCHDIBITS
;
2097 typedef struct tagABORTPATH
2100 } EMRABORTPATH
, *PEMRABORTPATH
,
2101 EMRBEGINPATH
, *PEMRBEGINPATH
,
2102 EMRENDPATH
, *PEMRENDPATH
,
2103 EMRCLOSEFIGURE
, *PEMRCLOSEFIGURE
,
2104 EMRFLATTENPATH
, *PEMRFLATTENPATH
,
2105 EMRWIDENPATH
, *PEMRWIDENPATH
,
2106 EMRSETMETARGN
, *PEMRSETMETARGN
,
2107 EMRSAVEDC
, *PEMRSAVEDC
,
2108 EMRREALIZEPALETTE
, *PEMRREALIZEPALETTE
;
2110 typedef struct tagEMRSELECTCLIPPATH
2114 } EMRSELECTCLIPPATH
, *PEMRSELECTCLIPPATH
,
2115 EMRSETBKMODE
, *PEMRSETBKMODE
,
2116 EMRSETMAPMODE
, *PEMRSETMAPMODE
,
2117 EMRSETPOLYFILLMODE
, *PEMRSETPOLYFILLMODE
,
2118 EMRSETROP2
, *PEMRSETROP2
,
2119 EMRSETSTRETCHBLTMODE
, *PEMRSETSTRETCHBLTMODE
,
2120 EMRSETTEXTALIGN
, *PEMRSETTEXTALIGN
,
2121 EMRENABLEICM
, *PEMRENABLEICM
;
2123 typedef struct tagNMHDR
{
2129 typedef struct _encorrecttext
{
2135 typedef struct _endropfiles
{
2155 typedef struct tagENHMETAHEADER
{
2167 DWORD offDescription
;
2170 SIZEL szlMillimeters
;
2171 } ENHMETAHEADER
, *LPENHMETAHEADER
;
2173 typedef struct tagENHMETARECORD
{
2177 } ENHMETARECORD
, *PENHMETARECORD
, *LPENHMETARECORD
;
2179 typedef struct _enprotected
{
2187 typedef struct _SERVICE_STATUS
{
2188 DWORD dwServiceType
;
2189 DWORD dwCurrentState
;
2190 DWORD dwControlsAccepted
;
2191 DWORD dwWin32ExitCode
;
2192 DWORD dwServiceSpecificExitCode
;
2195 } SERVICE_STATUS
, *LPSERVICE_STATUS
;
2197 typedef struct _ENUM_SERVICE_STATUSA
{
2198 LPSTR lpServiceName
;
2199 LPSTR lpDisplayName
;
2200 SERVICE_STATUS ServiceStatus
;
2201 } ENUM_SERVICE_STATUSA
, *LPENUM_SERVICE_STATUSA
;
2203 typedef struct _ENUM_SERVICE_STATUSW
{
2204 LPWSTR lpServiceName
;
2205 LPWSTR lpDisplayName
;
2206 SERVICE_STATUS ServiceStatus
;
2207 } ENUM_SERVICE_STATUSW
, *LPENUM_SERVICE_STATUSW
;
2210 #define ENUM_SERVICE_STATUS ENUM_SERVICE_STATUSW
2211 #define LPENUM_SERVICE_STATUS LPENUM_SERVICE_STATUSW
2213 #define ENUM_SERVICE_STATUS ENUM_SERVICE_STATUSA
2214 #define LPENUM_SERVICE_STATUS LPENUM_SERVICE_STATUSA
2217 typedef struct tagENUMLOGFONT
{
2219 BCHAR elfFullName
[LF_FULLFACESIZE
];
2220 BCHAR elfStyle
[LF_FACESIZE
];
2223 typedef struct tagENUMLOGFONTEX
{
2225 BCHAR elfFullName
[LF_FULLFACESIZE
];
2226 BCHAR elfStyle
[LF_FACESIZE
];
2227 BCHAR elfScript
[LF_FACESIZE
];
2230 typedef struct _EVENTLOGRECORD
{
2234 DWORD TimeGenerated
;
2241 DWORD ClosingRecordNumber
;
2243 DWORD UserSidLength
;
2244 DWORD UserSidOffset
;
2252 TCHAR Computername[]
2262 typedef struct tagEVENTMSG
{
2270 typedef struct _EXCEPTION_POINTERS
{
2271 PEXCEPTION_RECORD ExceptionRecord
;
2272 PCONTEXT ContextRecord
;
2273 } EXCEPTION_POINTERS
, *PEXCEPTION_POINTERS
, *LPEXCEPTION_POINTERS
;
2275 typedef struct _EXT_BUTTON
{
2279 } EXT_BUTTON
, *LPEXT_BUTTON
;
2281 typedef struct tagFILTERKEYS
{
2290 typedef struct _FIND_NAME_BUFFER
{
2292 UCHAR access_control
;
2293 UCHAR frame_control
;
2294 UCHAR destination_addr
[6];
2295 UCHAR source_addr
[6];
2296 UCHAR routing_info
[18];
2299 typedef struct _FIND_NAME_HEADER
{
2308 HINSTANCE hInstance
;
2310 LPTSTR lpstrFindWhat
;
2311 LPTSTR lpstrReplaceWith
;
2313 WORD wReplaceWithLen
;
2315 LPFRHOOKPROC lpfnHook
;
2316 LPCTSTR lpTemplateName
;
2317 } FINDREPLACE
, *LPFINDREPLACE
;
2319 typedef struct _findtext
{
2324 typedef struct _findtextex
{
2330 typedef struct _FMS_GETDRIVEINFO
{
2338 typedef struct _FMS_GETFILESEL
{
2345 typedef struct _FMS_LOAD
{
2347 TCHAR szMenuName
[MENU_TEXT_LEN
];
2352 typedef struct _FMS_TOOLBARLOAD
{
2354 LPEXT_BUTTON lpButtons
;
2361 typedef struct _FOCUS_EVENT_RECORD
{
2363 } FOCUS_EVENT_RECORD
;
2365 typedef struct _FORM_INFO_1
{
2369 RECTL ImageableArea
;
2372 typedef struct _FORMAT_PARAMETERS
{
2373 MEDIA_TYPE MediaType
;
2374 DWORD StartCylinderNumber
;
2375 DWORD EndCylinderNumber
;
2376 DWORD StartHeadNumber
;
2377 DWORD EndHeadNumber
;
2378 } FORMAT_PARAMETERS
;
2380 typedef struct _formatrange
{
2388 typedef struct tagGCP_RESULTS
{
2398 } GCP_RESULTS
, *LPGCP_RESULTS
;
2401 typedef struct _GLYPHMETRICS
{
2404 POINT gmptGlyphOrigin
;
2407 } GLYPHMETRICS
, *LPGLYPHMETRICS
;
2409 typedef struct tagHANDLETABLE
{
2410 HGDIOBJ objectHandle
[1];
2411 } HANDLETABLE
, *LPHANDLETABLE
;
2413 typedef struct _HD_HITTESTINFO
{
2419 typedef struct _HD_ITEM
{
2429 typedef struct _WINDOWPOS
{
2431 HWND hwndInsertAfter
;
2437 } WINDOWPOS
, *PWINDOWPOS
, *LPWINDOWPOS
;
2439 typedef struct _HD_LAYOUT
{
2444 typedef struct _HD_NOTIFY
{
2451 typedef struct tagHELPINFO
{
2458 } HELPINFO
, *LPHELPINFO
;
2467 TCHAR rgchMember
[2];
2470 typedef struct tagHIGHCONTRAST
{
2473 LPTSTR lpszDefaultScheme
;
2474 } HIGHCONTRAST
, * LPHIGHCONTRAST
;
2476 typedef struct tagHSZPAIR
{
2481 typedef struct _ICONINFO
{
2487 } ICONINFO
, *PICONINFO
;
2489 typedef struct tagICONMETRICS
{
2495 } ICONMETRICS
, *LPICONMETRICS
;
2497 typedef struct _IMAGEINFO
{
2505 typedef struct _WINDOW_BUFFER_SIZE_RECORD
{
2507 } WINDOW_BUFFER_SIZE_RECORD
;
2509 typedef struct _MENU_EVENT_RECORD
{
2511 } MENU_EVENT_RECORD
, *PMENU_EVENT_RECORD
;
2513 typedef struct _INPUT_RECORD
{
2516 #ifndef __cplus_plus
2517 /* this will be the wrong size in c++ */
2518 KEY_EVENT_RECORD KeyEvent
;
2520 MOUSE_EVENT_RECORD MouseEvent
;
2521 WINDOW_BUFFER_SIZE_RECORD WindowBufferSizeEvent
;
2522 MENU_EVENT_RECORD MenuEvent
;
2523 FOCUS_EVENT_RECORD FocusEvent
;
2525 } INPUT_RECORD
, *PINPUT_RECORD
;
2527 typedef struct _JOB_INFO_1
{
2529 LPTSTR pPrinterName
;
2530 LPTSTR pMachineName
;
2540 SYSTEMTIME Submitted
;
2544 typedef struct _JOB_INFO_2
{
2546 LPTSTR pPrinterName
;
2547 LPTSTR pMachineName
;
2552 LPTSTR pPrintProcessor
;
2557 PSECURITY_DESCRIPTOR pSecurityDescriptor
;
2565 SYSTEMTIME Submitted
;
2567 DWORD PagesPrinted
;
2570 typedef struct tagKERNINGPAIR
{
2574 } KERNINGPAIR
, *LPKERNINGPAIR
;
2576 typedef struct _LANA_ENUM
{
2578 UCHAR lana
[MAX_LANA
];
2581 typedef struct _LDT_ENTRY
{
2598 DWORD Reserved_0
: 1;
2599 DWORD Default_Big
: 1;
2600 DWORD Granularity
: 1;
2604 } LDT_ENTRY
, *PLDT_ENTRY
, *LPLDT_ENTRY
;
2606 typedef struct tagLOCALESIGNATURE
{
2608 DWORD lsCsbDefault
[2];
2609 DWORD lsCsbSupported
[2];
2612 typedef struct _LOCALGROUP_MEMBERS_INFO_0
{
2614 } LOCALGROUP_MEMBERS_INFO_0
;
2616 typedef struct _LOCALGROUP_MEMBERS_INFO_3
{
2617 LPWSTR lgrmi3_domainandname
;
2618 } LOCALGROUP_MEMBERS_INFO_3
;
2620 typedef long FXPT16DOT16
, * LPFXPT16DOT16
;
2624 typedef LUID_AND_ATTRIBUTES LUID_AND_ATTRIBUTES_ARRAY
[ANYSIZE_ARRAY
];
2625 typedef LUID_AND_ATTRIBUTES_ARRAY
*PLUID_AND_ATTRIBUTES_ARRAY
;
2627 typedef struct _LV_COLUMN
{
2636 typedef struct _LV_ITEM
{
2648 typedef struct tagLV_DISPINFO
{
2653 typedef struct _LV_FINDINFO
{
2661 typedef struct _LV_HITTESTINFO
{
2667 typedef struct tagLV_KEYDOWN
{
2673 typedef struct _MAT2
{
2680 typedef struct tagMDICREATESTRUCT
{
2692 typedef MDICREATESTRUCT
*LPMDICREATESTRUCT
;
2694 typedef struct tagMEASUREITEMSTRUCT
{
2701 } MEASUREITEMSTRUCT
, *LPMEASUREITEMSTRUCT
;
2703 typedef struct _MEMORY_BASIC_INFORMATION
{
2705 PVOID AllocationBase
;
2706 DWORD AllocationProtect
;
2711 } MEMORY_BASIC_INFORMATION
;
2712 typedef MEMORY_BASIC_INFORMATION
*PMEMORY_BASIC_INFORMATION
;
2714 typedef struct _MEMORYSTATUS
{
2719 DWORD dwTotalPageFile
;
2720 DWORD dwAvailPageFile
;
2721 DWORD dwTotalVirtual
;
2722 DWORD dwAvailVirtual
;
2723 } MEMORYSTATUS
, *LPMEMORYSTATUS
;
2729 } MENUEX_TEMPLATE_HEADER
;
2738 } MENUEX_TEMPLATE_ITEM
;
2740 typedef struct tagMENUITEMINFO
{
2747 HBITMAP hbmpChecked
;
2748 HBITMAP hbmpUnchecked
;
2752 } MENUITEMINFO
, *LPMENUITEMINFO
;
2753 typedef MENUITEMINFO CONST
*LPCMENUITEMINFO
;
2764 } MENUITEMTEMPLATEHEADER
;
2765 typedef VOID MENUTEMPLATE
, *LPMENUTEMPLATE
;
2767 typedef struct tagMETAFILEPICT
{
2772 } METAFILEPICT
, *PMETAFILEPICT
, *LPMETAFILEPICT
;
2774 typedef struct tagMETAHEADER
{
2781 WORD mtNoParameters
;
2782 } METAHEADER PACKED
;
2784 typedef struct tagMETARECORD
{
2788 } METARECORD
, *LPMETARECORD
;
2790 typedef struct tagMINIMIZEDMETRICS
{
2796 } MINIMIZEDMETRICS
, *LPMINIMIZEDMETRICS
;
2798 typedef struct tagMINMAXINFO
{
2801 POINT ptMaxPosition
;
2802 POINT ptMinTrackSize
;
2803 POINT ptMaxTrackSize
;
2806 typedef struct modemdevcaps_tag
{
2808 DWORD dwRequiredSize
;
2809 DWORD dwDevSpecificOffset
;
2810 DWORD dwDevSpecificSize
;
2812 DWORD dwModemProviderVersion
;
2813 DWORD dwModemManufacturerOffset
;
2814 DWORD dwModemManufacturerSize
;
2815 DWORD dwModemModelOffset
;
2816 DWORD dwModemModelSize
;
2817 DWORD dwModemVersionOffset
;
2818 DWORD dwModemVersionSize
;
2820 DWORD dwDialOptions
;
2821 DWORD dwCallSetupFailTimer
;
2822 DWORD dwInactivityTimeout
;
2823 DWORD dwSpeakerVolume
;
2824 DWORD dwSpeakerMode
;
2825 DWORD dwModemOptions
;
2829 BYTE abVariablePortion
[1];
2830 } MODEMDEVCAPS
, *PMODEMDEVCAPS
, *LPMODEMDEVCAPS
;
2832 typedef struct modemsettings_tag
{
2834 DWORD dwRequiredSize
;
2835 DWORD dwDevSpecificOffset
;
2836 DWORD dwDevSpecificSize
;
2838 DWORD dwCallSetupFailTimer
;
2839 DWORD dwInactivityTimeout
;
2840 DWORD dwSpeakerVolume
;
2841 DWORD dwSpeakerMode
;
2842 DWORD dwPreferredModemOptions
;
2844 DWORD dwNegotiatedModemOptions
;
2845 DWORD dwNegotiatedDCERate
;
2847 BYTE abVariablePortion
[1];
2848 } MODEMSETTINGS
, *PMODEMSETTINGS
, *LPMODEMSETTINGS
;
2850 typedef struct tagMONCBSTRUCT
{
2868 typedef struct tagMONCONVSTRUCT
{
2879 typedef struct tagMONERRSTRUCT
{
2886 typedef struct tagMONHSZSTRUCT
{
2895 typedef struct _MONITOR_INFO_1
{
2899 typedef struct _MONITOR_INFO_2
{
2901 LPTSTR pEnvironment
;
2905 typedef struct tagMONLINKSTRUCT
{
2909 WINBOOL fEstablished
;
2920 typedef struct tagMONMSGSTRUCT
{
2928 DDEML_MSG_HOOK_DATA dmhd
;
2931 typedef struct tagMOUSEHOOKSTRUCT
{
2936 } MOUSEHOOKSTRUCT
, *PMOUSEHOOKSTRUCT
, *LPMOUSEHOOKSTRUCT
;
2938 typedef struct _MOUSEKEYS
{
2942 DWORD iTimeToMaxSpeed
;
2948 typedef struct tagMSG
{
2957 typedef void CALLBACK (*MSGBOXCALLBACK
) (LPHELPINFO lpHelpInfo
);
2962 HINSTANCE hInstance
;
2967 DWORD dwContextHelpId
;
2968 MSGBOXCALLBACK lpfnMsgBoxCallback
;
2970 } MSGBOXPARAMS
, *PMSGBOXPARAMS
, *LPMSGBOXPARAMS
;
2972 typedef struct _msgfilter
{
2979 typedef struct tagMULTIKEYHELP
{
2982 TCHAR szKeyphrase
[1];
2985 typedef struct _NAME_BUFFER
{
2986 UCHAR name
[NCBNAMSZ
];
2991 typedef struct _NCB
{
2998 UCHAR ncb_callname
[NCBNAMSZ
];
2999 UCHAR ncb_name
[NCBNAMSZ
];
3002 void (*ncb_post
) (struct _NCB
*);
3005 UCHAR ncb_reserve
[10];
3009 typedef struct _NCCALCSIZE_PARAMS
{
3012 } NCCALCSIZE_PARAMS
;
3014 typedef struct _NDDESHAREINFO
{
3016 LPTSTR lpszShareName
;
3018 LPTSTR lpszAppTopicList
;
3025 LPTSTR lpszItemList
;
3028 typedef struct _NETRESOURCE
{
3031 DWORD dwDisplayType
;
3034 LPTSTR lpRemoteName
;
3037 } NETRESOURCE
, *LPNETRESOURCE
;
3039 typedef struct tagNEWCPLINFO
{
3042 DWORD dwHelpContext
;
3047 TCHAR szHelpFile
[128];
3050 typedef struct tagNEWTEXTMETRIC
{
3054 LONG tmInternalLeading
;
3055 LONG tmExternalLeading
;
3056 LONG tmAveCharWidth
;
3057 LONG tmMaxCharWidth
;
3060 LONG tmDigitizedAspectX
;
3061 LONG tmDigitizedAspectY
;
3064 BCHAR tmDefaultChar
;
3069 BYTE tmPitchAndFamily
;
3078 typedef struct tagNEWTEXTMETRICEX
{
3079 NEWTEXTMETRIC ntmentm
;
3080 FONTSIGNATURE ntmeFontSignature
;
3083 typedef struct tagNM_LISTVIEW
{
3094 typedef struct _TREEITEM
*HTREEITEM
;
3096 typedef struct _TV_ITEM
{
3107 } TV_ITEM
, *LPTV_ITEM
;
3109 typedef struct _NM_TREEVIEW
{
3116 typedef NM_TREEVIEW
*LPNM_TREEVIEW
;
3118 typedef struct _NM_UPDOWN
{
3124 typedef struct tagNONCLIENTMETRICS
{
3131 LOGFONT lfCaptionFont
;
3132 int iSmCaptionWidth
;
3133 int iSmCaptionHeight
;
3134 LOGFONT lfSmCaptionFont
;
3138 LOGFONT lfStatusFont
;
3139 LOGFONT lfMessageFont
;
3140 } NONCLIENTMETRICS
, * LPNONCLIENTMETRICS
;
3142 typedef struct _SERVICE_ADDRESS
{
3143 DWORD dwAddressType
;
3144 DWORD dwAddressFlags
;
3145 DWORD dwAddressLength
;
3146 DWORD dwPrincipalLength
;
3151 typedef struct _SERVICE_ADDRESSES
{
3152 DWORD dwAddressCount
;
3153 SERVICE_ADDRESS Addresses
[1];
3154 } SERVICE_ADDRESSES
, *LPSERVICE_ADDRESSES
;
3156 typedef struct _GUID
3158 unsigned long Data1
;
3159 unsigned short Data2
;
3160 unsigned short Data3
;
3161 unsigned char Data4
[8];
3163 typedef GUID CLSID
, *LPCLSID
;
3165 typedef struct _SERVICE_INFO
{
3166 LPGUID lpServiceType
;
3167 LPTSTR lpServiceName
;
3170 DWORD dwDisplayHint
;
3173 LPTSTR lpMachineName
;
3174 LPSERVICE_ADDRESSES lpServiceAddress
;
3175 BLOB ServiceSpecificInfo
;
3178 typedef struct _NS_SERVICE_INFO
{
3180 SERVICE_INFO ServiceInfo
;
3183 typedef struct _numberfmt
{
3187 LPTSTR lpDecimalSep
;
3188 LPTSTR lpThousandSep
;
3192 typedef struct _OFSTRUCT
{
3198 CHAR szPathName
[OFS_MAXPATHNAME
];
3199 } OFSTRUCT
, *LPOFSTRUCT
;
3201 typedef struct tagOFN
{
3204 HINSTANCE hInstance
;
3205 LPCTSTR lpstrFilter
;
3206 LPTSTR lpstrCustomFilter
;
3207 DWORD nMaxCustFilter
;
3211 LPTSTR lpstrFileTitle
;
3212 DWORD nMaxFileTitle
;
3213 LPCTSTR lpstrInitialDir
;
3217 WORD nFileExtension
;
3218 LPCTSTR lpstrDefExt
;
3220 LPOFNHOOKPROC lpfnHook
;
3221 LPCTSTR lpTemplateName
;
3222 } OPENFILENAME
, *LPOPENFILENAME
;
3224 typedef struct _OFNOTIFY
{
3226 LPOPENFILENAME lpOFN
;
3228 } OFNOTIFY
, *LPOFNOTIFY
;
3230 typedef struct _OSVERSIONINFO
{
3231 DWORD dwOSVersionInfoSize
;
3232 DWORD dwMajorVersion
;
3233 DWORD dwMinorVersion
;
3234 DWORD dwBuildNumber
;
3236 TCHAR szCSDVersion
[ 128 ];
3237 } OSVERSIONINFO
, *POSVERSIONINFO
, *LPOSVERSIONINFO
;
3239 typedef struct tagTEXTMETRIC
{
3243 LONG tmInternalLeading
;
3244 LONG tmExternalLeading
;
3245 LONG tmAveCharWidth
;
3246 LONG tmMaxCharWidth
;
3249 LONG tmDigitizedAspectX
;
3250 LONG tmDigitizedAspectY
;
3253 BCHAR tmDefaultChar
;
3258 BYTE tmPitchAndFamily
;
3260 } TEXTMETRIC
, *LPTEXTMETRIC
;
3262 typedef struct _OUTLINETEXTMETRIC
{
3264 TEXTMETRIC otmTextMetrics
;
3266 PANOSE otmPanoseNumber
;
3267 UINT otmfsSelection
;
3269 int otmsCharSlopeRise
;
3270 int otmsCharSlopeRun
;
3276 UINT otmsCapEmHeight
;
3282 UINT otmusMinimumPPEM
;
3283 POINT otmptSubscriptSize
;
3284 POINT otmptSubscriptOffset
;
3285 POINT otmptSuperscriptSize
;
3286 POINT otmptSuperscriptOffset
;
3287 UINT otmsStrikeoutSize
;
3288 int otmsStrikeoutPosition
;
3289 int otmsUnderscoreSize
;
3290 int otmsUnderscorePosition
;
3291 PSTR otmpFamilyName
;
3295 } OUTLINETEXTMETRIC
, *LPOUTLINETEXTMETRIC
;
3297 typedef struct _OVERLAPPED
{
3303 } OVERLAPPED
, *LPOVERLAPPED
;
3305 typedef struct tagPSD
{
3314 HINSTANCE hInstance
;
3316 LPPAGESETUPHOOK lpfnPageSetupHook
;
3317 LPPAGEPAINTHOOK lpfnPagePaintHook
;
3318 LPCTSTR lpPageSetupTemplateName
;
3319 HGLOBAL hPageSetupTemplate
;
3320 } PAGESETUPDLG
, *LPPAGESETUPDLG
;
3322 typedef struct tagPAINTSTRUCT
{
3328 BYTE rgbReserved
[32];
3329 } PAINTSTRUCT
, *LPPAINTSTRUCT
;
3331 typedef struct _paraformat
{
3341 LONG rgxTabs
[MAX_TAB_STOPS
];
3344 typedef struct _PERF_COUNTER_BLOCK
{
3346 } PERF_COUNTER_BLOCK
;
3348 typedef struct _PERF_COUNTER_DEFINITION
{
3350 DWORD CounterNameTitleIndex
;
3351 LPWSTR CounterNameTitle
;
3352 DWORD CounterHelpTitleIndex
;
3353 LPWSTR CounterHelpTitle
;
3358 DWORD CounterOffset
;
3359 } PERF_COUNTER_DEFINITION
;
3361 typedef struct _PERF_DATA_BLOCK
{
3366 DWORD TotalByteLength
;
3368 DWORD NumObjectTypes
;
3369 DWORD DefaultObject
;
3370 SYSTEMTIME SystemTime
;
3371 LARGE_INTEGER PerfTime
;
3372 LARGE_INTEGER PerfFreq
;
3373 LARGE_INTEGER PerfTime100nSec
;
3374 DWORD SystemNameLength
;
3375 DWORD SystemNameOffset
;
3378 typedef struct _PERF_INSTANCE_DEFINITION
{
3380 DWORD ParentObjectTitleIndex
;
3381 DWORD ParentObjectInstance
;
3385 } PERF_INSTANCE_DEFINITION
;
3387 typedef struct _PERF_OBJECT_TYPE
{
3388 DWORD TotalByteLength
;
3389 DWORD DefinitionLength
;
3391 DWORD ObjectNameTitleIndex
;
3392 LPWSTR ObjectNameTitle
;
3393 DWORD ObjectHelpTitleIndex
;
3394 LPWSTR ObjectHelpTitle
;
3397 DWORD DefaultCounter
;
3400 LARGE_INTEGER PerfTime
;
3401 LARGE_INTEGER PerfFreq
;
3404 typedef struct _POLYTEXT
{
3412 } POLYTEXT
, *LPPOLYTEXT
;
3414 typedef struct _PORT_INFO_1
{
3418 typedef struct _PORT_INFO_2
{
3426 typedef struct _PREVENT_MEDIA_REMOVAL
{
3427 BOOLEAN PreventMediaRemoval
;
3428 } PREVENT_MEDIA_REMOVAL
;
3430 typedef struct tagPD
{
3442 HINSTANCE hInstance
;
3444 LPPRINTHOOKPROC lpfnPrintHook
;
3445 LPSETUPHOOKPROC lpfnSetupHook
;
3446 LPCTSTR lpPrintTemplateName
;
3447 LPCTSTR lpSetupTemplateName
;
3448 HANDLE hPrintTemplate
;
3449 HANDLE hSetupTemplate
;
3450 } PRINTDLG PACKED
, *LPPRINTDLG PACKED
;
3452 typedef struct _PRINTER_DEFAULTS
{
3455 ACCESS_MASK DesiredAccess
;
3458 typedef struct _PRINTER_INFO_1
{
3460 LPTSTR pDescription
;
3463 } PRINTER_INFO_1
, *PPRINTER_INFO_1
, *LPPRINTER_INFO_1
;
3465 typedef struct _PRINTER_INFO_2
{
3467 LPTSTR pPrinterName
;
3475 LPTSTR pPrintProcessor
;
3478 PSECURITY_DESCRIPTOR pSecurityDescriptor
;
3481 DWORD DefaultPriority
;
3489 typedef struct _PRINTER_INFO_3
{
3490 PSECURITY_DESCRIPTOR pSecurityDescriptor
;
3493 typedef struct _PRINTER_INFO_4
{
3494 LPTSTR pPrinterName
;
3499 typedef struct _PRINTER_INFO_5
{
3500 LPTSTR pPrinterName
;
3503 DWORD DeviceNotSelectedTimeout
;
3504 DWORD TransmissionRetryTimeout
;
3507 typedef struct _PRINTER_NOTIFY_INFO_DATA
{
3519 } PRINTER_NOTIFY_INFO_DATA
;
3521 typedef struct _PRINTER_NOTIFY_INFO
{
3525 PRINTER_NOTIFY_INFO_DATA aData
[1];
3526 } PRINTER_NOTIFY_INFO
;
3528 typedef struct _PRINTER_NOTIFY_OPTIONS_TYPE
{
3535 } PRINTER_NOTIFY_OPTIONS_TYPE
, *PPRINTER_NOTIFY_OPTIONS_TYPE
;
3537 typedef struct _PRINTER_NOTIFY_OPTIONS
{
3541 PPRINTER_NOTIFY_OPTIONS_TYPE pTypes
;
3542 } PRINTER_NOTIFY_OPTIONS
;
3544 typedef struct _PRINTPROCESSOR_INFO_1
{
3546 } PRINTPROCESSOR_INFO_1
;
3549 typedef struct _PROCESS_HEAP_ENTRY
{
3555 DWORD dwCommittedSize
;
3556 DWORD dwUnCommittedSize
;
3557 LPVOID lpFirstBlock
;
3560 } PROCESS_HEAPENTRY
, *LPPROCESS_HEAP_ENTRY
;
3562 typedef struct _PROCESS_INFORMATION
{
3567 } PROCESS_INFORMATION
, *LPPROCESS_INFORMATION
;
3569 typedef UINT
CALLBACK (*LPFNPSPCALLBACK
) (HWND
, UINT
, LPVOID
);
3571 typedef struct _PROPSHEETPAGE
{
3574 HINSTANCE hInstance
;
3576 LPCTSTR pszTemplate
;
3577 LPCDLGTEMPLATE pResource
;
3586 LPFNPSPCALLBACK pfnCallback
;
3588 } PROPSHEETPAGE
, *LPPROPSHEETPAGE
;
3589 typedef const PROPSHEETPAGE
*LPCPROPSHEETPAGE
;
3591 typedef struct _PSP
*HPROPSHEETPAGE
;
3592 typedef struct _PROPSHEETHEADER
{
3596 HINSTANCE hInstance
;
3608 LPCPROPSHEETPAGE ppsp
;
3609 HPROPSHEETPAGE
*phpage
;
3611 PFNPROPSHEETCALLBACK pfnCallback
;
3612 } PROPSHEETHEADER
, *LPPROPSHEETHEADER
;
3613 typedef const PROPSHEETHEADER
*LPCPROPSHEETHEADER
;
3615 /* PropertySheet callbacks */
3616 typedef WINBOOL
CALLBACK (*LPFNADDPROPSHEETPAGE
) (HPROPSHEETPAGE
, LPARAM
);
3617 typedef WINBOOL
CALLBACK (*LPFNADDPROPSHEETPAGES
) (LPVOID
,
3618 LPFNADDPROPSHEETPAGE
,
3621 typedef struct _PROTOCOL_INFO
{
3622 DWORD dwServiceFlags
;
3628 DWORD dwMessageSize
;
3632 typedef struct _PROVIDOR_INFO_1
{
3634 LPTSTR pEnvironment
;
3638 typedef struct _PSHNOTIFY
{
3641 } PSHNOTIFY
, *LPPSHNOTIFY
;
3643 typedef struct _punctuation
{
3645 LPSTR szPunctuation
;
3648 typedef struct _QUERY_SERVICE_CONFIGA
{
3649 DWORD dwServiceType
;
3651 DWORD dwErrorControl
;
3652 LPSTR lpBinaryPathName
;
3653 LPSTR lpLoadOrderGroup
;
3655 LPSTR lpDependencies
;
3656 LPSTR lpServiceStartName
;
3657 LPSTR lpDisplayName
;
3658 } QUERY_SERVICE_CONFIGA
, *LPQUERY_SERVICE_CONFIGA
;
3660 typedef struct _QUERY_SERVICE_CONFIGW
{
3661 DWORD dwServiceType
;
3663 DWORD dwErrorControl
;
3664 LPWSTR lpBinaryPathName
;
3665 LPWSTR lpLoadOrderGroup
;
3667 LPWSTR lpDependencies
;
3668 LPWSTR lpServiceStartName
;
3669 LPWSTR lpDisplayName
;
3670 } QUERY_SERVICE_CONFIGW
, *LPQUERY_SERVICE_CONFIGW
;
3673 #define QUERY_SERVICE_CONFIG QUERY_SERVICE_CONFIGW
3674 #define LPQUERY_SERVICE_CONFIG LPQUERY_SERVICE_CONFIGW
3676 #define QUERY_SERVICE_CONFIG QUERY_SERVICE_CONFIGA
3677 #define LPQUERY_SERVICE_CONFIG LPQUERY_SERVICE_CONFIGA
3680 typedef struct _QUERY_SERVICE_LOCK_STATUSA
{
3683 DWORD dwLockDuration
;
3684 } QUERY_SERVICE_LOCK_STATUSA
, *LPQUERY_SERVICE_LOCK_STATUSA
;
3686 typedef struct _QUERY_SERVICE_LOCK_STATUSW
{
3689 DWORD dwLockDuration
;
3690 } QUERY_SERVICE_LOCK_STATUSW
, *LPQUERY_SERVICE_LOCK_STATUSW
;
3693 #define QUERY_SERVICE_LOCK_STATUS QUERY_SERVICE_LOCK_STATUSW
3694 #define LPQUERY_SERVICE_LOCK_STATUS LPQUERY_SERVICE_LOCK_STATUSW
3696 #define QUERY_SERVICE_LOCK_STATUS QUERY_SERVICE_LOCK_STATUSA
3697 #define LPQUERY_SERVICE_LOCK_STATUS LPQUERY_SERVICE_LOCK_STATUSA
3700 typedef struct _RASAMB
{
3703 TCHAR szNetBiosError
[ NETBIOS_NAME_LEN
+ 1 ];
3707 typedef struct _RASCONN
{
3710 TCHAR szEntryName
[RAS_MaxEntryName
+ 1];
3712 CHAR szDeviceType
[ RAS_MaxDeviceType
+ 1 ];
3713 CHAR szDeviceName
[ RAS_MaxDeviceName
+ 1 ];
3716 typedef struct _RASCONNSTATUS
{
3718 RASCONNSTATE rasconnstate
;
3720 TCHAR szDeviceType
[RAS_MaxDeviceType
+ 1];
3721 TCHAR szDeviceName
[RAS_MaxDeviceName
+ 1];
3724 typedef struct _RASDIALEXTENSIONS
{
3729 } RASDIALEXTENSIONS
;
3731 typedef struct _RASDIALPARAMS
{
3733 TCHAR szEntryName
[RAS_MaxEntryName
+ 1];
3734 TCHAR szPhoneNumber
[RAS_MaxPhoneNumber
+ 1];
3735 TCHAR szCallbackNumber
[RAS_MaxCallbackNumber
+ 1];
3736 TCHAR szUserName
[UNLEN
+ 1];
3737 TCHAR szPassword
[PWLEN
+ 1];
3738 TCHAR szDomain
[DNLEN
+ 1] ;
3741 typedef struct _RASENTRYNAME
{
3743 TCHAR szEntryName
[RAS_MaxEntryName
+ 1];
3746 typedef struct _RASPPPIP
{
3749 TCHAR szIpAddress
[ RAS_MaxIpAddress
+ 1 ];
3752 typedef struct _RASPPPIPX
{
3755 TCHAR szIpxAddress
[ RAS_MaxIpxAddress
+ 1 ];
3758 typedef struct _RASPPPNBF
{
3761 DWORD dwNetBiosError
;
3762 TCHAR szNetBiosError
[ NETBIOS_NAME_LEN
+ 1 ];
3763 TCHAR szWorkstationName
[ NETBIOS_NAME_LEN
+ 1 ];
3767 typedef struct _RASTERIZER_STATUS
{
3771 } RASTERIZER_STATUS
, *LPRASTERIZER_STATUS
;
3773 typedef struct _REASSIGN_BLOCKS
{
3776 DWORD BlockNumber
[1];
3779 typedef struct _REMOTE_NAME_INFO
{
3780 LPTSTR lpUniversalName
;
3781 LPTSTR lpConnectionName
;
3782 LPTSTR lpRemainingPath
;
3787 typedef struct _reobject {
3791 LPOLEOBJECT poleobj;
3793 LPOLECLIENTSITE polesite;
3801 typedef struct _repastespecial
{
3806 typedef struct _reqresize
{
3811 typedef struct _RGNDATAHEADER
{
3819 typedef struct _RGNDATA
{
3822 } RGNDATA
, *PRGNDATA
, *LPRGNDATA
;
3824 typedef struct tagSCROLLINFO
{
3832 } SCROLLINFO
, *LPSCROLLINFO
;
3833 typedef SCROLLINFO
const *LPCSCROLLINFO
;
3835 typedef struct _SECURITY_ATTRIBUTES
{
3837 LPVOID lpSecurityDescriptor
;
3838 WINBOOL bInheritHandle
;
3839 } SECURITY_ATTRIBUTES
, *LPSECURITY_ATTRIBUTES
;
3841 typedef DWORD SECURITY_INFORMATION
, *PSECURITY_INFORMATION
;
3843 typedef struct _selchange
{
3849 typedef struct tagSERIALKEYS
{
3852 LPSTR lpszActivePort
;
3856 } SERIALKEYS
, * LPSERIALKEYS
;
3858 typedef struct _SERVICE_TABLE_ENTRYA
{
3859 LPSTR lpServiceName
;
3860 LPSERVICE_MAIN_FUNCTION lpServiceProc
;
3861 } SERVICE_TABLE_ENTRYA
, *LPSERVICE_TABLE_ENTRYA
;
3863 typedef struct _SERVICE_TABLE_ENTRYW
{
3864 LPWSTR lpServiceName
;
3865 LPSERVICE_MAIN_FUNCTION lpServiceProc
;
3866 } SERVICE_TABLE_ENTRYW
, *LPSERVICE_TABLE_ENTRYW
;
3869 #define SERVICE_TABLE_ENTRY SERVICE_TABLE_ENTRYW
3870 #define LPSERVICE_TABLE_ENTRY LPSERVICE_TABLE_ENTRYW
3872 #define SERVICE_TABLE_ENTRY SERVICE_TABLE_ENTRYA
3873 #define LPSERVICE_TABLE_ENTRY LPSERVICE_TABLE_ENTRYA
3877 typedef struct _SERVICE_TYPE_VALUE_ABS
{
3883 } SERVICE_TYPE_VALUE_ABS
;
3885 typedef struct _SERVICE_TYPE_INFO_ABS
{
3888 SERVICE_TYPE_VALUE_ABS Values
[1];
3889 } SERVICE_TYPE_INFO_ABS
;
3891 typedef struct _SESSION_BUFFER
{
3894 UCHAR local_name
[NCBNAMSZ
];
3895 UCHAR remote_name
[NCBNAMSZ
];
3896 UCHAR rcvs_outstanding
;
3897 UCHAR sends_outstanding
;
3900 typedef struct _SESSION_HEADER
{
3903 UCHAR rcv_dg_outstanding
;
3904 UCHAR rcv_any_outstanding
;
3907 typedef struct _SET_PARTITION_INFORMATION
{
3909 } SET_PARTITION_INFORMATION
;
3911 typedef enum tagSHCONTF
{
3912 SHCONTF_FOLDERS
= 32,
3913 SHCONTF_NONFOLDERS
= 64,
3914 SHCONTF_INCLUDEHIDDEN
= 128,
3917 typedef struct _SHFILEINFO
{
3921 char szDisplayName
[MAX_PATH
];
3922 char szTypeName
[80];
3925 typedef WORD FILEOP_FLAGS
;
3926 typedef struct _SHFILEOPSTRUCT
{
3931 FILEOP_FLAGS fFlags
;
3932 WINBOOL fAnyOperationsAborted
;
3933 LPVOID hNameMappings
;
3934 LPCSTR lpszProgressTitle
;
3935 } SHFILEOPSTRUCT
, *LPSHFILEOPSTRUCT
;
3937 typedef enum tagSHGDN
{
3940 SHGDN_FORPARSING
= 0x8000,
3943 typedef struct _SHNAMEMAPPING
{
3948 } SHNAMEMAPPING
, *LPSHNAMEMAPPING
;
3950 typedef struct _SID_AND_ATTRIBUTES
{
3953 } SID_AND_ATTRIBUTES
;
3955 typedef SID_AND_ATTRIBUTES SID_AND_ATTRIBUTES_ARRAY
[ANYSIZE_ARRAY
];
3956 typedef SID_AND_ATTRIBUTES_ARRAY
*PSID_AND_ATTRIBUTES_ARRAY
;
3959 typedef struct tagSOUNDSENTRY
{
3962 DWORD iFSTextEffect
;
3963 DWORD iFSTextEffectMSec
;
3964 DWORD iFSTextEffectColorBits
;
3965 DWORD iFSGrafEffect
;
3966 DWORD iFSGrafEffectMSec
;
3967 DWORD iFSGrafEffectColor
;
3968 DWORD iWindowsEffect
;
3969 DWORD iWindowsEffectMSec
;
3970 LPTSTR lpszWindowsEffectDLL
;
3971 DWORD iWindowsEffectOrdinal
;
3972 } SOUNDSENTRY
, *LPSOUNDSENTRY
;
3974 typedef struct _STARTUPINFO
{
3983 DWORD dwXCountChars
;
3984 DWORD dwYCountChars
;
3985 DWORD dwFillAttribute
;
3993 } STARTUPINFO
, *LPSTARTUPINFO
;
3995 typedef struct tagSTICKYKEYS
{
3998 } STICKYKEYS
, *LPSTICKYKEYS
;
4000 typedef struct _STRRET
{
4006 char cStr
[MAX_PATH
];
4008 } STRRET
, *LPSTRRET
;
4010 typedef struct _tagSTYLEBUF
{
4012 CHAR szDescription
[32];
4013 } STYLEBUF
, *LPSTYLEBUF
;
4015 typedef struct tagSTYLESTRUCT
{
4018 } STYLESTRUCT
, * LPSTYLESTRUCT
;
4020 typedef struct _SYSTEM_AUDIT_ACE
{
4026 typedef struct _SYSTEM_INFO
4033 WORD wProcessorArchitecture
;
4040 LPVOID lpMinimumApplicationAddress
;
4041 LPVOID lpMaximumApplicationAddress
;
4042 DWORD dwActiveProcessorMask
;
4043 DWORD dwNumberOfProcessors
;
4044 DWORD dwProcessorType
;
4045 DWORD dwAllocationGranularity
;
4046 WORD wProcessorLevel
;
4047 WORD wProcessorRevision
;
4048 } SYSTEM_INFO
, *LPSYSTEM_INFO
;
4050 typedef struct _SYSTEM_POWER_STATUS
{
4053 BYTE BatteryLifePercent
;
4055 DWORD BatteryLifeTime
;
4056 DWORD BatteryFullLifeTime
;
4057 } SYSTEM_POWER_STATUS
;
4058 typedef struct SYSTEM_POWER_STATUS
*LPSYSTEM_POWER_STATUS
;
4060 typedef struct _TAPE_ERASE
{
4064 typedef struct _TAPE_GET_DRIVE_PARAMETERS
{
4066 BOOLEAN Compression
;
4067 BOOLEAN DataPadding
;
4068 BOOLEAN ReportSetmarks
;
4069 ULONG DefaultBlockSize
;
4070 ULONG MaximumBlockSize
;
4071 ULONG MinimumBlockSize
;
4072 ULONG MaximumPartitionCount
;
4075 ULONG EOTWarningZoneSize
;
4076 } TAPE_GET_DRIVE_PARAMETERS
;
4078 typedef struct _TAPE_GET_MEDIA_PARAMETERS
{
4079 LARGE_INTEGER Capacity
;
4080 LARGE_INTEGER Remaining
;
4082 DWORD PartitionCount
;
4083 BOOLEAN WriteProtected
;
4084 } TAPE_GET_MEDIA_PARAMETERS
;
4086 typedef struct _TAPE_GET_POSITION
{
4091 } TAPE_GET_POSITION
;
4093 typedef struct _TAPE_PREPARE
{
4097 typedef struct _TAPE_SET_DRIVE_PARAMETERS
{
4099 BOOLEAN Compression
;
4100 BOOLEAN DataPadding
;
4101 BOOLEAN ReportSetmarks
;
4102 ULONG EOTWarningZoneSize
;
4103 } TAPE_SET_DRIVE_PARAMETERS
;
4105 typedef struct _TAPE_SET_MEDIA_PARAMETERS
{
4107 } TAPE_SET_MEDIA_PARAMETERS
;
4109 typedef struct _TAPE_SET_POSITION
{
4114 } TAPE_SET_POSITION
;
4116 typedef struct _TAPE_WRITE_MARKS
{
4124 } TBADDBITMAP
, *LPTBADDBITMAP
;
4126 typedef struct _TBBUTTON
{
4133 } TBBUTTON
, * PTBBUTTON
, * LPTBBUTTON
;
4134 typedef const TBBUTTON
* LPCTBBUTTON
;
4142 } TBNOTIFY
, *LPTBNOTIFY
;
4147 LPCTSTR pszValueName
;
4150 typedef struct _TC_HITTESTINFO
{
4155 typedef struct _TC_ITEM
{
4165 typedef struct _TC_ITEMHEADER
{
4174 typedef struct _TC_KEYDOWN
{
4180 typedef struct _textrange
{
4185 typedef struct tagTOGGLEKEYS
{
4190 typedef struct _TOKEN_CONTROL
{
4192 LUID AuthenticationId
;
4194 TOKEN_SOURCE TokenSource
;
4195 } TOKEN_CONTROL
, *PTOKEN_CONTROL
;
4197 typedef struct _TOKEN_DEFAULT_DACL
{
4199 } TOKEN_DEFAULT_DACL
, *PTOKEN_DEFAULT_DACL
;
4201 typedef struct _TOKEN_GROUPS
{
4203 SID_AND_ATTRIBUTES Groups
[ANYSIZE_ARRAY
];
4204 } TOKEN_GROUPS
, *PTOKEN_GROUPS
, *LPTOKEN_GROUPS
;
4206 typedef struct _TOKEN_OWNER
{
4208 } TOKEN_OWNER
, *PTOKEN_OWNER
;
4210 typedef struct _TOKEN_PRIMARY_GROUP
{
4212 } TOKEN_PRIMARY_GROUP
, *PTOKEN_PRIMARY_GROUP
;
4214 typedef struct _TOKEN_PRIVILEGES
{
4215 DWORD PrivilegeCount
;
4216 LUID_AND_ATTRIBUTES Privileges
[ANYSIZE_ARRAY
];
4217 } TOKEN_PRIVILEGES
, *PTOKEN_PRIVILEGES
, *LPTOKEN_PRIVILEGES
;
4219 typedef struct _TOKEN_STATISTICS
{
4221 LUID AuthenticationId
;
4222 LARGE_INTEGER ExpirationTime
;
4223 TOKEN_TYPE TokenType
;
4224 SECURITY_IMPERSONATION_LEVEL ImpersonationLevel
;
4225 DWORD DynamicCharged
;
4226 DWORD DynamicAvailable
;
4228 DWORD PrivilegeCount
;
4230 } TOKEN_STATISTICS
, *PTOKEN_STATISTICS
;
4232 typedef struct _TOKEN_USER
{
4233 SID_AND_ATTRIBUTES User
;
4234 } TOKEN_USER
, *PTOKEN_USER
;
4244 } TOOLINFO
, *PTOOLINFO
, *LPTOOLINFO
;
4252 } TOOLTIPTEXT
, *LPTOOLTIPTEXT
;
4254 typedef struct tagTPMPARAMS
{
4257 } TPMPARAMS
, *LPTPMPARAMS
;
4259 typedef struct _TRANSMIT_FILE_BUFFERS
{
4264 } TRANSMIT_FILE_BUFFERS
;
4266 typedef struct _TT_HITTESTINFO
{
4270 } TTHITTESTINFO
, * LPHITTESTINFO
;
4272 typedef struct tagTTPOLYCURVE
{
4276 } TTPOLYCURVE
, * LPTTPOLYCURVE
;
4278 typedef struct _TTPOLYGONHEADER
{
4282 } TTPOLYGONHEADER
, * LPTTPOLYGONHEADER
;
4284 typedef struct _TV_DISPINFO
{
4289 typedef struct _TVHITTESTINFO
{
4293 } TV_HITTESTINFO
, *LPTV_HITTESTINFO
;
4295 typedef struct _TV_INSERTSTRUCT
{
4297 HTREEITEM hInsertAfter
;
4299 } TV_INSERTSTRUCT
, *LPTV_INSERTSTRUCT
;
4301 typedef struct _TV_KEYDOWN
{
4307 typedef struct _TV_SORTCB
{
4309 PFNTVCOMPARE lpfnCompare
;
4311 } TV_SORTCB
, *LPTV_SORTCB
;
4318 typedef struct _UNIVERSAL_NAME_INFO
{
4319 LPTSTR lpUniversalName
;
4320 } UNIVERSAL_NAME_INFO
;
4322 typedef struct tagUSEROBJECTFLAGS
{
4328 typedef struct _VERIFY_INFORMATION
{
4329 LARGE_INTEGER StartingOffset
;
4331 } VERIFY_INFORMATION
;
4333 typedef struct _VS_FIXEDFILEINFO
{
4335 DWORD dwStrucVersion
;
4336 DWORD dwFileVersionMS
;
4337 DWORD dwFileVersionLS
;
4338 DWORD dwProductVersionMS
;
4339 DWORD dwProductVersionLS
;
4340 DWORD dwFileFlagsMask
;
4344 DWORD dwFileSubtype
;
4349 typedef struct _WIN32_FIND_DATA
{
4350 DWORD dwFileAttributes
;
4351 FILETIME ftCreationTime
;
4352 FILETIME ftLastAccessTime
;
4353 FILETIME ftLastWriteTime
;
4354 DWORD nFileSizeHigh
;
4358 TCHAR cFileName
[ MAX_PATH
];
4359 TCHAR cAlternateFileName
[ 14 ];
4360 } WIN32_FIND_DATA
, *LPWIN32_FIND_DATA
, *PWIN32_FIND_DATA
;
4362 typedef struct _WIN32_STREAM_ID
{
4364 DWORD dwStreamAttributes
;
4366 DWORD dwStreamNameSize
;
4367 WCHAR
*cStreamName
;
4370 typedef struct _WINDOWPLACEMENT
{
4374 POINT ptMinPosition
;
4375 POINT ptMaxPosition
;
4376 RECT rcNormalPosition
;
4379 typedef struct _WNDCLASS
{
4381 WNDPROC lpfnWndProc
;
4387 HBRUSH hbrBackground
;
4388 LPCTSTR lpszMenuName
;
4389 LPCTSTR lpszClassName
;
4390 } WNDCLASS
, *LPWNDCLASS
;
4392 typedef struct _WNDCLASSEX
{
4395 WNDPROC lpfnWndProc
;
4401 HBRUSH hbrBackground
;
4402 LPCTSTR lpszMenuName
;
4403 LPCTSTR lpszClassName
;
4405 } WNDCLASSEX
, *LPWNDCLASSEX
;
4407 typedef struct _CONNECTDLGSTRUCT
{
4410 LPNETRESOURCE lpConnRes
;
4413 } CONNECTDLGSTRUCT
, *LPCONNECTDLGSTRUCT
;
4415 typedef struct _DISCDLGSTRUCT
{
4419 LPTSTR lpRemoteName
;
4421 } DISCDLGSTRUCT
, *LPDISCDLGSTRUCT
;
4423 typedef struct _NETINFOSTRUCT
{
4425 DWORD dwProviderVersion
;
4427 DWORD dwCharacteristics
;
4432 } NETINFOSTRUCT
, *LPNETINFOSTRUCT
;
4434 typedef struct _NETCONNECTINFOSTRUCT
{
4439 DWORD dwOptDataSize
;
4440 } NETCONNECTINFOSTRUCT
, *LPNETCONNECTINFOSTRUCT
;
4442 typedef int CALLBACK (*ENUMMETAFILEPROC
) (HDC
, HANDLETABLE
,
4443 METARECORD
, int, LPARAM
);
4444 typedef int CALLBACK (*ENHMETAFILEPROC
) (HDC
, HANDLETABLE
,
4445 ENHMETARECORD
, int, LPARAM
);
4447 typedef int CALLBACK (*ENUMFONTSPROC
) (LPLOGFONT
, LPTEXTMETRIC
, DWORD
, LPARAM
);
4448 typedef int CALLBACK (*FONTENUMPROC
) (ENUMLOGFONT
*, NEWTEXTMETRIC
*,
4450 typedef int CALLBACK (*FONTENUMEXPROC
) (ENUMLOGFONTEX
*, NEWTEXTMETRICEX
*,
4453 typedef VOID
CALLBACK (*LPOVERLAPPED_COMPLETION_ROUTINE
) (DWORD
, DWORD
,
4457 Structures for the extensions to OpenGL
4459 typedef struct _POINTFLOAT
4463 } POINTFLOAT
, *PPOINTFLOAT
;
4465 typedef struct _GLYPHMETRICSFLOAT
4469 POINTFLOAT gmfptGlyphOrigin
;
4472 } GLYPHMETRICSFLOAT
, *PGLYPHMETRICSFLOAT
, *LPGLYPHMETRICSFLOAT
;
4474 typedef struct tagLAYERPLANEDESCRIPTOR
4491 BYTE cAccumGreenBits
;
4492 BYTE cAccumBlueBits
;
4493 BYTE cAccumAlphaBits
;
4499 COLORREF crTransparent
;
4500 } LAYERPLANEDESCRIPTOR
, *PLAYERPLANEDESCRIPTOR
, *LPLAYERPLANEDESCRIPTOR
;
4502 typedef struct tagPIXELFORMATDESCRIPTOR
4519 BYTE cAccumGreenBits
;
4520 BYTE cAccumBlueBits
;
4521 BYTE cAccumAlphaBits
;
4528 DWORD dwVisibleMask
;
4530 } PIXELFORMATDESCRIPTOR
, *PPIXELFORMATDESCRIPTOR
, *LPPIXELFORMATDESCRIPTOR
;
4535 LPWSTR usri2_password
;
4536 DWORD usri2_password_age
;
4538 LPWSTR usri2_home_dir
;
4539 LPWSTR usri2_comment
;
4541 LPWSTR usri2_script_path
;
4542 DWORD usri2_auth_flags
;
4543 LPWSTR usri2_full_name
;
4544 LPWSTR usri2_usr_comment
;
4546 LPWSTR usri2_workstations
;
4547 DWORD usri2_last_logon
;
4548 DWORD usri2_last_logoff
;
4549 DWORD usri2_acct_expires
;
4550 DWORD usri2_max_storage
;
4551 DWORD usri2_units_per_week
;
4552 PBYTE usri2_logon_hours
;
4553 DWORD usri2_bad_pw_count
;
4554 DWORD usri2_num_logons
;
4555 LPWSTR usri2_logon_server
;
4556 DWORD usri2_country_code
;
4557 DWORD usri2_code_page
;
4558 } USER_INFO_2
, *PUSER_INFO_2
, *LPUSER_INFO_2
;
4563 } USER_INFO_0
, *PUSER_INFO_0
, *LPUSER_INFO_0
;
4568 LPWSTR usri3_password
;
4569 DWORD usri3_password_age
;
4571 LPWSTR usri3_home_dir
;
4572 LPWSTR usri3_comment
;
4574 LPWSTR usri3_script_path
;
4575 DWORD usri3_auth_flags
;
4576 LPWSTR usri3_full_name
;
4577 LPWSTR usri3_usr_comment
;
4579 LPWSTR usri3_workstations
;
4580 DWORD usri3_last_logon
;
4581 DWORD usri3_last_logoff
;
4582 DWORD usri3_acct_expires
;
4583 DWORD usri3_max_storage
;
4584 DWORD usri3_units_per_week
;
4585 PBYTE usri3_logon_hours
;
4586 DWORD usri3_bad_pw_count
;
4587 DWORD usri3_num_logons
;
4588 LPWSTR usri3_logon_server
;
4589 DWORD usri3_country_code
;
4590 DWORD usri3_code_page
;
4591 DWORD usri3_user_id
;
4592 DWORD usri3_primary_group_id
;
4593 LPWSTR usri3_profile
;
4594 LPWSTR usri3_home_dir_drive
;
4595 DWORD usri3_password_expired
;
4596 } USER_INFO_3
, *PUSER_INFO_3
, *LPUSER_INFO_3
;
4601 LPWSTR grpi2_comment
;
4602 DWORD grpi2_group_id
;
4603 DWORD grpi2_attributes
;
4604 } GROUP_INFO_2
, *PGROUP_INFO_2
;
4609 } LOCALGROUP_INFO_0
, *PLOCALGROUP_INFO_0
, *LPLOCALGROUP_INFO_0
;
4611 /* PE executable header. */
4613 #ifndef WIN32_NO_PEHDR
4617 WORD e_magic
; /* Magic number, 0x5a4d */
4618 WORD e_cblp
; /* Bytes on last page of file, 0x90 */
4619 WORD e_cp
; /* Pages in file, 0x3 */
4620 WORD e_crlc
; /* Relocations, 0x0 */
4621 WORD e_cparhdr
; /* Size of header in paragraphs, 0x4 */
4622 WORD e_minalloc
; /* Minimum extra paragraphs needed, 0x0 */
4623 WORD e_maxalloc
; /* Maximum extra paragraphs needed, 0xFFFF */
4624 WORD e_ss
; /* Initial (relative) SS value, 0x0 */
4625 WORD e_sp
; /* Initial SP value, 0xb8 */
4626 WORD e_csum
; /* Checksum, 0x0 */
4627 WORD e_ip
; /* Initial IP value, 0x0 */
4628 WORD e_cs
; /* Initial (relative) CS value, 0x0 */
4629 WORD e_lfarlc
; /* File address of relocation table, 0x40 */
4630 WORD e_ovno
; /* Overlay number, 0x0 */
4631 WORD e_res
[4]; /* Reserved words, all 0x0 */
4632 WORD e_oemid
; /* OEM identifier (for e_oeminfo), 0x0 */
4633 WORD e_oeminfo
; /* OEM information; e_oemid specific, 0x0 */
4634 WORD e_res2
[10]; /* Reserved words, all 0x0 */
4635 LONG e_lfanew
; /* File address of new exe header, 0x80 */
4636 /* We leave out the next two fields, since they aren't in the
4637 Windows header file. */
4638 /* DWORD dos_message[16]; * text which always follows dos header */
4639 /* DWORD nt_signature; * required NT signature, 0x4550 */
4640 } IMAGE_DOS_HEADER
, *PIMAGE_DOS_HEADER
;
4642 #endif /* WIN32_NO_PEHDR */
4646 #endif /* __cplusplus */
4648 #endif /* WIN32_LEAN_AND_MEAN */
4650 #endif /* _GNU_H_WINDOWS32_STRUCTURES */