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
;
367 #ifndef WIN32_LEAN_AND_MEAN
371 #endif /* __cplusplus */
373 typedef struct _ABC
{
379 typedef struct _ABCFLOAT
{
383 } ABCFLOAT
, *LPABCFLOAT
;
385 typedef struct tagACCEL
{
391 typedef struct _ACE_HEADER
{
397 typedef ACCESS_MASK REGSAM
;
399 typedef struct _ACCESS_ALLOWED_ACE
{
403 } ACCESS_ALLOWED_ACE
;
405 typedef struct _ACCESS_DENIED_ACE
{
411 typedef struct tagACCESSTIMEOUT
{
417 typedef struct _ACL_REVISION_INFORMATION
{
419 } ACL_REVISION_INFORMATION
;
421 typedef struct _ACL_SIZE_INFORMATION
{
425 } ACL_SIZE_INFORMATION
;
427 typedef struct _ACTION_HEADER
{
433 typedef struct _ADAPTER_STATUS
{
434 UCHAR adapter_address
[6];
442 WORD iframe_recv_err
;
446 WORD iframe_xmit_err
;
447 WORD recv_buff_unavail
;
454 WORD xmit_buf_unavail
;
459 WORD max_sess_pkt_size
;
463 typedef struct _ADDJOB_INFO_1
{
468 typedef struct tagANIMATIONINFO
{
471 } ANIMATIONINFO
, *LPANIMATIONINFO
;
473 typedef struct _RECT
{
478 } RECT
, *LPRECT
, *PRECT
;
480 typedef struct _RECTL
{
487 typedef struct _AppBarData
{
490 UINT uCallbackMessage
;
494 } APPBARDATA
, *PAPPBARDATA
;
496 typedef struct tagBITMAP
505 } BITMAP
, *PBITMAP
, *NPBITMAP
, *LPBITMAP
;
507 typedef struct tagBITMAPCOREHEADER
{
515 typedef struct tagRGBTRIPLE
{
521 typedef struct _BITMAPCOREINFO
{
522 BITMAPCOREHEADER bmciHeader
;
523 RGBTRIPLE bmciColors
[1];
524 } BITMAPCOREINFO
, *PBITMAPCOREINFO
, *LPBITMAPCOREINFO
;
526 typedef struct tagBITMAPFILEHEADER
{
532 } BITMAPFILEHEADER
__attribute__((packed
));
534 typedef struct tagBITMAPINFOHEADER
{
542 LONG biXPelsPerMeter
;
543 LONG biYPelsPerMeter
;
545 DWORD biClrImportant
;
546 } BITMAPINFOHEADER
, *LPBITMAPINFOHEADER
, *PBITMAPINFO
;
548 typedef struct tagRGBQUAD
{
555 typedef struct tagBITMAPINFO
{
556 BITMAPINFOHEADER bmiHeader
;
557 RGBQUAD bmiColors
[1];
558 } BITMAPINFO
, *LPBITMAPINFO
;
560 typedef long FXPT2DOT30
, * LPFXPT2DOT30
;
562 typedef struct tagCIEXYZ
568 typedef CIEXYZ
* LPCIEXYZ
;
570 typedef struct tagCIEXYZTRIPLE
576 typedef CIEXYZTRIPLE
* LPCIEXYZTRIPLE
;
584 DWORD bV4V4Compression
;
586 LONG bV4XPelsPerMeter
;
587 LONG bV4YPelsPerMeter
;
589 DWORD bV4ClrImportant
;
595 CIEXYZTRIPLE bV4Endpoints
;
599 } BITMAPV4HEADER
, *LPBITMAPV4HEADER
, *PBITMAPV4HEADER
;
601 typedef struct _BLOB
{
606 typedef struct _SHITEMID
{
609 } SHITEMID
, * LPSHITEMID
;
610 typedef const SHITEMID
* LPCSHITEMID
;
612 typedef struct _ITEMIDLIST
{
614 } ITEMIDLIST
, * LPITEMIDLIST
;
615 typedef const ITEMIDLIST
* LPCITEMIDLIST
;
617 typedef struct _browseinfo
{
619 LPCITEMIDLIST pidlRoot
;
620 LPSTR pszDisplayName
;
626 } BROWSEINFO
, *PBROWSEINFO
, *LPBROWSEINFO
;
628 typedef struct _FILETIME
{
630 DWORD dwHighDateTime
;
631 } FILETIME
, *LPFILETIME
, *PFILETIME
;
633 typedef struct _BY_HANDLE_FILE_INFORMATION
{
634 DWORD dwFileAttributes
;
635 FILETIME ftCreationTime
;
636 FILETIME ftLastAccessTime
;
637 FILETIME ftLastWriteTime
;
638 DWORD dwVolumeSerialNumber
;
641 DWORD nNumberOfLinks
;
642 DWORD nFileIndexHigh
;
644 } BY_HANDLE_FILE_INFORMATION
, *LPBY_HANDLE_FILE_INFORMATION
;
646 typedef struct _FIXED
{
651 typedef struct tagPOINT
{
654 } POINT
, *LPPOINT
, *PPOINT
;
656 typedef struct tagPOINTFX
{
661 typedef struct _POINTL
{
666 typedef struct tagPOINTS
{
671 typedef struct _tagCANDIDATEFORM
{
676 } CANDIDATEFORM
, *LPCANDIDATEFORM
;
678 typedef struct _tagCANDIDATELIST
{
686 } CANDIDATELIST
, *LPCANDIDATELIST
;
688 typedef struct tagCREATESTRUCT
{
689 LPVOID lpCreateParams
;
701 } CREATESTRUCT
, *LPCREATESTRUCT
;
703 typedef struct tagCBT_CREATEWND
{
705 HWND hwndInsertAfter
;
708 typedef struct tagCBTACTIVATESTRUCT
{
713 typedef struct _CHAR_INFO
{
719 } CHAR_INFO
, *PCHAR_INFO
;
721 typedef struct _charformat
{
727 COLORREF crTextColor
;
729 BYTE bPitchAndFamily
;
730 TCHAR szFaceName
[LF_FACESIZE
];
733 typedef struct _charrange
{
738 typedef struct tagCHARSET
{
743 typedef struct tagFONTSIGNATURE
{
746 } FONTSIGNATURE
, *LPFONTSIGNATURE
;
752 } CHARSETINFO
, *LPCHARSETINFO
;
759 COLORREF
* lpCustColors
;
762 LPCCHOOKPROC lpfnHook
;
763 LPCTSTR lpTemplateName
;
764 } CHOOSECOLOR
, *LPCHOOSECOLOR
;
766 typedef struct tagLOGFONT
{
777 BYTE lfClipPrecision
;
779 BYTE lfPitchAndFamily
;
780 TCHAR lfFaceName
[LF_FACESIZE
];
781 } LOGFONT
, *LPLOGFONT
, *PLOGFONT
;
792 LPCFHOOKPROC lpfnHook
;
793 LPCTSTR lpTemplateName
;
797 WORD ___MISSING_ALIGNMENT__
;
800 } CHOOSEFONT
, *LPCHOOSEFONT
;
802 typedef struct _IDA
{
807 typedef struct tagCLIENTCREATESTRUCT
{
810 } CLIENTCREATESTRUCT
;
812 typedef CLIENTCREATESTRUCT
*LPCLIENTCREATESTRUCT
;
814 typedef struct _CMInvokeCommandInfo
{
824 } CMINVOKECOMMANDINFO
, *LPCMINVOKECOMMANDINFO
;
826 typedef struct tagCOLORADJUSTMENT
{
829 WORD caIlluminantIndex
;
833 WORD caReferenceBlack
;
834 WORD caReferenceWhite
;
837 SHORT caColorfulness
;
838 SHORT caRedGreenTint
;
839 } COLORADJUSTMENT
, *LPCOLORADJUSTMENT
;
841 typedef struct _COLORMAP
{
844 } COLORMAP
, * LPCOLORMAP
;
846 typedef struct _DCB
{
851 DWORD fOutxCtsFlow
:1;
852 DWORD fOutxDsrFlow
:1;
854 DWORD fDsrSensitivity
:1;
855 DWORD fTXContinueOnXoff
:1;
861 DWORD fAbortOnError
:1;
877 typedef struct _COMM_CONFIG
{
882 DWORD dwProviderSubType
;
883 DWORD dwProviderOffset
;
884 DWORD dwProviderSize
;
885 WCHAR wcProviderData
[1];
886 } COMMCONFIG
, *LPCOMMCONFIG
;
888 typedef struct _COMMPROP
{
897 DWORD dwProvCapabilities
;
898 DWORD dwSettableParams
;
899 DWORD dwSettableBaud
;
901 WORD wSettableStopParity
;
902 DWORD dwCurrentTxQueue
;
903 DWORD dwCurrentRxQueue
;
907 } COMMPROP
, *LPCOMMPROP
;
909 typedef struct _COMMTIMEOUTS
{
910 DWORD ReadIntervalTimeout
;
911 DWORD ReadTotalTimeoutMultiplier
;
912 DWORD ReadTotalTimeoutConstant
;
913 DWORD WriteTotalTimeoutMultiplier
;
914 DWORD WriteTotalTimeoutConstant
;
915 } COMMTIMEOUTS
,*LPCOMMTIMEOUTS
;
917 typedef struct tagCOMPAREITEMSTRUCT
{
929 COLORREF crBackground
;
933 typedef struct _tagCOMPOSITIONFORM
{
937 } COMPOSITIONFORM
, *LPCOMPOSITIONFORM
;
939 typedef struct _COMSTAT
{
947 DWORD fReserved
: 25;
950 } COMSTAT
, *LPCOMSTAT
;
952 typedef struct _CONSOLE_CURSOR_INFO
{
955 } CONSOLE_CURSOR_INFO
, *PCONSOLE_CURSOR_INFO
;
957 typedef struct _SMALL_RECT
{
962 } SMALL_RECT
, *PSMALL_RECT
;
964 typedef struct _CONSOLE_SCREEN_BUFFER_INFO
{
966 COORD dwCursorPosition
;
969 COORD dwMaximumWindowSize
;
970 } CONSOLE_SCREEN_BUFFER_INFO
, *PCONSOLE_SCREEN_BUFFER_INFO
;
972 typedef struct tagCONVCONTEXT
{
979 SECURITY_QUALITY_OF_SERVICE qos
;
982 typedef CONVCONTEXT
*PCONVCONTEXT
;
984 typedef struct tagCONVINFO
{
998 CONVCONTEXT ConvCtxt
;
1003 typedef struct tagCOPYDATASTRUCT
{
1009 typedef struct _cpinfo
{
1011 BYTE DefaultChar
[MAX_DEFAULTCHAR
];
1012 BYTE LeadByte
[MAX_LEADBYTES
];
1013 } CPINFO
, *LPCPINFO
;
1015 typedef struct tagCPLINFO
{
1022 typedef struct _CREATE_PROCESS_DEBUG_INFO
{
1026 LPVOID lpBaseOfImage
;
1027 DWORD dwDebugInfoFileOffset
;
1028 DWORD nDebugInfoSize
;
1029 LPVOID lpThreadLocalBase
;
1030 LPTHREAD_START_ROUTINE lpStartAddress
;
1033 } CREATE_PROCESS_DEBUG_INFO
;
1035 typedef struct _CREATE_THREAD_DEBUG_INFO
{
1037 LPVOID lpThreadLocalBase
;
1038 LPTHREAD_START_ROUTINE lpStartAddress
;
1039 } CREATE_THREAD_DEBUG_INFO
;
1043 typedef struct _SOCKET_ADDRESS {
1044 LPSOCKADDR lpSockaddr ;
1045 INT iSockaddrLength ;
1046 } SOCKET_ADDRESS, *PSOCKET_ADDRESS, *LPSOCKET_ADDRESS;
1050 typedef struct _CSADDR_INFO {
1051 SOCKET_ADDRESS LocalAddr;
1052 SOCKET_ADDRESS RemoteAddr;
1058 typedef struct _currencyfmt
{
1062 LPTSTR lpDecimalSep
;
1063 LPTSTR lpThousandSep
;
1066 LPTSTR lpCurrencySymbol
;
1069 typedef struct tagCURSORSHAPE
{
1077 } CURSORSHAPE
, *LPCURSORSHAPE
;
1079 typedef struct tagCWPRETSTRUCT
{
1087 typedef struct tagCWPSTRUCT
{
1094 typedef struct _DATATYPES_INFO_1
{
1099 unsigned short bAppReturnCode
:8,
1106 unsigned short reserved
:14,
1113 unsigned short unused
:12,
1123 unsigned short unused
:13,
1130 typedef struct tagDDEML_MSG_HOOK_DATA
{
1135 } DDEML_MSG_HOOK_DATA
;
1138 unsigned short unused
:13,
1146 unsigned short unused
:12,
1155 typedef struct _EXCEPTION_DEBUG_INFO
{
1156 EXCEPTION_RECORD ExceptionRecord
;
1157 DWORD dwFirstChance
;
1158 } EXCEPTION_DEBUG_INFO
;
1160 typedef struct _EXIT_PROCESS_DEBUG_INFO
{
1162 } EXIT_PROCESS_DEBUG_INFO
;
1164 typedef struct _EXIT_THREAD_DEBUG_INFO
{
1166 } EXIT_THREAD_DEBUG_INFO
;
1168 typedef struct _LOAD_DLL_DEBUG_INFO
{
1171 DWORD dwDebugInfoFileOffset
;
1172 DWORD nDebugInfoSize
;
1175 } LOAD_DLL_DEBUG_INFO
;
1177 typedef struct _UNLOAD_DLL_DEBUG_INFO
{
1179 } UNLOAD_DLL_DEBUG_INFO
;
1181 typedef struct _OUTPUT_DEBUG_STRING_INFO
{
1182 LPSTR lpDebugStringData
;
1184 WORD nDebugStringLength
;
1185 } OUTPUT_DEBUG_STRING_INFO
;
1187 typedef struct _RIP_INFO
{
1192 typedef struct _DEBUG_EVENT
{
1193 DWORD dwDebugEventCode
;
1197 EXCEPTION_DEBUG_INFO Exception
;
1198 CREATE_THREAD_DEBUG_INFO CreateThread
;
1199 CREATE_PROCESS_DEBUG_INFO CreateProcessInfo
;
1200 EXIT_THREAD_DEBUG_INFO ExitThread
;
1201 EXIT_PROCESS_DEBUG_INFO ExitProcess
;
1202 LOAD_DLL_DEBUG_INFO LoadDll
;
1203 UNLOAD_DLL_DEBUG_INFO UnloadDll
;
1204 OUTPUT_DEBUG_STRING_INFO DebugString
;
1207 } DEBUG_EVENT
, *LPDEBUG_EVENT
;
1209 typedef struct tagDEBUGHOOKINFO
{
1211 DWORD idThreadInstaller
;
1217 typedef struct tagDELETEITEMSTRUCT
{
1225 typedef struct _DEV_BROADCAST_HDR
{
1227 ULONG dbch_devicetype
;
1228 ULONG dbch_reserved
;
1229 } DEV_BROADCAST_HDR
;
1230 typedef DEV_BROADCAST_HDR
*PDEV_BROADCAST_HDR
;
1232 typedef struct _DEV_BROADCAST_OEM
{
1234 ULONG dbco_devicetype
;
1235 ULONG dbco_reserved
;
1236 ULONG dbco_identifier
;
1237 ULONG dbco_suppfunc
;
1238 } DEV_BROADCAST_OEM
;
1239 typedef DEV_BROADCAST_OEM
*PDEV_BROADCAST_OEM
;
1241 typedef struct _DEV_BROADCAST_PORT
{
1243 ULONG dbcp_devicetype
;
1244 ULONG dbcp_reserved
;
1246 } DEV_BROADCAST_PORT
;
1247 typedef DEV_BROADCAST_PORT
*PDEV_BROADCAST_PORT
;
1249 struct _DEV_BROADCAST_USERDEFINED
{
1250 struct _DEV_BROADCAST_HDR dbud_dbh
;
1251 char dbud_szName
[1];
1252 BYTE dbud_rgbUserDefined
[1];
1255 typedef struct _DEV_BROADCAST_VOLUME
{
1257 ULONG dbcv_devicetype
;
1258 ULONG dbcv_reserved
;
1259 ULONG dbcv_unitmask
;
1261 } DEV_BROADCAST_VOLUME
;
1262 typedef DEV_BROADCAST_VOLUME
*PDEV_BROADCAST_VOLUME
;
1264 typedef struct _devicemode
{
1265 BCHAR dmDeviceName
[CCHDEVICENAME
];
1267 WORD dmDriverVersion
;
1271 short dmOrientation
;
1273 short dmPaperLength
;
1277 short dmDefaultSource
;
1278 short dmPrintQuality
;
1281 short dmYResolution
;
1284 BCHAR dmFormName
[CCHFORMNAME
];
1289 DWORD dmDisplayFlags
;
1290 DWORD dmDisplayFrequency
;
1295 DWORD dmICCManufacturer
;
1297 } DEVMODE
, *LPDEVMODE
;
1299 typedef struct tagDEVNAMES
{
1304 } DEVNAMES
, *LPDEVNAMES
;
1306 typedef struct tagDIBSECTION
{
1308 BITMAPINFOHEADER dsBmih
;
1309 DWORD dsBitfields
[3];
1314 typedef struct _DISK_PERFORMANCE
{
1315 LARGE_INTEGER BytesRead
;
1316 LARGE_INTEGER BytesWritten
;
1317 LARGE_INTEGER ReadTime
;
1318 LARGE_INTEGER WriteTime
;
1322 } DISK_PERFORMANCE
;
1326 DWORD dwExtendedStyle
;
1332 } DLGITEMTEMPLATE PACKED
;
1334 typedef DLGITEMTEMPLATE
*LPDLGITEMTEMPLATE
;
1335 typedef DLGITEMTEMPLATE
*PDLGITEMTEMPLATE
;
1339 DWORD dwExtendedStyle
;
1345 } DLGTEMPLATE PACKED
;
1347 typedef DLGTEMPLATE
*LPDLGTEMPLATE
;
1348 typedef const DLGTEMPLATE
*LPCDLGTEMPLATE
;
1350 typedef struct _DOC_INFO_1
{
1356 typedef struct _DOC_INFO_2
{
1366 LPCTSTR lpszDocName
;
1368 LPCTSTR lpszDatatype
;
1376 } DRAGLISTINFO
, *LPDRAGLISTINFO
;
1378 typedef struct tagDRAWITEMSTRUCT
{
1388 } DRAWITEMSTRUCT
, *LPDRAWITEMSTRUCT
, *PDRAWITEMSTRUCT
;
1396 } DRAWTEXTPARAMS
, *LPDRAWTEXTPARAMS
;
1400 typedef struct _DRIVER_INFO_1
{
1404 typedef struct _DRIVER_INFO_2
{
1407 LPTSTR pEnvironment
;
1413 typedef struct _DRIVER_INFO_3
{
1416 LPTSTR pEnvironment
;
1421 LPTSTR pDependentFiles
;
1422 LPTSTR pMonitorName
;
1423 LPTSTR pDefaultDataType
;
1426 typedef struct _editstream
{
1429 EDITSTREAMCALLBACK pfnCallback
;
1432 typedef struct tagEMR
1438 typedef struct tagEMRANGLEARC
1445 } EMRANGLEARC
, *PEMRANGLEARC
;
1447 typedef struct tagEMRARC
1454 EMRARCTO
, *PEMRARCTO
,
1455 EMRCHORD
, *PEMRCHORD
,
1458 typedef struct _XFORM
1466 } XFORM
, *PXFORM
, *LPXFORM
;
1468 typedef struct tagEMRBITBLT
1480 COLORREF crBkColorSrc
;
1485 } EMRBITBLT
, *PEMRBITBLT
;
1487 typedef struct tagLOGBRUSH
{
1493 typedef struct tagEMRCREATEBRUSHINDIRECT
1498 } EMRCREATEBRUSHINDIRECT
, *PEMRCREATEBRUSHINDIRECT
;
1500 typedef LONG LCSCSTYPE
;
1501 typedef LONG LCSGAMUTMATCH
;
1503 typedef struct tagLOGCOLORSPACE
{
1508 LCSCSTYPE lcsCSType
;
1509 LCSGAMUTMATCH lcsIntent
;
1510 CIEXYZTRIPLE lcsEndpoints
;
1512 DWORD lcsGammaGreen
;
1514 TCHAR lcsFilename
[MAX_PATH
];
1515 } LOGCOLORSPACE
, *LPLOGCOLORSPACE
;
1517 typedef struct tagEMRCREATECOLORSPACE
1522 } EMRCREATECOLORSPACE
, *PEMRCREATECOLORSPACE
;
1524 typedef struct tagEMRCREATEDIBPATTERNBRUSHPT
1533 } EMRCREATEDIBPATTERNBRUSHPT
,
1534 PEMRCREATEDIBPATTERNBRUSHPT
;
1536 typedef struct tagEMRCREATEMONOBRUSH
1545 } EMRCREATEMONOBRUSH
, *PEMRCREATEMONOBRUSH
;
1547 typedef struct tagPALETTEENTRY
{
1552 } PALETTEENTRY
, *LPPALETTEENTRY
, *PPALETTEENTRY
;
1554 typedef struct tagLOGPALETTE
{
1557 PALETTEENTRY palPalEntry
[1];
1558 } LOGPALETTE
, *LPLOGPALETTE
, *PLOGPALETTE
;
1560 typedef struct tagEMRCREATEPALETTE
1565 } EMRCREATEPALETTE
, *PEMRCREATEPALETTE
;
1567 typedef struct tagLOGPEN
{
1573 typedef struct tagEMRCREATEPEN
1578 } EMRCREATEPEN
, *PEMRCREATEPEN
;
1580 typedef struct tagEMRELLIPSE
1584 } EMRELLIPSE
, *PEMRELLIPSE
,
1585 EMRRECTANGLE
, *PEMRRECTANGLE
;
1587 typedef struct tagEMREOF
1591 DWORD offPalEntries
;
1595 typedef struct tagEMREXCLUDECLIPRECT
1599 } EMREXCLUDECLIPRECT
, *PEMREXCLUDECLIPRECT
,
1600 EMRINTERSECTCLIPRECT
, *PEMRINTERSECTCLIPRECT
;
1602 typedef struct tagPANOSE
{
1608 BYTE bStrokeVariation
;
1615 typedef struct tagEXTLOGFONT
{
1617 BCHAR elfFullName
[LF_FULLFACESIZE
];
1618 BCHAR elfStyle
[LF_FACESIZE
];
1623 BYTE elfVendorId
[ELF_VENDOR_SIZE
];
1628 typedef struct tagEMREXTCREATEFONTINDIRECTW
1633 } EMREXTCREATEFONTINDIRECTW
,
1634 PEMREXTCREATEFONTINDIRECTW
;
1636 typedef struct tagEXTLOGPEN
{
1642 DWORD elpNumEntries
;
1643 DWORD elpStyleEntry
[1];
1646 typedef struct tagEMREXTCREATEPEN
1655 } EMREXTCREATEPEN
, *PEMREXTCREATEPEN
;
1657 typedef struct tagEMREXTFLOODFILL
1663 } EMREXTFLOODFILL
, *PEMREXTFLOODFILL
;
1665 typedef struct tagEMREXTSELECTCLIPRGN
1671 } EMREXTSELECTCLIPRGN
, *PEMREXTSELECTCLIPRGN
;
1673 typedef struct tagEMRTEXT
1675 POINTL ptlReference
;
1681 } EMRTEXT
, *PEMRTEXT
;
1683 typedef struct tagEMREXTTEXTOUTA
1687 DWORD iGraphicsMode
;
1691 } EMREXTTEXTOUTA
, *PEMREXTTEXTOUTA
,
1692 EMREXTTEXTOUTW
, *PEMREXTTEXTOUTW
;
1694 typedef struct tagEMRFILLPATH
1698 } EMRFILLPATH
, *PEMRFILLPATH
,
1699 EMRSTROKEANDFILLPATH
, *PEMRSTROKEANDFILLPATH
,
1700 EMRSTROKEPATH
, *PEMRSTROKEPATH
;
1702 typedef struct tagEMRFILLRGN
1709 } EMRFILLRGN
, *PEMRFILLRGN
;
1711 typedef struct tagEMRFORMAT
{
1718 typedef struct tagSIZE
{
1721 } SIZE
, *PSIZE
, *LPSIZE
, SIZEL
, *PSIZEL
, *LPSIZEL
;
1723 typedef struct tagEMRFRAMERGN
1731 } EMRFRAMERGN
, *PEMRFRAMERGN
;
1733 typedef struct tagEMRGDICOMMENT
1738 } EMRGDICOMMENT
, *PEMRGDICOMMENT
;
1740 typedef struct tagEMRINVERTRGN
1746 } EMRINVERTRGN
, *PEMRINVERTRGN
,
1747 EMRPAINTRGN
, *PEMRPAINTRGN
;
1749 typedef struct tagEMRLINETO
1753 } EMRLINETO
, *PEMRLINETO
,
1754 EMRMOVETOEX
, *PEMRMOVETOEX
;
1756 typedef struct tagEMRMASKBLT
1768 COLORREF crBkColorSrc
;
1781 } EMRMASKBLT
, *PEMRMASKBLT
;
1783 typedef struct tagEMRMODIFYWORLDTRANSFORM
1788 } EMRMODIFYWORLDTRANSFORM
,
1789 PEMRMODIFYWORLDTRANSFORM
;
1791 typedef struct tagEMROFFSETCLIPRGN
1795 } EMROFFSETCLIPRGN
, *PEMROFFSETCLIPRGN
;
1797 typedef struct tagEMRPLGBLT
1807 COLORREF crBkColorSrc
;
1820 } EMRPLGBLT
, *PEMRPLGBLT
;
1822 typedef struct tagEMRPOLYDRAW
1829 } EMRPOLYDRAW
, *PEMRPOLYDRAW
;
1831 typedef struct tagEMRPOLYDRAW16
1838 } EMRPOLYDRAW16
, *PEMRPOLYDRAW16
;
1840 typedef struct tagEMRPOLYLINE
1846 } EMRPOLYLINE
, *PEMRPOLYLINE
,
1847 EMRPOLYBEZIER
, *PEMRPOLYBEZIER
,
1848 EMRPOLYGON
, *PEMRPOLYGON
,
1849 EMRPOLYBEZIERTO
, *PEMRPOLYBEZIERTO
,
1850 EMRPOLYLINETO
, *PEMRPOLYLINETO
;
1852 typedef struct tagEMRPOLYLINE16
1858 } EMRPOLYLINE16
, *PEMRPOLYLINE16
,
1859 EMRPOLYBEZIER16
, *PEMRPOLYBEZIER16
,
1860 EMRPOLYGON16
, *PEMRPOLYGON16
,
1861 EMRPOLYBEZIERTO16
, *PEMRPOLYBEZIERTO16
,
1862 EMRPOLYLINETO16
, *PEMRPOLYLINETO16
;
1864 typedef struct tagEMRPOLYPOLYLINE
1870 DWORD aPolyCounts
[1];
1872 } EMRPOLYPOLYLINE
, *PEMRPOLYPOLYLINE
,
1873 EMRPOLYPOLYGON
, *PEMRPOLYPOLYGON
;
1875 typedef struct tagEMRPOLYPOLYLINE16
1881 DWORD aPolyCounts
[1];
1883 } EMRPOLYPOLYLINE16
, *PEMRPOLYPOLYLINE16
,
1884 EMRPOLYPOLYGON16
, *PEMRPOLYPOLYGON16
;
1886 typedef struct tagEMRPOLYTEXTOUTA
1890 DWORD iGraphicsMode
;
1894 EMRTEXT aemrtext
[1];
1895 } EMRPOLYTEXTOUTA
, *PEMRPOLYTEXTOUTA
,
1896 EMRPOLYTEXTOUTW
, *PEMRPOLYTEXTOUTW
;
1898 typedef struct tagEMRRESIZEPALETTE
1903 } EMRRESIZEPALETTE
, *PEMRRESIZEPALETTE
;
1905 typedef struct tagEMRRESTOREDC
1909 } EMRRESTOREDC
, *PEMRRESTOREDC
;
1911 typedef struct tagEMRROUNDRECT
1916 } EMRROUNDRECT
, *PEMRROUNDRECT
;
1918 typedef struct tagEMRSCALEVIEWPORTEXTEX
1925 } EMRSCALEVIEWPORTEXTEX
, *PEMRSCALEVIEWPORTEXTEX
,
1926 EMRSCALEWINDOWEXTEX
, *PEMRSCALEWINDOWEXTEX
;
1928 typedef struct tagEMRSELECTCOLORSPACE
1932 } EMRSELECTCOLORSPACE
, *PEMRSELECTCOLORSPACE
,
1933 EMRDELETECOLORSPACE
, *PEMRDELETECOLORSPACE
;
1934 typedef struct tagEMRSELECTOBJECT
1938 } EMRSELECTOBJECT
, *PEMRSELECTOBJECT
,
1939 EMRDELETEOBJECT
, *PEMRDELETEOBJECT
;
1941 typedef struct tagEMRSELECTPALETTE
1945 } EMRSELECTPALETTE
, *PEMRSELECTPALETTE
;
1947 typedef struct tagEMRSETARCDIRECTION
1950 DWORD iArcDirection
;
1951 } EMRSETARCDIRECTION
, *PEMRSETARCDIRECTION
;
1953 typedef struct tagEMRSETTEXTCOLOR
1957 } EMRSETBKCOLOR
, *PEMRSETBKCOLOR
,
1958 EMRSETTEXTCOLOR
, *PEMRSETTEXTCOLOR
;
1960 typedef struct tagEMRSETCOLORADJUSTMENT
1963 COLORADJUSTMENT ColorAdjustment
;
1964 } EMRSETCOLORADJUSTMENT
, *PEMRSETCOLORADJUSTMENT
;
1966 typedef struct tagEMRSETDIBITSTODEVICE
1983 } EMRSETDIBITSTODEVICE
, *PEMRSETDIBITSTODEVICE
;
1985 typedef struct tagEMRSETMAPPERFLAGS
1989 } EMRSETMAPPERFLAGS
, *PEMRSETMAPPERFLAGS
;
1991 typedef struct tagEMRSETMITERLIMIT
1995 } EMRSETMITERLIMIT
, *PEMRSETMITERLIMIT
;
1997 typedef struct tagEMRSETPALETTEENTRIES
2003 PALETTEENTRY aPalEntries
[1];
2004 } EMRSETPALETTEENTRIES
, *PEMRSETPALETTEENTRIES
;
2006 typedef struct tagEMRSETPIXELV
2011 } EMRSETPIXELV
, *PEMRSETPIXELV
;
2013 typedef struct tagEMRSETVIEWPORTEXTEX
2017 } EMRSETVIEWPORTEXTEX
, *PEMRSETVIEWPORTEXTEX
,
2018 EMRSETWINDOWEXTEX
, *PEMRSETWINDOWEXTEX
;
2020 typedef struct tagEMRSETVIEWPORTORGEX
2024 } EMRSETVIEWPORTORGEX
, *PEMRSETVIEWPORTORGEX
,
2025 EMRSETWINDOWORGEX
, *PEMRSETWINDOWORGEX
,
2026 EMRSETBRUSHORGEX
, *PEMRSETBRUSHORGEX
;
2028 typedef struct tagEMRSETWORLDTRANSFORM
2032 } EMRSETWORLDTRANSFORM
, *PEMRSETWORLDTRANSFORM
;
2034 typedef struct tagEMRSTRETCHBLT
2046 COLORREF crBkColorSrc
;
2054 } EMRSTRETCHBLT
, *PEMRSTRETCHBLT
;
2056 typedef struct tagEMRSTRETCHDIBITS
2074 } EMRSTRETCHDIBITS
, *PEMRSTRETCHDIBITS
;
2076 typedef struct tagABORTPATH
2079 } EMRABORTPATH
, *PEMRABORTPATH
,
2080 EMRBEGINPATH
, *PEMRBEGINPATH
,
2081 EMRENDPATH
, *PEMRENDPATH
,
2082 EMRCLOSEFIGURE
, *PEMRCLOSEFIGURE
,
2083 EMRFLATTENPATH
, *PEMRFLATTENPATH
,
2084 EMRWIDENPATH
, *PEMRWIDENPATH
,
2085 EMRSETMETARGN
, *PEMRSETMETARGN
,
2086 EMRSAVEDC
, *PEMRSAVEDC
,
2087 EMRREALIZEPALETTE
, *PEMRREALIZEPALETTE
;
2089 typedef struct tagEMRSELECTCLIPPATH
2093 } EMRSELECTCLIPPATH
, *PEMRSELECTCLIPPATH
,
2094 EMRSETBKMODE
, *PEMRSETBKMODE
,
2095 EMRSETMAPMODE
, *PEMRSETMAPMODE
,
2096 EMRSETPOLYFILLMODE
, *PEMRSETPOLYFILLMODE
,
2097 EMRSETROP2
, *PEMRSETROP2
,
2098 EMRSETSTRETCHBLTMODE
, *PEMRSETSTRETCHBLTMODE
,
2099 EMRSETTEXTALIGN
, *PEMRSETTEXTALIGN
,
2100 EMRENABLEICM
, *PEMRENABLEICM
;
2102 typedef struct tagNMHDR
{
2108 typedef struct _encorrecttext
{
2114 typedef struct _endropfiles
{
2134 typedef struct tagENHMETAHEADER
{
2146 DWORD offDescription
;
2149 SIZEL szlMillimeters
;
2150 } ENHMETAHEADER
, *LPENHMETAHEADER
;
2152 typedef struct tagENHMETARECORD
{
2156 } ENHMETARECORD
, *PENHMETARECORD
, *LPENHMETARECORD
;
2158 typedef struct _enprotected
{
2166 typedef struct _SERVICE_STATUS
{
2167 DWORD dwServiceType
;
2168 DWORD dwCurrentState
;
2169 DWORD dwControlsAccepted
;
2170 DWORD dwWin32ExitCode
;
2171 DWORD dwServiceSpecificExitCode
;
2174 } SERVICE_STATUS
, *LPSERVICE_STATUS
;
2176 typedef struct _ENUM_SERVICE_STATUS
{
2177 LPTSTR lpServiceName
;
2178 LPTSTR lpDisplayName
;
2179 SERVICE_STATUS ServiceStatus
;
2180 } ENUM_SERVICE_STATUS
, *LPENUM_SERVICE_STATUS
;
2182 typedef struct tagENUMLOGFONT
{
2184 BCHAR elfFullName
[LF_FULLFACESIZE
];
2185 BCHAR elfStyle
[LF_FACESIZE
];
2188 typedef struct tagENUMLOGFONTEX
{
2190 BCHAR elfFullName
[LF_FULLFACESIZE
];
2191 BCHAR elfStyle
[LF_FACESIZE
];
2192 BCHAR elfScript
[LF_FACESIZE
];
2195 typedef struct _EVENTLOGRECORD
{
2199 DWORD TimeGenerated
;
2206 DWORD ClosingRecordNumber
;
2208 DWORD UserSidLength
;
2209 DWORD UserSidOffset
;
2217 TCHAR Computername[]
2227 typedef struct tagEVENTMSG
{
2235 typedef struct _EXCEPTION_POINTERS
{
2236 PEXCEPTION_RECORD ExceptionRecord
;
2237 PCONTEXT ContextRecord
;
2238 } EXCEPTION_POINTERS
, *PEXCEPTION_POINTERS
, *LPEXCEPTION_POINTERS
;
2240 typedef struct _EXT_BUTTON
{
2244 } EXT_BUTTON
, *LPEXT_BUTTON
;
2246 typedef struct tagFILTERKEYS
{
2255 typedef struct _FIND_NAME_BUFFER
{
2257 UCHAR access_control
;
2258 UCHAR frame_control
;
2259 UCHAR destination_addr
[6];
2260 UCHAR source_addr
[6];
2261 UCHAR routing_info
[18];
2264 typedef struct _FIND_NAME_HEADER
{
2273 HINSTANCE hInstance
;
2275 LPTSTR lpstrFindWhat
;
2276 LPTSTR lpstrReplaceWith
;
2278 WORD wReplaceWithLen
;
2280 LPFRHOOKPROC lpfnHook
;
2281 LPCTSTR lpTemplateName
;
2282 } FINDREPLACE
, *LPFINDREPLACE
;
2284 typedef struct _findtext
{
2289 typedef struct _findtextex
{
2295 typedef struct _FMS_GETDRIVEINFO
{
2303 typedef struct _FMS_GETFILESEL
{
2310 typedef struct _FMS_LOAD
{
2312 TCHAR szMenuName
[MENU_TEXT_LEN
];
2317 typedef struct _FMS_TOOLBARLOAD
{
2319 LPEXT_BUTTON lpButtons
;
2326 typedef struct _FOCUS_EVENT_RECORD
{
2328 } FOCUS_EVENT_RECORD
;
2330 typedef struct _FORM_INFO_1
{
2334 RECTL ImageableArea
;
2337 typedef struct _FORMAT_PARAMETERS
{
2338 MEDIA_TYPE MediaType
;
2339 DWORD StartCylinderNumber
;
2340 DWORD EndCylinderNumber
;
2341 DWORD StartHeadNumber
;
2342 DWORD EndHeadNumber
;
2343 } FORMAT_PARAMETERS
;
2345 typedef struct _formatrange
{
2353 typedef struct tagGCP_RESULTS
{
2363 } GCP_RESULTS
, *LPGCP_RESULTS
;
2366 typedef struct _GLYPHMETRICS
{
2369 POINT gmptGlyphOrigin
;
2372 } GLYPHMETRICS
, *LPGLYPHMETRICS
;
2374 typedef struct tagHANDLETABLE
{
2375 HGDIOBJ objectHandle
[1];
2376 } HANDLETABLE
, *LPHANDLETABLE
;
2378 typedef struct _HD_HITTESTINFO
{
2384 typedef struct _HD_ITEM
{
2394 typedef struct _WINDOWPOS
{
2396 HWND hwndInsertAfter
;
2402 } WINDOWPOS
, *PWINDOWPOS
, *LPWINDOWPOS
;
2404 typedef struct _HD_LAYOUT
{
2409 typedef struct _HD_NOTIFY
{
2416 typedef struct tagHELPINFO
{
2423 } HELPINFO
, *LPHELPINFO
;
2432 TCHAR rgchMember
[2];
2435 typedef struct tagHIGHCONTRAST
{
2438 LPTSTR lpszDefaultScheme
;
2439 } HIGHCONTRAST
, * LPHIGHCONTRAST
;
2441 typedef struct tagHSZPAIR
{
2446 typedef struct _ICONINFO
{
2452 } ICONINFO
, *PICONINFO
;
2454 typedef struct tagICONMETRICS
{
2460 } ICONMETRICS
, *LPICONMETRICS
;
2462 typedef struct _IMAGEINFO
{
2470 typedef struct _WINDOW_BUFFER_SIZE_RECORD
{
2472 } WINDOW_BUFFER_SIZE_RECORD
;
2474 typedef struct _MENU_EVENT_RECORD
{
2476 } MENU_EVENT_RECORD
, *PMENU_EVENT_RECORD
;
2478 typedef struct _INPUT_RECORD
{
2481 #ifndef __cplus_plus
2482 /* this will be the wrong size in c++ */
2483 KEY_EVENT_RECORD KeyEvent
;
2485 MOUSE_EVENT_RECORD MouseEvent
;
2486 WINDOW_BUFFER_SIZE_RECORD WindowBufferSizeEvent
;
2487 MENU_EVENT_RECORD MenuEvent
;
2488 FOCUS_EVENT_RECORD FocusEvent
;
2490 } INPUT_RECORD
, *PINPUT_RECORD
;
2492 typedef struct _SYSTEMTIME
{
2501 } SYSTEMTIME
, *LPSYSTEMTIME
;
2503 typedef struct _JOB_INFO_1
{
2505 LPTSTR pPrinterName
;
2506 LPTSTR pMachineName
;
2516 SYSTEMTIME Submitted
;
2520 typedef struct _JOB_INFO_2
{
2522 LPTSTR pPrinterName
;
2523 LPTSTR pMachineName
;
2528 LPTSTR pPrintProcessor
;
2533 PSECURITY_DESCRIPTOR pSecurityDescriptor
;
2541 SYSTEMTIME Submitted
;
2543 DWORD PagesPrinted
;
2546 typedef struct tagKERNINGPAIR
{
2550 } KERNINGPAIR
, *LPKERNINGPAIR
;
2552 typedef struct _LANA_ENUM
{
2554 UCHAR lana
[MAX_LANA
];
2557 typedef struct _LDT_ENTRY
{
2574 DWORD Reserved_0
: 1;
2575 DWORD Default_Big
: 1;
2576 DWORD Granularity
: 1;
2580 } LDT_ENTRY
, *PLDT_ENTRY
, *LPLDT_ENTRY
;
2582 typedef struct tagLOCALESIGNATURE
{
2584 DWORD lsCsbDefault
[2];
2585 DWORD lsCsbSupported
[2];
2588 typedef struct _LOCALGROUP_MEMBERS_INFO_0
{
2590 } LOCALGROUP_MEMBERS_INFO_0
;
2592 typedef struct _LOCALGROUP_MEMBERS_INFO_3
{
2593 LPWSTR lgrmi3_domainandname
;
2594 } LOCALGROUP_MEMBERS_INFO_3
;
2596 typedef long FXPT16DOT16
, * LPFXPT16DOT16
;
2600 typedef LUID_AND_ATTRIBUTES LUID_AND_ATTRIBUTES_ARRAY
[ANYSIZE_ARRAY
];
2601 typedef LUID_AND_ATTRIBUTES_ARRAY
*PLUID_AND_ATTRIBUTES_ARRAY
;
2603 typedef struct _LV_COLUMN
{
2612 typedef struct _LV_ITEM
{
2624 typedef struct tagLV_DISPINFO
{
2629 typedef struct _LV_FINDINFO
{
2637 typedef struct _LV_HITTESTINFO
{
2643 typedef struct tagLV_KEYDOWN
{
2649 typedef struct _MAT2
{
2656 typedef struct tagMDICREATESTRUCT
{
2668 typedef MDICREATESTRUCT
*LPMDICREATESTRUCT
;
2670 typedef struct tagMEASUREITEMSTRUCT
{
2677 } MEASUREITEMSTRUCT
, *LPMEASUREITEMSTRUCT
;
2679 typedef struct _MEMORY_BASIC_INFORMATION
{
2681 PVOID AllocationBase
;
2682 DWORD AllocationProtect
;
2687 } MEMORY_BASIC_INFORMATION
;
2688 typedef MEMORY_BASIC_INFORMATION
*PMEMORY_BASIC_INFORMATION
;
2690 typedef struct _MEMORYSTATUS
{
2695 DWORD dwTotalPageFile
;
2696 DWORD dwAvailPageFile
;
2697 DWORD dwTotalVirtual
;
2698 DWORD dwAvailVirtual
;
2699 } MEMORYSTATUS
, *LPMEMORYSTATUS
;
2705 } MENUEX_TEMPLATE_HEADER
;
2714 } MENUEX_TEMPLATE_ITEM
;
2716 typedef struct tagMENUITEMINFO
{
2723 HBITMAP hbmpChecked
;
2724 HBITMAP hbmpUnchecked
;
2728 } MENUITEMINFO
, *LPMENUITEMINFO
;
2729 typedef MENUITEMINFO CONST
*LPCMENUITEMINFO
;
2740 } MENUITEMTEMPLATEHEADER
;
2741 typedef VOID MENUTEMPLATE
, *LPMENUTEMPLATE
;
2743 typedef struct tagMETAFILEPICT
{
2748 } METAFILEPICT
, *PMETAFILEPICT
, *LPMETAFILEPICT
;
2750 typedef struct tagMETAHEADER
{
2757 WORD mtNoParameters
;
2758 } METAHEADER PACKED
;
2760 typedef struct tagMETARECORD
{
2764 } METARECORD
, *LPMETARECORD
;
2766 typedef struct tagMINIMIZEDMETRICS
{
2772 } MINIMIZEDMETRICS
, *LPMINIMIZEDMETRICS
;
2774 typedef struct tagMINMAXINFO
{
2777 POINT ptMaxPosition
;
2778 POINT ptMinTrackSize
;
2779 POINT ptMaxTrackSize
;
2782 typedef struct modemdevcaps_tag
{
2784 DWORD dwRequiredSize
;
2785 DWORD dwDevSpecificOffset
;
2786 DWORD dwDevSpecificSize
;
2788 DWORD dwModemProviderVersion
;
2789 DWORD dwModemManufacturerOffset
;
2790 DWORD dwModemManufacturerSize
;
2791 DWORD dwModemModelOffset
;
2792 DWORD dwModemModelSize
;
2793 DWORD dwModemVersionOffset
;
2794 DWORD dwModemVersionSize
;
2796 DWORD dwDialOptions
;
2797 DWORD dwCallSetupFailTimer
;
2798 DWORD dwInactivityTimeout
;
2799 DWORD dwSpeakerVolume
;
2800 DWORD dwSpeakerMode
;
2801 DWORD dwModemOptions
;
2805 BYTE abVariablePortion
[1];
2806 } MODEMDEVCAPS
, *PMODEMDEVCAPS
, *LPMODEMDEVCAPS
;
2808 typedef struct modemsettings_tag
{
2810 DWORD dwRequiredSize
;
2811 DWORD dwDevSpecificOffset
;
2812 DWORD dwDevSpecificSize
;
2814 DWORD dwCallSetupFailTimer
;
2815 DWORD dwInactivityTimeout
;
2816 DWORD dwSpeakerVolume
;
2817 DWORD dwSpeakerMode
;
2818 DWORD dwPreferredModemOptions
;
2820 DWORD dwNegotiatedModemOptions
;
2821 DWORD dwNegotiatedDCERate
;
2823 BYTE abVariablePortion
[1];
2824 } MODEMSETTINGS
, *PMODEMSETTINGS
, *LPMODEMSETTINGS
;
2826 typedef struct tagMONCBSTRUCT
{
2844 typedef struct tagMONCONVSTRUCT
{
2855 typedef struct tagMONERRSTRUCT
{
2862 typedef struct tagMONHSZSTRUCT
{
2871 typedef struct _MONITOR_INFO_1
{
2875 typedef struct _MONITOR_INFO_2
{
2877 LPTSTR pEnvironment
;
2881 typedef struct tagMONLINKSTRUCT
{
2885 WINBOOL fEstablished
;
2896 typedef struct tagMONMSGSTRUCT
{
2904 DDEML_MSG_HOOK_DATA dmhd
;
2907 typedef struct tagMOUSEHOOKSTRUCT
{
2912 } MOUSEHOOKSTRUCT
, *PMOUSEHOOKSTRUCT
, *LPMOUSEHOOKSTRUCT
;
2914 typedef struct _MOUSEKEYS
{
2918 DWORD iTimeToMaxSpeed
;
2924 typedef struct tagMSG
{
2933 typedef void CALLBACK (*MSGBOXCALLBACK
) (LPHELPINFO lpHelpInfo
);
2938 HINSTANCE hInstance
;
2943 DWORD dwContextHelpId
;
2944 MSGBOXCALLBACK lpfnMsgBoxCallback
;
2946 } MSGBOXPARAMS
, *PMSGBOXPARAMS
, *LPMSGBOXPARAMS
;
2948 typedef struct _msgfilter
{
2955 typedef struct tagMULTIKEYHELP
{
2958 TCHAR szKeyphrase
[1];
2961 typedef struct _NAME_BUFFER
{
2962 UCHAR name
[NCBNAMSZ
];
2967 typedef struct _NCB
{
2974 UCHAR ncb_callname
[NCBNAMSZ
];
2975 UCHAR ncb_name
[NCBNAMSZ
];
2978 void (*ncb_post
) (struct _NCB
*);
2981 UCHAR ncb_reserve
[10];
2985 typedef struct _NCCALCSIZE_PARAMS
{
2988 } NCCALCSIZE_PARAMS
;
2990 typedef struct _NDDESHAREINFO
{
2992 LPTSTR lpszShareName
;
2994 LPTSTR lpszAppTopicList
;
3001 LPTSTR lpszItemList
;
3004 typedef struct _NETRESOURCE
{
3007 DWORD dwDisplayType
;
3010 LPTSTR lpRemoteName
;
3013 } NETRESOURCE
, *LPNETRESOURCE
;
3015 typedef struct tagNEWCPLINFO
{
3018 DWORD dwHelpContext
;
3023 TCHAR szHelpFile
[128];
3026 typedef struct tagNEWTEXTMETRIC
{
3030 LONG tmInternalLeading
;
3031 LONG tmExternalLeading
;
3032 LONG tmAveCharWidth
;
3033 LONG tmMaxCharWidth
;
3036 LONG tmDigitizedAspectX
;
3037 LONG tmDigitizedAspectY
;
3040 BCHAR tmDefaultChar
;
3045 BYTE tmPitchAndFamily
;
3054 typedef struct tagNEWTEXTMETRICEX
{
3055 NEWTEXTMETRIC ntmentm
;
3056 FONTSIGNATURE ntmeFontSignature
;
3059 typedef struct tagNM_LISTVIEW
{
3070 typedef struct _TREEITEM
*HTREEITEM
;
3072 typedef struct _TV_ITEM
{
3083 } TV_ITEM
, *LPTV_ITEM
;
3085 typedef struct _NM_TREEVIEW
{
3092 typedef NM_TREEVIEW
*LPNM_TREEVIEW
;
3094 typedef struct _NM_UPDOWN
{
3100 typedef struct tagNONCLIENTMETRICS
{
3107 LOGFONT lfCaptionFont
;
3108 int iSmCaptionWidth
;
3109 int iSmCaptionHeight
;
3110 LOGFONT lfSmCaptionFont
;
3114 LOGFONT lfStatusFont
;
3115 LOGFONT lfMessageFont
;
3116 } NONCLIENTMETRICS
, * LPNONCLIENTMETRICS
;
3118 typedef struct _SERVICE_ADDRESS
{
3119 DWORD dwAddressType
;
3120 DWORD dwAddressFlags
;
3121 DWORD dwAddressLength
;
3122 DWORD dwPrincipalLength
;
3127 typedef struct _SERVICE_ADDRESSES
{
3128 DWORD dwAddressCount
;
3129 SERVICE_ADDRESS Addresses
[1];
3130 } SERVICE_ADDRESSES
, *LPSERVICE_ADDRESSES
;
3132 typedef struct _GUID
3134 unsigned long Data1
;
3135 unsigned short Data2
;
3136 unsigned short Data3
;
3137 unsigned char Data4
[8];
3139 typedef GUID CLSID
, *LPCLSID
;
3141 typedef struct _SERVICE_INFO
{
3142 LPGUID lpServiceType
;
3143 LPTSTR lpServiceName
;
3146 DWORD dwDisplayHint
;
3149 LPTSTR lpMachineName
;
3150 LPSERVICE_ADDRESSES lpServiceAddress
;
3151 BLOB ServiceSpecificInfo
;
3154 typedef struct _NS_SERVICE_INFO
{
3156 SERVICE_INFO ServiceInfo
;
3159 typedef struct _numberfmt
{
3163 LPTSTR lpDecimalSep
;
3164 LPTSTR lpThousandSep
;
3168 typedef struct _OFSTRUCT
{
3174 CHAR szPathName
[OFS_MAXPATHNAME
];
3175 } OFSTRUCT
, *LPOFSTRUCT
;
3177 typedef struct tagOFN
{
3180 HINSTANCE hInstance
;
3181 LPCTSTR lpstrFilter
;
3182 LPTSTR lpstrCustomFilter
;
3183 DWORD nMaxCustFilter
;
3187 LPTSTR lpstrFileTitle
;
3188 DWORD nMaxFileTitle
;
3189 LPCTSTR lpstrInitialDir
;
3193 WORD nFileExtension
;
3194 LPCTSTR lpstrDefExt
;
3196 LPOFNHOOKPROC lpfnHook
;
3197 LPCTSTR lpTemplateName
;
3198 } OPENFILENAME
, *LPOPENFILENAME
;
3200 typedef struct _OFNOTIFY
{
3202 LPOPENFILENAME lpOFN
;
3204 } OFNOTIFY
, *LPOFNOTIFY
;
3206 typedef struct _OSVERSIONINFO
{
3207 DWORD dwOSVersionInfoSize
;
3208 DWORD dwMajorVersion
;
3209 DWORD dwMinorVersion
;
3210 DWORD dwBuildNumber
;
3212 TCHAR szCSDVersion
[ 128 ];
3213 } OSVERSIONINFO
, *POSVERSIONINFO
, *LPOSVERSIONINFO
;
3215 typedef struct tagTEXTMETRIC
{
3219 LONG tmInternalLeading
;
3220 LONG tmExternalLeading
;
3221 LONG tmAveCharWidth
;
3222 LONG tmMaxCharWidth
;
3225 LONG tmDigitizedAspectX
;
3226 LONG tmDigitizedAspectY
;
3229 BCHAR tmDefaultChar
;
3234 BYTE tmPitchAndFamily
;
3236 } TEXTMETRIC
, *LPTEXTMETRIC
;
3238 typedef struct _OUTLINETEXTMETRIC
{
3240 TEXTMETRIC otmTextMetrics
;
3242 PANOSE otmPanoseNumber
;
3243 UINT otmfsSelection
;
3245 int otmsCharSlopeRise
;
3246 int otmsCharSlopeRun
;
3252 UINT otmsCapEmHeight
;
3258 UINT otmusMinimumPPEM
;
3259 POINT otmptSubscriptSize
;
3260 POINT otmptSubscriptOffset
;
3261 POINT otmptSuperscriptSize
;
3262 POINT otmptSuperscriptOffset
;
3263 UINT otmsStrikeoutSize
;
3264 int otmsStrikeoutPosition
;
3265 int otmsUnderscoreSize
;
3266 int otmsUnderscorePosition
;
3267 PSTR otmpFamilyName
;
3271 } OUTLINETEXTMETRIC
, *LPOUTLINETEXTMETRIC
;
3273 typedef struct _OVERLAPPED
{
3279 } OVERLAPPED
, *LPOVERLAPPED
;
3281 typedef struct tagPSD
{
3290 HINSTANCE hInstance
;
3292 LPPAGESETUPHOOK lpfnPageSetupHook
;
3293 LPPAGEPAINTHOOK lpfnPagePaintHook
;
3294 LPCTSTR lpPageSetupTemplateName
;
3295 HGLOBAL hPageSetupTemplate
;
3296 } PAGESETUPDLG
, *LPPAGESETUPDLG
;
3298 typedef struct tagPAINTSTRUCT
{
3304 BYTE rgbReserved
[32];
3305 } PAINTSTRUCT
, *LPPAINTSTRUCT
;
3307 typedef struct _paraformat
{
3317 LONG rgxTabs
[MAX_TAB_STOPS
];
3320 typedef struct _PERF_COUNTER_BLOCK
{
3322 } PERF_COUNTER_BLOCK
;
3324 typedef struct _PERF_COUNTER_DEFINITION
{
3326 DWORD CounterNameTitleIndex
;
3327 LPWSTR CounterNameTitle
;
3328 DWORD CounterHelpTitleIndex
;
3329 LPWSTR CounterHelpTitle
;
3334 DWORD CounterOffset
;
3335 } PERF_COUNTER_DEFINITION
;
3337 typedef struct _PERF_DATA_BLOCK
{
3342 DWORD TotalByteLength
;
3344 DWORD NumObjectTypes
;
3345 DWORD DefaultObject
;
3346 SYSTEMTIME SystemTime
;
3347 LARGE_INTEGER PerfTime
;
3348 LARGE_INTEGER PerfFreq
;
3349 LARGE_INTEGER PerfTime100nSec
;
3350 DWORD SystemNameLength
;
3351 DWORD SystemNameOffset
;
3354 typedef struct _PERF_INSTANCE_DEFINITION
{
3356 DWORD ParentObjectTitleIndex
;
3357 DWORD ParentObjectInstance
;
3361 } PERF_INSTANCE_DEFINITION
;
3363 typedef struct _PERF_OBJECT_TYPE
{
3364 DWORD TotalByteLength
;
3365 DWORD DefinitionLength
;
3367 DWORD ObjectNameTitleIndex
;
3368 LPWSTR ObjectNameTitle
;
3369 DWORD ObjectHelpTitleIndex
;
3370 LPWSTR ObjectHelpTitle
;
3373 DWORD DefaultCounter
;
3376 LARGE_INTEGER PerfTime
;
3377 LARGE_INTEGER PerfFreq
;
3380 typedef struct _POLYTEXT
{
3390 typedef struct _PORT_INFO_1
{
3394 typedef struct _PORT_INFO_2
{
3402 typedef struct _PREVENT_MEDIA_REMOVAL
{
3403 BOOLEAN PreventMediaRemoval
;
3404 } PREVENT_MEDIA_REMOVAL
;
3406 typedef struct tagPD
{
3418 HINSTANCE hInstance
;
3420 LPPRINTHOOKPROC lpfnPrintHook
;
3421 LPSETUPHOOKPROC lpfnSetupHook
;
3422 LPCTSTR lpPrintTemplateName
;
3423 LPCTSTR lpSetupTemplateName
;
3424 HANDLE hPrintTemplate
;
3425 HANDLE hSetupTemplate
;
3426 } PRINTDLG PACKED
, *LPPRINTDLG PACKED
;
3428 typedef struct _PRINTER_DEFAULTS
{
3431 ACCESS_MASK DesiredAccess
;
3434 typedef struct _PRINTER_INFO_1
{
3436 LPTSTR pDescription
;
3439 } PRINTER_INFO_1
, *PPRINTER_INFO_1
, *LPPRINTER_INFO_1
;
3441 typedef struct _PRINTER_INFO_2
{
3443 LPTSTR pPrinterName
;
3451 LPTSTR pPrintProcessor
;
3454 PSECURITY_DESCRIPTOR pSecurityDescriptor
;
3457 DWORD DefaultPriority
;
3465 typedef struct _PRINTER_INFO_3
{
3466 PSECURITY_DESCRIPTOR pSecurityDescriptor
;
3469 typedef struct _PRINTER_INFO_4
{
3470 LPTSTR pPrinterName
;
3475 typedef struct _PRINTER_INFO_5
{
3476 LPTSTR pPrinterName
;
3479 DWORD DeviceNotSelectedTimeout
;
3480 DWORD TransmissionRetryTimeout
;
3483 typedef struct _PRINTER_NOTIFY_INFO_DATA
{
3495 } PRINTER_NOTIFY_INFO_DATA
;
3497 typedef struct _PRINTER_NOTIFY_INFO
{
3501 PRINTER_NOTIFY_INFO_DATA aData
[1];
3502 } PRINTER_NOTIFY_INFO
;
3504 typedef struct _PRINTER_NOTIFY_OPTIONS_TYPE
{
3511 } PRINTER_NOTIFY_OPTIONS_TYPE
, *PPRINTER_NOTIFY_OPTIONS_TYPE
;
3513 typedef struct _PRINTER_NOTIFY_OPTIONS
{
3517 PPRINTER_NOTIFY_OPTIONS_TYPE pTypes
;
3518 } PRINTER_NOTIFY_OPTIONS
;
3520 typedef struct _PRINTPROCESSOR_INFO_1
{
3522 } PRINTPROCESSOR_INFO_1
;
3525 typedef struct _PROCESS_HEAP_ENTRY
{
3531 DWORD dwCommittedSize
;
3532 DWORD dwUnCommittedSize
;
3533 LPVOID lpFirstBlock
;
3536 } PROCESS_HEAPENTRY
, *LPPROCESS_HEAP_ENTRY
;
3538 typedef struct _PROCESS_INFORMATION
{
3543 } PROCESS_INFORMATION
, *LPPROCESS_INFORMATION
;
3545 typedef UINT
CALLBACK (*LPFNPSPCALLBACK
) (HWND
, UINT
, LPVOID
);
3547 typedef struct _PROPSHEETPAGE
{
3550 HINSTANCE hInstance
;
3552 LPCTSTR pszTemplate
;
3553 LPCDLGTEMPLATE pResource
;
3562 LPFNPSPCALLBACK pfnCallback
;
3564 } PROPSHEETPAGE
, *LPPROPSHEETPAGE
;
3565 typedef const PROPSHEETPAGE
*LPCPROPSHEETPAGE
;
3567 typedef struct _PSP
*HPROPSHEETPAGE
;
3568 typedef struct _PROPSHEETHEADER
{
3572 HINSTANCE hInstance
;
3584 LPCPROPSHEETPAGE ppsp
;
3585 HPROPSHEETPAGE
*phpage
;
3587 PFNPROPSHEETCALLBACK pfnCallback
;
3588 } PROPSHEETHEADER
, *LPPROPSHEETHEADER
;
3589 typedef const PROPSHEETHEADER
*LPCPROPSHEETHEADER
;
3591 /* PropertySheet callbacks */
3592 typedef WINBOOL
CALLBACK (*LPFNADDPROPSHEETPAGE
) (HPROPSHEETPAGE
, LPARAM
);
3593 typedef WINBOOL
CALLBACK (*LPFNADDPROPSHEETPAGES
) (LPVOID
,
3594 LPFNADDPROPSHEETPAGE
,
3597 typedef struct _PROTOCOL_INFO
{
3598 DWORD dwServiceFlags
;
3604 DWORD dwMessageSize
;
3608 typedef struct _PROVIDOR_INFO_1
{
3610 LPTSTR pEnvironment
;
3614 typedef struct _PSHNOTIFY
{
3617 } PSHNOTIFY
, *LPPSHNOTIFY
;
3619 typedef struct _punctuation
{
3621 LPSTR szPunctuation
;
3624 typedef struct _QUERY_SERVICE_CONFIG
{
3625 DWORD dwServiceType
;
3627 DWORD dwErrorControl
;
3628 LPTSTR lpBinaryPathName
;
3629 LPTSTR lpLoadOrderGroup
;
3631 LPTSTR lpDependencies
;
3632 LPTSTR lpServiceStartName
;
3633 LPTSTR lpDisplayName
;
3634 } QUERY_SERVICE_CONFIG
, *LPQUERY_SERVICE_CONFIG
;
3636 typedef struct _QUERY_SERVICE_LOCK_STATUS
{
3639 DWORD dwLockDuration
;
3640 } QUERY_SERVICE_LOCK_STATUS
, *LPQUERY_SERVICE_LOCK_STATUS
;
3642 typedef struct _RASAMB
{
3645 TCHAR szNetBiosError
[ NETBIOS_NAME_LEN
+ 1 ];
3649 typedef struct _RASCONN
{
3652 TCHAR szEntryName
[RAS_MaxEntryName
+ 1];
3654 CHAR szDeviceType
[ RAS_MaxDeviceType
+ 1 ];
3655 CHAR szDeviceName
[ RAS_MaxDeviceName
+ 1 ];
3658 typedef struct _RASCONNSTATUS
{
3660 RASCONNSTATE rasconnstate
;
3662 TCHAR szDeviceType
[RAS_MaxDeviceType
+ 1];
3663 TCHAR szDeviceName
[RAS_MaxDeviceName
+ 1];
3666 typedef struct _RASDIALEXTENSIONS
{
3671 } RASDIALEXTENSIONS
;
3673 typedef struct _RASDIALPARAMS
{
3675 TCHAR szEntryName
[RAS_MaxEntryName
+ 1];
3676 TCHAR szPhoneNumber
[RAS_MaxPhoneNumber
+ 1];
3677 TCHAR szCallbackNumber
[RAS_MaxCallbackNumber
+ 1];
3678 TCHAR szUserName
[UNLEN
+ 1];
3679 TCHAR szPassword
[PWLEN
+ 1];
3680 TCHAR szDomain
[DNLEN
+ 1] ;
3683 typedef struct _RASENTRYNAME
{
3685 TCHAR szEntryName
[RAS_MaxEntryName
+ 1];
3688 typedef struct _RASPPPIP
{
3691 TCHAR szIpAddress
[ RAS_MaxIpAddress
+ 1 ];
3694 typedef struct _RASPPPIPX
{
3697 TCHAR szIpxAddress
[ RAS_MaxIpxAddress
+ 1 ];
3700 typedef struct _RASPPPNBF
{
3703 DWORD dwNetBiosError
;
3704 TCHAR szNetBiosError
[ NETBIOS_NAME_LEN
+ 1 ];
3705 TCHAR szWorkstationName
[ NETBIOS_NAME_LEN
+ 1 ];
3709 typedef struct _RASTERIZER_STATUS
{
3713 } RASTERIZER_STATUS
, *LPRASTERIZER_STATUS
;
3715 typedef struct _REASSIGN_BLOCKS
{
3718 DWORD BlockNumber
[1];
3721 typedef struct _REMOTE_NAME_INFO
{
3722 LPTSTR lpUniversalName
;
3723 LPTSTR lpConnectionName
;
3724 LPTSTR lpRemainingPath
;
3729 typedef struct _reobject {
3733 LPOLEOBJECT poleobj;
3735 LPOLECLIENTSITE polesite;
3743 typedef struct _repastespecial
{
3748 typedef struct _reqresize
{
3753 typedef struct _RGNDATAHEADER
{
3761 typedef struct _RGNDATA
{
3764 } RGNDATA
, *LPRGNDATA
;
3766 typedef struct tagSCROLLINFO
{
3774 } SCROLLINFO
, *LPSCROLLINFO
;
3775 typedef SCROLLINFO
const *LPCSCROLLINFO
;
3777 typedef struct _SECURITY_ATTRIBUTES
{
3779 LPVOID lpSecurityDescriptor
;
3780 WINBOOL bInheritHandle
;
3781 } SECURITY_ATTRIBUTES
, *LPSECURITY_ATTRIBUTES
;
3783 typedef DWORD SECURITY_INFORMATION
, *PSECURITY_INFORMATION
;
3785 typedef struct _selchange
{
3791 typedef struct tagSERIALKEYS
{
3794 LPSTR lpszActivePort
;
3798 } SERIALKEYS
, * LPSERIALKEYS
;
3800 typedef struct _SERVICE_TABLE_ENTRY
{
3801 LPTSTR lpServiceName
;
3802 LPSERVICE_MAIN_FUNCTION lpServiceProc
;
3803 } SERVICE_TABLE_ENTRY
, *LPSERVICE_TABLE_ENTRY
;
3805 typedef struct _SERVICE_TYPE_VALUE_ABS
{
3811 } SERVICE_TYPE_VALUE_ABS
;
3813 typedef struct _SERVICE_TYPE_INFO_ABS
{
3816 SERVICE_TYPE_VALUE_ABS Values
[1];
3817 } SERVICE_TYPE_INFO_ABS
;
3819 typedef struct _SESSION_BUFFER
{
3822 UCHAR local_name
[NCBNAMSZ
];
3823 UCHAR remote_name
[NCBNAMSZ
];
3824 UCHAR rcvs_outstanding
;
3825 UCHAR sends_outstanding
;
3828 typedef struct _SESSION_HEADER
{
3831 UCHAR rcv_dg_outstanding
;
3832 UCHAR rcv_any_outstanding
;
3835 typedef struct _SET_PARTITION_INFORMATION
{
3837 } SET_PARTITION_INFORMATION
;
3839 typedef enum tagSHCONTF
{
3840 SHCONTF_FOLDERS
= 32,
3841 SHCONTF_NONFOLDERS
= 64,
3842 SHCONTF_INCLUDEHIDDEN
= 128,
3845 typedef struct _SHFILEINFO
{
3849 char szDisplayName
[MAX_PATH
];
3850 char szTypeName
[80];
3853 typedef WORD FILEOP_FLAGS
;
3854 typedef struct _SHFILEOPSTRUCT
{
3859 FILEOP_FLAGS fFlags
;
3860 WINBOOL fAnyOperationsAborted
;
3861 LPVOID hNameMappings
;
3862 LPCSTR lpszProgressTitle
;
3863 } SHFILEOPSTRUCT
, *LPSHFILEOPSTRUCT
;
3865 typedef enum tagSHGDN
{
3868 SHGDN_FORPARSING
= 0x8000,
3871 typedef struct _SHNAMEMAPPING
{
3876 } SHNAMEMAPPING
, *LPSHNAMEMAPPING
;
3878 typedef struct _SID_AND_ATTRIBUTES
{
3881 } SID_AND_ATTRIBUTES
;
3883 typedef SID_AND_ATTRIBUTES SID_AND_ATTRIBUTES_ARRAY
[ANYSIZE_ARRAY
];
3884 typedef SID_AND_ATTRIBUTES_ARRAY
*PSID_AND_ATTRIBUTES_ARRAY
;
3887 typedef struct tagSOUNDSENTRY
{
3890 DWORD iFSTextEffect
;
3891 DWORD iFSTextEffectMSec
;
3892 DWORD iFSTextEffectColorBits
;
3893 DWORD iFSGrafEffect
;
3894 DWORD iFSGrafEffectMSec
;
3895 DWORD iFSGrafEffectColor
;
3896 DWORD iWindowsEffect
;
3897 DWORD iWindowsEffectMSec
;
3898 LPTSTR lpszWindowsEffectDLL
;
3899 DWORD iWindowsEffectOrdinal
;
3900 } SOUNDSENTRY
, *LPSOUNDSENTRY
;
3902 typedef struct _STARTUPINFO
{
3911 DWORD dwXCountChars
;
3912 DWORD dwYCountChars
;
3913 DWORD dwFillAttribute
;
3921 } STARTUPINFO
, *LPSTARTUPINFO
;
3923 typedef struct tagSTICKYKEYS
{
3926 } STICKYKEYS
, *LPSTICKYKEYS
;
3928 typedef struct _STRRET
{
3934 char cStr
[MAX_PATH
];
3936 } STRRET
, *LPSTRRET
;
3938 typedef struct _tagSTYLEBUF
{
3940 CHAR szDescription
[32];
3941 } STYLEBUF
, *LPSTYLEBUF
;
3943 typedef struct tagSTYLESTRUCT
{
3946 } STYLESTRUCT
, * LPSTYLESTRUCT
;
3948 typedef struct _SYSTEM_AUDIT_ACE
{
3954 typedef struct _SYSTEM_INFO
3961 WORD wProcessorArchitecture
;
3968 LPVOID lpMinimumApplicationAddress
;
3969 LPVOID lpMaximumApplicationAddress
;
3970 DWORD dwActiveProcessorMask
;
3971 DWORD dwNumberOfProcessors
;
3972 DWORD dwProcessorType
;
3973 DWORD dwAllocationGranularity
;
3974 WORD wProcessorLevel
;
3975 WORD wProcessorRevision
;
3976 } SYSTEM_INFO
, *LPSYSTEM_INFO
;
3978 typedef struct _SYSTEM_POWER_STATUS
{
3981 BYTE BatteryLifePercent
;
3983 DWORD BatteryLifeTime
;
3984 DWORD BatteryFullLifeTime
;
3985 } SYSTEM_POWER_STATUS
;
3986 typedef struct SYSTEM_POWER_STATUS
*LPSYSTEM_POWER_STATUS
;
3988 typedef struct _TAPE_ERASE
{
3992 typedef struct _TAPE_GET_DRIVE_PARAMETERS
{
3994 BOOLEAN Compression
;
3995 BOOLEAN DataPadding
;
3996 BOOLEAN ReportSetmarks
;
3997 ULONG DefaultBlockSize
;
3998 ULONG MaximumBlockSize
;
3999 ULONG MinimumBlockSize
;
4000 ULONG MaximumPartitionCount
;
4003 ULONG EOTWarningZoneSize
;
4004 } TAPE_GET_DRIVE_PARAMETERS
;
4006 typedef struct _TAPE_GET_MEDIA_PARAMETERS
{
4007 LARGE_INTEGER Capacity
;
4008 LARGE_INTEGER Remaining
;
4010 DWORD PartitionCount
;
4011 BOOLEAN WriteProtected
;
4012 } TAPE_GET_MEDIA_PARAMETERS
;
4014 typedef struct _TAPE_GET_POSITION
{
4019 } TAPE_GET_POSITION
;
4021 typedef struct _TAPE_PREPARE
{
4025 typedef struct _TAPE_SET_DRIVE_PARAMETERS
{
4027 BOOLEAN Compression
;
4028 BOOLEAN DataPadding
;
4029 BOOLEAN ReportSetmarks
;
4030 ULONG EOTWarningZoneSize
;
4031 } TAPE_SET_DRIVE_PARAMETERS
;
4033 typedef struct _TAPE_SET_MEDIA_PARAMETERS
{
4035 } TAPE_SET_MEDIA_PARAMETERS
;
4037 typedef struct _TAPE_SET_POSITION
{
4042 } TAPE_SET_POSITION
;
4044 typedef struct _TAPE_WRITE_MARKS
{
4052 } TBADDBITMAP
, *LPTBADDBITMAP
;
4054 typedef struct _TBBUTTON
{
4061 } TBBUTTON
, * PTBBUTTON
, * LPTBBUTTON
;
4062 typedef const TBBUTTON
* LPCTBBUTTON
;
4070 } TBNOTIFY
, *LPTBNOTIFY
;
4075 LPCTSTR pszValueName
;
4078 typedef struct _TC_HITTESTINFO
{
4083 typedef struct _TC_ITEM
{
4093 typedef struct _TC_ITEMHEADER
{
4102 typedef struct _TC_KEYDOWN
{
4108 typedef struct _textrange
{
4113 typedef struct _TIME_ZONE_INFORMATION
{
4115 WCHAR StandardName
[ 32 ];
4116 SYSTEMTIME StandardDate
;
4118 WCHAR DaylightName
[ 32 ];
4119 SYSTEMTIME DaylightDate
;
4121 } TIME_ZONE_INFORMATION
, *LPTIME_ZONE_INFORMATION
;
4123 typedef struct tagTOGGLEKEYS
{
4128 typedef struct _TOKEN_CONTROL
{
4130 LUID AuthenticationId
;
4132 TOKEN_SOURCE TokenSource
;
4133 } TOKEN_CONTROL
, *PTOKEN_CONTROL
;
4135 typedef struct _TOKEN_DEFAULT_DACL
{
4137 } TOKEN_DEFAULT_DACL
, *PTOKEN_DEFAULT_DACL
;
4139 typedef struct _TOKEN_GROUPS
{
4141 SID_AND_ATTRIBUTES Groups
[ANYSIZE_ARRAY
];
4142 } TOKEN_GROUPS
, *PTOKEN_GROUPS
, *LPTOKEN_GROUPS
;
4144 typedef struct _TOKEN_OWNER
{
4146 } TOKEN_OWNER
, *PTOKEN_OWNER
;
4148 typedef struct _TOKEN_PRIMARY_GROUP
{
4150 } TOKEN_PRIMARY_GROUP
, *PTOKEN_PRIMARY_GROUP
;
4152 typedef struct _TOKEN_PRIVILEGES
{
4153 DWORD PrivilegeCount
;
4154 LUID_AND_ATTRIBUTES Privileges
[ANYSIZE_ARRAY
];
4155 } TOKEN_PRIVILEGES
, *PTOKEN_PRIVILEGES
, *LPTOKEN_PRIVILEGES
;
4157 typedef struct _TOKEN_STATISTICS
{
4159 LUID AuthenticationId
;
4160 LARGE_INTEGER ExpirationTime
;
4161 TOKEN_TYPE TokenType
;
4162 SECURITY_IMPERSONATION_LEVEL ImpersonationLevel
;
4163 DWORD DynamicCharged
;
4164 DWORD DynamicAvailable
;
4166 DWORD PrivilegeCount
;
4168 } TOKEN_STATISTICS
, *PTOKEN_STATISTICS
;
4170 typedef struct _TOKEN_USER
{
4171 SID_AND_ATTRIBUTES User
;
4172 } TOKEN_USER
, *PTOKEN_USER
;
4182 } TOOLINFO
, *PTOOLINFO
, *LPTOOLINFO
;
4190 } TOOLTIPTEXT
, *LPTOOLTIPTEXT
;
4192 typedef struct tagTPMPARAMS
{
4195 } TPMPARAMS
, *LPTPMPARAMS
;
4197 typedef struct _TRANSMIT_FILE_BUFFERS
{
4202 } TRANSMIT_FILE_BUFFERS
;
4204 typedef struct _TT_HITTESTINFO
{
4208 } TTHITTESTINFO
, * LPHITTESTINFO
;
4210 typedef struct tagTTPOLYCURVE
{
4214 } TTPOLYCURVE
, * LPTTPOLYCURVE
;
4216 typedef struct _TTPOLYGONHEADER
{
4220 } TTPOLYGONHEADER
, * LPTTPOLYGONHEADER
;
4222 typedef struct _TV_DISPINFO
{
4227 typedef struct _TVHITTESTINFO
{
4231 } TV_HITTESTINFO
, *LPTV_HITTESTINFO
;
4233 typedef struct _TV_INSERTSTRUCT
{
4235 HTREEITEM hInsertAfter
;
4237 } TV_INSERTSTRUCT
, *LPTV_INSERTSTRUCT
;
4239 typedef struct _TV_KEYDOWN
{
4245 typedef struct _TV_SORTCB
{
4247 PFNTVCOMPARE lpfnCompare
;
4249 } TV_SORTCB
, *LPTV_SORTCB
;
4256 typedef struct _UNIVERSAL_NAME_INFO
{
4257 LPTSTR lpUniversalName
;
4258 } UNIVERSAL_NAME_INFO
;
4260 typedef struct tagUSEROBJECTFLAGS
{
4266 typedef struct _VERIFY_INFORMATION
{
4267 LARGE_INTEGER StartingOffset
;
4269 } VERIFY_INFORMATION
;
4271 typedef struct _VS_FIXEDFILEINFO
{
4273 DWORD dwStrucVersion
;
4274 DWORD dwFileVersionMS
;
4275 DWORD dwFileVersionLS
;
4276 DWORD dwProductVersionMS
;
4277 DWORD dwProductVersionLS
;
4278 DWORD dwFileFlagsMask
;
4282 DWORD dwFileSubtype
;
4287 typedef struct _WIN32_FIND_DATA
{
4288 DWORD dwFileAttributes
;
4289 FILETIME ftCreationTime
;
4290 FILETIME ftLastAccessTime
;
4291 FILETIME ftLastWriteTime
;
4292 DWORD nFileSizeHigh
;
4296 TCHAR cFileName
[ MAX_PATH
];
4297 TCHAR cAlternateFileName
[ 14 ];
4298 } WIN32_FIND_DATA
, *LPWIN32_FIND_DATA
, *PWIN32_FIND_DATA
;
4300 typedef struct _WIN32_STREAM_ID
{
4302 DWORD dwStreamAttributes
;
4304 DWORD dwStreamNameSize
;
4305 WCHAR
*cStreamName
;
4308 typedef struct _WINDOWPLACEMENT
{
4312 POINT ptMinPosition
;
4313 POINT ptMaxPosition
;
4314 RECT rcNormalPosition
;
4317 typedef struct _WNDCLASS
{
4319 WNDPROC lpfnWndProc
;
4325 HBRUSH hbrBackground
;
4326 LPCTSTR lpszMenuName
;
4327 LPCTSTR lpszClassName
;
4328 } WNDCLASS
, *LPWNDCLASS
;
4330 typedef struct _WNDCLASSEX
{
4333 WNDPROC lpfnWndProc
;
4339 HBRUSH hbrBackground
;
4340 LPCTSTR lpszMenuName
;
4341 LPCTSTR lpszClassName
;
4343 } WNDCLASSEX
, *LPWNDCLASSEX
;
4345 typedef struct _CONNECTDLGSTRUCT
{
4348 LPNETRESOURCE lpConnRes
;
4351 } CONNECTDLGSTRUCT
, *LPCONNECTDLGSTRUCT
;
4353 typedef struct _DISCDLGSTRUCT
{
4357 LPTSTR lpRemoteName
;
4359 } DISCDLGSTRUCT
, *LPDISCDLGSTRUCT
;
4361 typedef struct _NETINFOSTRUCT
{
4363 DWORD dwProviderVersion
;
4365 DWORD dwCharacteristics
;
4370 } NETINFOSTRUCT
, *LPNETINFOSTRUCT
;
4372 typedef struct _NETCONNECTINFOSTRUCT
{
4377 DWORD dwOptDataSize
;
4378 } NETCONNECTINFOSTRUCT
, *LPNETCONNECTINFOSTRUCT
;
4380 typedef int CALLBACK (*ENUMMETAFILEPROC
) (HDC
, HANDLETABLE
,
4381 METARECORD
, int, LPARAM
);
4382 typedef int CALLBACK (*ENHMETAFILEPROC
) (HDC
, HANDLETABLE
,
4383 ENHMETARECORD
, int, LPARAM
);
4385 typedef int CALLBACK (*ENUMFONTSPROC
) (LPLOGFONT
, LPTEXTMETRIC
, DWORD
, LPARAM
);
4386 typedef int CALLBACK (*FONTENUMPROC
) (ENUMLOGFONT
*, NEWTEXTMETRIC
*,
4388 typedef int CALLBACK (*FONTENUMEXPROC
) (ENUMLOGFONTEX
*, NEWTEXTMETRICEX
*,
4391 typedef VOID
CALLBACK (*LPOVERLAPPED_COMPLETION_ROUTINE
) (DWORD
, DWORD
,
4395 Structures for the extensions to OpenGL
4397 typedef struct _POINTFLOAT
4401 } POINTFLOAT
, *PPOINTFLOAT
;
4403 typedef struct _GLYPHMETRICSFLOAT
4407 POINTFLOAT gmfptGlyphOrigin
;
4410 } GLYPHMETRICSFLOAT
, *PGLYPHMETRICSFLOAT
, *LPGLYPHMETRICSFLOAT
;
4412 typedef struct tagLAYERPLANEDESCRIPTOR
4429 BYTE cAccumGreenBits
;
4430 BYTE cAccumBlueBits
;
4431 BYTE cAccumAlphaBits
;
4437 COLORREF crTransparent
;
4438 } LAYERPLANEDESCRIPTOR
, *PLAYERPLANEDESCRIPTOR
, *LPLAYERPLANEDESCRIPTOR
;
4440 typedef struct tagPIXELFORMATDESCRIPTOR
4457 BYTE cAccumGreenBits
;
4458 BYTE cAccumBlueBits
;
4459 BYTE cAccumAlphaBits
;
4466 DWORD dwVisibleMask
;
4468 } PIXELFORMATDESCRIPTOR
, *PPIXELFORMATDESCRIPTOR
, *LPPIXELFORMATDESCRIPTOR
;
4473 LPWSTR usri2_password
;
4474 DWORD usri2_password_age
;
4476 LPWSTR usri2_home_dir
;
4477 LPWSTR usri2_comment
;
4479 LPWSTR usri2_script_path
;
4480 DWORD usri2_auth_flags
;
4481 LPWSTR usri2_full_name
;
4482 LPWSTR usri2_usr_comment
;
4484 LPWSTR usri2_workstations
;
4485 DWORD usri2_last_logon
;
4486 DWORD usri2_last_logoff
;
4487 DWORD usri2_acct_expires
;
4488 DWORD usri2_max_storage
;
4489 DWORD usri2_units_per_week
;
4490 PBYTE usri2_logon_hours
;
4491 DWORD usri2_bad_pw_count
;
4492 DWORD usri2_num_logons
;
4493 LPWSTR usri2_logon_server
;
4494 DWORD usri2_country_code
;
4495 DWORD usri2_code_page
;
4496 } USER_INFO_2
, *PUSER_INFO_2
, *LPUSER_INFO_2
;
4501 } USER_INFO_0
, *PUSER_INFO_0
, *LPUSER_INFO_0
;
4506 LPWSTR usri3_password
;
4507 DWORD usri3_password_age
;
4509 LPWSTR usri3_home_dir
;
4510 LPWSTR usri3_comment
;
4512 LPWSTR usri3_script_path
;
4513 DWORD usri3_auth_flags
;
4514 LPWSTR usri3_full_name
;
4515 LPWSTR usri3_usr_comment
;
4517 LPWSTR usri3_workstations
;
4518 DWORD usri3_last_logon
;
4519 DWORD usri3_last_logoff
;
4520 DWORD usri3_acct_expires
;
4521 DWORD usri3_max_storage
;
4522 DWORD usri3_units_per_week
;
4523 PBYTE usri3_logon_hours
;
4524 DWORD usri3_bad_pw_count
;
4525 DWORD usri3_num_logons
;
4526 LPWSTR usri3_logon_server
;
4527 DWORD usri3_country_code
;
4528 DWORD usri3_code_page
;
4529 DWORD usri3_user_id
;
4530 DWORD usri3_primary_group_id
;
4531 LPWSTR usri3_profile
;
4532 LPWSTR usri3_home_dir_drive
;
4533 DWORD usri3_password_expired
;
4534 } USER_INFO_3
, *PUSER_INFO_3
, *LPUSER_INFO_3
;
4539 LPWSTR grpi2_comment
;
4540 DWORD grpi2_group_id
;
4541 DWORD grpi2_attributes
;
4542 } GROUP_INFO_2
, *PGROUP_INFO_2
;
4547 } LOCALGROUP_INFO_0
, *PLOCALGROUP_INFO_0
, *LPLOCALGROUP_INFO_0
;
4549 /* PE executable header. */
4551 #ifndef WIN32_NO_PEHDR
4555 WORD e_magic
; /* Magic number, 0x5a4d */
4556 WORD e_cblp
; /* Bytes on last page of file, 0x90 */
4557 WORD e_cp
; /* Pages in file, 0x3 */
4558 WORD e_crlc
; /* Relocations, 0x0 */
4559 WORD e_cparhdr
; /* Size of header in paragraphs, 0x4 */
4560 WORD e_minalloc
; /* Minimum extra paragraphs needed, 0x0 */
4561 WORD e_maxalloc
; /* Maximum extra paragraphs needed, 0xFFFF */
4562 WORD e_ss
; /* Initial (relative) SS value, 0x0 */
4563 WORD e_sp
; /* Initial SP value, 0xb8 */
4564 WORD e_csum
; /* Checksum, 0x0 */
4565 WORD e_ip
; /* Initial IP value, 0x0 */
4566 WORD e_cs
; /* Initial (relative) CS value, 0x0 */
4567 WORD e_lfarlc
; /* File address of relocation table, 0x40 */
4568 WORD e_ovno
; /* Overlay number, 0x0 */
4569 WORD e_res
[4]; /* Reserved words, all 0x0 */
4570 WORD e_oemid
; /* OEM identifier (for e_oeminfo), 0x0 */
4571 WORD e_oeminfo
; /* OEM information; e_oemid specific, 0x0 */
4572 WORD e_res2
[10]; /* Reserved words, all 0x0 */
4573 LONG e_lfanew
; /* File address of new exe header, 0x80 */
4574 /* We leave out the next two fields, since they aren't in the
4575 Windows header file. */
4576 /* DWORD dos_message[16]; * text which always follows dos header */
4577 /* DWORD nt_signature; * required NT signature, 0x4550 */
4578 } IMAGE_DOS_HEADER
, *PIMAGE_DOS_HEADER
;
4580 #endif /* WIN32_NO_PEHDR */
4584 #endif /* __cplusplus */
4586 #endif /* WIN32_LEAN_AND_MEAN */
4588 #endif /* _GNU_H_WINDOWS32_STRUCTURES */