4 Declarations for all the Windows32 API Structures
6 Copyright (C) 1996 Free Software Foundation, Inc.
8 Author: Scott Christley <scottc@net-community.com>
11 This file is part of the Windows32 API Library.
13 This library is free software; you can redistribute it and/or
14 modify it under the terms of the GNU Library General Public
15 License as published by the Free Software Foundation; either
16 version 2 of the License, or (at your option) any later version.
18 This library is distributed in the hope that it will be useful,
19 but WITHOUT ANY WARRANTY; without even the implied warranty of
20 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21 Library General Public License for more details.
23 If you are interested in a warranty or support for this source code,
24 contact Scott Christley <scottc@net-community.com> for more information.
26 You should have received a copy of the GNU Library General Public
27 License along with this library; see the file COPYING.LIB.
28 If not, write to the Free Software Foundation,
29 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
33 #ifndef _GNU_H_WINDOWS32_STRUCTURES
34 #define _GNU_H_WINDOWS32_STRUCTURES
36 #include <ntos/security.h>
37 #include <ntos/time.h>
38 #include <ntdll/rtl.h>
39 #include <ntos/console.h>
40 #include <ntos/keyboard.h>
41 #include <ntos/heap.h>
43 #include <ntos/file.h>
45 #include <ntos/disk.h>
46 #include <ntos/gditypes.h>
48 typedef struct _VALENT
56 #ifndef WIN32_LEAN_AND_MEAN
60 #endif /* __cplusplus */
68 typedef struct _ABCFLOAT
{
72 } ABCFLOAT
, *LPABCFLOAT
;
74 typedef struct tagACCEL
{
80 typedef struct tagACCESSTIMEOUT
{
86 typedef struct _ACL_REVISION_INFORMATION
{
88 } ACL_REVISION_INFORMATION
;
90 typedef struct _ACL_SIZE_INFORMATION
{
94 } ACL_SIZE_INFORMATION
;
96 typedef struct _ACTION_HEADER
{
102 typedef struct _ADAPTER_STATUS
{
103 UCHAR adapter_address
[6];
111 WORD iframe_recv_err
;
115 WORD iframe_xmit_err
;
116 WORD recv_buff_unavail
;
123 WORD xmit_buf_unavail
;
128 WORD max_sess_pkt_size
;
132 typedef struct _ADDJOB_INFO_1
{
137 typedef struct tagANIMATIONINFO
{
140 } ANIMATIONINFO
, *LPANIMATIONINFO
;
142 typedef struct _RECT
{
147 } RECT
, *LPRECT
, *LPCRECT
, *PRECT
;
149 typedef struct _RECTL
{
154 } RECTL
, *LPRECTL
, *LPCRECTL
, *PRECTL
;
156 typedef struct _AppBarData
{
159 UINT uCallbackMessage
;
163 } APPBARDATA
, *PAPPBARDATA
;
165 typedef struct tagBITMAP
174 } BITMAP
, *PBITMAP
, *NPBITMAP
, *LPBITMAP
;
176 typedef struct tagBITMAPCOREHEADER
{
184 typedef struct tagRGBTRIPLE
{
188 } RGBTRIPLE
, *PRGBTRIPLE
;
190 typedef struct _BITMAPCOREINFO
{
191 BITMAPCOREHEADER bmciHeader
;
192 RGBTRIPLE bmciColors
[1];
193 } BITMAPCOREINFO
, *PBITMAPCOREINFO
, *LPBITMAPCOREINFO
;
195 typedef struct tagBITMAPFILEHEADER
{
201 } BITMAPFILEHEADER
__attribute__((packed
));
203 typedef struct tagBITMAPINFOHEADER
{
211 LONG biXPelsPerMeter
;
212 LONG biYPelsPerMeter
;
214 DWORD biClrImportant
;
215 } BITMAPINFOHEADER
, *LPBITMAPINFOHEADER
, *PBITMAPINFOHEADER
;
217 typedef struct tagRGBQUAD
{
224 typedef struct tagBITMAPINFO
{
225 BITMAPINFOHEADER bmiHeader
;
226 RGBQUAD bmiColors
[1];
227 } BITMAPINFO
, *LPBITMAPINFO
, *PBITMAPINFO
;
229 typedef long FXPT2DOT30
, * LPFXPT2DOT30
;
231 typedef struct tagCIEXYZ
237 typedef CIEXYZ
* LPCIEXYZ
;
239 typedef struct tagCIEXYZTRIPLE
245 typedef CIEXYZTRIPLE
* LPCIEXYZTRIPLE
;
253 DWORD bV4V4Compression
;
255 LONG bV4XPelsPerMeter
;
256 LONG bV4YPelsPerMeter
;
258 DWORD bV4ClrImportant
;
264 CIEXYZTRIPLE bV4Endpoints
;
268 } BITMAPV4HEADER
, *LPBITMAPV4HEADER
, *PBITMAPV4HEADER
;
270 typedef struct _BLOB
{
275 typedef struct _SHITEMID
{
278 } SHITEMID
, * LPSHITEMID
;
279 typedef const SHITEMID
* LPCSHITEMID
;
281 typedef struct _ITEMIDLIST
{
283 } ITEMIDLIST
, * LPITEMIDLIST
;
284 typedef const ITEMIDLIST
* LPCITEMIDLIST
;
286 typedef struct _browseinfo
{
288 LPCITEMIDLIST pidlRoot
;
289 LPSTR pszDisplayName
;
295 } BROWSEINFO
, *PBROWSEINFO
, *LPBROWSEINFO
;
297 typedef struct _BY_HANDLE_FILE_INFORMATION
{
298 DWORD dwFileAttributes
;
299 FILETIME ftCreationTime
;
300 FILETIME ftLastAccessTime
;
301 FILETIME ftLastWriteTime
;
302 DWORD dwVolumeSerialNumber
;
305 DWORD nNumberOfLinks
;
306 DWORD nFileIndexHigh
;
308 } BY_HANDLE_FILE_INFORMATION
, *LPBY_HANDLE_FILE_INFORMATION
;
310 typedef struct _FIXED
{
315 typedef struct tagPOINT
{
318 } POINT
, *LPPOINT
, *PPOINT
;
320 typedef struct tagPOINTFX
{
325 typedef struct _POINTL
{
330 typedef struct tagPOINTS
{
335 typedef struct _tagCANDIDATEFORM
{
340 } CANDIDATEFORM
, *LPCANDIDATEFORM
;
342 typedef struct _tagCANDIDATELIST
{
350 } CANDIDATELIST
, *LPCANDIDATELIST
;
352 typedef struct tagCREATESTRUCT
{
353 LPVOID lpCreateParams
;
365 } CREATESTRUCT
, *LPCREATESTRUCT
;
367 typedef struct tagCBT_CREATEWND
{
369 HWND hwndInsertAfter
;
372 typedef struct tagCBTACTIVATESTRUCT
{
377 typedef struct _CHAR_INFO
{
383 } CHAR_INFO
, *PCHAR_INFO
;
385 typedef struct _charformat
{
391 COLORREF crTextColor
;
393 BYTE bPitchAndFamily
;
394 TCHAR szFaceName
[LF_FACESIZE
];
397 typedef struct _charrange
{
402 typedef struct tagCHARSET
{
407 typedef struct tagFONTSIGNATURE
{
410 } FONTSIGNATURE
, *LPFONTSIGNATURE
;
416 } CHARSETINFO
, *LPCHARSETINFO
;
423 COLORREF
* lpCustColors
;
426 LPCCHOOKPROC lpfnHook
;
427 LPCTSTR lpTemplateName
;
428 } CHOOSECOLOR
, *LPCHOOSECOLOR
;
430 typedef struct tagLOGFONT
{
441 BYTE lfClipPrecision
;
443 BYTE lfPitchAndFamily
;
444 TCHAR lfFaceName
[LF_FACESIZE
];
445 } LOGFONT
, *LPLOGFONT
, *PLOGFONT
;
447 typedef struct tagLOGFONTW
{
458 BYTE lfClipPrecision
;
460 BYTE lfPitchAndFamily
;
462 } LOGFONTW
, *LPLOGFONTW
, *PLOGFONTW
;
473 LPCFHOOKPROC lpfnHook
;
474 LPCTSTR lpTemplateName
;
478 WORD ___MISSING_ALIGNMENT__
;
481 } CHOOSEFONT
, *LPCHOOSEFONT
;
483 typedef struct _IDA
{
488 typedef struct tagCLIENTCREATESTRUCT
{
491 } CLIENTCREATESTRUCT
;
493 typedef CLIENTCREATESTRUCT
*LPCLIENTCREATESTRUCT
;
495 typedef struct _CMInvokeCommandInfo
{
505 } CMINVOKECOMMANDINFO
, *LPCMINVOKECOMMANDINFO
;
507 typedef struct tagCOLORADJUSTMENT
{
510 WORD caIlluminantIndex
;
514 WORD caReferenceBlack
;
515 WORD caReferenceWhite
;
518 SHORT caColorfulness
;
519 SHORT caRedGreenTint
;
520 } COLORADJUSTMENT
, *LPCOLORADJUSTMENT
;
522 typedef struct _COLORMAP
{
525 } COLORMAP
, * LPCOLORMAP
;
527 typedef struct _DCB
{
532 DWORD fOutxCtsFlow
:1;
533 DWORD fOutxDsrFlow
:1;
535 DWORD fDsrSensitivity
:1;
536 DWORD fTXContinueOnXoff
:1;
542 DWORD fAbortOnError
:1;
558 typedef struct _COMM_CONFIG
{
563 DWORD dwProviderSubType
;
564 DWORD dwProviderOffset
;
565 DWORD dwProviderSize
;
566 WCHAR wcProviderData
[1];
567 } COMMCONFIG
, *LPCOMMCONFIG
;
569 typedef struct _COMMPROP
{
578 DWORD dwProvCapabilities
;
579 DWORD dwSettableParams
;
580 DWORD dwSettableBaud
;
582 WORD wSettableStopParity
;
583 DWORD dwCurrentTxQueue
;
584 DWORD dwCurrentRxQueue
;
588 } COMMPROP
, *LPCOMMPROP
;
590 typedef struct _COMMTIMEOUTS
{
591 DWORD ReadIntervalTimeout
;
592 DWORD ReadTotalTimeoutMultiplier
;
593 DWORD ReadTotalTimeoutConstant
;
594 DWORD WriteTotalTimeoutMultiplier
;
595 DWORD WriteTotalTimeoutConstant
;
596 } COMMTIMEOUTS
,*LPCOMMTIMEOUTS
;
598 typedef struct tagCOMPAREITEMSTRUCT
{
610 COLORREF crBackground
;
614 typedef struct _tagCOMPOSITIONFORM
{
618 } COMPOSITIONFORM
, *LPCOMPOSITIONFORM
;
620 typedef struct _COMSTAT
{
628 DWORD fReserved
: 25;
631 } COMSTAT
, *LPCOMSTAT
;
633 typedef struct tagCONVCONTEXT
{
640 SECURITY_QUALITY_OF_SERVICE qos
;
643 typedef CONVCONTEXT
*PCONVCONTEXT
;
645 typedef struct tagCONVINFO
{
659 CONVCONTEXT ConvCtxt
;
662 } CONVINFO
, *PCONVINFO
;
664 typedef struct tagCOPYDATASTRUCT
{
670 typedef struct _cpinfo
{
672 BYTE DefaultChar
[MAX_DEFAULTCHAR
];
673 BYTE LeadByte
[MAX_LEADBYTES
];
676 typedef struct tagCPLINFO
{
683 typedef struct _CREATE_PROCESS_DEBUG_INFO
{
687 LPVOID lpBaseOfImage
;
688 DWORD dwDebugInfoFileOffset
;
689 DWORD nDebugInfoSize
;
690 LPVOID lpThreadLocalBase
;
691 LPTHREAD_START_ROUTINE lpStartAddress
;
694 } CREATE_PROCESS_DEBUG_INFO
;
696 typedef struct _CREATE_THREAD_DEBUG_INFO
{
698 LPVOID lpThreadLocalBase
;
699 LPTHREAD_START_ROUTINE lpStartAddress
;
700 } CREATE_THREAD_DEBUG_INFO
;
704 typedef struct _SOCKET_ADDRESS {
705 LPSOCKADDR lpSockaddr ;
706 INT iSockaddrLength ;
707 } SOCKET_ADDRESS, *PSOCKET_ADDRESS, *LPSOCKET_ADDRESS;
711 typedef struct _CSADDR_INFO {
712 SOCKET_ADDRESS LocalAddr;
713 SOCKET_ADDRESS RemoteAddr;
719 typedef struct _currencyfmt
{
724 LPTSTR lpThousandSep
;
727 LPTSTR lpCurrencySymbol
;
730 typedef struct tagCURSORSHAPE
{
738 } CURSORSHAPE
, *LPCURSORSHAPE
;
740 typedef struct tagCWPRETSTRUCT
{
748 typedef struct tagCWPSTRUCT
{
755 typedef struct _DATATYPES_INFO_1
{
760 unsigned short bAppReturnCode
:8,
767 unsigned short reserved
:14,
774 unsigned short unused
:12,
784 unsigned short unused
:13,
791 typedef struct tagDDEML_MSG_HOOK_DATA
{
796 } DDEML_MSG_HOOK_DATA
;
799 unsigned short unused
:13,
807 unsigned short unused
:12,
816 typedef struct _EXCEPTION_DEBUG_INFO
{
817 EXCEPTION_RECORD ExceptionRecord
;
819 } EXCEPTION_DEBUG_INFO
;
821 typedef struct _EXIT_PROCESS_DEBUG_INFO
{
823 } EXIT_PROCESS_DEBUG_INFO
;
825 typedef struct _EXIT_THREAD_DEBUG_INFO
{
827 } EXIT_THREAD_DEBUG_INFO
;
829 typedef struct _LOAD_DLL_DEBUG_INFO
{
832 DWORD dwDebugInfoFileOffset
;
833 DWORD nDebugInfoSize
;
836 } LOAD_DLL_DEBUG_INFO
;
838 typedef struct _UNLOAD_DLL_DEBUG_INFO
{
840 } UNLOAD_DLL_DEBUG_INFO
;
842 typedef struct _OUTPUT_DEBUG_STRING_INFO
{
843 LPSTR lpDebugStringData
;
845 WORD nDebugStringLength
;
846 } OUTPUT_DEBUG_STRING_INFO
;
848 typedef struct _RIP_INFO
{
853 typedef struct _DEBUG_EVENT
{
854 DWORD dwDebugEventCode
;
858 EXCEPTION_DEBUG_INFO Exception
;
859 CREATE_THREAD_DEBUG_INFO CreateThread
;
860 CREATE_PROCESS_DEBUG_INFO CreateProcessInfo
;
861 EXIT_THREAD_DEBUG_INFO ExitThread
;
862 EXIT_PROCESS_DEBUG_INFO ExitProcess
;
863 LOAD_DLL_DEBUG_INFO LoadDll
;
864 UNLOAD_DLL_DEBUG_INFO UnloadDll
;
865 OUTPUT_DEBUG_STRING_INFO DebugString
;
868 } DEBUG_EVENT
, *LPDEBUG_EVENT
;
870 typedef struct tagDEBUGHOOKINFO
{
872 DWORD idThreadInstaller
;
878 typedef struct tagDELETEITEMSTRUCT
{
886 typedef struct _DEV_BROADCAST_HDR
{
888 ULONG dbch_devicetype
;
891 typedef DEV_BROADCAST_HDR
*PDEV_BROADCAST_HDR
;
893 typedef struct _DEV_BROADCAST_OEM
{
895 ULONG dbco_devicetype
;
897 ULONG dbco_identifier
;
900 typedef DEV_BROADCAST_OEM
*PDEV_BROADCAST_OEM
;
902 typedef struct _DEV_BROADCAST_PORT
{
904 ULONG dbcp_devicetype
;
907 } DEV_BROADCAST_PORT
;
908 typedef DEV_BROADCAST_PORT
*PDEV_BROADCAST_PORT
;
910 struct _DEV_BROADCAST_USERDEFINED
{
911 struct _DEV_BROADCAST_HDR dbud_dbh
;
913 BYTE dbud_rgbUserDefined
[1];
916 typedef struct _DEV_BROADCAST_VOLUME
{
918 ULONG dbcv_devicetype
;
922 } DEV_BROADCAST_VOLUME
;
923 typedef DEV_BROADCAST_VOLUME
*PDEV_BROADCAST_VOLUME
;
925 typedef struct tagDEVNAMES
{
930 } DEVNAMES
, *LPDEVNAMES
;
932 typedef struct tagDIBSECTION
{
934 BITMAPINFOHEADER dsBmih
;
935 DWORD dsBitfields
[3];
940 typedef struct _DISK_PERFORMANCE
{
941 LARGE_INTEGER BytesRead
;
942 LARGE_INTEGER BytesWritten
;
943 LARGE_INTEGER ReadTime
;
944 LARGE_INTEGER WriteTime
;
952 DWORD dwExtendedStyle
;
958 } DLGITEMTEMPLATE PACKED
;
960 typedef DLGITEMTEMPLATE
*LPDLGITEMTEMPLATE
;
961 typedef DLGITEMTEMPLATE
*PDLGITEMTEMPLATE
;
965 DWORD dwExtendedStyle
;
971 } DLGTEMPLATE PACKED
;
973 typedef DLGTEMPLATE
*LPDLGTEMPLATE
;
974 typedef const DLGTEMPLATE
*LPCDLGTEMPLATE
;
976 typedef struct _DOC_INFO_1
{
982 typedef struct _DOC_INFO_2
{
994 LPCTSTR lpszDatatype
;
996 } DOCINFO
, *PDOCINFO
;
1002 } DRAGLISTINFO
, *LPDRAGLISTINFO
;
1004 typedef struct tagDRAWITEMSTRUCT
{
1014 } DRAWITEMSTRUCT
, *LPDRAWITEMSTRUCT
, *PDRAWITEMSTRUCT
;
1022 } DRAWTEXTPARAMS
, *LPDRAWTEXTPARAMS
;
1026 typedef struct _DRIVER_INFO_1
{
1030 typedef struct _DRIVER_INFO_2
{
1033 LPTSTR pEnvironment
;
1039 typedef struct _DRIVER_INFO_3
{
1042 LPTSTR pEnvironment
;
1047 LPTSTR pDependentFiles
;
1048 LPTSTR pMonitorName
;
1049 LPTSTR pDefaultDataType
;
1052 typedef struct _editstream
{
1055 EDITSTREAMCALLBACK pfnCallback
;
1058 typedef struct tagEMR
1064 typedef struct tagEMRANGLEARC
1071 } EMRANGLEARC
, *PEMRANGLEARC
;
1073 typedef struct tagEMRARC
1080 EMRARCTO
, *PEMRARCTO
,
1081 EMRCHORD
, *PEMRCHORD
,
1084 typedef struct _XFORM
1092 } XFORM
, *PXFORM
, *LPXFORM
;
1094 typedef struct tagEMRBITBLT
1106 COLORREF crBkColorSrc
;
1111 } EMRBITBLT
, *PEMRBITBLT
;
1113 typedef struct tagLOGBRUSH
{
1117 } LOGBRUSH
, *PLOGBRUSH
;
1119 typedef struct tagEMRCREATEBRUSHINDIRECT
1124 } EMRCREATEBRUSHINDIRECT
, *PEMRCREATEBRUSHINDIRECT
;
1126 typedef LONG LCSCSTYPE
;
1127 typedef LONG LCSGAMUTMATCH
;
1129 typedef struct tagLOGCOLORSPACE
{
1134 LCSCSTYPE lcsCSType
;
1135 LCSGAMUTMATCH lcsIntent
;
1136 CIEXYZTRIPLE lcsEndpoints
;
1138 DWORD lcsGammaGreen
;
1140 TCHAR lcsFilename
[MAX_PATH
];
1141 } LOGCOLORSPACE
, *LPLOGCOLORSPACE
;
1143 typedef struct tagEMRCREATECOLORSPACE
1148 } EMRCREATECOLORSPACE
, *PEMRCREATECOLORSPACE
;
1150 typedef struct tagEMRCREATEDIBPATTERNBRUSHPT
1159 } EMRCREATEDIBPATTERNBRUSHPT
,
1160 PEMRCREATEDIBPATTERNBRUSHPT
;
1162 typedef struct tagEMRCREATEMONOBRUSH
1171 } EMRCREATEMONOBRUSH
, *PEMRCREATEMONOBRUSH
;
1173 typedef struct tagPALETTEENTRY
{
1178 } PALETTEENTRY
, *LPPALETTEENTRY
, *PPALETTEENTRY
;
1180 typedef struct tagLOGPALETTE
{
1183 PALETTEENTRY palPalEntry
[1];
1184 } LOGPALETTE
, *LPLOGPALETTE
, *PLOGPALETTE
;
1186 typedef struct tagEMRCREATEPALETTE
1191 } EMRCREATEPALETTE
, *PEMRCREATEPALETTE
;
1193 typedef struct tagLOGPEN
{
1199 typedef struct tagEMRCREATEPEN
1204 } EMRCREATEPEN
, *PEMRCREATEPEN
;
1206 typedef struct tagEMRELLIPSE
1210 } EMRELLIPSE
, *PEMRELLIPSE
,
1211 EMRRECTANGLE
, *PEMRRECTANGLE
;
1213 typedef struct tagEMREOF
1217 DWORD offPalEntries
;
1221 typedef struct tagEMREXCLUDECLIPRECT
1225 } EMREXCLUDECLIPRECT
, *PEMREXCLUDECLIPRECT
,
1226 EMRINTERSECTCLIPRECT
, *PEMRINTERSECTCLIPRECT
;
1228 typedef struct tagPANOSE
{
1234 BYTE bStrokeVariation
;
1241 typedef struct tagEXTLOGFONT
{
1243 BCHAR elfFullName
[LF_FULLFACESIZE
];
1244 BCHAR elfStyle
[LF_FACESIZE
];
1249 BYTE elfVendorId
[ELF_VENDOR_SIZE
];
1254 typedef struct tagEMREXTCREATEFONTINDIRECTW
1259 } EMREXTCREATEFONTINDIRECTW
,
1260 PEMREXTCREATEFONTINDIRECTW
;
1262 typedef struct tagEXTLOGPEN
{
1268 DWORD elpNumEntries
;
1269 DWORD elpStyleEntry
[1];
1272 typedef struct tagEMREXTCREATEPEN
1281 } EMREXTCREATEPEN
, *PEMREXTCREATEPEN
;
1283 typedef struct tagEMREXTFLOODFILL
1289 } EMREXTFLOODFILL
, *PEMREXTFLOODFILL
;
1291 typedef struct tagEMREXTSELECTCLIPRGN
1297 } EMREXTSELECTCLIPRGN
, *PEMREXTSELECTCLIPRGN
;
1299 typedef struct tagEMRTEXT
1301 POINTL ptlReference
;
1307 } EMRTEXT
, *PEMRTEXT
;
1309 typedef struct tagEMREXTTEXTOUTA
1313 DWORD iGraphicsMode
;
1317 } EMREXTTEXTOUTA
, *PEMREXTTEXTOUTA
,
1318 EMREXTTEXTOUTW
, *PEMREXTTEXTOUTW
;
1320 typedef struct tagEMRFILLPATH
1324 } EMRFILLPATH
, *PEMRFILLPATH
,
1325 EMRSTROKEANDFILLPATH
, *PEMRSTROKEANDFILLPATH
,
1326 EMRSTROKEPATH
, *PEMRSTROKEPATH
;
1328 typedef struct tagEMRFILLRGN
1335 } EMRFILLRGN
, *PEMRFILLRGN
;
1337 typedef struct tagEMRFORMAT
{
1344 typedef struct tagSIZE
{
1347 } SIZE
, *PSIZE
, *LPSIZE
, SIZEL
, *PSIZEL
, *LPSIZEL
;
1349 typedef struct tagEMRFRAMERGN
1357 } EMRFRAMERGN
, *PEMRFRAMERGN
;
1359 typedef struct tagEMRGDICOMMENT
1364 } EMRGDICOMMENT
, *PEMRGDICOMMENT
;
1366 typedef struct tagEMRINVERTRGN
1372 } EMRINVERTRGN
, *PEMRINVERTRGN
,
1373 EMRPAINTRGN
, *PEMRPAINTRGN
;
1375 typedef struct tagEMRLINETO
1379 } EMRLINETO
, *PEMRLINETO
,
1380 EMRMOVETOEX
, *PEMRMOVETOEX
;
1382 typedef struct tagEMRMASKBLT
1394 COLORREF crBkColorSrc
;
1407 } EMRMASKBLT
, *PEMRMASKBLT
;
1409 typedef struct tagEMRMODIFYWORLDTRANSFORM
1414 } EMRMODIFYWORLDTRANSFORM
,
1415 PEMRMODIFYWORLDTRANSFORM
;
1417 typedef struct tagEMROFFSETCLIPRGN
1421 } EMROFFSETCLIPRGN
, *PEMROFFSETCLIPRGN
;
1423 typedef struct tagEMRPLGBLT
1433 COLORREF crBkColorSrc
;
1446 } EMRPLGBLT
, *PEMRPLGBLT
;
1448 typedef struct tagEMRPOLYDRAW
1455 } EMRPOLYDRAW
, *PEMRPOLYDRAW
;
1457 typedef struct tagEMRPOLYDRAW16
1464 } EMRPOLYDRAW16
, *PEMRPOLYDRAW16
;
1466 typedef struct tagEMRPOLYLINE
1472 } EMRPOLYLINE
, *PEMRPOLYLINE
,
1473 EMRPOLYBEZIER
, *PEMRPOLYBEZIER
,
1474 EMRPOLYGON
, *PEMRPOLYGON
,
1475 EMRPOLYBEZIERTO
, *PEMRPOLYBEZIERTO
,
1476 EMRPOLYLINETO
, *PEMRPOLYLINETO
;
1478 typedef struct tagEMRPOLYLINE16
1484 } EMRPOLYLINE16
, *PEMRPOLYLINE16
,
1485 EMRPOLYBEZIER16
, *PEMRPOLYBEZIER16
,
1486 EMRPOLYGON16
, *PEMRPOLYGON16
,
1487 EMRPOLYBEZIERTO16
, *PEMRPOLYBEZIERTO16
,
1488 EMRPOLYLINETO16
, *PEMRPOLYLINETO16
;
1490 typedef struct tagEMRPOLYPOLYLINE
1496 DWORD aPolyCounts
[1];
1498 } EMRPOLYPOLYLINE
, *PEMRPOLYPOLYLINE
,
1499 EMRPOLYPOLYGON
, *PEMRPOLYPOLYGON
;
1501 typedef struct tagEMRPOLYPOLYLINE16
1507 DWORD aPolyCounts
[1];
1509 } EMRPOLYPOLYLINE16
, *PEMRPOLYPOLYLINE16
,
1510 EMRPOLYPOLYGON16
, *PEMRPOLYPOLYGON16
;
1512 typedef struct tagEMRPOLYTEXTOUTA
1516 DWORD iGraphicsMode
;
1520 EMRTEXT aemrtext
[1];
1521 } EMRPOLYTEXTOUTA
, *PEMRPOLYTEXTOUTA
,
1522 EMRPOLYTEXTOUTW
, *PEMRPOLYTEXTOUTW
;
1524 typedef struct tagEMRRESIZEPALETTE
1529 } EMRRESIZEPALETTE
, *PEMRRESIZEPALETTE
;
1531 typedef struct tagEMRRESTOREDC
1535 } EMRRESTOREDC
, *PEMRRESTOREDC
;
1537 typedef struct tagEMRROUNDRECT
1542 } EMRROUNDRECT
, *PEMRROUNDRECT
;
1544 typedef struct tagEMRSCALEVIEWPORTEXTEX
1551 } EMRSCALEVIEWPORTEXTEX
, *PEMRSCALEVIEWPORTEXTEX
,
1552 EMRSCALEWINDOWEXTEX
, *PEMRSCALEWINDOWEXTEX
;
1554 typedef struct tagEMRSELECTCOLORSPACE
1558 } EMRSELECTCOLORSPACE
, *PEMRSELECTCOLORSPACE
,
1559 EMRDELETECOLORSPACE
, *PEMRDELETECOLORSPACE
;
1560 typedef struct tagEMRSELECTOBJECT
1564 } EMRSELECTOBJECT
, *PEMRSELECTOBJECT
,
1565 EMRDELETEOBJECT
, *PEMRDELETEOBJECT
;
1567 typedef struct tagEMRSELECTPALETTE
1571 } EMRSELECTPALETTE
, *PEMRSELECTPALETTE
;
1573 typedef struct tagEMRSETARCDIRECTION
1576 DWORD iArcDirection
;
1577 } EMRSETARCDIRECTION
, *PEMRSETARCDIRECTION
;
1579 typedef struct tagEMRSETTEXTCOLOR
1583 } EMRSETBKCOLOR
, *PEMRSETBKCOLOR
,
1584 EMRSETTEXTCOLOR
, *PEMRSETTEXTCOLOR
;
1586 typedef struct tagEMRSETCOLORADJUSTMENT
1589 COLORADJUSTMENT ColorAdjustment
;
1590 } EMRSETCOLORADJUSTMENT
, *PEMRSETCOLORADJUSTMENT
;
1592 typedef struct tagEMRSETDIBITSTODEVICE
1609 } EMRSETDIBITSTODEVICE
, *PEMRSETDIBITSTODEVICE
;
1611 typedef struct tagEMRSETMAPPERFLAGS
1615 } EMRSETMAPPERFLAGS
, *PEMRSETMAPPERFLAGS
;
1617 typedef struct tagEMRSETMITERLIMIT
1621 } EMRSETMITERLIMIT
, *PEMRSETMITERLIMIT
;
1623 typedef struct tagEMRSETPALETTEENTRIES
1629 PALETTEENTRY aPalEntries
[1];
1630 } EMRSETPALETTEENTRIES
, *PEMRSETPALETTEENTRIES
;
1632 typedef struct tagEMRSETPIXELV
1637 } EMRSETPIXELV
, *PEMRSETPIXELV
;
1639 typedef struct tagEMRSETVIEWPORTEXTEX
1643 } EMRSETVIEWPORTEXTEX
, *PEMRSETVIEWPORTEXTEX
,
1644 EMRSETWINDOWEXTEX
, *PEMRSETWINDOWEXTEX
;
1646 typedef struct tagEMRSETVIEWPORTORGEX
1650 } EMRSETVIEWPORTORGEX
, *PEMRSETVIEWPORTORGEX
,
1651 EMRSETWINDOWORGEX
, *PEMRSETWINDOWORGEX
,
1652 EMRSETBRUSHORGEX
, *PEMRSETBRUSHORGEX
;
1654 typedef struct tagEMRSETWORLDTRANSFORM
1658 } EMRSETWORLDTRANSFORM
, *PEMRSETWORLDTRANSFORM
;
1660 typedef struct tagEMRSTRETCHBLT
1672 COLORREF crBkColorSrc
;
1680 } EMRSTRETCHBLT
, *PEMRSTRETCHBLT
;
1682 typedef struct tagEMRSTRETCHDIBITS
1700 } EMRSTRETCHDIBITS
, *PEMRSTRETCHDIBITS
;
1702 typedef struct tagABORTPATH
1705 } EMRABORTPATH
, *PEMRABORTPATH
,
1706 EMRBEGINPATH
, *PEMRBEGINPATH
,
1707 EMRENDPATH
, *PEMRENDPATH
,
1708 EMRCLOSEFIGURE
, *PEMRCLOSEFIGURE
,
1709 EMRFLATTENPATH
, *PEMRFLATTENPATH
,
1710 EMRWIDENPATH
, *PEMRWIDENPATH
,
1711 EMRSETMETARGN
, *PEMRSETMETARGN
,
1712 EMRSAVEDC
, *PEMRSAVEDC
,
1713 EMRREALIZEPALETTE
, *PEMRREALIZEPALETTE
;
1715 typedef struct tagEMRSELECTCLIPPATH
1719 } EMRSELECTCLIPPATH
, *PEMRSELECTCLIPPATH
,
1720 EMRSETBKMODE
, *PEMRSETBKMODE
,
1721 EMRSETMAPMODE
, *PEMRSETMAPMODE
,
1722 EMRSETPOLYFILLMODE
, *PEMRSETPOLYFILLMODE
,
1723 EMRSETROP2
, *PEMRSETROP2
,
1724 EMRSETSTRETCHBLTMODE
, *PEMRSETSTRETCHBLTMODE
,
1725 EMRSETTEXTALIGN
, *PEMRSETTEXTALIGN
,
1726 EMRENABLEICM
, *PEMRENABLEICM
;
1728 typedef struct tagNMHDR
{
1734 typedef struct _encorrecttext
{
1740 typedef struct _endropfiles
{
1760 typedef struct tagENHMETAHEADER
{
1772 DWORD offDescription
;
1775 SIZEL szlMillimeters
;
1776 } ENHMETAHEADER
, *LPENHMETAHEADER
;
1778 typedef struct tagENHMETARECORD
{
1782 } ENHMETARECORD
, *PENHMETARECORD
, *LPENHMETARECORD
;
1784 typedef struct _enprotected
{
1792 typedef struct _SERVICE_STATUS
{
1793 DWORD dwServiceType
;
1794 DWORD dwCurrentState
;
1795 DWORD dwControlsAccepted
;
1796 DWORD dwWin32ExitCode
;
1797 DWORD dwServiceSpecificExitCode
;
1800 } SERVICE_STATUS
, *LPSERVICE_STATUS
;
1802 typedef struct _ENUM_SERVICE_STATUSA
{
1803 LPSTR lpServiceName
;
1804 LPSTR lpDisplayName
;
1805 SERVICE_STATUS ServiceStatus
;
1806 } ENUM_SERVICE_STATUSA
, *LPENUM_SERVICE_STATUSA
;
1808 typedef struct _ENUM_SERVICE_STATUSW
{
1809 LPWSTR lpServiceName
;
1810 LPWSTR lpDisplayName
;
1811 SERVICE_STATUS ServiceStatus
;
1812 } ENUM_SERVICE_STATUSW
, *LPENUM_SERVICE_STATUSW
;
1815 #define ENUM_SERVICE_STATUS ENUM_SERVICE_STATUSW
1816 #define LPENUM_SERVICE_STATUS LPENUM_SERVICE_STATUSW
1818 #define ENUM_SERVICE_STATUS ENUM_SERVICE_STATUSA
1819 #define LPENUM_SERVICE_STATUS LPENUM_SERVICE_STATUSA
1822 typedef struct tagENUMLOGFONT
{
1824 BCHAR elfFullName
[LF_FULLFACESIZE
];
1825 BCHAR elfStyle
[LF_FACESIZE
];
1828 typedef struct tagENUMLOGFONTEX
{
1830 BCHAR elfFullName
[LF_FULLFACESIZE
];
1831 BCHAR elfStyle
[LF_FACESIZE
];
1832 BCHAR elfScript
[LF_FACESIZE
];
1835 typedef struct _EVENTLOGRECORD
{
1839 DWORD TimeGenerated
;
1846 DWORD ClosingRecordNumber
;
1848 DWORD UserSidLength
;
1849 DWORD UserSidOffset
;
1857 TCHAR Computername[]
1867 typedef struct tagEVENTMSG
{
1875 typedef struct _EXT_BUTTON
{
1879 } EXT_BUTTON
, *LPEXT_BUTTON
;
1881 typedef struct tagFILTERKEYS
{
1890 typedef struct _FIND_NAME_BUFFER
{
1892 UCHAR access_control
;
1893 UCHAR frame_control
;
1894 UCHAR destination_addr
[6];
1895 UCHAR source_addr
[6];
1896 UCHAR routing_info
[18];
1899 typedef struct _FIND_NAME_HEADER
{
1906 enum _FINDEX_INFO_LEVELS
1909 FindExInfoMaxInfoLevel
1910 } FINDEX_INFO_LEVELS
;
1913 enum _FINDEX_SEARCH_OPS
1915 FindExSearchNameMatch
,
1916 FindExSearchLimitToDirectories
,
1917 FindExSearchLimitToDevices
,
1918 FindExSearchMaxSearchOp
1920 } FINDEX_SEARCH_OPS
;
1922 #define FIND_FIRST_EX_CASE_SENSITIVE 0x00000001
1927 HINSTANCE hInstance
;
1929 LPTSTR lpstrFindWhat
;
1930 LPTSTR lpstrReplaceWith
;
1932 WORD wReplaceWithLen
;
1934 LPFRHOOKPROC lpfnHook
;
1935 LPCTSTR lpTemplateName
;
1936 } FINDREPLACE
, *LPFINDREPLACE
;
1938 typedef struct _findtext
{
1943 typedef struct _findtextex
{
1949 typedef struct _FMS_GETDRIVEINFO
{
1957 typedef struct _FMS_GETFILESEL
{
1964 typedef struct _FMS_LOAD
{
1966 TCHAR szMenuName
[MENU_TEXT_LEN
];
1971 typedef struct _FMS_TOOLBARLOAD
{
1973 LPEXT_BUTTON lpButtons
;
1981 typedef struct _FORM_INFO_1
{
1985 RECTL ImageableArea
;
1988 typedef struct _FORMAT_PARAMETERS
{
1989 MEDIA_TYPE MediaType
;
1990 DWORD StartCylinderNumber
;
1991 DWORD EndCylinderNumber
;
1992 DWORD StartHeadNumber
;
1993 DWORD EndHeadNumber
;
1994 } FORMAT_PARAMETERS
;
1996 typedef struct _formatrange
{
2004 typedef struct tagGCP_RESULTS
{
2014 } GCP_RESULTS
, *LPGCP_RESULTS
;
2017 typedef struct _GLYPHMETRICS
{
2020 POINT gmptGlyphOrigin
;
2023 } GLYPHMETRICS
, *LPGLYPHMETRICS
;
2025 typedef struct tagHANDLETABLE
{
2026 HGDIOBJ objectHandle
[1];
2027 } HANDLETABLE
, *LPHANDLETABLE
;
2029 typedef struct _HD_HITTESTINFO
{
2035 typedef struct _HD_ITEM
{
2045 typedef struct _WINDOWPOS
{
2047 HWND hwndInsertAfter
;
2053 } WINDOWPOS
, *PWINDOWPOS
, *LPWINDOWPOS
;
2055 typedef struct _HD_LAYOUT
{
2060 typedef struct _HD_NOTIFY
{
2067 typedef struct tagHELPINFO
{
2074 } HELPINFO
, *LPHELPINFO
;
2083 TCHAR rgchMember
[2];
2086 typedef struct tagHIGHCONTRAST
{
2089 LPTSTR lpszDefaultScheme
;
2090 } HIGHCONTRAST
, * LPHIGHCONTRAST
;
2092 typedef struct tagHSZPAIR
{
2097 typedef struct _ICONINFO
{
2103 } ICONINFO
, *PICONINFO
;
2105 typedef struct tagICONMETRICS
{
2111 } ICONMETRICS
, *LPICONMETRICS
;
2113 typedef struct _IMAGEINFO
{
2121 typedef struct _JOB_INFO_1
{
2123 LPTSTR pPrinterName
;
2124 LPTSTR pMachineName
;
2134 SYSTEMTIME Submitted
;
2138 typedef struct _JOB_INFO_2
{
2140 LPTSTR pPrinterName
;
2141 LPTSTR pMachineName
;
2146 LPTSTR pPrintProcessor
;
2151 PSECURITY_DESCRIPTOR pSecurityDescriptor
;
2159 SYSTEMTIME Submitted
;
2161 DWORD PagesPrinted
;
2165 typedef struct tagKERNINGPAIR
{
2169 } KERNINGPAIR
, *LPKERNINGPAIR
;
2171 typedef struct _LANA_ENUM
{
2173 UCHAR lana
[MAX_LANA
];
2176 typedef struct _LDT_ENTRY
{
2193 DWORD Reserved_0
: 1;
2194 DWORD Default_Big
: 1;
2195 DWORD Granularity
: 1;
2199 } LDT_ENTRY
, *PLDT_ENTRY
, *LPLDT_ENTRY
;
2201 typedef struct tagLOCALESIGNATURE
{
2203 DWORD lsCsbDefault
[2];
2204 DWORD lsCsbSupported
[2];
2208 typedef struct _LOCALGROUP_MEMBERS_INFO_0
{
2210 } LOCALGROUP_MEMBERS_INFO_0
;
2213 typedef struct _LOCALGROUP_MEMBERS_INFO_3
{
2214 LPWSTR lgrmi3_domainandname
;
2215 } LOCALGROUP_MEMBERS_INFO_3
;
2217 typedef long FXPT16DOT16
, * LPFXPT16DOT16
;
2221 typedef LUID_AND_ATTRIBUTES LUID_AND_ATTRIBUTES_ARRAY
[ANYSIZE_ARRAY
];
2222 typedef LUID_AND_ATTRIBUTES_ARRAY
*PLUID_AND_ATTRIBUTES_ARRAY
;
2224 typedef struct _LV_COLUMN
{
2233 typedef struct _LV_ITEM
{
2245 typedef struct tagLV_DISPINFO
{
2250 typedef struct _LV_FINDINFO
{
2258 typedef struct _LV_HITTESTINFO
{
2264 typedef struct tagLV_KEYDOWN
{
2270 typedef struct _MAT2
{
2277 typedef struct tagMDICREATESTRUCT
{
2289 typedef MDICREATESTRUCT
*LPMDICREATESTRUCT
;
2291 typedef struct tagMEASUREITEMSTRUCT
{
2298 } MEASUREITEMSTRUCT
, *LPMEASUREITEMSTRUCT
;
2300 typedef struct _MEMORYSTATUS
{
2305 DWORD dwTotalPageFile
;
2306 DWORD dwAvailPageFile
;
2307 DWORD dwTotalVirtual
;
2308 DWORD dwAvailVirtual
;
2309 } MEMORYSTATUS
, *LPMEMORYSTATUS
;
2315 } MENUEX_TEMPLATE_HEADER
;
2324 } MENUEX_TEMPLATE_ITEM
;
2326 typedef struct tagMENUITEMINFO
{
2333 HBITMAP hbmpChecked
;
2334 HBITMAP hbmpUnchecked
;
2338 } MENUITEMINFO
, *LPMENUITEMINFO
;
2339 typedef MENUITEMINFO CONST
*LPCMENUITEMINFO
;
2350 } MENUITEMTEMPLATEHEADER
;
2351 typedef VOID MENUTEMPLATE
, *LPMENUTEMPLATE
;
2353 typedef struct tagMETAFILEPICT
{
2360 } METAFILEPICT
, *PMETAFILEPICT
, *LPMETAFILEPICT
;
2362 typedef struct tagMETAHEADER
{
2369 WORD mtNoParameters
;
2370 } METAHEADER PACKED
;
2372 typedef struct tagMETARECORD
{
2376 } METARECORD
, *LPMETARECORD
;
2378 typedef struct tagMINIMIZEDMETRICS
{
2384 } MINIMIZEDMETRICS
, *LPMINIMIZEDMETRICS
;
2386 typedef struct tagMINMAXINFO
{
2389 POINT ptMaxPosition
;
2390 POINT ptMinTrackSize
;
2391 POINT ptMaxTrackSize
;
2394 typedef struct modemdevcaps_tag
{
2396 DWORD dwRequiredSize
;
2397 DWORD dwDevSpecificOffset
;
2398 DWORD dwDevSpecificSize
;
2400 DWORD dwModemProviderVersion
;
2401 DWORD dwModemManufacturerOffset
;
2402 DWORD dwModemManufacturerSize
;
2403 DWORD dwModemModelOffset
;
2404 DWORD dwModemModelSize
;
2405 DWORD dwModemVersionOffset
;
2406 DWORD dwModemVersionSize
;
2408 DWORD dwDialOptions
;
2409 DWORD dwCallSetupFailTimer
;
2410 DWORD dwInactivityTimeout
;
2411 DWORD dwSpeakerVolume
;
2412 DWORD dwSpeakerMode
;
2413 DWORD dwModemOptions
;
2417 BYTE abVariablePortion
[1];
2418 } MODEMDEVCAPS
, *PMODEMDEVCAPS
, *LPMODEMDEVCAPS
;
2420 typedef struct modemsettings_tag
{
2422 DWORD dwRequiredSize
;
2423 DWORD dwDevSpecificOffset
;
2424 DWORD dwDevSpecificSize
;
2426 DWORD dwCallSetupFailTimer
;
2427 DWORD dwInactivityTimeout
;
2428 DWORD dwSpeakerVolume
;
2429 DWORD dwSpeakerMode
;
2430 DWORD dwPreferredModemOptions
;
2432 DWORD dwNegotiatedModemOptions
;
2433 DWORD dwNegotiatedDCERate
;
2435 BYTE abVariablePortion
[1];
2436 } MODEMSETTINGS
, *PMODEMSETTINGS
, *LPMODEMSETTINGS
;
2438 typedef struct tagMONCBSTRUCT
{
2456 typedef struct tagMONCONVSTRUCT
{
2467 typedef struct tagMONERRSTRUCT
{
2474 typedef struct tagMONHSZSTRUCT
{
2483 typedef struct _MONITOR_INFO_1
{
2487 typedef struct _MONITOR_INFO_2
{
2489 LPTSTR pEnvironment
;
2493 typedef struct tagMONLINKSTRUCT
{
2497 WINBOOL fEstablished
;
2508 typedef struct tagMONMSGSTRUCT
{
2516 DDEML_MSG_HOOK_DATA dmhd
;
2519 typedef struct tagMOUSEHOOKSTRUCT
{
2524 } MOUSEHOOKSTRUCT
, *PMOUSEHOOKSTRUCT
, *LPMOUSEHOOKSTRUCT
;
2526 typedef struct _MOUSEKEYS
{
2530 DWORD iTimeToMaxSpeed
;
2536 typedef struct tagMSG
{
2545 typedef void CALLBACK (*MSGBOXCALLBACK
) (LPHELPINFO lpHelpInfo
);
2550 HINSTANCE hInstance
;
2555 DWORD dwContextHelpId
;
2556 MSGBOXCALLBACK lpfnMsgBoxCallback
;
2558 } MSGBOXPARAMS
, *PMSGBOXPARAMS
, *LPMSGBOXPARAMS
;
2560 typedef struct _msgfilter
{
2567 typedef struct tagMULTIKEYHELP
{
2570 TCHAR szKeyphrase
[1];
2573 typedef struct _NAME_BUFFER
{
2574 UCHAR name
[NCBNAMSZ
];
2579 typedef struct _NCB
{
2586 UCHAR ncb_callname
[NCBNAMSZ
];
2587 UCHAR ncb_name
[NCBNAMSZ
];
2590 void (*ncb_post
) (struct _NCB
*);
2593 UCHAR ncb_reserve
[10];
2597 typedef struct _NCCALCSIZE_PARAMS
{
2600 } NCCALCSIZE_PARAMS
;
2602 typedef struct _NDDESHAREINFO
{
2604 LPTSTR lpszShareName
;
2606 LPTSTR lpszAppTopicList
;
2613 LPTSTR lpszItemList
;
2616 typedef struct _NETRESOURCE
{
2619 DWORD dwDisplayType
;
2622 LPTSTR lpRemoteName
;
2625 } NETRESOURCE
, *LPNETRESOURCE
;
2627 typedef struct tagNEWCPLINFO
{
2630 DWORD dwHelpContext
;
2635 TCHAR szHelpFile
[128];
2638 typedef struct tagNEWTEXTMETRIC
{
2642 LONG tmInternalLeading
;
2643 LONG tmExternalLeading
;
2644 LONG tmAveCharWidth
;
2645 LONG tmMaxCharWidth
;
2648 LONG tmDigitizedAspectX
;
2649 LONG tmDigitizedAspectY
;
2652 BCHAR tmDefaultChar
;
2657 BYTE tmPitchAndFamily
;
2666 typedef struct tagNEWTEXTMETRICEX
{
2667 NEWTEXTMETRIC ntmentm
;
2668 FONTSIGNATURE ntmeFontSignature
;
2671 typedef struct tagNM_LISTVIEW
{
2682 typedef struct _TREEITEM
*HTREEITEM
;
2684 typedef struct _TV_ITEM
{
2695 } TV_ITEM
, *LPTV_ITEM
;
2697 typedef struct _NM_TREEVIEW
{
2704 typedef NM_TREEVIEW
*LPNM_TREEVIEW
;
2706 typedef struct _NM_UPDOWN
{
2712 typedef struct tagNONCLIENTMETRICS
{
2719 LOGFONT lfCaptionFont
;
2720 int iSmCaptionWidth
;
2721 int iSmCaptionHeight
;
2722 LOGFONT lfSmCaptionFont
;
2726 LOGFONT lfStatusFont
;
2727 LOGFONT lfMessageFont
;
2728 } NONCLIENTMETRICS
, * LPNONCLIENTMETRICS
;
2730 typedef struct _SERVICE_ADDRESS
{
2731 DWORD dwAddressType
;
2732 DWORD dwAddressFlags
;
2733 DWORD dwAddressLength
;
2734 DWORD dwPrincipalLength
;
2739 typedef struct _SERVICE_ADDRESSES
{
2740 DWORD dwAddressCount
;
2741 SERVICE_ADDRESS Addresses
[1];
2742 } SERVICE_ADDRESSES
, *LPSERVICE_ADDRESSES
;
2744 #ifndef GUID_DEFINED
2745 #define GUID_DEFINED
2746 typedef struct _GUID
2748 unsigned long Data1
;
2749 unsigned short Data2
;
2750 unsigned short Data3
;
2751 unsigned char Data4
[8];
2753 typedef GUID CLSID
, *LPCLSID
;
2756 typedef struct _SERVICE_INFO
{
2757 LPGUID lpServiceType
;
2758 LPTSTR lpServiceName
;
2761 DWORD dwDisplayHint
;
2764 LPTSTR lpMachineName
;
2765 LPSERVICE_ADDRESSES lpServiceAddress
;
2766 BLOB ServiceSpecificInfo
;
2769 typedef struct _NS_SERVICE_INFO
{
2771 SERVICE_INFO ServiceInfo
;
2774 typedef struct _numberfmt
{
2778 LPTSTR lpDecimalSep
;
2779 LPTSTR lpThousandSep
;
2783 typedef struct _OFSTRUCT
{
2789 CHAR szPathName
[OFS_MAXPATHNAME
];
2790 } OFSTRUCT
, *LPOFSTRUCT
;
2792 typedef struct tagOFN
{
2795 HINSTANCE hInstance
;
2796 LPCTSTR lpstrFilter
;
2797 LPTSTR lpstrCustomFilter
;
2798 DWORD nMaxCustFilter
;
2802 LPTSTR lpstrFileTitle
;
2803 DWORD nMaxFileTitle
;
2804 LPCTSTR lpstrInitialDir
;
2808 WORD nFileExtension
;
2809 LPCTSTR lpstrDefExt
;
2811 LPOFNHOOKPROC lpfnHook
;
2812 LPCTSTR lpTemplateName
;
2813 } OPENFILENAME
, *LPOPENFILENAME
;
2815 typedef struct _OFNOTIFY
{
2817 LPOPENFILENAME lpOFN
;
2819 } OFNOTIFY
, *LPOFNOTIFY
;
2821 typedef struct _OSVERSIONINFO
{
2822 DWORD dwOSVersionInfoSize
;
2823 DWORD dwMajorVersion
;
2824 DWORD dwMinorVersion
;
2825 DWORD dwBuildNumber
;
2827 TCHAR szCSDVersion
[ 128 ];
2828 } OSVERSIONINFO
, *POSVERSIONINFO
, *LPOSVERSIONINFO
;
2830 typedef struct tagTEXTMETRIC
{
2834 LONG tmInternalLeading
;
2835 LONG tmExternalLeading
;
2836 LONG tmAveCharWidth
;
2837 LONG tmMaxCharWidth
;
2840 LONG tmDigitizedAspectX
;
2841 LONG tmDigitizedAspectY
;
2844 BCHAR tmDefaultChar
;
2849 BYTE tmPitchAndFamily
;
2851 } TEXTMETRIC
, *LPTEXTMETRIC
;
2853 typedef struct _OUTLINETEXTMETRIC
{
2855 TEXTMETRIC otmTextMetrics
;
2857 PANOSE otmPanoseNumber
;
2858 UINT otmfsSelection
;
2860 int otmsCharSlopeRise
;
2861 int otmsCharSlopeRun
;
2867 UINT otmsCapEmHeight
;
2873 UINT otmusMinimumPPEM
;
2874 POINT otmptSubscriptSize
;
2875 POINT otmptSubscriptOffset
;
2876 POINT otmptSuperscriptSize
;
2877 POINT otmptSuperscriptOffset
;
2878 UINT otmsStrikeoutSize
;
2879 int otmsStrikeoutPosition
;
2880 int otmsUnderscoreSize
;
2881 int otmsUnderscorePosition
;
2882 PSTR otmpFamilyName
;
2886 } OUTLINETEXTMETRIC
, *LPOUTLINETEXTMETRIC
;
2888 typedef struct _OVERLAPPED
{
2894 } OVERLAPPED
, *LPOVERLAPPED
;
2896 typedef struct tagPSD
{
2905 HINSTANCE hInstance
;
2907 LPPAGESETUPHOOK lpfnPageSetupHook
;
2908 LPPAGEPAINTHOOK lpfnPagePaintHook
;
2909 LPCTSTR lpPageSetupTemplateName
;
2910 HGLOBAL hPageSetupTemplate
;
2911 } PAGESETUPDLG
, *LPPAGESETUPDLG
;
2913 typedef struct tagPAINTSTRUCT
{
2919 BYTE rgbReserved
[32];
2920 } PAINTSTRUCT
, *LPPAINTSTRUCT
;
2922 typedef struct _paraformat
{
2932 LONG rgxTabs
[MAX_TAB_STOPS
];
2935 typedef struct _PERF_COUNTER_BLOCK
{
2937 } PERF_COUNTER_BLOCK
;
2939 typedef struct _PERF_COUNTER_DEFINITION
{
2941 DWORD CounterNameTitleIndex
;
2942 LPWSTR CounterNameTitle
;
2943 DWORD CounterHelpTitleIndex
;
2944 LPWSTR CounterHelpTitle
;
2949 DWORD CounterOffset
;
2950 } PERF_COUNTER_DEFINITION
;
2952 typedef struct _PERF_DATA_BLOCK
{
2957 DWORD TotalByteLength
;
2959 DWORD NumObjectTypes
;
2960 DWORD DefaultObject
;
2961 SYSTEMTIME SystemTime
;
2962 LARGE_INTEGER PerfTime
;
2963 LARGE_INTEGER PerfFreq
;
2964 LARGE_INTEGER PerfTime100nSec
;
2965 DWORD SystemNameLength
;
2966 DWORD SystemNameOffset
;
2969 typedef struct _PERF_INSTANCE_DEFINITION
{
2971 DWORD ParentObjectTitleIndex
;
2972 DWORD ParentObjectInstance
;
2976 } PERF_INSTANCE_DEFINITION
;
2978 typedef struct _PERF_OBJECT_TYPE
{
2979 DWORD TotalByteLength
;
2980 DWORD DefinitionLength
;
2982 DWORD ObjectNameTitleIndex
;
2983 LPWSTR ObjectNameTitle
;
2984 DWORD ObjectHelpTitleIndex
;
2985 LPWSTR ObjectHelpTitle
;
2988 DWORD DefaultCounter
;
2991 LARGE_INTEGER PerfTime
;
2992 LARGE_INTEGER PerfFreq
;
2995 typedef struct _POLYTEXT
{
3003 } POLYTEXT
, *LPPOLYTEXT
;
3005 typedef struct _PORT_INFO_1
{
3009 typedef struct _PORT_INFO_2
{
3017 typedef struct _PREVENT_MEDIA_REMOVAL
{
3018 BOOLEAN PreventMediaRemoval
;
3019 } PREVENT_MEDIA_REMOVAL
;
3021 typedef struct tagPD
{
3033 HINSTANCE hInstance
;
3035 LPPRINTHOOKPROC lpfnPrintHook
;
3036 LPSETUPHOOKPROC lpfnSetupHook
;
3037 LPCTSTR lpPrintTemplateName
;
3038 LPCTSTR lpSetupTemplateName
;
3039 HANDLE hPrintTemplate
;
3040 HANDLE hSetupTemplate
;
3041 } PRINTDLG PACKED
, *LPPRINTDLG PACKED
;
3043 typedef struct _PRINTER_DEFAULTSA
3046 LPDEVMODEA pDevMode
;
3047 ACCESS_MASK DesiredAccess
;
3048 } PRINTER_DEFAULTSA
, *PPRINTER_DEFAULTSA
, *LPPRINTER_DEFAULTSA
;
3050 typedef struct _PRINTER_DEFAULTSW
3053 LPDEVMODEA pDevMode
;
3054 ACCESS_MASK DesiredAccess
;
3055 } PRINTER_DEFAULTSW
, *PPRINTER_DEFAULTSW
, *LPPRINTER_DEFAULTSW
;
3057 typedef struct _PRINTER_INFO_1
{
3059 LPTSTR pDescription
;
3062 } PRINTER_INFO_1
, *PPRINTER_INFO_1
, *LPPRINTER_INFO_1
;
3065 typedef struct _PRINTER_INFO_2
{
3067 LPTSTR pPrinterName
;
3075 LPTSTR pPrintProcessor
;
3078 PSECURITY_DESCRIPTOR pSecurityDescriptor
;
3081 DWORD DefaultPriority
;
3090 typedef struct _PRINTER_INFO_3
{
3091 PSECURITY_DESCRIPTOR pSecurityDescriptor
;
3095 typedef struct _PRINTER_INFO_4
{
3096 LPTSTR pPrinterName
;
3101 typedef struct _PRINTER_INFO_5
{
3102 LPTSTR pPrinterName
;
3105 DWORD DeviceNotSelectedTimeout
;
3106 DWORD TransmissionRetryTimeout
;
3109 typedef struct _PRINTER_NOTIFY_INFO_DATA
{
3121 } PRINTER_NOTIFY_INFO_DATA
;
3123 typedef struct _PRINTER_NOTIFY_INFO
{
3127 PRINTER_NOTIFY_INFO_DATA aData
[1];
3128 } PRINTER_NOTIFY_INFO
;
3130 typedef struct _PRINTER_NOTIFY_OPTIONS_TYPE
{
3137 } PRINTER_NOTIFY_OPTIONS_TYPE
, *PPRINTER_NOTIFY_OPTIONS_TYPE
;
3139 typedef struct _PRINTER_NOTIFY_OPTIONS
{
3143 PPRINTER_NOTIFY_OPTIONS_TYPE pTypes
;
3144 } PRINTER_NOTIFY_OPTIONS
;
3146 typedef struct _PRINTPROCESSOR_INFO_1
{
3148 } PRINTPROCESSOR_INFO_1
;
3151 typedef struct _PROCESS_HEAP_ENTRY
{
3157 DWORD dwCommittedSize
;
3158 DWORD dwUnCommittedSize
;
3159 LPVOID lpFirstBlock
;
3162 } PROCESS_HEAPENTRY
, *LPPROCESS_HEAP_ENTRY
;
3164 typedef struct _PROCESS_INFORMATION
{
3169 } PROCESS_INFORMATION
, *LPPROCESS_INFORMATION
;
3171 typedef UINT
CALLBACK (*LPFNPSPCALLBACK
) (HWND
, UINT
, LPVOID
);
3173 typedef struct _PROPSHEETPAGE
{
3176 HINSTANCE hInstance
;
3178 LPCTSTR pszTemplate
;
3179 LPCDLGTEMPLATE pResource
;
3188 LPFNPSPCALLBACK pfnCallback
;
3190 } PROPSHEETPAGE
, *LPPROPSHEETPAGE
;
3191 typedef const PROPSHEETPAGE
*LPCPROPSHEETPAGE
;
3193 typedef struct _PSP
*HPROPSHEETPAGE
;
3194 typedef struct _PROPSHEETHEADER
{
3198 HINSTANCE hInstance
;
3210 LPCPROPSHEETPAGE ppsp
;
3211 HPROPSHEETPAGE
*phpage
;
3213 PFNPROPSHEETCALLBACK pfnCallback
;
3214 } PROPSHEETHEADER
, *LPPROPSHEETHEADER
;
3215 typedef const PROPSHEETHEADER
*LPCPROPSHEETHEADER
;
3217 /* PropertySheet callbacks */
3218 typedef WINBOOL
CALLBACK (*LPFNADDPROPSHEETPAGE
) (HPROPSHEETPAGE
, LPARAM
);
3219 typedef WINBOOL
CALLBACK (*LPFNADDPROPSHEETPAGES
) (LPVOID
,
3220 LPFNADDPROPSHEETPAGE
,
3223 typedef struct _PROTOCOL_INFO
{
3224 DWORD dwServiceFlags
;
3230 DWORD dwMessageSize
;
3234 typedef struct _PROVIDOR_INFO_1
{
3236 LPTSTR pEnvironment
;
3240 typedef struct _PSHNOTIFY
{
3243 } PSHNOTIFY
, *LPPSHNOTIFY
;
3245 typedef struct _punctuation
{
3247 LPSTR szPunctuation
;
3250 typedef struct _QUERY_SERVICE_CONFIGA
{
3251 DWORD dwServiceType
;
3253 DWORD dwErrorControl
;
3254 LPSTR lpBinaryPathName
;
3255 LPSTR lpLoadOrderGroup
;
3257 LPSTR lpDependencies
;
3258 LPSTR lpServiceStartName
;
3259 LPSTR lpDisplayName
;
3260 } QUERY_SERVICE_CONFIGA
, *LPQUERY_SERVICE_CONFIGA
;
3262 typedef struct _QUERY_SERVICE_CONFIGW
{
3263 DWORD dwServiceType
;
3265 DWORD dwErrorControl
;
3266 LPWSTR lpBinaryPathName
;
3267 LPWSTR lpLoadOrderGroup
;
3269 LPWSTR lpDependencies
;
3270 LPWSTR lpServiceStartName
;
3271 LPWSTR lpDisplayName
;
3272 } QUERY_SERVICE_CONFIGW
, *LPQUERY_SERVICE_CONFIGW
;
3275 #define QUERY_SERVICE_CONFIG QUERY_SERVICE_CONFIGW
3276 #define LPQUERY_SERVICE_CONFIG LPQUERY_SERVICE_CONFIGW
3278 #define QUERY_SERVICE_CONFIG QUERY_SERVICE_CONFIGA
3279 #define LPQUERY_SERVICE_CONFIG LPQUERY_SERVICE_CONFIGA
3282 typedef struct _QUERY_SERVICE_LOCK_STATUSA
{
3285 DWORD dwLockDuration
;
3286 } QUERY_SERVICE_LOCK_STATUSA
, *LPQUERY_SERVICE_LOCK_STATUSA
;
3288 typedef struct _QUERY_SERVICE_LOCK_STATUSW
{
3291 DWORD dwLockDuration
;
3292 } QUERY_SERVICE_LOCK_STATUSW
, *LPQUERY_SERVICE_LOCK_STATUSW
;
3295 #define QUERY_SERVICE_LOCK_STATUS QUERY_SERVICE_LOCK_STATUSW
3296 #define LPQUERY_SERVICE_LOCK_STATUS LPQUERY_SERVICE_LOCK_STATUSW
3298 #define QUERY_SERVICE_LOCK_STATUS QUERY_SERVICE_LOCK_STATUSA
3299 #define LPQUERY_SERVICE_LOCK_STATUS LPQUERY_SERVICE_LOCK_STATUSA
3302 typedef struct _RASAMB
{
3305 TCHAR szNetBiosError
[ NETBIOS_NAME_LEN
+ 1 ];
3309 typedef struct _RASCONN
{
3312 TCHAR szEntryName
[RAS_MaxEntryName
+ 1];
3314 CHAR szDeviceType
[ RAS_MaxDeviceType
+ 1 ];
3315 CHAR szDeviceName
[ RAS_MaxDeviceName
+ 1 ];
3318 typedef struct _RASCONNSTATUS
{
3320 RASCONNSTATE rasconnstate
;
3322 TCHAR szDeviceType
[RAS_MaxDeviceType
+ 1];
3323 TCHAR szDeviceName
[RAS_MaxDeviceName
+ 1];
3326 typedef struct _RASDIALEXTENSIONS
{
3331 } RASDIALEXTENSIONS
;
3333 typedef struct _RASDIALPARAMS
{
3335 TCHAR szEntryName
[RAS_MaxEntryName
+ 1];
3336 TCHAR szPhoneNumber
[RAS_MaxPhoneNumber
+ 1];
3337 TCHAR szCallbackNumber
[RAS_MaxCallbackNumber
+ 1];
3338 TCHAR szUserName
[UNLEN
+ 1];
3339 TCHAR szPassword
[PWLEN
+ 1];
3340 TCHAR szDomain
[DNLEN
+ 1] ;
3343 typedef struct _RASENTRYNAME
{
3345 TCHAR szEntryName
[RAS_MaxEntryName
+ 1];
3348 typedef struct _RASPPPIP
{
3351 TCHAR szIpAddress
[ RAS_MaxIpAddress
+ 1 ];
3354 typedef struct _RASPPPIPX
{
3357 TCHAR szIpxAddress
[ RAS_MaxIpxAddress
+ 1 ];
3360 typedef struct _RASPPPNBF
{
3363 DWORD dwNetBiosError
;
3364 TCHAR szNetBiosError
[ NETBIOS_NAME_LEN
+ 1 ];
3365 TCHAR szWorkstationName
[ NETBIOS_NAME_LEN
+ 1 ];
3369 typedef struct _RASTERIZER_STATUS
{
3373 } RASTERIZER_STATUS
, *LPRASTERIZER_STATUS
;
3375 typedef struct _REASSIGN_BLOCKS
{
3378 DWORD BlockNumber
[1];
3381 typedef struct _REMOTE_NAME_INFO
{
3382 LPTSTR lpUniversalName
;
3383 LPTSTR lpConnectionName
;
3384 LPTSTR lpRemainingPath
;
3389 typedef struct _reobject {
3393 LPOLEOBJECT poleobj;
3395 LPOLECLIENTSITE polesite;
3403 typedef struct _repastespecial
{
3408 typedef struct _reqresize
{
3413 typedef struct _RGNDATAHEADER
{
3421 typedef struct _RGNDATA
{
3424 } RGNDATA
, *PRGNDATA
, *LPRGNDATA
;
3426 typedef struct tagSCROLLINFO
{
3434 } SCROLLINFO
, *LPSCROLLINFO
;
3435 typedef SCROLLINFO
const *LPCSCROLLINFO
;
3438 typedef struct _selchange
{
3444 typedef struct tagSERIALKEYS
{
3447 LPSTR lpszActivePort
;
3451 } SERIALKEYS
, * LPSERIALKEYS
;
3453 typedef struct _SERVICE_TABLE_ENTRYA
{
3454 LPSTR lpServiceName
;
3455 LPSERVICE_MAIN_FUNCTION lpServiceProc
;
3456 } SERVICE_TABLE_ENTRYA
, *LPSERVICE_TABLE_ENTRYA
;
3458 typedef struct _SERVICE_TABLE_ENTRYW
{
3459 LPWSTR lpServiceName
;
3460 LPSERVICE_MAIN_FUNCTION lpServiceProc
;
3461 } SERVICE_TABLE_ENTRYW
, *LPSERVICE_TABLE_ENTRYW
;
3464 #define SERVICE_TABLE_ENTRY SERVICE_TABLE_ENTRYW
3465 #define LPSERVICE_TABLE_ENTRY LPSERVICE_TABLE_ENTRYW
3467 #define SERVICE_TABLE_ENTRY SERVICE_TABLE_ENTRYA
3468 #define LPSERVICE_TABLE_ENTRY LPSERVICE_TABLE_ENTRYA
3472 typedef struct _SERVICE_TYPE_VALUE_ABS
{
3478 } SERVICE_TYPE_VALUE_ABS
;
3480 typedef struct _SERVICE_TYPE_INFO_ABS
{
3483 SERVICE_TYPE_VALUE_ABS Values
[1];
3484 } SERVICE_TYPE_INFO_ABS
;
3486 typedef struct _SESSION_BUFFER
{
3489 UCHAR local_name
[NCBNAMSZ
];
3490 UCHAR remote_name
[NCBNAMSZ
];
3491 UCHAR rcvs_outstanding
;
3492 UCHAR sends_outstanding
;
3495 typedef struct _SESSION_HEADER
{
3498 UCHAR rcv_dg_outstanding
;
3499 UCHAR rcv_any_outstanding
;
3502 typedef struct _SET_PARTITION_INFORMATION
{
3504 } SET_PARTITION_INFORMATION
;
3506 typedef enum tagSHCONTF
{
3507 SHCONTF_FOLDERS
= 32,
3508 SHCONTF_NONFOLDERS
= 64,
3509 SHCONTF_INCLUDEHIDDEN
= 128,
3512 typedef struct _SHFILEINFO
{
3516 char szDisplayName
[MAX_PATH
];
3517 char szTypeName
[80];
3520 typedef WORD FILEOP_FLAGS
;
3521 typedef struct _SHFILEOPSTRUCT
{
3526 FILEOP_FLAGS fFlags
;
3527 WINBOOL fAnyOperationsAborted
;
3528 LPVOID hNameMappings
;
3529 LPCSTR lpszProgressTitle
;
3530 } SHFILEOPSTRUCT
, *LPSHFILEOPSTRUCT
;
3532 typedef enum tagSHGDN
{
3535 SHGDN_FORPARSING
= 0x8000,
3538 typedef struct _SHNAMEMAPPING
{
3543 } SHNAMEMAPPING
, *LPSHNAMEMAPPING
;
3545 typedef struct tagSOUNDSENTRY
{
3548 DWORD iFSTextEffect
;
3549 DWORD iFSTextEffectMSec
;
3550 DWORD iFSTextEffectColorBits
;
3551 DWORD iFSGrafEffect
;
3552 DWORD iFSGrafEffectMSec
;
3553 DWORD iFSGrafEffectColor
;
3554 DWORD iWindowsEffect
;
3555 DWORD iWindowsEffectMSec
;
3556 LPTSTR lpszWindowsEffectDLL
;
3557 DWORD iWindowsEffectOrdinal
;
3558 } SOUNDSENTRY
, *LPSOUNDSENTRY
;
3560 typedef struct _STARTUPINFOA
{
3569 DWORD dwXCountChars
;
3570 DWORD dwYCountChars
;
3571 DWORD dwFillAttribute
;
3579 } STARTUPINFOA
, *LPSTARTUPINFOA
;
3581 typedef struct _STARTUPINFOW
{
3590 DWORD dwXCountChars
;
3591 DWORD dwYCountChars
;
3592 DWORD dwFillAttribute
;
3600 } STARTUPINFOW
, *LPSTARTUPINFOW
;
3603 typedef STARTUPINFOW STARTUPINFO
;
3604 typedef LPSTARTUPINFOW LPSTARTUPINFO
;
3606 typedef STARTUPINFOA STARTUPINFO
;
3607 typedef LPSTARTUPINFOA LPSTARTUPINFO
;
3608 #endif /* UNICODE */
3610 typedef struct tagSTICKYKEYS
{
3613 } STICKYKEYS
, *LPSTICKYKEYS
;
3615 typedef struct _STRRET
{
3621 char cStr
[MAX_PATH
];
3623 } STRRET
, *LPSTRRET
;
3625 typedef struct _tagSTYLEBUF
{
3627 CHAR szDescription
[32];
3628 } STYLEBUF
, *LPSTYLEBUF
;
3630 typedef struct tagSTYLESTRUCT
{
3633 } STYLESTRUCT
, * LPSTYLESTRUCT
;
3635 typedef struct _SYSTEM_AUDIT_ACE
{
3641 typedef struct _SYSTEM_INFO
3648 WORD wProcessorArchitecture
;
3655 LPVOID lpMinimumApplicationAddress
;
3656 LPVOID lpMaximumApplicationAddress
;
3657 DWORD dwActiveProcessorMask
;
3658 DWORD dwNumberOfProcessors
;
3659 DWORD dwProcessorType
;
3660 DWORD dwAllocationGranularity
;
3661 WORD wProcessorLevel
;
3662 WORD wProcessorRevision
;
3663 } SYSTEM_INFO
, *LPSYSTEM_INFO
;
3665 typedef struct _SYSTEM_POWER_STATUS
{
3668 BYTE BatteryLifePercent
;
3670 DWORD BatteryLifeTime
;
3671 DWORD BatteryFullLifeTime
;
3672 } SYSTEM_POWER_STATUS
;
3673 typedef SYSTEM_POWER_STATUS
*LPSYSTEM_POWER_STATUS
;
3675 typedef struct _TAPE_ERASE
{
3679 typedef struct _TAPE_GET_DRIVE_PARAMETERS
{
3681 BOOLEAN Compression
;
3682 BOOLEAN DataPadding
;
3683 BOOLEAN ReportSetmarks
;
3684 ULONG DefaultBlockSize
;
3685 ULONG MaximumBlockSize
;
3686 ULONG MinimumBlockSize
;
3687 ULONG MaximumPartitionCount
;
3690 ULONG EOTWarningZoneSize
;
3691 } TAPE_GET_DRIVE_PARAMETERS
;
3693 typedef struct _TAPE_GET_MEDIA_PARAMETERS
{
3694 LARGE_INTEGER Capacity
;
3695 LARGE_INTEGER Remaining
;
3697 DWORD PartitionCount
;
3698 BOOLEAN WriteProtected
;
3699 } TAPE_GET_MEDIA_PARAMETERS
;
3701 typedef struct _TAPE_GET_POSITION
{
3706 } TAPE_GET_POSITION
;
3708 typedef struct _TAPE_PREPARE
{
3712 typedef struct _TAPE_SET_DRIVE_PARAMETERS
{
3714 BOOLEAN Compression
;
3715 BOOLEAN DataPadding
;
3716 BOOLEAN ReportSetmarks
;
3717 ULONG EOTWarningZoneSize
;
3718 } TAPE_SET_DRIVE_PARAMETERS
;
3720 typedef struct _TAPE_SET_MEDIA_PARAMETERS
{
3722 } TAPE_SET_MEDIA_PARAMETERS
;
3724 typedef struct _TAPE_SET_POSITION
{
3729 } TAPE_SET_POSITION
;
3731 typedef struct _TAPE_WRITE_MARKS
{
3739 } TBADDBITMAP
, *LPTBADDBITMAP
;
3741 typedef struct _TBBUTTON
{
3748 } TBBUTTON
, * PTBBUTTON
, * LPTBBUTTON
;
3749 typedef const TBBUTTON
* LPCTBBUTTON
;
3757 } TBNOTIFY
, *LPTBNOTIFY
;
3762 LPCTSTR pszValueName
;
3765 typedef struct _TC_HITTESTINFO
{
3770 typedef struct _TC_ITEM
{
3780 typedef struct _TC_ITEMHEADER
{
3789 typedef struct _TC_KEYDOWN
{
3795 typedef struct _textrange
{
3800 typedef struct tagTOGGLEKEYS
{
3813 } TOOLINFO
, *PTOOLINFO
, *LPTOOLINFO
;
3821 } TOOLTIPTEXT
, *LPTOOLTIPTEXT
;
3823 typedef struct tagTPMPARAMS
{
3826 } TPMPARAMS
, *LPTPMPARAMS
;
3828 typedef struct _TRANSMIT_FILE_BUFFERS
{
3833 } TRANSMIT_FILE_BUFFERS
;
3835 typedef struct _TT_HITTESTINFO
{
3839 } TTHITTESTINFO
, * LPHITTESTINFO
;
3841 typedef struct tagTTPOLYCURVE
{
3845 } TTPOLYCURVE
, * LPTTPOLYCURVE
;
3847 typedef struct _TTPOLYGONHEADER
{
3851 } TTPOLYGONHEADER
, * LPTTPOLYGONHEADER
;
3853 typedef struct _TV_DISPINFO
{
3858 typedef struct _TVHITTESTINFO
{
3862 } TV_HITTESTINFO
, *LPTV_HITTESTINFO
;
3864 typedef struct _TV_INSERTSTRUCT
{
3866 HTREEITEM hInsertAfter
;
3868 } TV_INSERTSTRUCT
, *LPTV_INSERTSTRUCT
;
3870 typedef struct _TV_KEYDOWN
{
3876 typedef struct _TV_SORTCB
{
3878 PFNTVCOMPARE lpfnCompare
;
3880 } TV_SORTCB
, *LPTV_SORTCB
;
3887 typedef struct _UNIVERSAL_NAME_INFO
{
3888 LPTSTR lpUniversalName
;
3889 } UNIVERSAL_NAME_INFO
;
3891 typedef struct tagUSEROBJECTFLAGS
{
3897 typedef struct _VERIFY_INFORMATION
{
3898 LARGE_INTEGER StartingOffset
;
3900 } VERIFY_INFORMATION
;
3902 typedef struct _VS_FIXEDFILEINFO
{
3904 DWORD dwStrucVersion
;
3905 DWORD dwFileVersionMS
;
3906 DWORD dwFileVersionLS
;
3907 DWORD dwProductVersionMS
;
3908 DWORD dwProductVersionLS
;
3909 DWORD dwFileFlagsMask
;
3913 DWORD dwFileSubtype
;
3918 typedef struct _WIN32_FIND_DATAA
{
3919 DWORD dwFileAttributes
;
3920 FILETIME ftCreationTime
;
3921 FILETIME ftLastAccessTime
;
3922 FILETIME ftLastWriteTime
;
3923 DWORD nFileSizeHigh
;
3927 CHAR cFileName
[ MAX_PATH
];
3928 CHAR cAlternateFileName
[ 14 ];
3929 } WIN32_FIND_DATAA
, *LPWIN32_FIND_DATAA
, *PWIN32_FIND_DATAA
;
3931 typedef struct _WIN32_FIND_DATAW
{
3932 DWORD dwFileAttributes
;
3933 FILETIME ftCreationTime
;
3934 FILETIME ftLastAccessTime
;
3935 FILETIME ftLastWriteTime
;
3936 DWORD nFileSizeHigh
;
3940 WCHAR cFileName
[ MAX_PATH
];
3941 WCHAR cAlternateFileName
[ 14 ];
3942 } WIN32_FIND_DATAW
, *LPWIN32_FIND_DATAW
, *PWIN32_FIND_DATAW
;
3945 #define WIN32_FIND_DATA WIN32_FIND_DATAW
3946 #define PWIN32_FIND_DATA PWIN32_FIND_DATAW
3947 #define LPWIN32_FIND_DATA LPWIN32_FIND_DATAW
3949 #define WIN32_FIND_DATA WIN32_FIND_DATAA
3950 #define PWIN32_FIND_DATA PWIN32_FIND_DATAA
3951 #define LPWIN32_FIND_DATA LPWIN32_FIND_DATAA
3954 typedef struct _WIN32_STREAM_ID
{
3956 DWORD dwStreamAttributes
;
3958 DWORD dwStreamNameSize
;
3962 typedef struct _WINDOWPLACEMENT
{
3966 POINT ptMinPosition
;
3967 POINT ptMaxPosition
;
3968 RECT rcNormalPosition
;
3971 typedef struct _WNDCLASS
{
3973 WNDPROC lpfnWndProc
;
3979 HBRUSH hbrBackground
;
3980 LPCTSTR lpszMenuName
;
3981 LPCTSTR lpszClassName
;
3982 } WNDCLASS
, *LPWNDCLASS
;
3984 typedef struct _WNDCLASSEX
{
3987 WNDPROC lpfnWndProc
;
3993 HBRUSH hbrBackground
;
3994 LPCTSTR lpszMenuName
;
3995 LPCTSTR lpszClassName
;
3997 } WNDCLASSEX
, *LPWNDCLASSEX
;
3999 typedef struct _CONNECTDLGSTRUCT
{
4002 LPNETRESOURCE lpConnRes
;
4005 } CONNECTDLGSTRUCT
, *LPCONNECTDLGSTRUCT
;
4007 typedef struct _DISCDLGSTRUCT
{
4011 LPTSTR lpRemoteName
;
4013 } DISCDLGSTRUCT
, *LPDISCDLGSTRUCT
;
4015 typedef struct _NETINFOSTRUCT
{
4017 DWORD dwProviderVersion
;
4019 DWORD dwCharacteristics
;
4024 } NETINFOSTRUCT
, *LPNETINFOSTRUCT
;
4026 typedef struct _NETCONNECTINFOSTRUCT
{
4031 DWORD dwOptDataSize
;
4032 } NETCONNECTINFOSTRUCT
, *LPNETCONNECTINFOSTRUCT
;
4034 typedef int CALLBACK (*ENUMMETAFILEPROC
) (HDC
, HANDLETABLE
,
4035 METARECORD
, int, LPARAM
);
4036 typedef int CALLBACK (*ENHMETAFILEPROC
) (HDC
, HANDLETABLE
,
4037 ENHMETARECORD
, int, LPARAM
);
4039 typedef int CALLBACK (*ENUMFONTSPROC
) (LPLOGFONT
, LPTEXTMETRIC
, DWORD
, LPARAM
);
4040 typedef int CALLBACK (*FONTENUMPROC
) (ENUMLOGFONT
*, NEWTEXTMETRIC
*,
4042 typedef int CALLBACK (*FONTENUMEXPROC
) (ENUMLOGFONTEX
*, NEWTEXTMETRICEX
*,
4045 typedef VOID
CALLBACK (*LPOVERLAPPED_COMPLETION_ROUTINE
) (DWORD
, DWORD
,
4049 Structures for the extensions to OpenGL
4051 typedef struct _POINTFLOAT
4055 } POINTFLOAT
, *PPOINTFLOAT
;
4057 typedef struct _GLYPHMETRICSFLOAT
4061 POINTFLOAT gmfptGlyphOrigin
;
4064 } GLYPHMETRICSFLOAT
, *PGLYPHMETRICSFLOAT
, *LPGLYPHMETRICSFLOAT
;
4066 typedef struct tagLAYERPLANEDESCRIPTOR
4083 BYTE cAccumGreenBits
;
4084 BYTE cAccumBlueBits
;
4085 BYTE cAccumAlphaBits
;
4091 COLORREF crTransparent
;
4092 } LAYERPLANEDESCRIPTOR
, *PLAYERPLANEDESCRIPTOR
, *LPLAYERPLANEDESCRIPTOR
;
4094 typedef struct tagPIXELFORMATDESCRIPTOR
4111 BYTE cAccumGreenBits
;
4112 BYTE cAccumBlueBits
;
4113 BYTE cAccumAlphaBits
;
4120 DWORD dwVisibleMask
;
4122 } PIXELFORMATDESCRIPTOR
, *PPIXELFORMATDESCRIPTOR
, *LPPIXELFORMATDESCRIPTOR
;
4127 LPWSTR usri2_password
;
4128 DWORD usri2_password_age
;
4130 LPWSTR usri2_home_dir
;
4131 LPWSTR usri2_comment
;
4133 LPWSTR usri2_script_path
;
4134 DWORD usri2_auth_flags
;
4135 LPWSTR usri2_full_name
;
4136 LPWSTR usri2_usr_comment
;
4138 LPWSTR usri2_workstations
;
4139 DWORD usri2_last_logon
;
4140 DWORD usri2_last_logoff
;
4141 DWORD usri2_acct_expires
;
4142 DWORD usri2_max_storage
;
4143 DWORD usri2_units_per_week
;
4144 PBYTE usri2_logon_hours
;
4145 DWORD usri2_bad_pw_count
;
4146 DWORD usri2_num_logons
;
4147 LPWSTR usri2_logon_server
;
4148 DWORD usri2_country_code
;
4149 DWORD usri2_code_page
;
4150 } USER_INFO_2
, *PUSER_INFO_2
, *LPUSER_INFO_2
;
4155 } USER_INFO_0
, *PUSER_INFO_0
, *LPUSER_INFO_0
;
4160 LPWSTR usri3_password
;
4161 DWORD usri3_password_age
;
4163 LPWSTR usri3_home_dir
;
4164 LPWSTR usri3_comment
;
4166 LPWSTR usri3_script_path
;
4167 DWORD usri3_auth_flags
;
4168 LPWSTR usri3_full_name
;
4169 LPWSTR usri3_usr_comment
;
4171 LPWSTR usri3_workstations
;
4172 DWORD usri3_last_logon
;
4173 DWORD usri3_last_logoff
;
4174 DWORD usri3_acct_expires
;
4175 DWORD usri3_max_storage
;
4176 DWORD usri3_units_per_week
;
4177 PBYTE usri3_logon_hours
;
4178 DWORD usri3_bad_pw_count
;
4179 DWORD usri3_num_logons
;
4180 LPWSTR usri3_logon_server
;
4181 DWORD usri3_country_code
;
4182 DWORD usri3_code_page
;
4183 DWORD usri3_user_id
;
4184 DWORD usri3_primary_group_id
;
4185 LPWSTR usri3_profile
;
4186 LPWSTR usri3_home_dir_drive
;
4187 DWORD usri3_password_expired
;
4188 } USER_INFO_3
, *PUSER_INFO_3
, *LPUSER_INFO_3
;
4193 LPWSTR grpi2_comment
;
4194 DWORD grpi2_group_id
;
4195 DWORD grpi2_attributes
;
4196 } GROUP_INFO_2
, *PGROUP_INFO_2
;
4201 } LOCALGROUP_INFO_0
, *PLOCALGROUP_INFO_0
, *LPLOCALGROUP_INFO_0
;
4203 /* PE executable header. */
4204 /* Windows.h now includes pe.h to avoid conflicts! */
4206 typedef struct _DISPLAY_DEVICE
{
4208 WCHAR DeviceName
[32];
4209 WCHAR DeviceString
[128];
4211 WCHAR DeviceID
[128];
4212 WCHAR DeviceKey
[128];
4213 } DISPLAY_DEVICE
, *PDISPLAY_DEVICE
;
4215 typedef HANDLE HMONITOR
;
4216 typedef HANDLE HDEVNOTIFY
;
4218 typedef BOOL
CALLBACK (*MonitorEnumProc
)(
4224 typedef MonitorEnumProc MONITORENUMPROC
;
4232 } FLASHWINFO
, *PFLASHWINFO
;
4234 typedef struct tagALTTABINFO
{
4244 } ALTTABINFO
, *PALTTABINFO
, *LPALTTABINFO
;
4246 typedef struct tagCOMBOBOXINFO
{
4254 } COMBOBOXINFO
, *PCOMBOBOXINFO
, *LPCOMBOBOXINFO
;
4256 typedef struct tagCURSORINFO
{
4261 } CURSORINFO
, *PCURSORINFO
, *LPCURSORINFO
;
4263 typedef struct tagGUITHREADINFO
{
4273 } GUITHREADINFO
, *PGUITHREADINFO
, *LPGUITHREADINFO
;
4275 typedef struct tagLASTINPUTINFO
{
4278 } LASTINPUTINFO
, *PLASTINPUTINFO
;
4280 typedef struct tagMENUBARINFO
{
4287 } MENUBARINFO
, *PMENUBARINFO
;
4289 typedef struct tagMENUINFO
{
4295 DWORD dwContextHelpID
;
4296 ULONG_PTR dwMenuData
;
4297 } MENUINFO
, FAR
*LPMENUINFO
;
4298 typedef MENUINFO CONST FAR
*LPCMENUINFO
;
4300 typedef struct tagMONITORINFO
{
4305 } MONITORINFO
, *LPMONITORINFO
;
4307 typedef struct tagMOUSEMOVEPOINT
{
4311 ULONG_PTR dwExtraInfo
;
4312 } MOUSEMOVEPOINT
, *PMOUSEMOVEPOINT
, *LPMOUSEMOVEPOINT
;
4314 #define CCHILDREN_SCROLLBAR 5
4316 typedef struct tagSCROLLBARINFO
{
4323 DWORD rgstate
[CCHILDREN_SCROLLBAR
+1];
4324 } SCROLLBARINFO
, *PSCROLLBARINFO
, *LPSCROLLBARINFO
;
4326 #define CCHILDREN_TITLEBAR 5
4328 typedef struct tagTITLEBARINFO
{
4331 DWORD rgstate
[CCHILDREN_TITLEBAR
+1];
4332 } TITLEBARINFO
, *PTITLEBARINFO
, *LPTITLEBARINFO
;
4336 LPCTSTR szWindowName
;
4338 UINT32 fToBeTerminated
;
4339 } WINDOWINFO
, *PWINDOWINFO
, *LPWINDOWINFO
;
4341 typedef struct tagMOUSEINPUT
{
4347 ULONG_PTR dwExtraInfo
;
4348 } MOUSEINPUT
, *PMOUSEINPUT
;
4350 typedef struct tagKEYBDINPUT
{
4355 ULONG_PTR dwExtraInfo
;
4356 } KEYBDINPUT
, *PKEYBDINPUT
;
4358 typedef struct tagHARDWAREINPUT
{
4362 } HARDWAREINPUT
, *PHARDWAREINPUT
;
4364 typedef struct tagINPUT
{
4372 } INPUT
, *PINPUT
, FAR
* LPINPUT
;
4374 typedef struct tagTRACKMOUSEEVENT
{
4379 } TRACKMOUSEEVENT
, *LPTRACKMOUSEEVENT
;
4381 typedef struct _BLENDFUNCTION
{
4384 BYTE SourceConstantAlpha
;
4386 }BLENDFUNCTION
, *PBLENDFUNCTION
, *LPBLENDFUNCTION
;
4388 typedef enum _GET_FILEEX_INFO_LEVELS
{
4389 GetFileExInfoStandard
4390 } GET_FILEEX_INFO_LEVELS
;
4392 typedef struct _WIN32_FILE_ATTRIBUTES_DATA
{
4393 DWORD dwFileAttributes
;
4394 FILETIME ftCreationTime
;
4395 FILETIME ftLastAccessTime
;
4396 FILETIME ftLastWriteTime
;
4397 DWORD nFileSizeHigh
;
4399 } WIN32_FILE_ATTRIBUTE_DATA
, *LPWIN32_FILE_ATTRIBUTE_DATA
;
4403 #endif /* __cplusplus */
4405 #endif /* WIN32_LEAN_AND_MEAN */
4407 #endif /* _GNU_H_WINDOWS32_STRUCTURES */