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 long long int LONGLONG
, *PLONGLONG
;
36 typedef unsigned long long int ULONGLONG
, *PULONGLONG
;
38 typedef union _LARGE_INTEGER
46 } LARGE_INTEGER
, *PLARGE_INTEGER
;
56 } ULARGE_INTEGER
, *PULARGE_INTEGER
;
58 #define LowPart u.ULowPart
59 #define HighPart u.UHighPart
62 typedef struct _LIST_ENTRY
{
63 struct _LIST_ENTRY
*Flink
;
64 struct _LIST_ENTRY
*Blink
;
65 } LIST_ENTRY
, *PLIST_ENTRY
;
67 typedef DWORD ACCESS_MASK
;
70 typedef struct _SID_IDENTIFIER_AUTHORITY
{
72 } SID_IDENTIFIER_AUTHORITY
, *PSID_IDENTIFIER_AUTHORITY
,
73 *LPSID_IDENTIFIER_AUTHORITY
;
87 BYTE SubAuthorityCount
;
88 SID_IDENTIFIER_AUTHORITY IdentifierAuthority
;
89 DWORD SubAuthority
[ANYSIZE_ARRAY
];
92 typedef WORD SECURITY_DESCRIPTOR_CONTROL
, *PSECURITY_DESCRIPTOR_CONTROL
;
94 typedef struct _SECURITY_DESCRIPTOR
{
97 SECURITY_DESCRIPTOR_CONTROL Control
;
102 } SECURITY_DESCRIPTOR
, *PSECURITY_DESCRIPTOR
;
104 typedef struct _SECURITY_QUALITY_OF_SERVICE
{
106 SECURITY_IMPERSONATION_LEVEL ImpersonationLevel
;
107 /* SECURITY_CONTEXT_TRACKING_MODE ContextTrackingMode; */
108 WINBOOL ContextTrackingMode
;
109 BOOLEAN EffectiveOnly
;
110 } SECURITY_QUALITY_OF_SERVICE
;
112 typedef LARGE_INTEGER LUID
, *PLUID
;
114 typedef struct _TOKEN_SOURCE
{
116 LUID SourceIdentifier
;
119 typedef struct _PARTITION_INFORMATION
{
121 BOOLEAN BootIndicator
;
122 BOOLEAN RecognizedPartition
;
123 BOOLEAN RewritePartition
;
124 LARGE_INTEGER StartingOffset
;
125 LARGE_INTEGER PartitionLength
;
126 LARGE_INTEGER HiddenSectors
;
127 } PARTITION_INFORMATION
;
129 typedef struct _SINGLE_LIST_ENTRY
{
130 struct _SINGLE_LIST_ENTRY
*Next
;
131 } SINGLE_LIST_ENTRY
, *PSINGLE_LIST_ENTRY
;
134 typedef struct _CRITICAL_SECTION_DEBUG
{
136 WORD CreatorBackTraceIndex
;
137 struct _CRITICAL_SECTION
*CriticalSection
;
138 LIST_ENTRY ProcessLocksList
;
140 DWORD ContentionCount
;
142 PVOID OwnerBackTrace
[ 5 ];
143 } CRITICAL_SECTION_DEBUG
, *PCRITICAL_SECTION_DEBUG
;
145 typedef struct _CRITICAL_SECTION
{
146 PCRITICAL_SECTION_DEBUG DebugInfo
;
150 HANDLE LockSemaphore
;
152 } CRITICAL_SECTION
, *PCRITICAL_SECTION
, *LPCRITICAL_SECTION
;
154 typedef struct _GENERIC_MAPPING
{
155 ACCESS_MASK GenericRead
;
156 ACCESS_MASK GenericWrite
;
157 ACCESS_MASK GenericExecute
;
158 ACCESS_MASK GenericAll
;
159 } GENERIC_MAPPING
, *PGENERIC_MAPPING
;
161 typedef struct _LUID_AND_ATTRIBUTES
{
164 } LUID_AND_ATTRIBUTES
;
166 typedef struct _PRIVILEGE_SET
{
167 DWORD PrivilegeCount
;
169 LUID_AND_ATTRIBUTES Privilege
[ANYSIZE_ARRAY
];
170 } PRIVILEGE_SET
, *PPRIVILEGE_SET
, *LPPRIVILEGE_SET
;
174 typedef struct _FLOATING_SAVE_AREA
{
182 BYTE RegisterArea
[80];
184 } FLOATING_SAVE_AREA
;
186 typedef struct _CONTEXT
{
196 FLOATING_SAVE_AREA FloatSave
;
216 } CONTEXT
, *PCONTEXT
, *LPCONTEXT
;
222 /* Floating point registers returned when CONTEXT_FLOATING_POINT is set */
257 /* Integer registers returned when CONTEXT_INTEGER is set. */
291 DWORD Cr
; /* Condition register */
292 DWORD Xer
; /* Fixed point exception register */
294 /* The following are set when CONTEXT_CONTROL is set. */
295 DWORD Msr
; /* Machine status register */
296 DWORD Iar
; /* Instruction address register */
297 DWORD Lr
; /* Link register */
298 DWORD Ctr
; /* Control register */
300 /* Control which context values are returned */
304 /* Registers returned if CONTEXT_DEBUG_REGISTERS is set. */
305 DWORD Dr0
; /* Breakpoint Register 1 */
306 DWORD Dr1
; /* Breakpoint Register 2 */
307 DWORD Dr2
; /* Breakpoint Register 3 */
308 DWORD Dr3
; /* Breakpoint Register 4 */
309 DWORD Dr4
; /* Breakpoint Register 5 */
310 DWORD Dr5
; /* Breakpoint Register 6 */
311 DWORD Dr6
; /* Debug Status Register */
312 DWORD Dr7
; /* Debug Control Register */
313 } CONTEXT
, *PCONTEXT
, *LPCONTEXT
;
317 typedef struct value_ent
{
325 typedef struct _EXCEPTION_RECORD
{
327 DWORD ExceptionFlags
;
328 struct _EXCEPTION_RECORD
*ExceptionRecord
;
329 PVOID ExceptionAddress
;
330 DWORD NumberParameters
;
331 DWORD ExceptionInformation
[EXCEPTION_MAXIMUM_PARAMETERS
];
332 } EXCEPTION_RECORD
, *PEXCEPTION_RECORD
, *LPEXCEPTION_RECORD
;
334 typedef struct _DRIVE_LAYOUT_INFORMATION
{
335 DWORD PartitionCount
;
337 PARTITION_INFORMATION PartitionEntry
[1];
338 } DRIVE_LAYOUT_INFORMATION
;
340 typedef struct _KEY_EVENT_RECORD
{
343 WORD wVirtualKeyCode
;
344 WORD wVirtualScanCode
;
354 DWORD dwControlKeyState
;
355 } KEY_EVENT_RECORD PACKED
;
357 typedef struct _COORD
{
362 typedef struct _MOUSE_EVENT_RECORD
{
363 COORD dwMousePosition
;
365 DWORD dwControlKeyState
;
367 } MOUSE_EVENT_RECORD
;
369 typedef struct _DISK_GEOMETRY
{
370 LARGE_INTEGER Cylinders
;
371 MEDIA_TYPE MediaType
;
372 DWORD TracksPerCylinder
;
373 DWORD SectorsPerTrack
;
374 DWORD BytesPerSector
;
378 #ifndef WIN32_LEAN_AND_MEAN
382 #endif /* __cplusplus */
384 typedef struct _ABC
{
390 typedef struct _ABCFLOAT
{
394 } ABCFLOAT
, *LPABCFLOAT
;
396 typedef struct tagACCEL
{
402 typedef struct _ACE_HEADER
{
408 typedef ACCESS_MASK REGSAM
;
410 typedef struct _ACCESS_ALLOWED_ACE
{
414 } ACCESS_ALLOWED_ACE
;
416 typedef struct _ACCESS_DENIED_ACE
{
422 typedef struct tagACCESSTIMEOUT
{
428 typedef struct _ACL_REVISION_INFORMATION
{
430 } ACL_REVISION_INFORMATION
;
432 typedef struct _ACL_SIZE_INFORMATION
{
436 } ACL_SIZE_INFORMATION
;
438 typedef struct _ACTION_HEADER
{
444 typedef struct _ADAPTER_STATUS
{
445 UCHAR adapter_address
[6];
453 WORD iframe_recv_err
;
457 WORD iframe_xmit_err
;
458 WORD recv_buff_unavail
;
465 WORD xmit_buf_unavail
;
470 WORD max_sess_pkt_size
;
474 typedef struct _ADDJOB_INFO_1
{
479 typedef struct tagANIMATIONINFO
{
482 } ANIMATIONINFO
, *LPANIMATIONINFO
;
484 typedef struct _RECT
{
489 } RECT
, *LPRECT
, *PRECT
;
491 typedef struct _RECTL
{
498 typedef struct _AppBarData
{
501 UINT uCallbackMessage
;
505 } APPBARDATA
, *PAPPBARDATA
;
507 typedef struct tagBITMAP
516 } BITMAP
, *PBITMAP
, *NPBITMAP
, *LPBITMAP
;
518 typedef struct tagBITMAPCOREHEADER
{
526 typedef struct tagRGBTRIPLE
{
532 typedef struct _BITMAPCOREINFO
{
533 BITMAPCOREHEADER bmciHeader
;
534 RGBTRIPLE bmciColors
[1];
535 } BITMAPCOREINFO
, *PBITMAPCOREINFO
, *LPBITMAPCOREINFO
;
537 typedef struct tagBITMAPFILEHEADER
{
543 } BITMAPFILEHEADER
__attribute__((packed
));
545 typedef struct tagBITMAPINFOHEADER
{
553 LONG biXPelsPerMeter
;
554 LONG biYPelsPerMeter
;
556 DWORD biClrImportant
;
557 } BITMAPINFOHEADER
, *LPBITMAPINFOHEADER
, *PBITMAPINFO
;
559 typedef struct tagRGBQUAD
{
566 typedef struct tagBITMAPINFO
{
567 BITMAPINFOHEADER bmiHeader
;
568 RGBQUAD bmiColors
[1];
569 } BITMAPINFO
, *LPBITMAPINFO
;
571 typedef long FXPT2DOT30
, * LPFXPT2DOT30
;
573 typedef struct tagCIEXYZ
579 typedef CIEXYZ
* LPCIEXYZ
;
581 typedef struct tagCIEXYZTRIPLE
587 typedef CIEXYZTRIPLE
* LPCIEXYZTRIPLE
;
595 DWORD bV4V4Compression
;
597 LONG bV4XPelsPerMeter
;
598 LONG bV4YPelsPerMeter
;
600 DWORD bV4ClrImportant
;
606 CIEXYZTRIPLE bV4Endpoints
;
610 } BITMAPV4HEADER
, *LPBITMAPV4HEADER
, *PBITMAPV4HEADER
;
612 typedef struct _BLOB
{
617 typedef struct _SHITEMID
{
620 } SHITEMID
, * LPSHITEMID
;
621 typedef const SHITEMID
* LPCSHITEMID
;
623 typedef struct _ITEMIDLIST
{
625 } ITEMIDLIST
, * LPITEMIDLIST
;
626 typedef const ITEMIDLIST
* LPCITEMIDLIST
;
628 typedef struct _browseinfo
{
630 LPCITEMIDLIST pidlRoot
;
631 LPSTR pszDisplayName
;
637 } BROWSEINFO
, *PBROWSEINFO
, *LPBROWSEINFO
;
639 typedef struct _FILETIME
{
641 DWORD dwHighDateTime
;
642 } FILETIME
, *LPFILETIME
, *PFILETIME
;
644 typedef struct _BY_HANDLE_FILE_INFORMATION
{
645 DWORD dwFileAttributes
;
646 FILETIME ftCreationTime
;
647 FILETIME ftLastAccessTime
;
648 FILETIME ftLastWriteTime
;
649 DWORD dwVolumeSerialNumber
;
652 DWORD nNumberOfLinks
;
653 DWORD nFileIndexHigh
;
655 } BY_HANDLE_FILE_INFORMATION
, *LPBY_HANDLE_FILE_INFORMATION
;
657 typedef struct _FIXED
{
662 typedef struct tagPOINT
{
665 } POINT
, *LPPOINT
, *PPOINT
;
667 typedef struct tagPOINTFX
{
672 typedef struct _POINTL
{
677 typedef struct tagPOINTS
{
682 typedef struct _tagCANDIDATEFORM
{
687 } CANDIDATEFORM
, *LPCANDIDATEFORM
;
689 typedef struct _tagCANDIDATELIST
{
697 } CANDIDATELIST
, *LPCANDIDATELIST
;
699 typedef struct tagCREATESTRUCT
{
700 LPVOID lpCreateParams
;
712 } CREATESTRUCT
, *LPCREATESTRUCT
;
714 typedef struct tagCBT_CREATEWND
{
716 HWND hwndInsertAfter
;
719 typedef struct tagCBTACTIVATESTRUCT
{
724 typedef struct _CHAR_INFO
{
730 } CHAR_INFO
, *PCHAR_INFO
;
732 typedef struct _charformat
{
738 COLORREF crTextColor
;
740 BYTE bPitchAndFamily
;
741 TCHAR szFaceName
[LF_FACESIZE
];
744 typedef struct _charrange
{
749 typedef struct tagCHARSET
{
754 typedef struct tagFONTSIGNATURE
{
757 } FONTSIGNATURE
, *LPFONTSIGNATURE
;
763 } CHARSETINFO
, *LPCHARSETINFO
;
770 COLORREF
* lpCustColors
;
773 LPCCHOOKPROC lpfnHook
;
774 LPCTSTR lpTemplateName
;
775 } CHOOSECOLOR
, *LPCHOOSECOLOR
;
777 typedef struct tagLOGFONT
{
788 BYTE lfClipPrecision
;
790 BYTE lfPitchAndFamily
;
791 TCHAR lfFaceName
[LF_FACESIZE
];
792 } LOGFONT
, *LPLOGFONT
, *PLOGFONT
;
803 LPCFHOOKPROC lpfnHook
;
804 LPCTSTR lpTemplateName
;
808 WORD ___MISSING_ALIGNMENT__
;
811 } CHOOSEFONT
, *LPCHOOSEFONT
;
813 typedef struct _IDA
{
818 typedef struct tagCLIENTCREATESTRUCT
{
821 } CLIENTCREATESTRUCT
;
823 typedef CLIENTCREATESTRUCT
*LPCLIENTCREATESTRUCT
;
825 typedef struct _CMInvokeCommandInfo
{
835 } CMINVOKECOMMANDINFO
, *LPCMINVOKECOMMANDINFO
;
837 typedef struct tagCOLORADJUSTMENT
{
840 WORD caIlluminantIndex
;
844 WORD caReferenceBlack
;
845 WORD caReferenceWhite
;
848 SHORT caColorfulness
;
849 SHORT caRedGreenTint
;
850 } COLORADJUSTMENT
, *LPCOLORADJUSTMENT
;
852 typedef struct _COLORMAP
{
855 } COLORMAP
, * LPCOLORMAP
;
857 typedef struct _DCB
{
862 DWORD fOutxCtsFlow
:1;
863 DWORD fOutxDsrFlow
:1;
865 DWORD fDsrSensitivity
:1;
866 DWORD fTXContinueOnXoff
:1;
872 DWORD fAbortOnError
:1;
888 typedef struct _COMM_CONFIG
{
893 DWORD dwProviderSubType
;
894 DWORD dwProviderOffset
;
895 DWORD dwProviderSize
;
896 WCHAR wcProviderData
[1];
897 } COMMCONFIG
, *LPCOMMCONFIG
;
899 typedef struct _COMMPROP
{
908 DWORD dwProvCapabilities
;
909 DWORD dwSettableParams
;
910 DWORD dwSettableBaud
;
912 WORD wSettableStopParity
;
913 DWORD dwCurrentTxQueue
;
914 DWORD dwCurrentRxQueue
;
918 } COMMPROP
, *LPCOMMPROP
;
920 typedef struct _COMMTIMEOUTS
{
921 DWORD ReadIntervalTimeout
;
922 DWORD ReadTotalTimeoutMultiplier
;
923 DWORD ReadTotalTimeoutConstant
;
924 DWORD WriteTotalTimeoutMultiplier
;
925 DWORD WriteTotalTimeoutConstant
;
926 } COMMTIMEOUTS
,*LPCOMMTIMEOUTS
;
928 typedef struct tagCOMPAREITEMSTRUCT
{
940 COLORREF crBackground
;
944 typedef struct _tagCOMPOSITIONFORM
{
948 } COMPOSITIONFORM
, *LPCOMPOSITIONFORM
;
950 typedef struct _COMSTAT
{
958 DWORD fReserved
: 25;
961 } COMSTAT
, *LPCOMSTAT
;
963 typedef struct _CONSOLE_CURSOR_INFO
{
966 } CONSOLE_CURSOR_INFO
, *PCONSOLE_CURSOR_INFO
;
968 typedef struct _SMALL_RECT
{
973 } SMALL_RECT
, *PSMALL_RECT
;
975 typedef struct _CONSOLE_SCREEN_BUFFER_INFO
{
977 COORD dwCursorPosition
;
980 COORD dwMaximumWindowSize
;
981 } CONSOLE_SCREEN_BUFFER_INFO
, *PCONSOLE_SCREEN_BUFFER_INFO
;
983 typedef struct tagCONVCONTEXT
{
990 SECURITY_QUALITY_OF_SERVICE qos
;
993 typedef CONVCONTEXT
*PCONVCONTEXT
;
995 typedef struct tagCONVINFO
{
1008 HCONVLIST hConvList
;
1009 CONVCONTEXT ConvCtxt
;
1014 typedef struct tagCOPYDATASTRUCT
{
1020 typedef struct _cpinfo
{
1022 BYTE DefaultChar
[MAX_DEFAULTCHAR
];
1023 BYTE LeadByte
[MAX_LEADBYTES
];
1024 } CPINFO
, *LPCPINFO
;
1026 typedef struct tagCPLINFO
{
1033 typedef struct _CREATE_PROCESS_DEBUG_INFO
{
1037 LPVOID lpBaseOfImage
;
1038 DWORD dwDebugInfoFileOffset
;
1039 DWORD nDebugInfoSize
;
1040 LPVOID lpThreadLocalBase
;
1041 LPTHREAD_START_ROUTINE lpStartAddress
;
1044 } CREATE_PROCESS_DEBUG_INFO
;
1046 typedef struct _CREATE_THREAD_DEBUG_INFO
{
1048 LPVOID lpThreadLocalBase
;
1049 LPTHREAD_START_ROUTINE lpStartAddress
;
1050 } CREATE_THREAD_DEBUG_INFO
;
1054 typedef struct _SOCKET_ADDRESS {
1055 LPSOCKADDR lpSockaddr ;
1056 INT iSockaddrLength ;
1057 } SOCKET_ADDRESS, *PSOCKET_ADDRESS, *LPSOCKET_ADDRESS;
1061 typedef struct _CSADDR_INFO {
1062 SOCKET_ADDRESS LocalAddr;
1063 SOCKET_ADDRESS RemoteAddr;
1069 typedef struct _currencyfmt
{
1073 LPTSTR lpDecimalSep
;
1074 LPTSTR lpThousandSep
;
1077 LPTSTR lpCurrencySymbol
;
1080 typedef struct tagCURSORSHAPE
{
1088 } CURSORSHAPE
, *LPCURSORSHAPE
;
1090 typedef struct tagCWPRETSTRUCT
{
1098 typedef struct tagCWPSTRUCT
{
1105 typedef struct _DATATYPES_INFO_1
{
1110 unsigned short bAppReturnCode
:8,
1117 unsigned short reserved
:14,
1124 unsigned short unused
:12,
1134 unsigned short unused
:13,
1141 typedef struct tagDDEML_MSG_HOOK_DATA
{
1146 } DDEML_MSG_HOOK_DATA
;
1149 unsigned short unused
:13,
1157 unsigned short unused
:12,
1166 typedef struct _EXCEPTION_DEBUG_INFO
{
1167 EXCEPTION_RECORD ExceptionRecord
;
1168 DWORD dwFirstChance
;
1169 } EXCEPTION_DEBUG_INFO
;
1171 typedef struct _EXIT_PROCESS_DEBUG_INFO
{
1173 } EXIT_PROCESS_DEBUG_INFO
;
1175 typedef struct _EXIT_THREAD_DEBUG_INFO
{
1177 } EXIT_THREAD_DEBUG_INFO
;
1179 typedef struct _LOAD_DLL_DEBUG_INFO
{
1182 DWORD dwDebugInfoFileOffset
;
1183 DWORD nDebugInfoSize
;
1186 } LOAD_DLL_DEBUG_INFO
;
1188 typedef struct _UNLOAD_DLL_DEBUG_INFO
{
1190 } UNLOAD_DLL_DEBUG_INFO
;
1192 typedef struct _OUTPUT_DEBUG_STRING_INFO
{
1193 LPSTR lpDebugStringData
;
1195 WORD nDebugStringLength
;
1196 } OUTPUT_DEBUG_STRING_INFO
;
1198 typedef struct _RIP_INFO
{
1203 typedef struct _DEBUG_EVENT
{
1204 DWORD dwDebugEventCode
;
1208 EXCEPTION_DEBUG_INFO Exception
;
1209 CREATE_THREAD_DEBUG_INFO CreateThread
;
1210 CREATE_PROCESS_DEBUG_INFO CreateProcessInfo
;
1211 EXIT_THREAD_DEBUG_INFO ExitThread
;
1212 EXIT_PROCESS_DEBUG_INFO ExitProcess
;
1213 LOAD_DLL_DEBUG_INFO LoadDll
;
1214 UNLOAD_DLL_DEBUG_INFO UnloadDll
;
1215 OUTPUT_DEBUG_STRING_INFO DebugString
;
1218 } DEBUG_EVENT
, *LPDEBUG_EVENT
;
1220 typedef struct tagDEBUGHOOKINFO
{
1222 DWORD idThreadInstaller
;
1228 typedef struct tagDELETEITEMSTRUCT
{
1236 typedef struct _DEV_BROADCAST_HDR
{
1238 ULONG dbch_devicetype
;
1239 ULONG dbch_reserved
;
1240 } DEV_BROADCAST_HDR
;
1241 typedef DEV_BROADCAST_HDR
*PDEV_BROADCAST_HDR
;
1243 typedef struct _DEV_BROADCAST_OEM
{
1245 ULONG dbco_devicetype
;
1246 ULONG dbco_reserved
;
1247 ULONG dbco_identifier
;
1248 ULONG dbco_suppfunc
;
1249 } DEV_BROADCAST_OEM
;
1250 typedef DEV_BROADCAST_OEM
*PDEV_BROADCAST_OEM
;
1252 typedef struct _DEV_BROADCAST_PORT
{
1254 ULONG dbcp_devicetype
;
1255 ULONG dbcp_reserved
;
1257 } DEV_BROADCAST_PORT
;
1258 typedef DEV_BROADCAST_PORT
*PDEV_BROADCAST_PORT
;
1260 struct _DEV_BROADCAST_USERDEFINED
{
1261 struct _DEV_BROADCAST_HDR dbud_dbh
;
1262 char dbud_szName
[1];
1263 BYTE dbud_rgbUserDefined
[1];
1266 typedef struct _DEV_BROADCAST_VOLUME
{
1268 ULONG dbcv_devicetype
;
1269 ULONG dbcv_reserved
;
1270 ULONG dbcv_unitmask
;
1272 } DEV_BROADCAST_VOLUME
;
1273 typedef DEV_BROADCAST_VOLUME
*PDEV_BROADCAST_VOLUME
;
1275 typedef struct _devicemode
{
1276 BCHAR dmDeviceName
[CCHDEVICENAME
];
1278 WORD dmDriverVersion
;
1282 short dmOrientation
;
1284 short dmPaperLength
;
1288 short dmDefaultSource
;
1289 short dmPrintQuality
;
1292 short dmYResolution
;
1295 BCHAR dmFormName
[CCHFORMNAME
];
1300 DWORD dmDisplayFlags
;
1301 DWORD dmDisplayFrequency
;
1306 DWORD dmICCManufacturer
;
1308 } DEVMODE
, *LPDEVMODE
;
1310 typedef struct tagDEVNAMES
{
1315 } DEVNAMES
, *LPDEVNAMES
;
1317 typedef struct tagDIBSECTION
{
1319 BITMAPINFOHEADER dsBmih
;
1320 DWORD dsBitfields
[3];
1325 typedef struct _DISK_PERFORMANCE
{
1326 LARGE_INTEGER BytesRead
;
1327 LARGE_INTEGER BytesWritten
;
1328 LARGE_INTEGER ReadTime
;
1329 LARGE_INTEGER WriteTime
;
1333 } DISK_PERFORMANCE
;
1337 DWORD dwExtendedStyle
;
1343 } DLGITEMTEMPLATE PACKED
;
1345 typedef DLGITEMTEMPLATE
*LPDLGITEMTEMPLATE
;
1346 typedef DLGITEMTEMPLATE
*PDLGITEMTEMPLATE
;
1350 DWORD dwExtendedStyle
;
1356 } DLGTEMPLATE PACKED
;
1358 typedef DLGTEMPLATE
*LPDLGTEMPLATE
;
1359 typedef const DLGTEMPLATE
*LPCDLGTEMPLATE
;
1361 typedef struct _DOC_INFO_1
{
1367 typedef struct _DOC_INFO_2
{
1377 LPCTSTR lpszDocName
;
1379 LPCTSTR lpszDatatype
;
1387 } DRAGLISTINFO
, *LPDRAGLISTINFO
;
1389 typedef struct tagDRAWITEMSTRUCT
{
1399 } DRAWITEMSTRUCT
, *LPDRAWITEMSTRUCT
, *PDRAWITEMSTRUCT
;
1407 } DRAWTEXTPARAMS
, *LPDRAWTEXTPARAMS
;
1411 typedef struct _DRIVER_INFO_1
{
1415 typedef struct _DRIVER_INFO_2
{
1418 LPTSTR pEnvironment
;
1424 typedef struct _DRIVER_INFO_3
{
1427 LPTSTR pEnvironment
;
1432 LPTSTR pDependentFiles
;
1433 LPTSTR pMonitorName
;
1434 LPTSTR pDefaultDataType
;
1437 typedef struct _editstream
{
1440 EDITSTREAMCALLBACK pfnCallback
;
1443 typedef struct tagEMR
1449 typedef struct tagEMRANGLEARC
1456 } EMRANGLEARC
, *PEMRANGLEARC
;
1458 typedef struct tagEMRARC
1465 EMRARCTO
, *PEMRARCTO
,
1466 EMRCHORD
, *PEMRCHORD
,
1469 typedef struct _XFORM
1477 } XFORM
, *PXFORM
, *LPXFORM
;
1479 typedef struct tagEMRBITBLT
1491 COLORREF crBkColorSrc
;
1496 } EMRBITBLT
, *PEMRBITBLT
;
1498 typedef struct tagLOGBRUSH
{
1504 typedef struct tagEMRCREATEBRUSHINDIRECT
1509 } EMRCREATEBRUSHINDIRECT
, *PEMRCREATEBRUSHINDIRECT
;
1511 typedef LONG LCSCSTYPE
;
1512 typedef LONG LCSGAMUTMATCH
;
1514 typedef struct tagLOGCOLORSPACE
{
1519 LCSCSTYPE lcsCSType
;
1520 LCSGAMUTMATCH lcsIntent
;
1521 CIEXYZTRIPLE lcsEndpoints
;
1523 DWORD lcsGammaGreen
;
1525 TCHAR lcsFilename
[MAX_PATH
];
1526 } LOGCOLORSPACE
, *LPLOGCOLORSPACE
;
1528 typedef struct tagEMRCREATECOLORSPACE
1533 } EMRCREATECOLORSPACE
, *PEMRCREATECOLORSPACE
;
1535 typedef struct tagEMRCREATEDIBPATTERNBRUSHPT
1544 } EMRCREATEDIBPATTERNBRUSHPT
,
1545 PEMRCREATEDIBPATTERNBRUSHPT
;
1547 typedef struct tagEMRCREATEMONOBRUSH
1556 } EMRCREATEMONOBRUSH
, *PEMRCREATEMONOBRUSH
;
1558 typedef struct tagPALETTEENTRY
{
1563 } PALETTEENTRY
, *LPPALETTEENTRY
, *PPALETTEENTRY
;
1565 typedef struct tagLOGPALETTE
{
1568 PALETTEENTRY palPalEntry
[1];
1569 } LOGPALETTE
, *LPLOGPALETTE
, *PLOGPALETTE
;
1571 typedef struct tagEMRCREATEPALETTE
1576 } EMRCREATEPALETTE
, *PEMRCREATEPALETTE
;
1578 typedef struct tagLOGPEN
{
1584 typedef struct tagEMRCREATEPEN
1589 } EMRCREATEPEN
, *PEMRCREATEPEN
;
1591 typedef struct tagEMRELLIPSE
1595 } EMRELLIPSE
, *PEMRELLIPSE
,
1596 EMRRECTANGLE
, *PEMRRECTANGLE
;
1598 typedef struct tagEMREOF
1602 DWORD offPalEntries
;
1606 typedef struct tagEMREXCLUDECLIPRECT
1610 } EMREXCLUDECLIPRECT
, *PEMREXCLUDECLIPRECT
,
1611 EMRINTERSECTCLIPRECT
, *PEMRINTERSECTCLIPRECT
;
1613 typedef struct tagPANOSE
{
1619 BYTE bStrokeVariation
;
1626 typedef struct tagEXTLOGFONT
{
1628 BCHAR elfFullName
[LF_FULLFACESIZE
];
1629 BCHAR elfStyle
[LF_FACESIZE
];
1634 BYTE elfVendorId
[ELF_VENDOR_SIZE
];
1639 typedef struct tagEMREXTCREATEFONTINDIRECTW
1644 } EMREXTCREATEFONTINDIRECTW
,
1645 PEMREXTCREATEFONTINDIRECTW
;
1647 typedef struct tagEXTLOGPEN
{
1653 DWORD elpNumEntries
;
1654 DWORD elpStyleEntry
[1];
1657 typedef struct tagEMREXTCREATEPEN
1666 } EMREXTCREATEPEN
, *PEMREXTCREATEPEN
;
1668 typedef struct tagEMREXTFLOODFILL
1674 } EMREXTFLOODFILL
, *PEMREXTFLOODFILL
;
1676 typedef struct tagEMREXTSELECTCLIPRGN
1682 } EMREXTSELECTCLIPRGN
, *PEMREXTSELECTCLIPRGN
;
1684 typedef struct tagEMRTEXT
1686 POINTL ptlReference
;
1692 } EMRTEXT
, *PEMRTEXT
;
1694 typedef struct tagEMREXTTEXTOUTA
1698 DWORD iGraphicsMode
;
1702 } EMREXTTEXTOUTA
, *PEMREXTTEXTOUTA
,
1703 EMREXTTEXTOUTW
, *PEMREXTTEXTOUTW
;
1705 typedef struct tagEMRFILLPATH
1709 } EMRFILLPATH
, *PEMRFILLPATH
,
1710 EMRSTROKEANDFILLPATH
, *PEMRSTROKEANDFILLPATH
,
1711 EMRSTROKEPATH
, *PEMRSTROKEPATH
;
1713 typedef struct tagEMRFILLRGN
1720 } EMRFILLRGN
, *PEMRFILLRGN
;
1722 typedef struct tagEMRFORMAT
{
1729 typedef struct tagSIZE
{
1732 } SIZE
, *PSIZE
, *LPSIZE
, SIZEL
, *PSIZEL
, *LPSIZEL
;
1734 typedef struct tagEMRFRAMERGN
1742 } EMRFRAMERGN
, *PEMRFRAMERGN
;
1744 typedef struct tagEMRGDICOMMENT
1749 } EMRGDICOMMENT
, *PEMRGDICOMMENT
;
1751 typedef struct tagEMRINVERTRGN
1757 } EMRINVERTRGN
, *PEMRINVERTRGN
,
1758 EMRPAINTRGN
, *PEMRPAINTRGN
;
1760 typedef struct tagEMRLINETO
1764 } EMRLINETO
, *PEMRLINETO
,
1765 EMRMOVETOEX
, *PEMRMOVETOEX
;
1767 typedef struct tagEMRMASKBLT
1779 COLORREF crBkColorSrc
;
1792 } EMRMASKBLT
, *PEMRMASKBLT
;
1794 typedef struct tagEMRMODIFYWORLDTRANSFORM
1799 } EMRMODIFYWORLDTRANSFORM
,
1800 PEMRMODIFYWORLDTRANSFORM
;
1802 typedef struct tagEMROFFSETCLIPRGN
1806 } EMROFFSETCLIPRGN
, *PEMROFFSETCLIPRGN
;
1808 typedef struct tagEMRPLGBLT
1818 COLORREF crBkColorSrc
;
1831 } EMRPLGBLT
, *PEMRPLGBLT
;
1833 typedef struct tagEMRPOLYDRAW
1840 } EMRPOLYDRAW
, *PEMRPOLYDRAW
;
1842 typedef struct tagEMRPOLYDRAW16
1849 } EMRPOLYDRAW16
, *PEMRPOLYDRAW16
;
1851 typedef struct tagEMRPOLYLINE
1857 } EMRPOLYLINE
, *PEMRPOLYLINE
,
1858 EMRPOLYBEZIER
, *PEMRPOLYBEZIER
,
1859 EMRPOLYGON
, *PEMRPOLYGON
,
1860 EMRPOLYBEZIERTO
, *PEMRPOLYBEZIERTO
,
1861 EMRPOLYLINETO
, *PEMRPOLYLINETO
;
1863 typedef struct tagEMRPOLYLINE16
1869 } EMRPOLYLINE16
, *PEMRPOLYLINE16
,
1870 EMRPOLYBEZIER16
, *PEMRPOLYBEZIER16
,
1871 EMRPOLYGON16
, *PEMRPOLYGON16
,
1872 EMRPOLYBEZIERTO16
, *PEMRPOLYBEZIERTO16
,
1873 EMRPOLYLINETO16
, *PEMRPOLYLINETO16
;
1875 typedef struct tagEMRPOLYPOLYLINE
1881 DWORD aPolyCounts
[1];
1883 } EMRPOLYPOLYLINE
, *PEMRPOLYPOLYLINE
,
1884 EMRPOLYPOLYGON
, *PEMRPOLYPOLYGON
;
1886 typedef struct tagEMRPOLYPOLYLINE16
1892 DWORD aPolyCounts
[1];
1894 } EMRPOLYPOLYLINE16
, *PEMRPOLYPOLYLINE16
,
1895 EMRPOLYPOLYGON16
, *PEMRPOLYPOLYGON16
;
1897 typedef struct tagEMRPOLYTEXTOUTA
1901 DWORD iGraphicsMode
;
1905 EMRTEXT aemrtext
[1];
1906 } EMRPOLYTEXTOUTA
, *PEMRPOLYTEXTOUTA
,
1907 EMRPOLYTEXTOUTW
, *PEMRPOLYTEXTOUTW
;
1909 typedef struct tagEMRRESIZEPALETTE
1914 } EMRRESIZEPALETTE
, *PEMRRESIZEPALETTE
;
1916 typedef struct tagEMRRESTOREDC
1920 } EMRRESTOREDC
, *PEMRRESTOREDC
;
1922 typedef struct tagEMRROUNDRECT
1927 } EMRROUNDRECT
, *PEMRROUNDRECT
;
1929 typedef struct tagEMRSCALEVIEWPORTEXTEX
1936 } EMRSCALEVIEWPORTEXTEX
, *PEMRSCALEVIEWPORTEXTEX
,
1937 EMRSCALEWINDOWEXTEX
, *PEMRSCALEWINDOWEXTEX
;
1939 typedef struct tagEMRSELECTCOLORSPACE
1943 } EMRSELECTCOLORSPACE
, *PEMRSELECTCOLORSPACE
,
1944 EMRDELETECOLORSPACE
, *PEMRDELETECOLORSPACE
;
1945 typedef struct tagEMRSELECTOBJECT
1949 } EMRSELECTOBJECT
, *PEMRSELECTOBJECT
,
1950 EMRDELETEOBJECT
, *PEMRDELETEOBJECT
;
1952 typedef struct tagEMRSELECTPALETTE
1956 } EMRSELECTPALETTE
, *PEMRSELECTPALETTE
;
1958 typedef struct tagEMRSETARCDIRECTION
1961 DWORD iArcDirection
;
1962 } EMRSETARCDIRECTION
, *PEMRSETARCDIRECTION
;
1964 typedef struct tagEMRSETTEXTCOLOR
1968 } EMRSETBKCOLOR
, *PEMRSETBKCOLOR
,
1969 EMRSETTEXTCOLOR
, *PEMRSETTEXTCOLOR
;
1971 typedef struct tagEMRSETCOLORADJUSTMENT
1974 COLORADJUSTMENT ColorAdjustment
;
1975 } EMRSETCOLORADJUSTMENT
, *PEMRSETCOLORADJUSTMENT
;
1977 typedef struct tagEMRSETDIBITSTODEVICE
1994 } EMRSETDIBITSTODEVICE
, *PEMRSETDIBITSTODEVICE
;
1996 typedef struct tagEMRSETMAPPERFLAGS
2000 } EMRSETMAPPERFLAGS
, *PEMRSETMAPPERFLAGS
;
2002 typedef struct tagEMRSETMITERLIMIT
2006 } EMRSETMITERLIMIT
, *PEMRSETMITERLIMIT
;
2008 typedef struct tagEMRSETPALETTEENTRIES
2014 PALETTEENTRY aPalEntries
[1];
2015 } EMRSETPALETTEENTRIES
, *PEMRSETPALETTEENTRIES
;
2017 typedef struct tagEMRSETPIXELV
2022 } EMRSETPIXELV
, *PEMRSETPIXELV
;
2024 typedef struct tagEMRSETVIEWPORTEXTEX
2028 } EMRSETVIEWPORTEXTEX
, *PEMRSETVIEWPORTEXTEX
,
2029 EMRSETWINDOWEXTEX
, *PEMRSETWINDOWEXTEX
;
2031 typedef struct tagEMRSETVIEWPORTORGEX
2035 } EMRSETVIEWPORTORGEX
, *PEMRSETVIEWPORTORGEX
,
2036 EMRSETWINDOWORGEX
, *PEMRSETWINDOWORGEX
,
2037 EMRSETBRUSHORGEX
, *PEMRSETBRUSHORGEX
;
2039 typedef struct tagEMRSETWORLDTRANSFORM
2043 } EMRSETWORLDTRANSFORM
, *PEMRSETWORLDTRANSFORM
;
2045 typedef struct tagEMRSTRETCHBLT
2057 COLORREF crBkColorSrc
;
2065 } EMRSTRETCHBLT
, *PEMRSTRETCHBLT
;
2067 typedef struct tagEMRSTRETCHDIBITS
2085 } EMRSTRETCHDIBITS
, *PEMRSTRETCHDIBITS
;
2087 typedef struct tagABORTPATH
2090 } EMRABORTPATH
, *PEMRABORTPATH
,
2091 EMRBEGINPATH
, *PEMRBEGINPATH
,
2092 EMRENDPATH
, *PEMRENDPATH
,
2093 EMRCLOSEFIGURE
, *PEMRCLOSEFIGURE
,
2094 EMRFLATTENPATH
, *PEMRFLATTENPATH
,
2095 EMRWIDENPATH
, *PEMRWIDENPATH
,
2096 EMRSETMETARGN
, *PEMRSETMETARGN
,
2097 EMRSAVEDC
, *PEMRSAVEDC
,
2098 EMRREALIZEPALETTE
, *PEMRREALIZEPALETTE
;
2100 typedef struct tagEMRSELECTCLIPPATH
2104 } EMRSELECTCLIPPATH
, *PEMRSELECTCLIPPATH
,
2105 EMRSETBKMODE
, *PEMRSETBKMODE
,
2106 EMRSETMAPMODE
, *PEMRSETMAPMODE
,
2107 EMRSETPOLYFILLMODE
, *PEMRSETPOLYFILLMODE
,
2108 EMRSETROP2
, *PEMRSETROP2
,
2109 EMRSETSTRETCHBLTMODE
, *PEMRSETSTRETCHBLTMODE
,
2110 EMRSETTEXTALIGN
, *PEMRSETTEXTALIGN
,
2111 EMRENABLEICM
, *PEMRENABLEICM
;
2113 typedef struct tagNMHDR
{
2119 typedef struct _encorrecttext
{
2125 typedef struct _endropfiles
{
2145 typedef struct tagENHMETAHEADER
{
2157 DWORD offDescription
;
2160 SIZEL szlMillimeters
;
2161 } ENHMETAHEADER
, *LPENHMETAHEADER
;
2163 typedef struct tagENHMETARECORD
{
2167 } ENHMETARECORD
, *PENHMETARECORD
, *LPENHMETARECORD
;
2169 typedef struct _enprotected
{
2177 typedef struct _SERVICE_STATUS
{
2178 DWORD dwServiceType
;
2179 DWORD dwCurrentState
;
2180 DWORD dwControlsAccepted
;
2181 DWORD dwWin32ExitCode
;
2182 DWORD dwServiceSpecificExitCode
;
2185 } SERVICE_STATUS
, *LPSERVICE_STATUS
;
2187 typedef struct _ENUM_SERVICE_STATUS
{
2188 LPTSTR lpServiceName
;
2189 LPTSTR lpDisplayName
;
2190 SERVICE_STATUS ServiceStatus
;
2191 } ENUM_SERVICE_STATUS
, *LPENUM_SERVICE_STATUS
;
2193 typedef struct tagENUMLOGFONT
{
2195 BCHAR elfFullName
[LF_FULLFACESIZE
];
2196 BCHAR elfStyle
[LF_FACESIZE
];
2199 typedef struct tagENUMLOGFONTEX
{
2201 BCHAR elfFullName
[LF_FULLFACESIZE
];
2202 BCHAR elfStyle
[LF_FACESIZE
];
2203 BCHAR elfScript
[LF_FACESIZE
];
2206 typedef struct _EVENTLOGRECORD
{
2210 DWORD TimeGenerated
;
2217 DWORD ClosingRecordNumber
;
2219 DWORD UserSidLength
;
2220 DWORD UserSidOffset
;
2228 TCHAR Computername[]
2238 typedef struct tagEVENTMSG
{
2246 typedef struct _EXCEPTION_POINTERS
{
2247 PEXCEPTION_RECORD ExceptionRecord
;
2248 PCONTEXT ContextRecord
;
2249 } EXCEPTION_POINTERS
, *PEXCEPTION_POINTERS
, *LPEXCEPTION_POINTERS
;
2251 typedef struct _EXT_BUTTON
{
2255 } EXT_BUTTON
, *LPEXT_BUTTON
;
2257 typedef struct tagFILTERKEYS
{
2266 typedef struct _FIND_NAME_BUFFER
{
2268 UCHAR access_control
;
2269 UCHAR frame_control
;
2270 UCHAR destination_addr
[6];
2271 UCHAR source_addr
[6];
2272 UCHAR routing_info
[18];
2275 typedef struct _FIND_NAME_HEADER
{
2284 HINSTANCE hInstance
;
2286 LPTSTR lpstrFindWhat
;
2287 LPTSTR lpstrReplaceWith
;
2289 WORD wReplaceWithLen
;
2291 LPFRHOOKPROC lpfnHook
;
2292 LPCTSTR lpTemplateName
;
2293 } FINDREPLACE
, *LPFINDREPLACE
;
2295 typedef struct _findtext
{
2300 typedef struct _findtextex
{
2306 typedef struct _FMS_GETDRIVEINFO
{
2314 typedef struct _FMS_GETFILESEL
{
2321 typedef struct _FMS_LOAD
{
2323 TCHAR szMenuName
[MENU_TEXT_LEN
];
2328 typedef struct _FMS_TOOLBARLOAD
{
2330 LPEXT_BUTTON lpButtons
;
2337 typedef struct _FOCUS_EVENT_RECORD
{
2339 } FOCUS_EVENT_RECORD
;
2341 typedef struct _FORM_INFO_1
{
2345 RECTL ImageableArea
;
2348 typedef struct _FORMAT_PARAMETERS
{
2349 MEDIA_TYPE MediaType
;
2350 DWORD StartCylinderNumber
;
2351 DWORD EndCylinderNumber
;
2352 DWORD StartHeadNumber
;
2353 DWORD EndHeadNumber
;
2354 } FORMAT_PARAMETERS
;
2356 typedef struct _formatrange
{
2364 typedef struct tagGCP_RESULTS
{
2374 } GCP_RESULTS
, *LPGCP_RESULTS
;
2377 typedef struct _GLYPHMETRICS
{
2380 POINT gmptGlyphOrigin
;
2383 } GLYPHMETRICS
, *LPGLYPHMETRICS
;
2385 typedef struct tagHANDLETABLE
{
2386 HGDIOBJ objectHandle
[1];
2387 } HANDLETABLE
, *LPHANDLETABLE
;
2389 typedef struct _HD_HITTESTINFO
{
2395 typedef struct _HD_ITEM
{
2405 typedef struct _WINDOWPOS
{
2407 HWND hwndInsertAfter
;
2413 } WINDOWPOS
, *PWINDOWPOS
, *LPWINDOWPOS
;
2415 typedef struct _HD_LAYOUT
{
2420 typedef struct _HD_NOTIFY
{
2427 typedef struct tagHELPINFO
{
2434 } HELPINFO
, *LPHELPINFO
;
2443 TCHAR rgchMember
[2];
2446 typedef struct tagHIGHCONTRAST
{
2449 LPTSTR lpszDefaultScheme
;
2450 } HIGHCONTRAST
, * LPHIGHCONTRAST
;
2452 typedef struct tagHSZPAIR
{
2457 typedef struct _ICONINFO
{
2463 } ICONINFO
, *PICONINFO
;
2465 typedef struct tagICONMETRICS
{
2471 } ICONMETRICS
, *LPICONMETRICS
;
2473 typedef struct _IMAGEINFO
{
2481 typedef struct _WINDOW_BUFFER_SIZE_RECORD
{
2483 } WINDOW_BUFFER_SIZE_RECORD
;
2485 typedef struct _MENU_EVENT_RECORD
{
2487 } MENU_EVENT_RECORD
, *PMENU_EVENT_RECORD
;
2489 typedef struct _INPUT_RECORD
{
2492 #ifndef __cplus_plus
2493 /* this will be the wrong size in c++ */
2494 KEY_EVENT_RECORD KeyEvent
;
2496 MOUSE_EVENT_RECORD MouseEvent
;
2497 WINDOW_BUFFER_SIZE_RECORD WindowBufferSizeEvent
;
2498 MENU_EVENT_RECORD MenuEvent
;
2499 FOCUS_EVENT_RECORD FocusEvent
;
2501 } INPUT_RECORD
, *PINPUT_RECORD
;
2503 typedef struct _SYSTEMTIME
{
2512 } SYSTEMTIME
, *LPSYSTEMTIME
;
2514 typedef struct _JOB_INFO_1
{
2516 LPTSTR pPrinterName
;
2517 LPTSTR pMachineName
;
2527 SYSTEMTIME Submitted
;
2531 typedef struct _JOB_INFO_2
{
2533 LPTSTR pPrinterName
;
2534 LPTSTR pMachineName
;
2539 LPTSTR pPrintProcessor
;
2544 PSECURITY_DESCRIPTOR pSecurityDescriptor
;
2552 SYSTEMTIME Submitted
;
2554 DWORD PagesPrinted
;
2557 typedef struct tagKERNINGPAIR
{
2561 } KERNINGPAIR
, *LPKERNINGPAIR
;
2563 typedef struct _LANA_ENUM
{
2565 UCHAR lana
[MAX_LANA
];
2568 typedef struct _LDT_ENTRY
{
2585 DWORD Reserved_0
: 1;
2586 DWORD Default_Big
: 1;
2587 DWORD Granularity
: 1;
2591 } LDT_ENTRY
, *PLDT_ENTRY
, *LPLDT_ENTRY
;
2593 typedef struct tagLOCALESIGNATURE
{
2595 DWORD lsCsbDefault
[2];
2596 DWORD lsCsbSupported
[2];
2599 typedef struct _LOCALGROUP_MEMBERS_INFO_0
{
2601 } LOCALGROUP_MEMBERS_INFO_0
;
2603 typedef struct _LOCALGROUP_MEMBERS_INFO_3
{
2604 LPWSTR lgrmi3_domainandname
;
2605 } LOCALGROUP_MEMBERS_INFO_3
;
2607 typedef long FXPT16DOT16
, * LPFXPT16DOT16
;
2611 typedef LUID_AND_ATTRIBUTES LUID_AND_ATTRIBUTES_ARRAY
[ANYSIZE_ARRAY
];
2612 typedef LUID_AND_ATTRIBUTES_ARRAY
*PLUID_AND_ATTRIBUTES_ARRAY
;
2614 typedef struct _LV_COLUMN
{
2623 typedef struct _LV_ITEM
{
2635 typedef struct tagLV_DISPINFO
{
2640 typedef struct _LV_FINDINFO
{
2648 typedef struct _LV_HITTESTINFO
{
2654 typedef struct tagLV_KEYDOWN
{
2660 typedef struct _MAT2
{
2667 typedef struct tagMDICREATESTRUCT
{
2679 typedef MDICREATESTRUCT
*LPMDICREATESTRUCT
;
2681 typedef struct tagMEASUREITEMSTRUCT
{
2688 } MEASUREITEMSTRUCT
, *LPMEASUREITEMSTRUCT
;
2690 typedef struct _MEMORY_BASIC_INFORMATION
{
2692 PVOID AllocationBase
;
2693 DWORD AllocationProtect
;
2698 } MEMORY_BASIC_INFORMATION
;
2699 typedef MEMORY_BASIC_INFORMATION
*PMEMORY_BASIC_INFORMATION
;
2701 typedef struct _MEMORYSTATUS
{
2706 DWORD dwTotalPageFile
;
2707 DWORD dwAvailPageFile
;
2708 DWORD dwTotalVirtual
;
2709 DWORD dwAvailVirtual
;
2710 } MEMORYSTATUS
, *LPMEMORYSTATUS
;
2716 } MENUEX_TEMPLATE_HEADER
;
2725 } MENUEX_TEMPLATE_ITEM
;
2727 typedef struct tagMENUITEMINFO
{
2734 HBITMAP hbmpChecked
;
2735 HBITMAP hbmpUnchecked
;
2739 } MENUITEMINFO
, *LPMENUITEMINFO
;
2740 typedef MENUITEMINFO CONST
*LPCMENUITEMINFO
;
2751 } MENUITEMTEMPLATEHEADER
;
2752 typedef VOID MENUTEMPLATE
, *LPMENUTEMPLATE
;
2754 typedef struct tagMETAFILEPICT
{
2759 } METAFILEPICT
, *PMETAFILEPICT
, *LPMETAFILEPICT
;
2761 typedef struct tagMETAHEADER
{
2768 WORD mtNoParameters
;
2769 } METAHEADER PACKED
;
2771 typedef struct tagMETARECORD
{
2775 } METARECORD
, *LPMETARECORD
;
2777 typedef struct tagMINIMIZEDMETRICS
{
2783 } MINIMIZEDMETRICS
, *LPMINIMIZEDMETRICS
;
2785 typedef struct tagMINMAXINFO
{
2788 POINT ptMaxPosition
;
2789 POINT ptMinTrackSize
;
2790 POINT ptMaxTrackSize
;
2793 typedef struct modemdevcaps_tag
{
2795 DWORD dwRequiredSize
;
2796 DWORD dwDevSpecificOffset
;
2797 DWORD dwDevSpecificSize
;
2799 DWORD dwModemProviderVersion
;
2800 DWORD dwModemManufacturerOffset
;
2801 DWORD dwModemManufacturerSize
;
2802 DWORD dwModemModelOffset
;
2803 DWORD dwModemModelSize
;
2804 DWORD dwModemVersionOffset
;
2805 DWORD dwModemVersionSize
;
2807 DWORD dwDialOptions
;
2808 DWORD dwCallSetupFailTimer
;
2809 DWORD dwInactivityTimeout
;
2810 DWORD dwSpeakerVolume
;
2811 DWORD dwSpeakerMode
;
2812 DWORD dwModemOptions
;
2816 BYTE abVariablePortion
[1];
2817 } MODEMDEVCAPS
, *PMODEMDEVCAPS
, *LPMODEMDEVCAPS
;
2819 typedef struct modemsettings_tag
{
2821 DWORD dwRequiredSize
;
2822 DWORD dwDevSpecificOffset
;
2823 DWORD dwDevSpecificSize
;
2825 DWORD dwCallSetupFailTimer
;
2826 DWORD dwInactivityTimeout
;
2827 DWORD dwSpeakerVolume
;
2828 DWORD dwSpeakerMode
;
2829 DWORD dwPreferredModemOptions
;
2831 DWORD dwNegotiatedModemOptions
;
2832 DWORD dwNegotiatedDCERate
;
2834 BYTE abVariablePortion
[1];
2835 } MODEMSETTINGS
, *PMODEMSETTINGS
, *LPMODEMSETTINGS
;
2837 typedef struct tagMONCBSTRUCT
{
2855 typedef struct tagMONCONVSTRUCT
{
2866 typedef struct tagMONERRSTRUCT
{
2873 typedef struct tagMONHSZSTRUCT
{
2882 typedef struct _MONITOR_INFO_1
{
2886 typedef struct _MONITOR_INFO_2
{
2888 LPTSTR pEnvironment
;
2892 typedef struct tagMONLINKSTRUCT
{
2896 WINBOOL fEstablished
;
2907 typedef struct tagMONMSGSTRUCT
{
2915 DDEML_MSG_HOOK_DATA dmhd
;
2918 typedef struct tagMOUSEHOOKSTRUCT
{
2923 } MOUSEHOOKSTRUCT
, *PMOUSEHOOKSTRUCT
, *LPMOUSEHOOKSTRUCT
;
2925 typedef struct _MOUSEKEYS
{
2929 DWORD iTimeToMaxSpeed
;
2935 typedef struct tagMSG
{
2944 typedef void CALLBACK (*MSGBOXCALLBACK
) (LPHELPINFO lpHelpInfo
);
2949 HINSTANCE hInstance
;
2954 DWORD dwContextHelpId
;
2955 MSGBOXCALLBACK lpfnMsgBoxCallback
;
2957 } MSGBOXPARAMS
, *PMSGBOXPARAMS
, *LPMSGBOXPARAMS
;
2959 typedef struct _msgfilter
{
2966 typedef struct tagMULTIKEYHELP
{
2969 TCHAR szKeyphrase
[1];
2972 typedef struct _NAME_BUFFER
{
2973 UCHAR name
[NCBNAMSZ
];
2978 typedef struct _NCB
{
2985 UCHAR ncb_callname
[NCBNAMSZ
];
2986 UCHAR ncb_name
[NCBNAMSZ
];
2989 void (*ncb_post
) (struct _NCB
*);
2992 UCHAR ncb_reserve
[10];
2996 typedef struct _NCCALCSIZE_PARAMS
{
2999 } NCCALCSIZE_PARAMS
;
3001 typedef struct _NDDESHAREINFO
{
3003 LPTSTR lpszShareName
;
3005 LPTSTR lpszAppTopicList
;
3012 LPTSTR lpszItemList
;
3015 typedef struct _NETRESOURCE
{
3018 DWORD dwDisplayType
;
3021 LPTSTR lpRemoteName
;
3024 } NETRESOURCE
, *LPNETRESOURCE
;
3026 typedef struct tagNEWCPLINFO
{
3029 DWORD dwHelpContext
;
3034 TCHAR szHelpFile
[128];
3037 typedef struct tagNEWTEXTMETRIC
{
3041 LONG tmInternalLeading
;
3042 LONG tmExternalLeading
;
3043 LONG tmAveCharWidth
;
3044 LONG tmMaxCharWidth
;
3047 LONG tmDigitizedAspectX
;
3048 LONG tmDigitizedAspectY
;
3051 BCHAR tmDefaultChar
;
3056 BYTE tmPitchAndFamily
;
3065 typedef struct tagNEWTEXTMETRICEX
{
3066 NEWTEXTMETRIC ntmentm
;
3067 FONTSIGNATURE ntmeFontSignature
;
3070 typedef struct tagNM_LISTVIEW
{
3081 typedef struct _TREEITEM
*HTREEITEM
;
3083 typedef struct _TV_ITEM
{
3094 } TV_ITEM
, *LPTV_ITEM
;
3096 typedef struct _NM_TREEVIEW
{
3103 typedef NM_TREEVIEW
*LPNM_TREEVIEW
;
3105 typedef struct _NM_UPDOWN
{
3111 typedef struct tagNONCLIENTMETRICS
{
3118 LOGFONT lfCaptionFont
;
3119 int iSmCaptionWidth
;
3120 int iSmCaptionHeight
;
3121 LOGFONT lfSmCaptionFont
;
3125 LOGFONT lfStatusFont
;
3126 LOGFONT lfMessageFont
;
3127 } NONCLIENTMETRICS
, * LPNONCLIENTMETRICS
;
3129 typedef struct _SERVICE_ADDRESS
{
3130 DWORD dwAddressType
;
3131 DWORD dwAddressFlags
;
3132 DWORD dwAddressLength
;
3133 DWORD dwPrincipalLength
;
3138 typedef struct _SERVICE_ADDRESSES
{
3139 DWORD dwAddressCount
;
3140 SERVICE_ADDRESS Addresses
[1];
3141 } SERVICE_ADDRESSES
, *LPSERVICE_ADDRESSES
;
3143 typedef struct _GUID
3145 unsigned long Data1
;
3146 unsigned short Data2
;
3147 unsigned short Data3
;
3148 unsigned char Data4
[8];
3150 typedef GUID CLSID
, *LPCLSID
;
3152 typedef struct _SERVICE_INFO
{
3153 LPGUID lpServiceType
;
3154 LPTSTR lpServiceName
;
3157 DWORD dwDisplayHint
;
3160 LPTSTR lpMachineName
;
3161 LPSERVICE_ADDRESSES lpServiceAddress
;
3162 BLOB ServiceSpecificInfo
;
3165 typedef struct _NS_SERVICE_INFO
{
3167 SERVICE_INFO ServiceInfo
;
3170 typedef struct _numberfmt
{
3174 LPTSTR lpDecimalSep
;
3175 LPTSTR lpThousandSep
;
3179 typedef struct _OFSTRUCT
{
3185 CHAR szPathName
[OFS_MAXPATHNAME
];
3186 } OFSTRUCT
, *LPOFSTRUCT
;
3188 typedef struct tagOFN
{
3191 HINSTANCE hInstance
;
3192 LPCTSTR lpstrFilter
;
3193 LPTSTR lpstrCustomFilter
;
3194 DWORD nMaxCustFilter
;
3198 LPTSTR lpstrFileTitle
;
3199 DWORD nMaxFileTitle
;
3200 LPCTSTR lpstrInitialDir
;
3204 WORD nFileExtension
;
3205 LPCTSTR lpstrDefExt
;
3207 LPOFNHOOKPROC lpfnHook
;
3208 LPCTSTR lpTemplateName
;
3209 } OPENFILENAME
, *LPOPENFILENAME
;
3211 typedef struct _OFNOTIFY
{
3213 LPOPENFILENAME lpOFN
;
3215 } OFNOTIFY
, *LPOFNOTIFY
;
3217 typedef struct _OSVERSIONINFO
{
3218 DWORD dwOSVersionInfoSize
;
3219 DWORD dwMajorVersion
;
3220 DWORD dwMinorVersion
;
3221 DWORD dwBuildNumber
;
3223 TCHAR szCSDVersion
[ 128 ];
3224 } OSVERSIONINFO
, *POSVERSIONINFO
, *LPOSVERSIONINFO
;
3226 typedef struct tagTEXTMETRIC
{
3230 LONG tmInternalLeading
;
3231 LONG tmExternalLeading
;
3232 LONG tmAveCharWidth
;
3233 LONG tmMaxCharWidth
;
3236 LONG tmDigitizedAspectX
;
3237 LONG tmDigitizedAspectY
;
3240 BCHAR tmDefaultChar
;
3245 BYTE tmPitchAndFamily
;
3247 } TEXTMETRIC
, *LPTEXTMETRIC
;
3249 typedef struct _OUTLINETEXTMETRIC
{
3251 TEXTMETRIC otmTextMetrics
;
3253 PANOSE otmPanoseNumber
;
3254 UINT otmfsSelection
;
3256 int otmsCharSlopeRise
;
3257 int otmsCharSlopeRun
;
3263 UINT otmsCapEmHeight
;
3269 UINT otmusMinimumPPEM
;
3270 POINT otmptSubscriptSize
;
3271 POINT otmptSubscriptOffset
;
3272 POINT otmptSuperscriptSize
;
3273 POINT otmptSuperscriptOffset
;
3274 UINT otmsStrikeoutSize
;
3275 int otmsStrikeoutPosition
;
3276 int otmsUnderscoreSize
;
3277 int otmsUnderscorePosition
;
3278 PSTR otmpFamilyName
;
3282 } OUTLINETEXTMETRIC
, *LPOUTLINETEXTMETRIC
;
3284 typedef struct _OVERLAPPED
{
3290 } OVERLAPPED
, *LPOVERLAPPED
;
3292 typedef struct tagPSD
{
3301 HINSTANCE hInstance
;
3303 LPPAGESETUPHOOK lpfnPageSetupHook
;
3304 LPPAGEPAINTHOOK lpfnPagePaintHook
;
3305 LPCTSTR lpPageSetupTemplateName
;
3306 HGLOBAL hPageSetupTemplate
;
3307 } PAGESETUPDLG
, *LPPAGESETUPDLG
;
3309 typedef struct tagPAINTSTRUCT
{
3315 BYTE rgbReserved
[32];
3316 } PAINTSTRUCT
, *LPPAINTSTRUCT
;
3318 typedef struct _paraformat
{
3328 LONG rgxTabs
[MAX_TAB_STOPS
];
3331 typedef struct _PERF_COUNTER_BLOCK
{
3333 } PERF_COUNTER_BLOCK
;
3335 typedef struct _PERF_COUNTER_DEFINITION
{
3337 DWORD CounterNameTitleIndex
;
3338 LPWSTR CounterNameTitle
;
3339 DWORD CounterHelpTitleIndex
;
3340 LPWSTR CounterHelpTitle
;
3345 DWORD CounterOffset
;
3346 } PERF_COUNTER_DEFINITION
;
3348 typedef struct _PERF_DATA_BLOCK
{
3353 DWORD TotalByteLength
;
3355 DWORD NumObjectTypes
;
3356 DWORD DefaultObject
;
3357 SYSTEMTIME SystemTime
;
3358 LARGE_INTEGER PerfTime
;
3359 LARGE_INTEGER PerfFreq
;
3360 LARGE_INTEGER PerfTime100nSec
;
3361 DWORD SystemNameLength
;
3362 DWORD SystemNameOffset
;
3365 typedef struct _PERF_INSTANCE_DEFINITION
{
3367 DWORD ParentObjectTitleIndex
;
3368 DWORD ParentObjectInstance
;
3372 } PERF_INSTANCE_DEFINITION
;
3374 typedef struct _PERF_OBJECT_TYPE
{
3375 DWORD TotalByteLength
;
3376 DWORD DefinitionLength
;
3378 DWORD ObjectNameTitleIndex
;
3379 LPWSTR ObjectNameTitle
;
3380 DWORD ObjectHelpTitleIndex
;
3381 LPWSTR ObjectHelpTitle
;
3384 DWORD DefaultCounter
;
3387 LARGE_INTEGER PerfTime
;
3388 LARGE_INTEGER PerfFreq
;
3391 typedef struct _POLYTEXT
{
3401 typedef struct _PORT_INFO_1
{
3405 typedef struct _PORT_INFO_2
{
3413 typedef struct _PREVENT_MEDIA_REMOVAL
{
3414 BOOLEAN PreventMediaRemoval
;
3415 } PREVENT_MEDIA_REMOVAL
;
3417 typedef struct tagPD
{
3429 HINSTANCE hInstance
;
3431 LPPRINTHOOKPROC lpfnPrintHook
;
3432 LPSETUPHOOKPROC lpfnSetupHook
;
3433 LPCTSTR lpPrintTemplateName
;
3434 LPCTSTR lpSetupTemplateName
;
3435 HANDLE hPrintTemplate
;
3436 HANDLE hSetupTemplate
;
3437 } PRINTDLG PACKED
, *LPPRINTDLG PACKED
;
3439 typedef struct _PRINTER_DEFAULTS
{
3442 ACCESS_MASK DesiredAccess
;
3445 typedef struct _PRINTER_INFO_1
{
3447 LPTSTR pDescription
;
3450 } PRINTER_INFO_1
, *PPRINTER_INFO_1
, *LPPRINTER_INFO_1
;
3452 typedef struct _PRINTER_INFO_2
{
3454 LPTSTR pPrinterName
;
3462 LPTSTR pPrintProcessor
;
3465 PSECURITY_DESCRIPTOR pSecurityDescriptor
;
3468 DWORD DefaultPriority
;
3476 typedef struct _PRINTER_INFO_3
{
3477 PSECURITY_DESCRIPTOR pSecurityDescriptor
;
3480 typedef struct _PRINTER_INFO_4
{
3481 LPTSTR pPrinterName
;
3486 typedef struct _PRINTER_INFO_5
{
3487 LPTSTR pPrinterName
;
3490 DWORD DeviceNotSelectedTimeout
;
3491 DWORD TransmissionRetryTimeout
;
3494 typedef struct _PRINTER_NOTIFY_INFO_DATA
{
3506 } PRINTER_NOTIFY_INFO_DATA
;
3508 typedef struct _PRINTER_NOTIFY_INFO
{
3512 PRINTER_NOTIFY_INFO_DATA aData
[1];
3513 } PRINTER_NOTIFY_INFO
;
3515 typedef struct _PRINTER_NOTIFY_OPTIONS_TYPE
{
3522 } PRINTER_NOTIFY_OPTIONS_TYPE
, *PPRINTER_NOTIFY_OPTIONS_TYPE
;
3524 typedef struct _PRINTER_NOTIFY_OPTIONS
{
3528 PPRINTER_NOTIFY_OPTIONS_TYPE pTypes
;
3529 } PRINTER_NOTIFY_OPTIONS
;
3531 typedef struct _PRINTPROCESSOR_INFO_1
{
3533 } PRINTPROCESSOR_INFO_1
;
3536 typedef struct _PROCESS_HEAP_ENTRY
{
3542 DWORD dwCommittedSize
;
3543 DWORD dwUnCommittedSize
;
3544 LPVOID lpFirstBlock
;
3547 } PROCESS_HEAPENTRY
, *LPPROCESS_HEAP_ENTRY
;
3549 typedef struct _PROCESS_INFORMATION
{
3554 } PROCESS_INFORMATION
, *LPPROCESS_INFORMATION
;
3556 typedef UINT
CALLBACK (*LPFNPSPCALLBACK
) (HWND
, UINT
, LPVOID
);
3558 typedef struct _PROPSHEETPAGE
{
3561 HINSTANCE hInstance
;
3563 LPCTSTR pszTemplate
;
3564 LPCDLGTEMPLATE pResource
;
3573 LPFNPSPCALLBACK pfnCallback
;
3575 } PROPSHEETPAGE
, *LPPROPSHEETPAGE
;
3576 typedef const PROPSHEETPAGE
*LPCPROPSHEETPAGE
;
3578 typedef struct _PSP
*HPROPSHEETPAGE
;
3579 typedef struct _PROPSHEETHEADER
{
3583 HINSTANCE hInstance
;
3595 LPCPROPSHEETPAGE ppsp
;
3596 HPROPSHEETPAGE
*phpage
;
3598 PFNPROPSHEETCALLBACK pfnCallback
;
3599 } PROPSHEETHEADER
, *LPPROPSHEETHEADER
;
3600 typedef const PROPSHEETHEADER
*LPCPROPSHEETHEADER
;
3602 /* PropertySheet callbacks */
3603 typedef WINBOOL
CALLBACK (*LPFNADDPROPSHEETPAGE
) (HPROPSHEETPAGE
, LPARAM
);
3604 typedef WINBOOL
CALLBACK (*LPFNADDPROPSHEETPAGES
) (LPVOID
,
3605 LPFNADDPROPSHEETPAGE
,
3608 typedef struct _PROTOCOL_INFO
{
3609 DWORD dwServiceFlags
;
3615 DWORD dwMessageSize
;
3619 typedef struct _PROVIDOR_INFO_1
{
3621 LPTSTR pEnvironment
;
3625 typedef struct _PSHNOTIFY
{
3628 } PSHNOTIFY
, *LPPSHNOTIFY
;
3630 typedef struct _punctuation
{
3632 LPSTR szPunctuation
;
3635 typedef struct _QUERY_SERVICE_CONFIG
{
3636 DWORD dwServiceType
;
3638 DWORD dwErrorControl
;
3639 LPTSTR lpBinaryPathName
;
3640 LPTSTR lpLoadOrderGroup
;
3642 LPTSTR lpDependencies
;
3643 LPTSTR lpServiceStartName
;
3644 LPTSTR lpDisplayName
;
3645 } QUERY_SERVICE_CONFIG
, *LPQUERY_SERVICE_CONFIG
;
3647 typedef struct _QUERY_SERVICE_LOCK_STATUS
{
3650 DWORD dwLockDuration
;
3651 } QUERY_SERVICE_LOCK_STATUS
, *LPQUERY_SERVICE_LOCK_STATUS
;
3653 typedef struct _RASAMB
{
3656 TCHAR szNetBiosError
[ NETBIOS_NAME_LEN
+ 1 ];
3660 typedef struct _RASCONN
{
3663 TCHAR szEntryName
[RAS_MaxEntryName
+ 1];
3665 CHAR szDeviceType
[ RAS_MaxDeviceType
+ 1 ];
3666 CHAR szDeviceName
[ RAS_MaxDeviceName
+ 1 ];
3669 typedef struct _RASCONNSTATUS
{
3671 RASCONNSTATE rasconnstate
;
3673 TCHAR szDeviceType
[RAS_MaxDeviceType
+ 1];
3674 TCHAR szDeviceName
[RAS_MaxDeviceName
+ 1];
3677 typedef struct _RASDIALEXTENSIONS
{
3682 } RASDIALEXTENSIONS
;
3684 typedef struct _RASDIALPARAMS
{
3686 TCHAR szEntryName
[RAS_MaxEntryName
+ 1];
3687 TCHAR szPhoneNumber
[RAS_MaxPhoneNumber
+ 1];
3688 TCHAR szCallbackNumber
[RAS_MaxCallbackNumber
+ 1];
3689 TCHAR szUserName
[UNLEN
+ 1];
3690 TCHAR szPassword
[PWLEN
+ 1];
3691 TCHAR szDomain
[DNLEN
+ 1] ;
3694 typedef struct _RASENTRYNAME
{
3696 TCHAR szEntryName
[RAS_MaxEntryName
+ 1];
3699 typedef struct _RASPPPIP
{
3702 TCHAR szIpAddress
[ RAS_MaxIpAddress
+ 1 ];
3705 typedef struct _RASPPPIPX
{
3708 TCHAR szIpxAddress
[ RAS_MaxIpxAddress
+ 1 ];
3711 typedef struct _RASPPPNBF
{
3714 DWORD dwNetBiosError
;
3715 TCHAR szNetBiosError
[ NETBIOS_NAME_LEN
+ 1 ];
3716 TCHAR szWorkstationName
[ NETBIOS_NAME_LEN
+ 1 ];
3720 typedef struct _RASTERIZER_STATUS
{
3724 } RASTERIZER_STATUS
, *LPRASTERIZER_STATUS
;
3726 typedef struct _REASSIGN_BLOCKS
{
3729 DWORD BlockNumber
[1];
3732 typedef struct _REMOTE_NAME_INFO
{
3733 LPTSTR lpUniversalName
;
3734 LPTSTR lpConnectionName
;
3735 LPTSTR lpRemainingPath
;
3740 typedef struct _reobject {
3744 LPOLEOBJECT poleobj;
3746 LPOLECLIENTSITE polesite;
3754 typedef struct _repastespecial
{
3759 typedef struct _reqresize
{
3764 typedef struct _RGNDATAHEADER
{
3772 typedef struct _RGNDATA
{
3775 } RGNDATA
, *LPRGNDATA
;
3777 typedef struct tagSCROLLINFO
{
3785 } SCROLLINFO
, *LPSCROLLINFO
;
3786 typedef SCROLLINFO
const *LPCSCROLLINFO
;
3788 typedef struct _SECURITY_ATTRIBUTES
{
3790 LPVOID lpSecurityDescriptor
;
3791 WINBOOL bInheritHandle
;
3792 } SECURITY_ATTRIBUTES
, *LPSECURITY_ATTRIBUTES
;
3794 typedef DWORD SECURITY_INFORMATION
, *PSECURITY_INFORMATION
;
3796 typedef struct _selchange
{
3802 typedef struct tagSERIALKEYS
{
3805 LPSTR lpszActivePort
;
3809 } SERIALKEYS
, * LPSERIALKEYS
;
3811 typedef struct _SERVICE_TABLE_ENTRY
{
3812 LPTSTR lpServiceName
;
3813 LPSERVICE_MAIN_FUNCTION lpServiceProc
;
3814 } SERVICE_TABLE_ENTRY
, *LPSERVICE_TABLE_ENTRY
;
3816 typedef struct _SERVICE_TYPE_VALUE_ABS
{
3822 } SERVICE_TYPE_VALUE_ABS
;
3824 typedef struct _SERVICE_TYPE_INFO_ABS
{
3827 SERVICE_TYPE_VALUE_ABS Values
[1];
3828 } SERVICE_TYPE_INFO_ABS
;
3830 typedef struct _SESSION_BUFFER
{
3833 UCHAR local_name
[NCBNAMSZ
];
3834 UCHAR remote_name
[NCBNAMSZ
];
3835 UCHAR rcvs_outstanding
;
3836 UCHAR sends_outstanding
;
3839 typedef struct _SESSION_HEADER
{
3842 UCHAR rcv_dg_outstanding
;
3843 UCHAR rcv_any_outstanding
;
3846 typedef struct _SET_PARTITION_INFORMATION
{
3848 } SET_PARTITION_INFORMATION
;
3850 typedef enum tagSHCONTF
{
3851 SHCONTF_FOLDERS
= 32,
3852 SHCONTF_NONFOLDERS
= 64,
3853 SHCONTF_INCLUDEHIDDEN
= 128,
3856 typedef struct _SHFILEINFO
{
3860 char szDisplayName
[MAX_PATH
];
3861 char szTypeName
[80];
3864 typedef WORD FILEOP_FLAGS
;
3865 typedef struct _SHFILEOPSTRUCT
{
3870 FILEOP_FLAGS fFlags
;
3871 WINBOOL fAnyOperationsAborted
;
3872 LPVOID hNameMappings
;
3873 LPCSTR lpszProgressTitle
;
3874 } SHFILEOPSTRUCT
, *LPSHFILEOPSTRUCT
;
3876 typedef enum tagSHGDN
{
3879 SHGDN_FORPARSING
= 0x8000,
3882 typedef struct _SHNAMEMAPPING
{
3887 } SHNAMEMAPPING
, *LPSHNAMEMAPPING
;
3889 typedef struct _SID_AND_ATTRIBUTES
{
3892 } SID_AND_ATTRIBUTES
;
3894 typedef SID_AND_ATTRIBUTES SID_AND_ATTRIBUTES_ARRAY
[ANYSIZE_ARRAY
];
3895 typedef SID_AND_ATTRIBUTES_ARRAY
*PSID_AND_ATTRIBUTES_ARRAY
;
3898 typedef struct tagSOUNDSENTRY
{
3901 DWORD iFSTextEffect
;
3902 DWORD iFSTextEffectMSec
;
3903 DWORD iFSTextEffectColorBits
;
3904 DWORD iFSGrafEffect
;
3905 DWORD iFSGrafEffectMSec
;
3906 DWORD iFSGrafEffectColor
;
3907 DWORD iWindowsEffect
;
3908 DWORD iWindowsEffectMSec
;
3909 LPTSTR lpszWindowsEffectDLL
;
3910 DWORD iWindowsEffectOrdinal
;
3911 } SOUNDSENTRY
, *LPSOUNDSENTRY
;
3913 typedef struct _STARTUPINFO
{
3922 DWORD dwXCountChars
;
3923 DWORD dwYCountChars
;
3924 DWORD dwFillAttribute
;
3932 } STARTUPINFO
, *LPSTARTUPINFO
;
3934 typedef struct tagSTICKYKEYS
{
3937 } STICKYKEYS
, *LPSTICKYKEYS
;
3939 typedef struct _STRRET
{
3945 char cStr
[MAX_PATH
];
3947 } STRRET
, *LPSTRRET
;
3949 typedef struct _tagSTYLEBUF
{
3951 CHAR szDescription
[32];
3952 } STYLEBUF
, *LPSTYLEBUF
;
3954 typedef struct tagSTYLESTRUCT
{
3957 } STYLESTRUCT
, * LPSTYLESTRUCT
;
3959 typedef struct _SYSTEM_AUDIT_ACE
{
3965 typedef struct _SYSTEM_INFO
3972 WORD wProcessorArchitecture
;
3979 LPVOID lpMinimumApplicationAddress
;
3980 LPVOID lpMaximumApplicationAddress
;
3981 DWORD dwActiveProcessorMask
;
3982 DWORD dwNumberOfProcessors
;
3983 DWORD dwProcessorType
;
3984 DWORD dwAllocationGranularity
;
3985 WORD wProcessorLevel
;
3986 WORD wProcessorRevision
;
3987 } SYSTEM_INFO
, *LPSYSTEM_INFO
;
3989 typedef struct _SYSTEM_POWER_STATUS
{
3992 BYTE BatteryLifePercent
;
3994 DWORD BatteryLifeTime
;
3995 DWORD BatteryFullLifeTime
;
3996 } SYSTEM_POWER_STATUS
;
3997 typedef struct SYSTEM_POWER_STATUS
*LPSYSTEM_POWER_STATUS
;
3999 typedef struct _TAPE_ERASE
{
4003 typedef struct _TAPE_GET_DRIVE_PARAMETERS
{
4005 BOOLEAN Compression
;
4006 BOOLEAN DataPadding
;
4007 BOOLEAN ReportSetmarks
;
4008 ULONG DefaultBlockSize
;
4009 ULONG MaximumBlockSize
;
4010 ULONG MinimumBlockSize
;
4011 ULONG MaximumPartitionCount
;
4014 ULONG EOTWarningZoneSize
;
4015 } TAPE_GET_DRIVE_PARAMETERS
;
4017 typedef struct _TAPE_GET_MEDIA_PARAMETERS
{
4018 LARGE_INTEGER Capacity
;
4019 LARGE_INTEGER Remaining
;
4021 DWORD PartitionCount
;
4022 BOOLEAN WriteProtected
;
4023 } TAPE_GET_MEDIA_PARAMETERS
;
4025 typedef struct _TAPE_GET_POSITION
{
4030 } TAPE_GET_POSITION
;
4032 typedef struct _TAPE_PREPARE
{
4036 typedef struct _TAPE_SET_DRIVE_PARAMETERS
{
4038 BOOLEAN Compression
;
4039 BOOLEAN DataPadding
;
4040 BOOLEAN ReportSetmarks
;
4041 ULONG EOTWarningZoneSize
;
4042 } TAPE_SET_DRIVE_PARAMETERS
;
4044 typedef struct _TAPE_SET_MEDIA_PARAMETERS
{
4046 } TAPE_SET_MEDIA_PARAMETERS
;
4048 typedef struct _TAPE_SET_POSITION
{
4053 } TAPE_SET_POSITION
;
4055 typedef struct _TAPE_WRITE_MARKS
{
4063 } TBADDBITMAP
, *LPTBADDBITMAP
;
4065 typedef struct _TBBUTTON
{
4072 } TBBUTTON
, * PTBBUTTON
, * LPTBBUTTON
;
4073 typedef const TBBUTTON
* LPCTBBUTTON
;
4081 } TBNOTIFY
, *LPTBNOTIFY
;
4086 LPCTSTR pszValueName
;
4089 typedef struct _TC_HITTESTINFO
{
4094 typedef struct _TC_ITEM
{
4104 typedef struct _TC_ITEMHEADER
{
4113 typedef struct _TC_KEYDOWN
{
4119 typedef struct _textrange
{
4124 typedef struct _TIME_ZONE_INFORMATION
{
4126 WCHAR StandardName
[ 32 ];
4127 SYSTEMTIME StandardDate
;
4129 WCHAR DaylightName
[ 32 ];
4130 SYSTEMTIME DaylightDate
;
4132 } TIME_ZONE_INFORMATION
, *LPTIME_ZONE_INFORMATION
;
4134 typedef struct tagTOGGLEKEYS
{
4139 typedef struct _TOKEN_CONTROL
{
4141 LUID AuthenticationId
;
4143 TOKEN_SOURCE TokenSource
;
4146 typedef struct _TOKEN_DEFAULT_DACL
{
4148 } TOKEN_DEFAULT_DACL
;
4150 typedef struct _TOKEN_GROUPS
{
4152 SID_AND_ATTRIBUTES Groups
[ANYSIZE_ARRAY
];
4153 } TOKEN_GROUPS
, *PTOKEN_GROUPS
, *LPTOKEN_GROUPS
;
4155 typedef struct _TOKEN_OWNER
{
4159 typedef struct _TOKEN_PRIMARY_GROUP
{
4161 } TOKEN_PRIMARY_GROUP
;
4163 typedef struct _TOKEN_PRIVILEGES
{
4164 DWORD PrivilegeCount
;
4165 LUID_AND_ATTRIBUTES Privileges
[ANYSIZE_ARRAY
];
4166 } TOKEN_PRIVILEGES
, *PTOKEN_PRIVILEGES
, *LPTOKEN_PRIVILEGES
;
4168 typedef struct _TOKEN_STATISTICS
{
4170 LUID AuthenticationId
;
4171 LARGE_INTEGER ExpirationTime
;
4172 TOKEN_TYPE TokenType
;
4173 SECURITY_IMPERSONATION_LEVEL ImpersonationLevel
;
4174 DWORD DynamicCharged
;
4175 DWORD DynamicAvailable
;
4177 DWORD PrivilegeCount
;
4181 typedef struct _TOKEN_USER
{
4182 SID_AND_ATTRIBUTES User
;
4193 } TOOLINFO
, *PTOOLINFO
, *LPTOOLINFO
;
4201 } TOOLTIPTEXT
, *LPTOOLTIPTEXT
;
4203 typedef struct tagTPMPARAMS
{
4206 } TPMPARAMS
, *LPTPMPARAMS
;
4208 typedef struct _TRANSMIT_FILE_BUFFERS
{
4213 } TRANSMIT_FILE_BUFFERS
;
4215 typedef struct _TT_HITTESTINFO
{
4219 } TTHITTESTINFO
, * LPHITTESTINFO
;
4221 typedef struct tagTTPOLYCURVE
{
4225 } TTPOLYCURVE
, * LPTTPOLYCURVE
;
4227 typedef struct _TTPOLYGONHEADER
{
4231 } TTPOLYGONHEADER
, * LPTTPOLYGONHEADER
;
4233 typedef struct _TV_DISPINFO
{
4238 typedef struct _TVHITTESTINFO
{
4242 } TV_HITTESTINFO
, *LPTV_HITTESTINFO
;
4244 typedef struct _TV_INSERTSTRUCT
{
4246 HTREEITEM hInsertAfter
;
4248 } TV_INSERTSTRUCT
, *LPTV_INSERTSTRUCT
;
4250 typedef struct _TV_KEYDOWN
{
4256 typedef struct _TV_SORTCB
{
4258 PFNTVCOMPARE lpfnCompare
;
4260 } TV_SORTCB
, *LPTV_SORTCB
;
4267 typedef struct _UNIVERSAL_NAME_INFO
{
4268 LPTSTR lpUniversalName
;
4269 } UNIVERSAL_NAME_INFO
;
4271 typedef struct tagUSEROBJECTFLAGS
{
4277 typedef struct _VERIFY_INFORMATION
{
4278 LARGE_INTEGER StartingOffset
;
4280 } VERIFY_INFORMATION
;
4282 typedef struct _VS_FIXEDFILEINFO
{
4284 DWORD dwStrucVersion
;
4285 DWORD dwFileVersionMS
;
4286 DWORD dwFileVersionLS
;
4287 DWORD dwProductVersionMS
;
4288 DWORD dwProductVersionLS
;
4289 DWORD dwFileFlagsMask
;
4293 DWORD dwFileSubtype
;
4298 typedef struct _WIN32_FIND_DATA
{
4299 DWORD dwFileAttributes
;
4300 FILETIME ftCreationTime
;
4301 FILETIME ftLastAccessTime
;
4302 FILETIME ftLastWriteTime
;
4303 DWORD nFileSizeHigh
;
4307 TCHAR cFileName
[ MAX_PATH
];
4308 TCHAR cAlternateFileName
[ 14 ];
4309 } WIN32_FIND_DATA
, *LPWIN32_FIND_DATA
, *PWIN32_FIND_DATA
;
4311 typedef struct _WIN32_STREAM_ID
{
4313 DWORD dwStreamAttributes
;
4315 DWORD dwStreamNameSize
;
4316 WCHAR
*cStreamName
;
4319 typedef struct _WINDOWPLACEMENT
{
4323 POINT ptMinPosition
;
4324 POINT ptMaxPosition
;
4325 RECT rcNormalPosition
;
4328 typedef struct _WNDCLASS
{
4330 WNDPROC lpfnWndProc
;
4336 HBRUSH hbrBackground
;
4337 LPCTSTR lpszMenuName
;
4338 LPCTSTR lpszClassName
;
4339 } WNDCLASS
, *LPWNDCLASS
;
4341 typedef struct _WNDCLASSEX
{
4344 WNDPROC lpfnWndProc
;
4350 HBRUSH hbrBackground
;
4351 LPCTSTR lpszMenuName
;
4352 LPCTSTR lpszClassName
;
4354 } WNDCLASSEX
, *LPWNDCLASSEX
;
4356 typedef struct _CONNECTDLGSTRUCT
{
4359 LPNETRESOURCE lpConnRes
;
4362 } CONNECTDLGSTRUCT
, *LPCONNECTDLGSTRUCT
;
4364 typedef struct _DISCDLGSTRUCT
{
4368 LPTSTR lpRemoteName
;
4370 } DISCDLGSTRUCT
, *LPDISCDLGSTRUCT
;
4372 typedef struct _NETINFOSTRUCT
{
4374 DWORD dwProviderVersion
;
4376 DWORD dwCharacteristics
;
4381 } NETINFOSTRUCT
, *LPNETINFOSTRUCT
;
4383 typedef struct _NETCONNECTINFOSTRUCT
{
4388 DWORD dwOptDataSize
;
4389 } NETCONNECTINFOSTRUCT
, *LPNETCONNECTINFOSTRUCT
;
4391 typedef int CALLBACK (*ENUMMETAFILEPROC
) (HDC
, HANDLETABLE
,
4392 METARECORD
, int, LPARAM
);
4393 typedef int CALLBACK (*ENHMETAFILEPROC
) (HDC
, HANDLETABLE
,
4394 ENHMETARECORD
, int, LPARAM
);
4396 typedef int CALLBACK (*ENUMFONTSPROC
) (LPLOGFONT
, LPTEXTMETRIC
, DWORD
, LPARAM
);
4397 typedef int CALLBACK (*FONTENUMPROC
) (ENUMLOGFONT
*, NEWTEXTMETRIC
*,
4399 typedef int CALLBACK (*FONTENUMEXPROC
) (ENUMLOGFONTEX
*, NEWTEXTMETRICEX
*,
4402 typedef VOID
CALLBACK (*LPOVERLAPPED_COMPLETION_ROUTINE
) (DWORD
, DWORD
,
4406 Structures for the extensions to OpenGL
4408 typedef struct _POINTFLOAT
4412 } POINTFLOAT
, *PPOINTFLOAT
;
4414 typedef struct _GLYPHMETRICSFLOAT
4418 POINTFLOAT gmfptGlyphOrigin
;
4421 } GLYPHMETRICSFLOAT
, *PGLYPHMETRICSFLOAT
, *LPGLYPHMETRICSFLOAT
;
4423 typedef struct tagLAYERPLANEDESCRIPTOR
4440 BYTE cAccumGreenBits
;
4441 BYTE cAccumBlueBits
;
4442 BYTE cAccumAlphaBits
;
4448 COLORREF crTransparent
;
4449 } LAYERPLANEDESCRIPTOR
, *PLAYERPLANEDESCRIPTOR
, *LPLAYERPLANEDESCRIPTOR
;
4451 typedef struct tagPIXELFORMATDESCRIPTOR
4468 BYTE cAccumGreenBits
;
4469 BYTE cAccumBlueBits
;
4470 BYTE cAccumAlphaBits
;
4477 DWORD dwVisibleMask
;
4479 } PIXELFORMATDESCRIPTOR
, *PPIXELFORMATDESCRIPTOR
, *LPPIXELFORMATDESCRIPTOR
;
4484 LPWSTR usri2_password
;
4485 DWORD usri2_password_age
;
4487 LPWSTR usri2_home_dir
;
4488 LPWSTR usri2_comment
;
4490 LPWSTR usri2_script_path
;
4491 DWORD usri2_auth_flags
;
4492 LPWSTR usri2_full_name
;
4493 LPWSTR usri2_usr_comment
;
4495 LPWSTR usri2_workstations
;
4496 DWORD usri2_last_logon
;
4497 DWORD usri2_last_logoff
;
4498 DWORD usri2_acct_expires
;
4499 DWORD usri2_max_storage
;
4500 DWORD usri2_units_per_week
;
4501 PBYTE usri2_logon_hours
;
4502 DWORD usri2_bad_pw_count
;
4503 DWORD usri2_num_logons
;
4504 LPWSTR usri2_logon_server
;
4505 DWORD usri2_country_code
;
4506 DWORD usri2_code_page
;
4507 } USER_INFO_2
, *PUSER_INFO_2
, *LPUSER_INFO_2
;
4512 } USER_INFO_0
, *PUSER_INFO_0
, *LPUSER_INFO_0
;
4517 LPWSTR usri3_password
;
4518 DWORD usri3_password_age
;
4520 LPWSTR usri3_home_dir
;
4521 LPWSTR usri3_comment
;
4523 LPWSTR usri3_script_path
;
4524 DWORD usri3_auth_flags
;
4525 LPWSTR usri3_full_name
;
4526 LPWSTR usri3_usr_comment
;
4528 LPWSTR usri3_workstations
;
4529 DWORD usri3_last_logon
;
4530 DWORD usri3_last_logoff
;
4531 DWORD usri3_acct_expires
;
4532 DWORD usri3_max_storage
;
4533 DWORD usri3_units_per_week
;
4534 PBYTE usri3_logon_hours
;
4535 DWORD usri3_bad_pw_count
;
4536 DWORD usri3_num_logons
;
4537 LPWSTR usri3_logon_server
;
4538 DWORD usri3_country_code
;
4539 DWORD usri3_code_page
;
4540 DWORD usri3_user_id
;
4541 DWORD usri3_primary_group_id
;
4542 LPWSTR usri3_profile
;
4543 LPWSTR usri3_home_dir_drive
;
4544 DWORD usri3_password_expired
;
4545 } USER_INFO_3
, *PUSER_INFO_3
, *LPUSER_INFO_3
;
4550 LPWSTR grpi2_comment
;
4551 DWORD grpi2_group_id
;
4552 DWORD grpi2_attributes
;
4553 } GROUP_INFO_2
, *PGROUP_INFO_2
;
4558 } LOCALGROUP_INFO_0
, *PLOCALGROUP_INFO_0
, *LPLOCALGROUP_INFO_0
;
4560 /* PE executable header. */
4562 #ifndef WIN32_NO_PEHDR
4566 WORD e_magic
; /* Magic number, 0x5a4d */
4567 WORD e_cblp
; /* Bytes on last page of file, 0x90 */
4568 WORD e_cp
; /* Pages in file, 0x3 */
4569 WORD e_crlc
; /* Relocations, 0x0 */
4570 WORD e_cparhdr
; /* Size of header in paragraphs, 0x4 */
4571 WORD e_minalloc
; /* Minimum extra paragraphs needed, 0x0 */
4572 WORD e_maxalloc
; /* Maximum extra paragraphs needed, 0xFFFF */
4573 WORD e_ss
; /* Initial (relative) SS value, 0x0 */
4574 WORD e_sp
; /* Initial SP value, 0xb8 */
4575 WORD e_csum
; /* Checksum, 0x0 */
4576 WORD e_ip
; /* Initial IP value, 0x0 */
4577 WORD e_cs
; /* Initial (relative) CS value, 0x0 */
4578 WORD e_lfarlc
; /* File address of relocation table, 0x40 */
4579 WORD e_ovno
; /* Overlay number, 0x0 */
4580 WORD e_res
[4]; /* Reserved words, all 0x0 */
4581 WORD e_oemid
; /* OEM identifier (for e_oeminfo), 0x0 */
4582 WORD e_oeminfo
; /* OEM information; e_oemid specific, 0x0 */
4583 WORD e_res2
[10]; /* Reserved words, all 0x0 */
4584 LONG e_lfanew
; /* File address of new exe header, 0x80 */
4585 /* We leave out the next two fields, since they aren't in the
4586 Windows header file. */
4587 /* DWORD dos_message[16]; * text which always follows dos header */
4588 /* DWORD nt_signature; * required NT signature, 0x4550 */
4589 } IMAGE_DOS_HEADER
, *PIMAGE_DOS_HEADER
;
4591 #endif /* WIN32_NO_PEHDR */
4595 #endif /* __cplusplus */
4597 #endif /* WIN32_LEAN_AND_MEAN */
4599 #endif /* _GNU_H_WINDOWS32_STRUCTURES */