#ifndef _GNU_H_WINDOWS32_STRUCTURES
#define _GNU_H_WINDOWS32_STRUCTURES
+#include <base.h>
#include <ntos/security.h>
#include <ntos/time.h>
#include <ntdll/rtl.h>
#include <ntos/ps.h>
#include <ntos/disk.h>
#include <ntos/gditypes.h>
-/*
-typedef struct _VALENT
-{
- LPTSTR ve_valuename;
- DWORD ve_valuelen;
- DWORD ve_valueptr;
- DWORD ve_type;
-} VALENT, *PVALENT;
- */
+
+/* NOTE - _DISABLE_TIDENTS exists to keep ReactOS's source from
+ accidentally utilitizing ANSI/UNICODE-generic structs, defines
+ or functions. */
+#ifndef _DISABLE_TIDENTS
+# ifdef UNICODE
+# define typedef_tident(ident) typedef ident##W ident;
+# else
+# define typedef_tident(ident) typedef ident##A ident;
+# endif
+#else
+# define typedef_tident(ident)
+#endif
+
typedef struct _VALENT_A {
LPSTR ve_valuename;
DWORD ve_valuelen;
DWORD ve_type;
} VALENTW, *PVALENTW;
-#ifdef UNICODE
-typedef VALENTW VALENT;
-typedef PVALENTW PVALENT;
-#else
-typedef VALENTA VALENT;
-typedef PVALENTA PVALENT;
-#endif
+typedef_tident(VALENT)
+typedef_tident(PVALENT)
#ifndef WIN32_LEAN_AND_MEAN
WORD name_count;
} ADAPTER_STATUS;
-typedef struct _ADDJOB_INFO_1 {
- LPTSTR Path;
+typedef struct _ADDJOB_INFO_1A {
+ LPSTR Path;
+ DWORD JobId;
+} ADDJOB_INFO_1A;
+
+typedef struct _ADDJOB_INFO_1W {
+ LPWSTR Path;
DWORD JobId;
-} ADDJOB_INFO_1;
+} ADDJOB_INFO_1W;
+
+typedef_tident(ADDJOB_INFO_1)
typedef struct tagANIMATIONINFO {
UINT cbSize;
LONG top;
LONG right;
LONG bottom;
-} RECT, *LPRECT, *LPCRECT, *PRECT;
+} RECT, *LPRECT, *LPCRECT, *PRECT,
+RECTL, *LPRECTL, *LPCRECTL, *PRECTL;
+typedef struct _PATRECT {
+ RECT r;
+ HBRUSH hBrush;
+} PATRECT, * PPATRECT;
+
+#if 0
typedef struct _RECTL {
LONG left;
LONG top;
LONG right;
LONG bottom;
} RECTL, *LPRECTL, *LPCRECTL, *PRECTL;
+#endif
typedef struct _AppBarData {
DWORD cbSize;
WORD bfReserved1;
WORD bfReserved2;
DWORD bfOffBits;
-} BITMAPFILEHEADER __attribute__((packed));
+} PACKED BITMAPFILEHEADER;
typedef struct tagBITMAPINFOHEADER {
DWORD biSize;
BYTE rgbGreen;
BYTE rgbRed;
BYTE rgbReserved;
-} RGBQUAD;
+} RGBQUAD, *PRGBQUAD, *LPRGBQUAD;
typedef struct tagBITMAPINFO {
BITMAPINFOHEADER bmiHeader;
DWORD bV4GammaBlue;
} BITMAPV4HEADER, *LPBITMAPV4HEADER, *PBITMAPV4HEADER;
-#ifndef _BLOB_DEFINED
-#define _BLOB_DEFINED
+#ifndef __BLOB_T_DEFINED
+#define __BLOB_T_DEFINED
typedef struct _BLOB {
ULONG cbSize;
BYTE *pBlobData;
SHORT y;
} POINTS;
+typedef struct {
+ ULONG State[4];
+ ULONG Unknown[2];
+} MD4_CONTEXT, *PMD4_CONTEXT;
+
+typedef struct {
+ ULONG Unknown[2];
+ ULONG State[4];
+} MD5_CONTEXT, *PMD5_CONTEXT;
+
+typedef struct {
+ ULONG Unknown1[6];
+ ULONG State[5];
+ ULONG Unknown2[2];
+} SHA_CONTEXT, *PSHA_CONTEXT;
+
typedef struct _tagCANDIDATEFORM {
DWORD dwIndex;
DWORD dwStyle;
DWORD dwOffset[1];
} CANDIDATELIST, *LPCANDIDATELIST;
-typedef struct tagCREATESTRUCT {
- LPVOID lpCreateParams;
- HINSTANCE hInstance;
- HMENU hMenu;
- HWND hwndParent;
- int cy;
- int cx;
- int y;
- int x;
- LONG style;
- LPCTSTR lpszName;
- LPCTSTR lpszClass;
- DWORD dwExStyle;
-} CREATESTRUCT, *LPCREATESTRUCT;
-
typedef struct tagCREATESTRUCTA {
LPVOID lpCreateParams;
HINSTANCE hInstance;
DWORD dwExStyle;
} CREATESTRUCTW, *LPCREATESTRUCTW;
-typedef struct tagCBT_CREATEWND {
- LPCREATESTRUCT lpcs;
- HWND hwndInsertAfter;
-} CBT_CREATEWND;
+typedef_tident(CREATESTRUCT)
+typedef_tident(LPCREATESTRUCT)
+
+typedef struct tagHW_PROFILE_INFOA {
+ DWORD dwDockInfo;
+ CHAR szHwProfileGuid[HW_PROFILE_GUIDLEN];
+ CHAR szHwProfileName[MAX_PROFILE_LEN];
+} HW_PROFILE_INFOA, *LPHW_PROFILE_INFOA;
+typedef struct tagHW_PROFILE_INFOW {
+ DWORD dwDockInfo;
+ WCHAR szHwProfileGuid[HW_PROFILE_GUIDLEN];
+ WCHAR szHwProfileName[MAX_PROFILE_LEN];
+} HW_PROFILE_INFOW, *LPHW_PROFILE_INFOW;
+
+typedef_tident(HW_PROFILE_INFO)
+typedef_tident(LPHW_PROFILE_INFO)
+typedef struct _tagDATETIME {
+ WORD year;
+ WORD month;
+ WORD day;
+ WORD hour;
+ WORD min;
+ WORD sec;
+} DATETIME;
+
+typedef struct _tagIMEPROA {
+ HWND hWnd;
+ DATETIME InstDate;
+ UINT wVersion;
+ BYTE szDescription[50];
+ BYTE szName[80];
+ BYTE szOptions[30];
+} IMEPROA,*PIMEPROA,*NPIMEPROA,FAR *LPIMEPROA;
+typedef struct _tagIMEPROW {
+ HWND hWnd;
+ DATETIME InstDate;
+ UINT wVersion;
+ WCHAR szDescription[50];
+ WCHAR szName[80];
+ WCHAR szOptions[30];
+} IMEPROW,*PIMEPROW,*NPIMEPROW,FAR *LPIMEPROW;
+typedef_tident(IMEPRO)
+typedef_tident(NPIMEPRO)
+typedef_tident(LPIMEPRO)
+typedef_tident(PIMEPRO)
+
+typedef struct _cpinfoexA {
+ UINT MaxCharSize;
+ BYTE DefaultChar[MAX_DEFAULTCHAR];
+ BYTE LeadByte[MAX_LEADBYTES];
+ WCHAR UnicodeDefaultChar;
+ UINT CodePage;
+ CHAR CodePageName[MAX_PATH];
+} CPINFOEXA, *LPCPINFOEXA;
+typedef struct _cpinfoexW {
+ UINT MaxCharSize;
+ BYTE DefaultChar[MAX_DEFAULTCHAR];
+ BYTE LeadByte[MAX_LEADBYTES];
+ WCHAR UnicodeDefaultChar;
+ UINT CodePage;
+ WCHAR CodePageName[MAX_PATH];
+} CPINFOEXW, *LPCPINFOEXW;
+
+typedef_tident(CPINFOEX)
+typedef_tident(LPCPINFOEX)
+
+typedef struct _RTL_RANGE_LIST {
+ LIST_ENTRY ListHead;
+ ULONG Flags;
+ ULONG Count;
+ ULONG Stamp;
+} RTL_RANGE_LIST, *PRTL_RANGE_LIST;
+
+typedef struct _RTL_RANGE {
+ ULONGLONG Start;
+ ULONGLONG End;
+ PVOID UserData;
+ PVOID Owner;
+ UCHAR Attributes;
+ UCHAR Flags;
+} RTL_RANGE, *PRTL_RANGE;
+
+typedef
+BOOLEAN
+(CALLBACK *PRTL_CONFLICT_RANGE_CALLBACK) (
+PVOID Context,
+PRTL_RANGE Range
+ );
+
+typedef struct _RANGE_LIST_ITERATOR {
+ PLIST_ENTRY RangeListHead;
+ PLIST_ENTRY MergedHead;
+ PVOID Current;
+ ULONG Stamp;
+} RTL_RANGE_LIST_ITERATOR, *PRTL_RANGE_LIST_ITERATOR;
+
+typedef struct tagCBT_CREATEWNDA {
+ LPCREATESTRUCTA lpcs;
+ HWND hwndInsertAfter;
+} CBT_CREATEWNDA;
+
+typedef struct tagCBT_CREATEWNDW {
+ LPCREATESTRUCTW lpcs;
+ HWND hwndInsertAfter;
+} CBT_CREATEWNDW;
+
+typedef_tident(CBT_CREATEWND)
typedef struct tagCBTACTIVATESTRUCT {
WINBOOL fMouse;
WORD Attributes;
} CHAR_INFO, *PCHAR_INFO;
-typedef struct _charformat {
+typedef struct _charformatA {
+ UINT cbSize;
+ DWORD dwMask;
+ DWORD dwEffects;
+ LONG yHeight;
+ LONG yOffset;
+ COLORREF crTextColor;
+ BYTE bCharSet;
+ BYTE bPitchAndFamily;
+ CHAR szFaceName[LF_FACESIZE];
+} CHARFORMATA;
+
+typedef struct _charformatW {
UINT cbSize;
DWORD dwMask;
DWORD dwEffects;
COLORREF crTextColor;
BYTE bCharSet;
BYTE bPitchAndFamily;
- TCHAR szFaceName[LF_FACESIZE];
-} CHARFORMAT;
+ WCHAR szFaceName[LF_FACESIZE];
+} CHARFORMATW;
+
+typedef_tident(CHARFORMAT)
typedef struct _charrange {
LONG cpMin;
FONTSIGNATURE fs;
} CHARSETINFO, *LPCHARSETINFO;
+typedef struct tagWCRANGE
+{
+ WCHAR wcLow;
+ USHORT cGlyphs;
+} WCRANGE, *PWCRANGE,FAR *LPWCRANGE;
+
+typedef struct tagGLYPHSET
+{
+ DWORD cbThis;
+ DWORD flAccel;
+ DWORD cGlyphsSupported;
+ DWORD cRanges;
+ WCRANGE ranges[1];
+} GLYPHSET, *PGLYPHSET, FAR *LPGLYPHSET;
+
+typedef struct {
+ DWORD lStructSize;
+ HWND hwndOwner;
+ HWND hInstance;
+ COLORREF rgbResult;
+ COLORREF* lpCustColors;
+ DWORD Flags;
+ LPARAM lCustData;
+ LPCCHOOKPROC lpfnHook;
+ LPCSTR lpTemplateName;
+} CHOOSECOLORA, *LPCHOOSECOLORA;
+
typedef struct {
DWORD lStructSize;
HWND hwndOwner;
DWORD Flags;
LPARAM lCustData;
LPCCHOOKPROC lpfnHook;
- LPCTSTR lpTemplateName;
-} CHOOSECOLOR, *LPCHOOSECOLOR;
+ LPCWSTR lpTemplateName;
+} CHOOSECOLORW, *LPCHOOSECOLORW;
-typedef struct tagLOGFONT {
+typedef_tident(CHOOSECOLOR)
+typedef_tident(LPCHOOSECOLOR)
+
+typedef struct _OBJECT_TYPE_LIST {
+ WORD Level;
+ WORD Sbz;
+ GUID *ObjectType;
+} OBJECT_TYPE_LIST, *POBJECT_TYPE_LIST;
+
+typedef struct tagLOGFONTA {
LONG lfHeight;
LONG lfWidth;
LONG lfEscapement;
BYTE lfClipPrecision;
BYTE lfQuality;
BYTE lfPitchAndFamily;
- TCHAR lfFaceName[LF_FACESIZE];
-} LOGFONT, *LPLOGFONT, *PLOGFONT;
+ CHAR lfFaceName[LF_FACESIZE];
+} LOGFONTA, *LPLOGFONTA, *PLOGFONTA;
typedef struct tagLOGFONTW {
LONG lfHeight;
BYTE lfClipPrecision;
BYTE lfQuality;
BYTE lfPitchAndFamily;
- LPWSTR lfFaceName;
+ WCHAR lfFaceName[LF_FACESIZE];
} LOGFONTW, *LPLOGFONTW, *PLOGFONTW;
-typedef struct {
+typedef_tident(LOGFONT)
+typedef_tident(LPLOGFONT)
+typedef_tident(PLOGFONT)
+
+typedef struct tagRAWINPUTHEADER {
+ DWORD dwType;
+ DWORD dwSize;
+ HANDLE hDevice;
+ WPARAM wParam;
+} RAWINPUTHEADER, *PRAWINPUTHEADER, *LPRAWINPUTHEADER;
+
+typedef struct tagRAWINPUTDEVICELIST {
+ HANDLE hDevice;
+ DWORD dwType;
+} RAWINPUTDEVICELIST, *PRAWINPUTDEVICELIST;
+
+typedef struct tagRAWINPUTDEVICE {
+ USHORT usUsagePage;
+ USHORT usUsage;
+ DWORD dwFlags;
+ HWND hwndTarget;
+} RAWINPUTDEVICE, *PRAWINPUTDEVICE, *LPRAWINPUTDEVICE;
+
+typedef CONST RAWINPUTDEVICE* PCRAWINPUTDEVICE;
+
+typedef struct tagRAWMOUSE {
+ USHORT usFlags;
+ union {
+ ULONG ulButtons;
+ struct {
+ USHORT usButtonFlags;
+ USHORT usButtonData;
+ };
+ };
+ ULONG ulRawButtons;
+ LONG lLastX;
+ LONG lLastY;
+ ULONG ulExtraInformation;
+} RAWMOUSE, *PRAWMOUSE, *LPRAWMOUSE;
+
+typedef struct tagRAWKEYBOARD {
+ USHORT MakeCode;
+ USHORT Flags;
+ USHORT Reserved;
+ USHORT VKey;
+ UINT Message;
+ ULONG ExtraInformation;
+} RAWKEYBOARD, *PRAWKEYBOARD, *LPRAWKEYBOARD;
+
+typedef struct tagRAWHID {
+ DWORD dwSizeHid;
+ DWORD dwCount;
+ BYTE bRawData[1];
+} RAWHID, *PRAWHID, *LPRAWHID;
+
+typedef struct tagRAWINPUT {
+ RAWINPUTHEADER header;
+ union {
+ RAWMOUSE mouse;
+ RAWKEYBOARD keyboard;
+ RAWHID hid;
+ } data;
+} RAWINPUT, *PRAWINPUT, *LPRAWINPUT;
+
+typedef struct tagCHOOSEFONTA {
+ DWORD lStructSize;
+ HWND hwndOwner;
+ HDC hDC;
+ LPLOGFONTA lpLogFont;
+ INT iPointSize;
+ DWORD Flags;
+ DWORD rgbColors;
+ LPARAM lCustData;
+ LPCFHOOKPROC lpfnHook;
+ LPCSTR lpTemplateName;
+ HINSTANCE hInstance;
+ LPSTR lpszStyle;
+ WORD nFontType;
+ WORD ___MISSING_ALIGNMENT__;
+ INT nSizeMin;
+ INT nSizeMax;
+} CHOOSEFONTA, *LPCHOOSEFONTA;
+
+typedef struct tagCHOOSEFONTW {
DWORD lStructSize;
HWND hwndOwner;
HDC hDC;
- LPLOGFONT lpLogFont;
+ LPLOGFONTW lpLogFont;
INT iPointSize;
DWORD Flags;
DWORD rgbColors;
LPARAM lCustData;
LPCFHOOKPROC lpfnHook;
- LPCTSTR lpTemplateName;
+ LPCWSTR lpTemplateName;
HINSTANCE hInstance;
- LPTSTR lpszStyle;
+ LPWSTR lpszStyle;
WORD nFontType;
WORD ___MISSING_ALIGNMENT__;
INT nSizeMin;
INT nSizeMax;
-} CHOOSEFONT, *LPCHOOSEFONT;
+} CHOOSEFONTW, *LPCHOOSEFONTW;
+
+typedef_tident(CHOOSEFONT)
+typedef_tident(LPCHOOSEFONT)
typedef struct _IDA {
UINT cidl;
} COMMTIMEOUTS,*LPCOMMTIMEOUTS;
typedef struct tagCOMPAREITEMSTRUCT {
- UINT CtlType;
- UINT CtlID;
- HWND hwndItem;
- UINT itemID1;
- DWORD itemData1;
- UINT itemID2;
- DWORD itemData2;
-} COMPAREITEMSTRUCT;
+ UINT CtlType;
+ UINT CtlID;
+ HWND hwndItem;
+ UINT itemID1;
+ DWORD itemData1;
+ UINT itemID2;
+ DWORD itemData2;
+ DWORD dwLocaleId;
+} COMPAREITEMSTRUCT,*LPCOMPAREITEMSTRUCT;
+
typedef struct {
COLORREF crText;
PVOID lpData;
} COPYDATASTRUCT;
+typedef struct tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA {
+ PVOID lpInformation;
+ PVOID lpSectionBase;
+ ULONG ulSectionLength;
+ PVOID lpSectionGlobalDataBase;
+ ULONG ulSectionGlobalDataLength;
+} ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, *PACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA;
+typedef const ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA *PCACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA;
+
+typedef struct tagACTCTX_SECTION_KEYED_DATA {
+ ULONG cbSize;
+ ULONG ulDataFormatVersion;
+ PVOID lpData;
+ ULONG ulLength;
+ PVOID lpSectionGlobalData;
+ ULONG ulSectionGlobalDataLength;
+ PVOID lpSectionBase;
+ ULONG ulSectionTotalLength;
+ HANDLE hActCtx;
+ ULONG ulAssemblyRosterIndex;
+// 2600 stops here
+ ULONG ulFlags;
+ ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA AssemblyMetadata;
+} ACTCTX_SECTION_KEYED_DATA, *PACTCTX_SECTION_KEYED_DATA;
+typedef const ACTCTX_SECTION_KEYED_DATA * PCACTCTX_SECTION_KEYED_DATA;
+
+typedef struct tagRTL_BITMAP_RUN {
+ ULONG StartOfRun;
+ ULONG SizeOfRun;
+} RTL_BITMAP_RUN, *PRTL_BITMAP_RUN;
+
+typedef const RTL_BITMAP *PCRTL_BITMAP;
+
typedef struct _cpinfo {
UINT MaxCharSize;
BYTE DefaultChar[MAX_DEFAULTCHAR];
} CSADDR_INFO;
*/
-typedef struct _currencyfmt {
+typedef struct {
+ UINT cbSize;
+ HDESK hdesk;
+ HWND hwnd;
+ LUID luid;
+} BSMINFO, *PBSMINFO;
+
+typedef struct _currencyfmtA {
+ UINT NumDigits;
+ UINT LeadingZero;
+ UINT Grouping;
+ LPSTR lpDecimalSep;
+ LPSTR lpThousandSep;
+ UINT NegativeOrder;
+ UINT PositiveOrder;
+ LPSTR lpCurrencySymbol;
+} CURRENCYFMTA;
+
+typedef struct _currencyfmtW {
UINT NumDigits;
UINT LeadingZero;
UINT Grouping;
- LPTSTR lpDecimalSep;
- LPTSTR lpThousandSep;
+ LPWSTR lpDecimalSep;
+ LPWSTR lpThousandSep;
UINT NegativeOrder;
UINT PositiveOrder;
- LPTSTR lpCurrencySymbol;
-} CURRENCYFMT;
+ LPWSTR lpCurrencySymbol;
+} CURRENCYFMTW;
+
+typedef_tident(CURRENCYFMT)
+
+typedef struct _SERVICE_DESCRIPTIONA {
+ LPSTR lpDescription;
+} SERVICE_DESCRIPTIONA, *LPSERVICE_DESCRIPTIONA;
+typedef struct _SERVICE_DESCRIPTIONW {
+ LPWSTR lpDescription;
+} SERVICE_DESCRIPTIONW, *LPSERVICE_DESCRIPTIONW;
+typedef_tident(SERVICE_DESCRIPTION)
+typedef_tident(LPSERVICE_DESCRIPTION)
+
+typedef enum _SC_ACTION_TYPE {
+ SC_ACTION_NONE = 0,
+ SC_ACTION_RESTART = 1,
+ SC_ACTION_REBOOT = 2,
+ SC_ACTION_RUN_COMMAND = 3
+} SC_ACTION_TYPE;
+
+typedef struct _SC_ACTION {
+ SC_ACTION_TYPE Type;
+ DWORD Delay;
+} SC_ACTION, *LPSC_ACTION;
+
+typedef struct _SERVICE_FAILURE_ACTIONSA {
+ DWORD dwResetPeriod;
+ LPSTR lpRebootMsg;
+ LPSTR lpCommand;
+ DWORD cActions;
+ SC_ACTION * lpsaActions;
+} SERVICE_FAILURE_ACTIONSA, *LPSERVICE_FAILURE_ACTIONSA;
+
+typedef struct _SERVICE_FAILURE_ACTIONSW {
+ DWORD dwResetPeriod;
+ LPWSTR lpRebootMsg;
+ LPWSTR lpCommand;
+ DWORD cActions;
+ SC_ACTION * lpsaActions;
+} SERVICE_FAILURE_ACTIONSW, *LPSERVICE_FAILURE_ACTIONSW;
+
+typedef_tident(SERVICE_FAILURE_ACTIONS)
+typedef_tident(LPSERVICE_FAILURE_ACTIONS)
+
+typedef struct tagACTCTXA {
+ ULONG cbSize;
+ DWORD dwFlags;
+ LPCSTR lpSource;
+ USHORT wProcessorArchitecture;
+ LANGID wLangId;
+ LPCSTR lpAssemblyDirectory;
+ LPCSTR lpResourceName;
+ LPCSTR lpApplicationName;
+ HMODULE hModule;
+} ACTCTXA, *PACTCTXA;
+
+typedef struct tagACTCTXW {
+ ULONG cbSize;
+ DWORD dwFlags;
+ LPCWSTR lpSource;
+ USHORT wProcessorArchitecture;
+ LANGID wLangId;
+ LPCWSTR lpAssemblyDirectory;
+ LPCWSTR lpResourceName;
+ LPCWSTR lpApplicationName;
+ HMODULE hModule;
+} ACTCTXW, *PACTCTXW;
+
+typedef struct _JOB_SET_ARRAY {
+ HANDLE JobHandle;
+ DWORD MemberLevel;
+ DWORD Flags;
+} JOB_SET_ARRAY, *PJOB_SET_ARRAY;
+
+typedef struct _MEMORYSTATUSEX {
+ DWORD dwLength;
+ DWORD dwMemoryLoad;
+ DWORDLONG ullTotalPhys;
+ DWORDLONG ullAvailPhys;
+ DWORDLONG ullTotalPageFile;
+ DWORDLONG ullAvailPageFile;
+ DWORDLONG ullTotalVirtual;
+ DWORDLONG ullAvailVirtual;
+ DWORDLONG ullAvailExtendedVirtual;
+} MEMORYSTATUSEX, *LPMEMORYSTATUSEX;
+
+typedef const ACTCTXA *PCACTCTXA;
+typedef const ACTCTXW *PCACTCTXW;
+typedef_tident(ACTCTX)
+typedef_tident(PACTCTX)
+
+typedef struct _TRIVERTEX
+{
+ LONG x;
+ LONG y;
+ COLOR16 Red;
+ COLOR16 Green;
+ COLOR16 Blue;
+ COLOR16 Alpha;
+}TRIVERTEX,*PTRIVERTEX,*LPTRIVERTEX;
typedef struct tagCURSORSHAPE {
int xHotSpot;
HWND hwnd;
} CWPSTRUCT;
-typedef struct _DATATYPES_INFO_1 {
- LPTSTR pName;
-} DATATYPES_INFO_1;
+typedef struct _DATATYPES_INFO_1A {
+ LPSTR pName;
+} DATATYPES_INFO_1A;
+
+typedef struct _DATATYPES_INFO_1W {
+ LPWSTR pName;
+} DATATYPES_INFO_1W;
+
+typedef_tident(DATATYPES_INFO_1)
typedef struct {
unsigned short bAppReturnCode:8,
short cx;
short cy;
WORD id;
-} DLGITEMTEMPLATE PACKED;
+} PACKED DLGITEMTEMPLATE;
typedef DLGITEMTEMPLATE *LPDLGITEMTEMPLATE;
typedef DLGITEMTEMPLATE *PDLGITEMTEMPLATE;
short y;
short cx;
short cy;
-} DLGTEMPLATE PACKED;
+} PACKED DLGTEMPLATE;
typedef DLGTEMPLATE *LPDLGTEMPLATE;
typedef const DLGTEMPLATE *LPCDLGTEMPLATE;
-typedef struct _DOC_INFO_1 {
- LPTSTR pDocName;
- LPTSTR pOutputFile;
- LPTSTR pDatatype;
-} DOC_INFO_1;
+typedef struct _DOC_INFO_1A {
+ LPSTR pDocName;
+ LPSTR pOutputFile;
+ LPSTR pDatatype;
+} DOC_INFO_1A;
+
+typedef struct _DOC_INFO_1W {
+ LPWSTR pDocName;
+ LPWSTR pOutputFile;
+ LPWSTR pDatatype;
+} DOC_INFO_1W;
+
+typedef_tident(DOC_INFO_1)
-typedef struct _DOC_INFO_2 {
- LPTSTR pDocName;
- LPTSTR pOutputFile;
- LPTSTR pDatatype;
+typedef struct _DOC_INFO_2A {
+ LPSTR pDocName;
+ LPSTR pOutputFile;
+ LPSTR pDatatype;
DWORD dwMode;
DWORD JobId;
-} DOC_INFO_2;
+} DOC_INFO_2A;
+
+typedef struct _DOC_INFO_2W {
+ LPWSTR pDocName;
+ LPWSTR pOutputFile;
+ LPWSTR pDatatype;
+ DWORD dwMode;
+ DWORD JobId;
+} DOC_INFO_2W;
+
+typedef_tident(DOC_INFO_2)
+
+typedef struct {
+ int cbSize;
+ LPCSTR lpszDocName;
+ LPCSTR lpszOutput;
+ LPCSTR lpszDatatype;
+ DWORD fwType;
+} DOCINFOA, *PDOCINFOA;
typedef struct {
int cbSize;
- LPCTSTR lpszDocName;
- LPCTSTR lpszOutput;
- LPCTSTR lpszDatatype;
+ LPCWSTR lpszDocName;
+ LPCWSTR lpszOutput;
+ LPCWSTR lpszDatatype;
DWORD fwType;
-} DOCINFO, *PDOCINFO;
+} DOCINFOW, *PDOCINFOW;
+
+typedef_tident(DOCINFO)
+typedef_tident(PDOCINFO)
typedef struct {
UINT uNotification;
-typedef struct _DRIVER_INFO_1 {
- LPTSTR pName;
-} DRIVER_INFO_1;
+typedef struct _EXTTEXTMETRIC
+ {
+ short emSize;
+ short emPointSize;
+ short emOrientation;
+ short emMasterHeight;
+ short emMinScale;
+ short emMaxScale;
+ short emMasterUnits;
+ short emCapHeight;
+ short emXHeight;
+ short emLowerCaseAscent;
+ short emLowerCaseDescent;
+ short emSlant;
+ short emSuperScript;
+ short emSubScript;
+ short emSuperScriptSize;
+ short emSubScriptSize;
+ short emUnderlineOffset;
+ short emUnderlineWidth;
+ short emDoubleUpperUnderlineOffset;
+ short emDoubleLowerUnderlineOffset;
+ short emDoubleUpperUnderlineWidth;
+ short emDoubleLowerUnderlineWidth;
+ short emStrikeOutOffset;
+ short emStrikeOutWidth;
+ WORD emKernPairs;
+ WORD emKernTracks;
+} EXTTEXTMETRIC, *PEXTTEXTMETRIC;
+
+typedef struct _DRIVER_INFO_1A {
+ LPSTR pName;
+} DRIVER_INFO_1A;
+
+typedef struct _DRIVER_INFO_1W {
+ LPWSTR pName;
+} DRIVER_INFO_1W;
+
+typedef_tident(DRIVER_INFO_1)
+
+typedef struct _DRIVER_INFO_2A {
+ DWORD cVersion;
+ LPSTR pName;
+ LPSTR pEnvironment;
+ LPSTR pDriverPath;
+ LPSTR pDataFile;
+ LPSTR pConfigFile;
+} DRIVER_INFO_2A;
+
+typedef struct _DRIVER_INFO_2W {
+ DWORD cVersion;
+ LPWSTR pName;
+ LPWSTR pEnvironment;
+ LPWSTR pDriverPath;
+ LPWSTR pDataFile;
+ LPWSTR pConfigFile;
+} DRIVER_INFO_2W;
+
+typedef_tident(DRIVER_INFO_2)
-typedef struct _DRIVER_INFO_2 {
+typedef struct _DRIVER_INFO_3A {
DWORD cVersion;
- LPTSTR pName;
- LPTSTR pEnvironment;
- LPTSTR pDriverPath;
- LPTSTR pDataFile;
- LPTSTR pConfigFile;
-} DRIVER_INFO_2;
-
-typedef struct _DRIVER_INFO_3 {
+ LPSTR pName;
+ LPSTR pEnvironment;
+ LPSTR pDriverPath;
+ LPSTR pDataFile;
+ LPSTR pConfigFile;
+ LPSTR pHelpFile;
+ LPSTR pDependentFiles;
+ LPSTR pMonitorName;
+ LPSTR pDefaultDataType;
+} DRIVER_INFO_3A;
+
+typedef struct _DRIVER_INFO_3W {
DWORD cVersion;
- LPTSTR pName;
- LPTSTR pEnvironment;
- LPTSTR pDriverPath;
- LPTSTR pDataFile;
- LPTSTR pConfigFile;
- LPTSTR pHelpFile;
- LPTSTR pDependentFiles;
- LPTSTR pMonitorName;
- LPTSTR pDefaultDataType;
-} DRIVER_INFO_3;
+ LPWSTR pName;
+ LPWSTR pEnvironment;
+ LPWSTR pDriverPath;
+ LPWSTR pDataFile;
+ LPWSTR pConfigFile;
+ LPWSTR pHelpFile;
+ LPWSTR pDependentFiles;
+ LPWSTR pMonitorName;
+ LPWSTR pDefaultDataType;
+} DRIVER_INFO_3W;
+
+typedef_tident(DRIVER_INFO_3)
typedef struct _editstream {
DWORD dwCookie;
typedef LONG LCSCSTYPE;
typedef LONG LCSGAMUTMATCH;
-typedef struct tagLOGCOLORSPACE {
+typedef struct tagLOGCOLORSPACEA {
+ DWORD lcsSignature;
+ DWORD lcsVersion;
+ DWORD lcsSize;
+
+ LCSCSTYPE lcsCSType;
+ LCSGAMUTMATCH lcsIntent;
+ CIEXYZTRIPLE lcsEndpoints;
+ DWORD lcsGammaRed;
+ DWORD lcsGammaGreen;
+ DWORD lcsGammaBlue;
+ CHAR lcsFilename[MAX_PATH];
+} LOGCOLORSPACEA, *LPLOGCOLORSPACEA;
+
+typedef struct tagLOGCOLORSPACEW {
DWORD lcsSignature;
DWORD lcsVersion;
DWORD lcsSize;
DWORD lcsGammaRed;
DWORD lcsGammaGreen;
DWORD lcsGammaBlue;
- TCHAR lcsFilename[MAX_PATH];
-} LOGCOLORSPACE, *LPLOGCOLORSPACE;
+ WCHAR lcsFilename[MAX_PATH];
+} LOGCOLORSPACEW, *LPLOGCOLORSPACEW;
-typedef struct tagEMRCREATECOLORSPACE
+typedef_tident(LOGCOLORSPACE)
+
+typedef struct tagEMRCREATECOLORSPACEA
+{
+ EMR emr;
+ DWORD ihCS;
+ LOGCOLORSPACEA lcs;
+} EMRCREATECOLORSPACEA, *PEMRCREATECOLORSPACEA;
+
+typedef struct tagEMRCREATECOLORSPACEW
{
- EMR emr;
- DWORD ihCS;
- LOGCOLORSPACE lcs;
-} EMRCREATECOLORSPACE, *PEMRCREATECOLORSPACE;
+ EMR emr;
+ DWORD ihCS;
+ LOGCOLORSPACEW lcs;
+} EMRCREATECOLORSPACEW, *PEMRCREATECOLORSPACEW;
+
+typedef_tident(EMRCREATECOLORSPACE)
+typedef_tident(PEMRCREATECOLORSPACE)
typedef struct tagEMRCREATEDIBPATTERNBRUSHPT
{
BYTE bXHeight;
} PANOSE;
-typedef struct tagEXTLOGFONT {
- LOGFONT elfLogFont;
- BCHAR elfFullName[LF_FULLFACESIZE];
- BCHAR elfStyle[LF_FACESIZE];
- DWORD elfVersion;
- DWORD elfStyleSize;
- DWORD elfMatch;
- DWORD elfReserved;
- BYTE elfVendorId[ELF_VENDOR_SIZE];
- DWORD elfCulture;
- PANOSE elfPanose;
-} EXTLOGFONT;
+typedef struct tagEXTLOGFONTA {
+ LOGFONTA elfLogFont;
+ CHAR elfFullName[LF_FULLFACESIZE];
+ CHAR elfStyle[LF_FACESIZE];
+ DWORD elfVersion;
+ DWORD elfStyleSize;
+ DWORD elfMatch;
+ DWORD elfReserved;
+ BYTE elfVendorId[ELF_VENDOR_SIZE];
+ DWORD elfCulture;
+ PANOSE elfPanose;
+} EXTLOGFONTA, *LPEXTLOGFONTA;
+
+typedef struct tagEXTLOGFONTW {
+ LOGFONTW elfLogFont;
+ WCHAR elfFullName[LF_FULLFACESIZE];
+ WCHAR elfStyle[LF_FACESIZE];
+ DWORD elfVersion;
+ DWORD elfStyleSize;
+ DWORD elfMatch;
+ DWORD elfReserved;
+ BYTE elfVendorId[ELF_VENDOR_SIZE];
+ DWORD elfCulture;
+ PANOSE elfPanose;
+} EXTLOGFONTW, *LPEXTLOGFONTW;
+
+typedef_tident(EXTLOGFONT)
+typedef_tident(LPEXTLOGFONT)
typedef struct tagEMREXTCREATEFONTINDIRECTW
{
EMR emr;
DWORD ihFont;
- EXTLOGFONT elfw;
+ EXTLOGFONTW elfw;
} EMREXTCREATEFONTINDIRECTW,
PEMREXTCREATEFONTINDIRECTW;
DWORD nPalEntries;
SIZEL szlDevice;
SIZEL szlMillimeters;
+ DWORD cbPixelFormat;
+ DWORD offPixelFormat;
+ DWORD bOpenGL;
+ SIZEL szlMicrometers;
} ENHMETAHEADER, *LPENHMETAHEADER;
typedef struct tagENHMETARECORD {
DWORD dwWaitHint;
} SERVICE_STATUS, *LPSERVICE_STATUS;
+typedef struct _SERVICE_STATUS_PROCESS {
+ DWORD dwServiceType;
+ DWORD dwCurrentState;
+ DWORD dwControlsAccepted;
+ DWORD dwWin32ExitCode;
+ DWORD dwServiceSpecificExitCode;
+ DWORD dwCheckPoint;
+ DWORD dwWaitHint;
+ DWORD dwProcessId;
+ DWORD dwServiceFlags;
+} SERVICE_STATUS_PROCESS, *LPSERVICE_STATUS_PROCESS;
+
typedef struct _ENUM_SERVICE_STATUSA {
LPSTR lpServiceName;
LPSTR lpDisplayName;
SERVICE_STATUS ServiceStatus;
} ENUM_SERVICE_STATUSW, *LPENUM_SERVICE_STATUSW;
-#ifdef UNICODE
-#define ENUM_SERVICE_STATUS ENUM_SERVICE_STATUSW
-#define LPENUM_SERVICE_STATUS LPENUM_SERVICE_STATUSW
-#else
-#define ENUM_SERVICE_STATUS ENUM_SERVICE_STATUSA
-#define LPENUM_SERVICE_STATUS LPENUM_SERVICE_STATUSA
-#endif
+typedef_tident(ENUM_SERVICE_STATUS)
+typedef_tident(LPENUM_SERVICE_STATUS)
+
+typedef struct _ENUM_SERVICE_STATUS_PROCESSA {
+ LPSTR lpServiceName;
+ LPSTR lpDisplayName;
+ SERVICE_STATUS_PROCESS ServiceStatusProcess;
+} ENUM_SERVICE_STATUS_PROCESSA, *LPENUM_SERVICE_STATUS_PROCESSA;
+
+typedef struct _ENUM_SERVICE_STATUS_PROCESSW {
+ LPWSTR lpServiceName;
+ LPWSTR lpDisplayName;
+ SERVICE_STATUS_PROCESS ServiceStatusProcess;
+} ENUM_SERVICE_STATUS_PROCESSW, *LPENUM_SERVICE_STATUS_PROCESSW;
+
+typedef_tident(ENUM_SERVICE_STATUS_PROCESS)
+typedef_tident(LPENUM_SERVICE_STATUS_PROCESS)
+
+typedef struct tagENUMLOGFONTA {
+ LOGFONTA elfLogFont;
+ CHAR elfFullName[LF_FULLFACESIZE];
+ CHAR elfStyle[LF_FACESIZE];
+} ENUMLOGFONTA, *LPENUMLOGFONTA;
+
+typedef struct tagENUMLOGFONTW {
+ LOGFONTW elfLogFont;
+ WCHAR elfFullName[LF_FULLFACESIZE];
+ WCHAR elfStyle[LF_FACESIZE];
+} ENUMLOGFONTW, *LPENUMLOGFONTW;
+
+typedef_tident(ENUMLOGFONT)
+typedef_tident(LPENUMLOGFONT)
+
+typedef struct tagENUMLOGFONTEXA {
+ LOGFONTA elfLogFont;
+ CHAR elfFullName[LF_FULLFACESIZE];
+ CHAR elfStyle[LF_FACESIZE];
+ CHAR elfScript[LF_FACESIZE];
+} ENUMLOGFONTEXA, *LPENUMLOGFONTEXA;
+
+typedef struct tagENUMLOGFONTEXW {
+ LOGFONTW elfLogFont;
+ WCHAR elfFullName[LF_FULLFACESIZE];
+ WCHAR elfStyle[LF_FACESIZE];
+ WCHAR elfScript[LF_FACESIZE];
+} ENUMLOGFONTEXW, *LPENUMLOGFONTEXW;
+
+typedef_tident(ENUMLOGFONTEX)
+typedef_tident(LPENUMLOGFONTEX)
+
+typedef struct tagDESIGNVECTOR
+{
+ DWORD dvReserved;
+ DWORD dvNumAxes;
+ LONG dvValues[MM_MAX_NUMAXES];
+} DESIGNVECTOR, *PDESIGNVECTOR, FAR *LPDESIGNVECTOR;
-typedef struct tagENUMLOGFONT {
- LOGFONT elfLogFont;
- BCHAR elfFullName[LF_FULLFACESIZE];
- BCHAR elfStyle[LF_FACESIZE];
-} ENUMLOGFONT;
+typedef struct tagENUMLOGFONTEXDVA
+{
+ ENUMLOGFONTEXA elfEnumLogfontEx;
+ DESIGNVECTOR elfDesignVector;
+} ENUMLOGFONTEXDVA, *PENUMLOGFONTEXDVA, FAR *LPENUMLOGFONTEXDVA;
+typedef struct tagENUMLOGFONTEXDVW
+{
+ ENUMLOGFONTEXW elfEnumLogfontEx;
+ DESIGNVECTOR elfDesignVector;
+} ENUMLOGFONTEXDVW, *PENUMLOGFONTEXDVW, FAR *LPENUMLOGFONTEXDVW;
-typedef struct tagENUMLOGFONTEX {
- LOGFONT elfLogFont;
- BCHAR elfFullName[LF_FULLFACESIZE];
- BCHAR elfStyle[LF_FACESIZE];
- BCHAR elfScript[LF_FACESIZE];
-} ENUMLOGFONTEX;
+typedef_tident(ENUMLOGFONTEXDV)
+typedef_tident(PENUMLOGFONTEXDV)
+typedef_tident(LPENUMLOGFONTEXDV)
typedef struct _EVENTLOGRECORD {
DWORD Length;
HWND hwndOwner;
HINSTANCE hInstance;
DWORD Flags;
- LPTSTR lpstrFindWhat;
- LPTSTR lpstrReplaceWith;
+ LPSTR lpstrFindWhat;
+ LPSTR lpstrReplaceWith;
+ WORD wFindWhatLen;
+ WORD wReplaceWithLen;
+ LPARAM lCustData;
+ LPFRHOOKPROC lpfnHook;
+ LPCSTR lpTemplateName;
+} FINDREPLACEA, *LPFINDREPLACEA;
+
+typedef struct {
+ DWORD lStructSize;
+ HWND hwndOwner;
+ HINSTANCE hInstance;
+ DWORD Flags;
+ LPWSTR lpstrFindWhat;
+ LPWSTR lpstrReplaceWith;
WORD wFindWhatLen;
WORD wReplaceWithLen;
- LPARAM lCustData;
+ LPARAM lCustData;
LPFRHOOKPROC lpfnHook;
- LPCTSTR lpTemplateName;
-} FINDREPLACE, *LPFINDREPLACE;
+ LPCWSTR lpTemplateName;
+} FINDREPLACEW, *LPFINDREPLACEW;
+
+typedef_tident(FINDREPLACE)
+typedef_tident(LPFINDREPLACE)
typedef struct _findtext {
CHARRANGE chrg;
CHARRANGE chrgText;
} FINDTEXTEX;
-typedef struct _FMS_GETDRIVEINFO {
+typedef struct _FMS_GETDRIVEINFOA {
+ DWORD dwTotalSpace;
+ DWORD dwFreeSpace;
+ CHAR szPath[260];
+ CHAR szVolume[14];
+ CHAR szShare[128];
+} FMS_GETDRIVEINFOA;
+
+typedef struct _FMS_GETDRIVEINFOW {
DWORD dwTotalSpace;
DWORD dwFreeSpace;
- TCHAR szPath[260];
- TCHAR szVolume[14];
- TCHAR szShare[128];
-} FMS_GETDRIVEINFO;
+ WCHAR szPath[260];
+ WCHAR szVolume[14];
+ WCHAR szShare[128];
+} FMS_GETDRIVEINFOW;
+
+typedef_tident(FMS_GETDRIVEINFO)
+
+typedef struct _FMS_GETFILESELA {
+ FILETIME ftTime;
+ DWORD dwSize;
+ BYTE bAttr;
+ CHAR szName[260];
+} FMS_GETFILESELA;
-typedef struct _FMS_GETFILESEL {
+typedef struct _FMS_GETFILESELW {
FILETIME ftTime;
DWORD dwSize;
BYTE bAttr;
- TCHAR szName[260];
-} FMS_GETFILESEL;
+ WCHAR szName[260];
+} FMS_GETFILESELW;
+
+typedef_tident(FMS_GETFILESEL)
+
+typedef struct _FMS_LOADA {
+ DWORD dwSize;
+ CHAR szMenuName[MENU_TEXT_LEN];
+ HMENU hMenu;
+ UINT wMenuDelta;
+} FMS_LOADA;
-typedef struct _FMS_LOAD {
+typedef struct _FMS_LOADW {
DWORD dwSize;
- TCHAR szMenuName[MENU_TEXT_LEN];
+ WCHAR szMenuName[MENU_TEXT_LEN];
HMENU hMenu;
UINT wMenuDelta;
-} FMS_LOAD;
+} FMS_LOADW;
+
+typedef_tident(FMS_LOAD)
typedef struct _FMS_TOOLBARLOAD {
DWORD dwSize;
} FMS_TOOLBARLOAD;
-typedef struct _FORM_INFO_1 {
- DWORD Flags;
- LPTSTR pName;
+typedef struct _FORM_INFO_1A {
+ DWORD Flags;
+ LPSTR pName;
+ SIZEL Size;
+ RECTL ImageableArea;
+} FORM_INFO_1A;
+
+typedef struct _FORM_INFO_1W {
+ DWORD Flags;
+ LPWSTR pName;
SIZEL Size;
RECTL ImageableArea;
-} FORM_INFO_1;
+} FORM_INFO_1W;
+
+typedef_tident(FORM_INFO_1)
typedef struct _FORMAT_PARAMETERS {
MEDIA_TYPE MediaType;
CHARRANGE chrg;
} FORMATRANGE;
-typedef struct tagGCP_RESULTS {
+typedef struct tagGCP_RESULTSA {
+ DWORD lStructSize;
+ LPSTR lpOutString;
+ UINT *lpOrder;
+ INT *lpDx;
+ INT *lpCaretPos;
+ LPSTR lpClass;
+ UINT *lpGlyphs;
+ UINT nGlyphs;
+ UINT nMaxFit;
+} GCP_RESULTSA, *LPGCP_RESULTSA;
+
+typedef struct tagGCP_RESULTSW {
DWORD lStructSize;
- LPTSTR lpOutString;
+ LPWSTR lpOutString;
UINT *lpOrder;
INT *lpDx;
INT *lpCaretPos;
- LPTSTR lpClass;
+ LPWSTR lpClass;
UINT *lpGlyphs;
UINT nGlyphs;
UINT nMaxFit;
-} GCP_RESULTS, *LPGCP_RESULTS;
+} GCP_RESULTSW, *LPGCP_RESULTSW;
+
+typedef_tident(GCP_RESULTS)
typedef struct _GLYPHMETRICS {
int iItem;
} HD_HITTESTINFO;
-typedef struct _HD_ITEM {
+typedef struct _HD_ITEMA {
+ UINT mask;
+ int cxy;
+ LPSTR pszText;
+ HBITMAP hbm;
+ int cchTextMax;
+ int fmt;
+ LPARAM lParam;
+} HD_ITEMA;
+
+typedef struct _HD_ITEMW {
UINT mask;
int cxy;
- LPTSTR pszText;
+ LPWSTR pszText;
HBITMAP hbm;
int cchTextMax;
int fmt;
LPARAM lParam;
-} HD_ITEM;
+} HD_ITEMW;
+
+typedef_tident(HD_ITEM)
typedef struct _WINDOWPOS {
HWND hwnd;
WINDOWPOS * pwpos;
} HD_LAYOUT;
-typedef struct _HD_NOTIFY {
- NMHDR hdr;
- int iItem;
- int iButton;
- HD_ITEM * pitem;
-} HD_NOTIFY;
+typedef struct _HD_NOTIFYA {
+ NMHDR hdr;
+ int iItem;
+ int iButton;
+ HD_ITEMA *pitem;
+} HD_NOTIFYA;
+
+typedef struct _HD_NOTIFYW {
+ NMHDR hdr;
+ int iItem;
+ int iButton;
+ HD_ITEMW *pitem;
+} HD_NOTIFYW;
+
+typedef_tident(HD_NOTIFY)
typedef struct tagHELPINFO {
UINT cbSize;
POINT MousePos;
} HELPINFO, *LPHELPINFO;
-typedef struct {
+typedef struct tagMULTIKEYHELPA {
DWORD mkSize;
CHAR mkKeyList;
CHAR szKeyphrase[1];
} MULTIKEYHELPA, *PMULTIKEYHELPA, *LPMULTIKEYHELPA;
-typedef struct {
+typedef struct tagMULTIKEYHELPW {
DWORD mkSize;
WCHAR mkKeyList;
WCHAR szKeyphrase[1];
} MULTIKEYHELPW, *PMULTIKEYHELPW, *LPMULTIKEYHELPW;
-typedef struct {
- int wStructSize;
- int x;
- int y;
- int dx;
- int dy;
- int wMax;
- TCHAR rgchMember[2];
-} HELPWININFO;
+typedef_tident(MULTIKEYHELP)
+typedef_tident(PMULTIKEYHELP)
+typedef_tident(LPMULTIKEYHELP)
typedef struct {
int wStructSize;
WCHAR rgchMember[2];
} HELPWININFOW, *PHELPWININFOW, *LPHELPWININFOW;
+typedef_tident(HELPWININFO)
+typedef_tident(PHELPWININFO)
+typedef_tident(LPHELPWININFO)
+
+typedef struct tagHIGHCONTRASTA {
+ UINT cbSize;
+ DWORD dwFlags;
+ LPSTR lpszDefaultScheme;
+} HIGHCONTRASTA, *LPHIGHCONTRASTA;
-typedef struct tagHIGHCONTRAST {
+typedef struct tagHIGHCONTRASTW {
UINT cbSize;
DWORD dwFlags;
- LPTSTR lpszDefaultScheme;
-} HIGHCONTRAST, * LPHIGHCONTRAST;
+ LPWSTR lpszDefaultScheme;
+} HIGHCONTRASTW, *LPHIGHCONTRASTW;
+
+typedef_tident(HIGHCONTRAST)
+typedef_tident(LPHIGHCONTRAST)
typedef struct tagHSZPAIR {
HSZ hszSvc;
HBITMAP hbmColor;
} ICONINFO, *PICONINFO;
-typedef struct tagICONMETRICS {
- UINT cbSize;
- int iHorzSpacing;
- int iVertSpacing;
- int iTitleWrap;
- LOGFONT lfFont;
-} ICONMETRICS, *LPICONMETRICS;
+typedef struct tagICONMETRICSA {
+ UINT cbSize;
+ int iHorzSpacing;
+ int iVertSpacing;
+ int iTitleWrap;
+ LOGFONTA lfFont;
+} ICONMETRICSA, *LPICONMETRICSA;
+
+typedef struct tagICONMETRICSW {
+ UINT cbSize;
+ int iHorzSpacing;
+ int iVertSpacing;
+ int iTitleWrap;
+ LOGFONTW lfFont;
+} ICONMETRICSW, *LPICONMETRICSW;
+
+typedef_tident(ICONMETRICS)
+typedef_tident(LPICONMETRICS)
typedef struct _IMAGEINFO {
HBITMAP hbmImage;
RECT rcImage;
} IMAGEINFO;
-typedef struct _JOB_INFO_1 {
+typedef struct _JOB_INFO_1A {
+ DWORD JobId;
+ LPSTR pPrinterName;
+ LPSTR pMachineName;
+ LPSTR pUserName;
+ LPSTR pDocument;
+ LPSTR pDatatype;
+ LPSTR pStatus;
+ DWORD Status;
+ DWORD Priority;
+ DWORD Position;
+ DWORD TotalPages;
+ DWORD PagesPrinted;
+ SYSTEMTIME Submitted;
+} JOB_INFO_1A;
+
+typedef struct _JOB_INFO_1W {
DWORD JobId;
- LPTSTR pPrinterName;
- LPTSTR pMachineName;
- LPTSTR pUserName;
- LPTSTR pDocument;
- LPTSTR pDatatype;
- LPTSTR pStatus;
+ LPWSTR pPrinterName;
+ LPWSTR pMachineName;
+ LPWSTR pUserName;
+ LPWSTR pDocument;
+ LPWSTR pDatatype;
+ LPWSTR pStatus;
DWORD Status;
DWORD Priority;
DWORD Position;
DWORD TotalPages;
DWORD PagesPrinted;
SYSTEMTIME Submitted;
-} JOB_INFO_1;
+} JOB_INFO_1W;
+
+typedef_tident(JOB_INFO_1)
#if 0
-typedef struct _JOB_INFO_2 {
+typedef struct _JOB_INFO_2A {
DWORD JobId;
- LPTSTR pPrinterName;
- LPTSTR pMachineName;
- LPTSTR pUserName;
- LPTSTR pDocument;
- LPTSTR pNotifyName;
- LPTSTR pDatatype;
- LPTSTR pPrintProcessor;
- LPTSTR pParameters;
- LPTSTR pDriverName;
+ LPSTR pPrinterName;
+ LPSTR pMachineName;
+ LPSTR pUserName;
+ LPSTR pDocument;
+ LPSTR pNotifyName;
+ LPSTR pDatatype;
+ LPSTR pPrintProcessor;
+ LPSTR pParameters;
+ LPSTR pDriverName;
LPDEVMODE pDevMode;
- LPTSTR pStatus;
+ LPSTR pStatus;
PSECURITY_DESCRIPTOR pSecurityDescriptor;
DWORD Status;
DWORD Priority;
SYSTEMTIME Submitted;
DWORD Time;
DWORD PagesPrinted ;
-} JOB_INFO_2;
-#endif
+} JOB_INFO_2A;
+
+typedef struct _JOB_INFO_2W {
+ DWORD JobId;
+ LPWSTR pPrinterName;
+ LPWSTR pMachineName;
+ LPWSTR pUserName;
+ LPWSTR pDocument;
+ LPWSTR pNotifyName;
+ LPWSTR pDatatype;
+ LPWSTR pPrintProcessor;
+ LPWSTR pParameters;
+ LPWSTR pDriverName;
+ LPDEVMODE pDevMode;
+ LPWSTR pStatus;
+ PSECURITY_DESCRIPTOR pSecurityDescriptor;
+ DWORD Status;
+ DWORD Priority;
+ DWORD Position;
+ DWORD StartTime;
+ DWORD UntilTime;
+ DWORD TotalPages;
+ DWORD Size;
+ SYSTEMTIME Submitted;
+ DWORD Time;
+ DWORD PagesPrinted ;
+} JOB_INFO_2W;
+
+typedef_tident(JOB_INFO_2)
+#endif/*0*/
typedef struct tagKERNINGPAIR {
WORD wFirst;
UCHAR lana[MAX_LANA];
} LANA_ENUM;
-typedef struct _LDT_ENTRY {
- WORD LimitLow;
- WORD BaseLow;
- union {
- struct {
- BYTE BaseMid;
- BYTE Flags1;
- BYTE Flags2;
- BYTE BaseHi;
- } Bytes;
- struct {
- DWORD BaseMid : 8;
- DWORD Type : 5;
- DWORD Dpl : 2;
- DWORD Pres : 1;
- DWORD LimitHi : 4;
- DWORD Sys : 1;
- DWORD Reserved_0 : 1;
- DWORD Default_Big : 1;
- DWORD Granularity : 1;
- DWORD BaseHi : 8;
- } Bits;
- } HighWord;
-} LDT_ENTRY, *PLDT_ENTRY, *LPLDT_ENTRY;
typedef struct tagLOCALESIGNATURE {
DWORD lsUsb[4];
typedef LUID_AND_ATTRIBUTES LUID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY];
typedef LUID_AND_ATTRIBUTES_ARRAY *PLUID_AND_ATTRIBUTES_ARRAY;
-typedef struct _LV_COLUMN {
+typedef struct _LV_COLUMNA {
+ UINT mask;
+ int fmt;
+ int cx;
+ LPSTR pszText;
+ int cchTextMax;
+ int iSubItem;
+} LV_COLUMNA;
+
+typedef struct _LV_COLUMNW {
UINT mask;
int fmt;
int cx;
- LPTSTR pszText;
+ LPWSTR pszText;
int cchTextMax;
int iSubItem;
-} LV_COLUMN;
+} LV_COLUMNW;
+
+typedef_tident(LV_COLUMN)
+
+typedef struct _LV_ITEMA {
+ UINT mask;
+ int iItem;
+ int iSubItem;
+ UINT state;
+ UINT stateMask;
+ LPSTR pszText;
+ int cchTextMax;
+ int iImage;
+ LPARAM lParam;
+} LV_ITEMA;
-typedef struct _LV_ITEM {
+typedef struct _LV_ITEMW {
UINT mask;
int iItem;
int iSubItem;
UINT state;
UINT stateMask;
- LPTSTR pszText;
+ LPWSTR pszText;
int cchTextMax;
int iImage;
LPARAM lParam;
-} LV_ITEM;
+} LV_ITEMW;
+
+typedef_tident(LV_ITEM)
-typedef struct tagLV_DISPINFO {
- NMHDR hdr;
- LV_ITEM item;
-} LV_DISPINFO;
+typedef struct tagLV_DISPINFOA {
+ NMHDR hdr;
+ LV_ITEMA item;
+} LV_DISPINFOA;
+
+typedef struct tagLV_DISPINFOW {
+ NMHDR hdr;
+ LV_ITEMW item;
+} LV_DISPINFOW;
+
+typedef_tident(LV_DISPINFO)
+
+typedef struct _LV_FINDINFOA {
+ UINT flags;
+ LPCSTR psz;
+ LPARAM lParam;
+ POINT pt;
+ UINT vkDirection;
+} LV_FINDINFOA;
-typedef struct _LV_FINDINFO {
+typedef struct _LV_FINDINFOW {
UINT flags;
- LPCTSTR psz;
+ LPCWSTR psz;
LPARAM lParam;
POINT pt;
UINT vkDirection;
-} LV_FINDINFO;
+} LV_FINDINFOW;
+
+typedef_tident(LV_FINDINFO)
typedef struct _LV_HITTESTINFO {
POINT pt;
FIXED eM22;
} MAT2, *LPMAT2;
-typedef struct tagMDICREATESTRUCT {
- LPCTSTR szClass;
- LPCTSTR szTitle;
+typedef struct tagMDICREATESTRUCTA {
+ LPCSTR szClass;
+ LPCSTR szTitle;
HANDLE hOwner;
int x;
int y;
int cy;
DWORD style;
LPARAM lParam;
-} MDICREATESTRUCT;
+} MDICREATESTRUCTA, *LPMDICREATESTRUCTA;
-typedef MDICREATESTRUCT *LPMDICREATESTRUCT;
-
-typedef struct tagMEASUREITEMSTRUCT {
- UINT CtlType;
- UINT CtlID;
- UINT itemID;
- UINT itemWidth;
+typedef struct tagMDICREATESTRUCTW {
+ LPCWSTR szClass;
+ LPCWSTR szTitle;
+ HANDLE hOwner;
+ int x;
+ int y;
+ int cx;
+ int cy;
+ DWORD style;
+ LPARAM lParam;
+} MDICREATESTRUCTW, *LPMDICREATESTRUCTW;
+
+typedef_tident(MDICREATESTRUCT)
+typedef_tident(LPMDICREATESTRUCT)
+
+typedef struct tagMEASUREITEMSTRUCT {
+ UINT CtlType;
+ UINT CtlID;
+ UINT itemID;
+ UINT itemWidth;
UINT itemHeight;
DWORD itemData;
} MEASUREITEMSTRUCT, *LPMEASUREITEMSTRUCT;
DWORD dwHelpId;
} MENUEX_TEMPLATE_ITEM;
-typedef struct tagMENUITEMINFO {
+
+typedef struct tagMENUITEMINFOA {
+ UINT cbSize;
+ UINT fMask;
+ UINT fType;
+ UINT fState;
+ UINT wID;
+ HMENU hSubMenu;
+ HBITMAP hbmpChecked;
+ HBITMAP hbmpUnchecked;
+ DWORD dwItemData;
+ LPSTR dwTypeData;
+ UINT cch;
+ HBITMAP hbmpItem;
+} MENUITEMINFOA, *LPMENUITEMINFOA;
+typedef CONST MENUITEMINFOA* LPCMENUITEMINFOA;
+
+typedef struct tagMENUITEMINFOW {
UINT cbSize;
UINT fMask;
UINT fType;
HBITMAP hbmpChecked;
HBITMAP hbmpUnchecked;
DWORD dwItemData;
- LPTSTR dwTypeData;
+ LPWSTR dwTypeData;
UINT cch;
-} MENUITEMINFO, *LPMENUITEMINFO;
-typedef MENUITEMINFO CONST *LPCMENUITEMINFO;
+ HBITMAP hbmpItem;
+} MENUITEMINFOW, *LPMENUITEMINFOW;
+typedef CONST MENUITEMINFOW* LPCMENUITEMINFOW;
+
+typedef_tident(MENUITEMINFO)
+typedef_tident(LPMENUITEMINFO)
+typedef_tident(LPCMENUITEMINFO)
typedef struct {
WORD mtOption;
typedef VOID MENUTEMPLATE, *LPMENUTEMPLATE;
typedef struct tagMETAFILEPICT {
-#if 0
LONG mm;
LONG xExt;
LONG yExt;
HMETAFILE hMF;
-#endif
} METAFILEPICT, *PMETAFILEPICT, *LPMETAFILEPICT;
typedef struct tagMETAHEADER {
WORD mtNoObjects;
DWORD mtMaxRecord;
WORD mtNoParameters;
-} METAHEADER PACKED;
+} PACKED METAHEADER;
typedef struct tagMETARECORD {
DWORD rdSize;
HANDLE hTask;
} MONERRSTRUCT;
-typedef struct tagMONHSZSTRUCT {
+typedef struct tagMONHSZSTRUCTA {
+ UINT cb;
+ WINBOOL fsAction;
+ DWORD dwTime;
+ HSZ hsz;
+ HANDLE hTask;
+ CHAR str[1];
+} MONHSZSTRUCTA;
+
+typedef struct tagMONHSZSTRUCTW {
UINT cb;
WINBOOL fsAction;
DWORD dwTime;
HSZ hsz;
HANDLE hTask;
- TCHAR str[1];
-} MONHSZSTRUCT;
+ WCHAR str[1];
+} MONHSZSTRUCTW;
+
+typedef_tident(MONHSZSTRUCT)
+
+typedef struct _MONITOR_INFO_1A {
+ LPSTR pName;
+} MONITOR_INFO_1A;
+
+typedef struct _MONITOR_INFO_1W {
+ LPWSTR pName;
+} MONITOR_INFO_1W;
+
+typedef_tident(MONITOR_INFO_1)
+
+typedef struct _MONITOR_INFO_2A {
+ LPSTR pName;
+ LPSTR pEnvironment ;
+ LPSTR pDLLName ;
+} MONITOR_INFO_2A;
-typedef struct _MONITOR_INFO_1 {
- LPTSTR pName;
-} MONITOR_INFO_1;
+typedef struct _MONITOR_INFO_2W {
+ LPWSTR pName;
+ LPWSTR pEnvironment ;
+ LPWSTR pDLLName ;
+} MONITOR_INFO_2W;
-typedef struct _MONITOR_INFO_2 {
- LPTSTR pName;
- LPTSTR pEnvironment ;
- LPTSTR pDLLName ;
-} MONITOR_INFO_2;
+typedef_tident(MONITOR_INFO_2)
typedef struct tagMONLINKSTRUCT {
UINT cb;
LPARAM lParam;
} MSGFILTER;
-typedef struct tagMULTIKEYHELP {
- DWORD mkSize;
- TCHAR mkKeylist;
- TCHAR szKeyphrase[1];
-} MULTIKEYHELP;
-
typedef struct _NAME_BUFFER {
UCHAR name[NCBNAMSZ];
UCHAR name_num;
PWINDOWPOS lppos;
} NCCALCSIZE_PARAMS;
-typedef struct _NDDESHAREINFO {
+typedef struct _NDDESHAREINFOA {
+ LONG lRevision;
+ LPSTR lpszShareName;
+ LONG lShareType;
+ LPSTR lpszAppTopicList;
+ LONG fSharedFlag;
+ LONG fService;
+ LONG fStartAppFlag;
+ LONG nCmdShow;
+ LONG qModifyId[2];
+ LONG cNumItems;
+ LPSTR lpszItemList;
+}NDDESHAREINFOA;
+
+typedef struct _NDDESHAREINFOW {
LONG lRevision;
- LPTSTR lpszShareName;
+ LPWSTR lpszShareName;
LONG lShareType;
- LPTSTR lpszAppTopicList;
+ LPWSTR lpszAppTopicList;
LONG fSharedFlag;
LONG fService;
LONG fStartAppFlag;
LONG nCmdShow;
LONG qModifyId[2];
LONG cNumItems;
- LPTSTR lpszItemList;
-}NDDESHAREINFO;
+ LPWSTR lpszItemList;
+}NDDESHAREINFOW;
+
+typedef_tident(NDDESHAREINFO)
+
+typedef struct _NETRESOURCEA {
+ DWORD dwScope;
+ DWORD dwType;
+ DWORD dwDisplayType;
+ DWORD dwUsage;
+ LPSTR lpLocalName;
+ LPSTR lpRemoteName;
+ LPSTR lpComment;
+ LPSTR lpProvider;
+} NETRESOURCEA, *LPNETRESOURCEA;
-typedef struct _NETRESOURCE {
+typedef struct _NETRESOURCEW {
DWORD dwScope;
DWORD dwType;
DWORD dwDisplayType;
DWORD dwUsage;
- LPTSTR lpLocalName;
- LPTSTR lpRemoteName;
- LPTSTR lpComment;
- LPTSTR lpProvider;
-} NETRESOURCE, *LPNETRESOURCE;
+ LPWSTR lpLocalName;
+ LPWSTR lpRemoteName;
+ LPWSTR lpComment;
+ LPWSTR lpProvider;
+} NETRESOURCEW, *LPNETRESOURCEW;
-typedef struct tagNEWCPLINFO {
+typedef_tident(NETRESOURCE)
+typedef_tident(LPNETRESOURCE)
+
+typedef struct tagNEWCPLINFOA {
+ DWORD dwSize;
+ DWORD dwFlags;
+ DWORD dwHelpContext;
+ LONG lData;
+ HICON hIcon;
+ CHAR szName[32];
+ CHAR szInfo[64];
+ CHAR szHelpFile[128];
+} NEWCPLINFOA;
+
+typedef struct tagNEWCPLINFOW {
DWORD dwSize;
DWORD dwFlags;
DWORD dwHelpContext;
LONG lData;
HICON hIcon;
- TCHAR szName[32];
- TCHAR szInfo[64];
- TCHAR szHelpFile[128];
-} NEWCPLINFO;
+ WCHAR szName[32];
+ WCHAR szInfo[64];
+ WCHAR szHelpFile[128];
+} NEWCPLINFOW;
+
+typedef_tident(NEWCPLINFO)
-typedef struct tagNEWTEXTMETRIC {
+typedef struct tagNEWTEXTMETRICA {
LONG tmHeight;
LONG tmAscent;
LONG tmDescent;
LONG tmOverhang;
LONG tmDigitizedAspectX;
LONG tmDigitizedAspectY;
- BCHAR tmFirstChar;
- BCHAR tmLastChar;
- BCHAR tmDefaultChar;
- BCHAR tmBreakChar;
+ CHAR tmFirstChar;
+ CHAR tmLastChar;
+ CHAR tmDefaultChar;
+ CHAR tmBreakChar;
BYTE tmItalic;
BYTE tmUnderlined;
BYTE tmStruckOut;
UINT ntmSizeEM;
UINT ntmCellHeight;
UINT ntmAvgWidth;
-} NEWTEXTMETRIC;
+} NEWTEXTMETRICA;
+typedef struct tagNEWTEXTMETRICW {
+ LONG tmHeight;
+ LONG tmAscent;
+ LONG tmDescent;
+ LONG tmInternalLeading;
+ LONG tmExternalLeading;
+ LONG tmAveCharWidth;
+ LONG tmMaxCharWidth;
+ LONG tmWeight;
+ LONG tmOverhang;
+ LONG tmDigitizedAspectX;
+ LONG tmDigitizedAspectY;
+ WCHAR tmFirstChar;
+ WCHAR tmLastChar;
+ WCHAR tmDefaultChar;
+ WCHAR tmBreakChar;
+ BYTE tmItalic;
+ BYTE tmUnderlined;
+ BYTE tmStruckOut;
+ BYTE tmPitchAndFamily;
+ BYTE tmCharSet;
+ DWORD ntmFlags;
+ UINT ntmSizeEM;
+ UINT ntmCellHeight;
+ UINT ntmAvgWidth;
+} NEWTEXTMETRICW;
-typedef struct tagNEWTEXTMETRICEX {
- NEWTEXTMETRIC ntmentm;
+typedef_tident(NEWTEXTMETRIC)
+
+typedef struct tagNEWTEXTMETRICEXA {
+ NEWTEXTMETRICA ntmentm;
+ FONTSIGNATURE ntmeFontSignature;
+} NEWTEXTMETRICEXA;
+
+typedef struct tagNEWTEXTMETRICEXW {
+ NEWTEXTMETRICW ntmentm;
FONTSIGNATURE ntmeFontSignature;
-} NEWTEXTMETRICEX;
+} NEWTEXTMETRICEXW;
+
+typedef_tident(NEWTEXTMETRICEX)
typedef struct tagNM_LISTVIEW {
NMHDR hdr;
typedef struct _TREEITEM *HTREEITEM;
-typedef struct _TV_ITEM {
+typedef struct _TV_ITEMA {
+ UINT mask;
+ HTREEITEM hItem;
+ UINT state;
+ UINT stateMask;
+ LPSTR pszText;
+ int cchTextMax;
+ int iImage;
+ int iSelectedImage;
+ int cChildren;
+ LPARAM lParam;
+} TV_ITEMA, *LPTV_ITEMA;
+
+typedef struct _TV_ITEMW {
UINT mask;
HTREEITEM hItem;
UINT state;
UINT stateMask;
- LPTSTR pszText;
+ LPWSTR pszText;
int cchTextMax;
int iImage;
int iSelectedImage;
int cChildren;
LPARAM lParam;
-} TV_ITEM, *LPTV_ITEM;
+} TV_ITEMW, *LPTV_ITEMW;
+
+typedef_tident(TV_ITEM)
+typedef_tident(LPTV_ITEM)
+
+typedef struct _NM_TREEVIEWA {
+ NMHDR hdr;
+ UINT action;
+ TV_ITEMA itemOld;
+ TV_ITEMA itemNew;
+ POINT ptDrag;
+} NM_TREEVIEWA, *LPNM_TREEVIEWA;
-typedef struct _NM_TREEVIEW {
+typedef struct _NM_TREEVIEWW {
NMHDR hdr;
UINT action;
- TV_ITEM itemOld;
- TV_ITEM itemNew;
+ TV_ITEMW itemOld;
+ TV_ITEMW itemNew;
POINT ptDrag;
-} NM_TREEVIEW;
-typedef NM_TREEVIEW *LPNM_TREEVIEW;
+} NM_TREEVIEWW, *LPNM_TREEVIEWW;
+
+typedef_tident(NM_TREEVIEW)
+typedef_tident(LPNM_TREEVIEW)
+
typedef struct _NM_UPDOWN {
NMHDR hdr;
int iDelta;
} NM_UPDOWNW;
-typedef struct tagNONCLIENTMETRICS {
- UINT cbSize;
- int iBorderWidth;
- int iScrollWidth;
- int iScrollHeight;
- int iCaptionWidth;
- int iCaptionHeight;
- LOGFONT lfCaptionFont;
- int iSmCaptionWidth;
- int iSmCaptionHeight;
- LOGFONT lfSmCaptionFont;
- int iMenuWidth;
- int iMenuHeight;
- LOGFONT lfMenuFont;
- LOGFONT lfStatusFont;
- LOGFONT lfMessageFont;
-} NONCLIENTMETRICS, * LPNONCLIENTMETRICS;
+typedef struct tagNONCLIENTMETRICSA {
+ UINT cbSize;
+ int iBorderWidth;
+ int iScrollWidth;
+ int iScrollHeight;
+ int iCaptionWidth;
+ int iCaptionHeight;
+ LOGFONTA lfCaptionFont;
+ int iSmCaptionWidth;
+ int iSmCaptionHeight;
+ LOGFONTA lfSmCaptionFont;
+ int iMenuWidth;
+ int iMenuHeight;
+ LOGFONTA lfMenuFont;
+ LOGFONTA lfStatusFont;
+ LOGFONTA lfMessageFont;
+} NONCLIENTMETRICSA, *LPNONCLIENTMETRICSA;
+
+typedef struct tagNONCLIENTMETRICSW {
+ UINT cbSize;
+ int iBorderWidth;
+ int iScrollWidth;
+ int iScrollHeight;
+ int iCaptionWidth;
+ int iCaptionHeight;
+ LOGFONTW lfCaptionFont;
+ int iSmCaptionWidth;
+ int iSmCaptionHeight;
+ LOGFONTW lfSmCaptionFont;
+ int iMenuWidth;
+ int iMenuHeight;
+ LOGFONTW lfMenuFont;
+ LOGFONTW lfStatusFont;
+ LOGFONTW lfMessageFont;
+} NONCLIENTMETRICSW, *LPNONCLIENTMETRICSW;
+
+typedef_tident(NONCLIENTMETRICS)
+typedef_tident(LPNONCLIENTMETRICS)
typedef struct _SERVICE_ADDRESS {
DWORD dwAddressType;
typedef GUID CLSID, *LPCLSID;
#endif
-typedef struct _SERVICE_INFO {
+typedef struct _SERVICE_INFOA {
LPGUID lpServiceType;
- LPTSTR lpServiceName;
- LPTSTR lpComment;
- LPTSTR lpLocale;
+ LPSTR lpServiceName;
+ LPSTR lpComment;
+ LPSTR lpLocale;
DWORD dwDisplayHint;
DWORD dwVersion;
DWORD dwTime;
- LPTSTR lpMachineName;
+ LPSTR lpMachineName;
LPSERVICE_ADDRESSES lpServiceAddress;
BLOB ServiceSpecificInfo;
-} SERVICE_INFO;
+} SERVICE_INFOA, *LPSERVICE_INFOA;
-typedef struct _NS_SERVICE_INFO {
- DWORD dwNameSpace;
- SERVICE_INFO ServiceInfo;
-} NS_SERVICE_INFO;
+typedef struct _SERVICE_INFOW {
+ LPGUID lpServiceType;
+ LPWSTR lpServiceName;
+ LPWSTR lpComment;
+ LPWSTR lpLocale;
+ DWORD dwDisplayHint;
+ DWORD dwVersion;
+ DWORD dwTime;
+ LPWSTR lpMachineName;
+ LPSERVICE_ADDRESSES lpServiceAddress;
+ BLOB ServiceSpecificInfo;
+} SERVICE_INFOW, *LPSERVICE_INFOW;
+
+typedef_tident(SERVICE_INFO);
+typedef_tident(LPSERVICE_INFO);
+
+typedef struct _NS_SERVICE_INFOA {
+ DWORD dwNameSpace;
+ SERVICE_INFOA ServiceInfo;
+} NS_SERVICE_INFOA;
+
+typedef struct _NS_SERVICE_INFOW {
+ DWORD dwNameSpace;
+ SERVICE_INFOW ServiceInfo;
+} NS_SERVICE_INFOW;
+
+typedef_tident(NS_SERVICE_INFO);
+
+typedef struct _numberfmtA {
+ UINT NumDigits;
+ UINT LeadingZero;
+ UINT Grouping;
+ LPSTR lpDecimalSep;
+ LPSTR lpThousandSep;
+ UINT NegativeOrder;
+} NUMBERFMTA;
-typedef struct _numberfmt {
+typedef struct _numberfmtW {
UINT NumDigits;
UINT LeadingZero;
UINT Grouping;
- LPTSTR lpDecimalSep;
- LPTSTR lpThousandSep;
+ LPWSTR lpDecimalSep;
+ LPWSTR lpThousandSep;
UINT NegativeOrder;
-} NUMBERFMT;
+} NUMBERFMTW;
+
+typedef_tident(NUMBERFMT)
typedef struct _OFSTRUCT {
BYTE cBytes;
CHAR szPathName[OFS_MAXPATHNAME];
} OFSTRUCT, *LPOFSTRUCT;
-typedef struct tagOFN {
+typedef struct tagOFNA {
+ DWORD lStructSize;
+ HWND hwndOwner;
+ HINSTANCE hInstance;
+ LPCSTR lpstrFilter;
+ LPSTR lpstrCustomFilter;
+ DWORD nMaxCustFilter;
+ DWORD nFilterIndex;
+ LPSTR lpstrFile;
+ DWORD nMaxFile;
+ LPSTR lpstrFileTitle;
+ DWORD nMaxFileTitle;
+ LPCSTR lpstrInitialDir;
+ LPCSTR lpstrTitle;
+ DWORD Flags;
+ WORD nFileOffset;
+ WORD nFileExtension;
+ LPCSTR lpstrDefExt;
+ DWORD lCustData;
+ LPOFNHOOKPROC lpfnHook;
+ LPCSTR lpTemplateName;
+} OPENFILENAMEA, *LPOPENFILENAMEA;
+
+typedef struct tagOFNW {
DWORD lStructSize;
HWND hwndOwner;
HINSTANCE hInstance;
- LPCTSTR lpstrFilter;
- LPTSTR lpstrCustomFilter;
+ LPCWSTR lpstrFilter;
+ LPWSTR lpstrCustomFilter;
DWORD nMaxCustFilter;
DWORD nFilterIndex;
- LPTSTR lpstrFile;
+ LPWSTR lpstrFile;
DWORD nMaxFile;
- LPTSTR lpstrFileTitle;
+ LPWSTR lpstrFileTitle;
DWORD nMaxFileTitle;
- LPCTSTR lpstrInitialDir;
- LPCTSTR lpstrTitle;
+ LPCWSTR lpstrInitialDir;
+ LPCWSTR lpstrTitle;
DWORD Flags;
WORD nFileOffset;
WORD nFileExtension;
- LPCTSTR lpstrDefExt;
+ LPCWSTR lpstrDefExt;
DWORD lCustData;
LPOFNHOOKPROC lpfnHook;
- LPCTSTR lpTemplateName;
-} OPENFILENAME, *LPOPENFILENAME;
+ LPCWSTR lpTemplateName;
+} OPENFILENAMEW, *LPOPENFILENAMEW;
+
+typedef_tident(OPENFILENAME)
+typedef_tident(LPOPENFILENAME)
+
+typedef struct _OFNOTIFYA {
+ NMHDR hdr;
+ LPOPENFILENAMEA lpOFN;
+ LPSTR pszFile;
+} OFNOTIFYA, *LPOFNOTIFYA;
-typedef struct _OFNOTIFY {
- NMHDR hdr;
- LPOPENFILENAME lpOFN;
- LPTSTR pszFile;
-} OFNOTIFY, *LPOFNOTIFY;
+typedef struct _OFNOTIFYW {
+ NMHDR hdr;
+ LPOPENFILENAMEW lpOFN;
+ LPWSTR pszFile;
+} OFNOTIFYW, *LPOFNOTIFYW;
+
+typedef_tident(OFNOTIFY)
+typedef_tident(LPOFNOTIFY)
+
+typedef struct _OSVERSIONINFOA {
+ DWORD dwOSVersionInfoSize;
+ DWORD dwMajorVersion;
+ DWORD dwMinorVersion;
+ DWORD dwBuildNumber;
+ DWORD dwPlatformId;
+ CHAR szCSDVersion[ 128 ];
+} OSVERSIONINFOA, *POSVERSIONINFOA, *LPOSVERSIONINFOA;
-typedef struct _OSVERSIONINFO {
+typedef struct _OSVERSIONINFOW {
DWORD dwOSVersionInfoSize;
DWORD dwMajorVersion;
DWORD dwMinorVersion;
DWORD dwBuildNumber;
DWORD dwPlatformId;
- TCHAR szCSDVersion[ 128 ];
-} OSVERSIONINFO, *POSVERSIONINFO, *LPOSVERSIONINFO;
+ WCHAR szCSDVersion[ 128 ];
+} OSVERSIONINFOW, *POSVERSIONINFOW, *LPOSVERSIONINFOW, RTL_OSVERSIONINFOW, *PRTL_OSVERSIONINFOW;
+
+typedef_tident(OSVERSIONINFO)
+
+typedef struct _OSVERSIONINFOEXA
+#if defined(__cplusplus)
+: public OSVERSIONINFOA
+{
+#elif 0
+{
+ OSVERSIONINFOA;
+#else
+{
+ DWORD dwOSVersionInfoSize;
+ DWORD dwMajorVersion;
+ DWORD dwMinorVersion;
+ DWORD dwBuildNumber;
+ DWORD dwPlatformId;
+ CHAR szCSDVersion[ 128 ];
+#endif
+ WORD wServicePackMajor;
+ WORD wServicePackMinor;
+ WORD wSuiteMask;
+ BYTE wProductType;
+ BYTE wReserved;
+} OSVERSIONINFOEXA, *POSVERSIONINFOEXA, *LPOSVERSIONINFOEXA;
+
+typedef struct _OSVERSIONINFOEXW
+#if defined(__cplusplus)
+: public OSVERSIONINFOW
+{
+#elif 0
+{
+ OSVERSIONINFOW;
+#else
+{
+ DWORD dwOSVersionInfoSize;
+ DWORD dwMajorVersion;
+ DWORD dwMinorVersion;
+ DWORD dwBuildNumber;
+ DWORD dwPlatformId;
+ WCHAR szCSDVersion[ 128 ];
+#endif
+ WORD wServicePackMajor;
+ WORD wServicePackMinor;
+ WORD wSuiteMask;
+ BYTE wProductType;
+ BYTE wReserved;
+} OSVERSIONINFOEXW, *POSVERSIONINFOEXW, *LPOSVERSIONINFOEXW, RTL_OSVERSIONINFOEXW, *PRTL_OSVERSIONINFOEXW;
+
+typedef_tident(OSVERSIONINFOEX)
-typedef struct tagTEXTMETRIC {
+typedef struct tagTEXTMETRICA {
LONG tmHeight;
LONG tmAscent;
LONG tmDescent;
LONG tmOverhang;
LONG tmDigitizedAspectX;
LONG tmDigitizedAspectY;
- BCHAR tmFirstChar;
- BCHAR tmLastChar;
- BCHAR tmDefaultChar;
- BCHAR tmBreakChar;
+ CHAR tmFirstChar;
+ CHAR tmLastChar;
+ CHAR tmDefaultChar;
+ CHAR tmBreakChar;
BYTE tmItalic;
BYTE tmUnderlined;
BYTE tmStruckOut;
BYTE tmPitchAndFamily;
BYTE tmCharSet;
-} TEXTMETRIC, *LPTEXTMETRIC;
+} TEXTMETRICA, *LPTEXTMETRICA;
+
+typedef struct tagTEXTMETRICW {
+ LONG tmHeight;
+ LONG tmAscent;
+ LONG tmDescent;
+ LONG tmInternalLeading;
+ LONG tmExternalLeading;
+ LONG tmAveCharWidth;
+ LONG tmMaxCharWidth;
+ LONG tmWeight;
+ LONG tmOverhang;
+ LONG tmDigitizedAspectX;
+ LONG tmDigitizedAspectY;
+ WCHAR tmFirstChar;
+ WCHAR tmLastChar;
+ WCHAR tmDefaultChar;
+ WCHAR tmBreakChar;
+ BYTE tmItalic;
+ BYTE tmUnderlined;
+ BYTE tmStruckOut;
+ BYTE tmPitchAndFamily;
+ BYTE tmCharSet;
+} TEXTMETRICW, *LPTEXTMETRICW;
+
+typedef_tident(TEXTMETRIC)
+typedef_tident(LPTEXTMETRIC)
+
+typedef struct _OUTLINETEXTMETRICA {
+ UINT otmSize;
+ TEXTMETRICA otmTextMetrics;
+ BYTE otmFiller;
+ PANOSE otmPanoseNumber;
+ UINT otmfsSelection;
+ UINT otmfsType;
+ int otmsCharSlopeRise;
+ int otmsCharSlopeRun;
+ int otmItalicAngle;
+ UINT otmEMSquare;
+ int otmAscent;
+ int otmDescent;
+ UINT otmLineGap;
+ UINT otmsCapEmHeight;
+ UINT otmsXHeight;
+ RECT otmrcFontBox;
+ int otmMacAscent;
+ int otmMacDescent;
+ UINT otmMacLineGap;
+ UINT otmusMinimumPPEM;
+ POINT otmptSubscriptSize;
+ POINT otmptSubscriptOffset;
+ POINT otmptSuperscriptSize;
+ POINT otmptSuperscriptOffset;
+ UINT otmsStrikeoutSize;
+ int otmsStrikeoutPosition;
+ int otmsUnderscoreSize;
+ int otmsUnderscorePosition;
+ PSTR otmpFamilyName;
+ PSTR otmpFaceName;
+ PSTR otmpStyleName;
+ PSTR otmpFullName;
+} OUTLINETEXTMETRICA, *LPOUTLINETEXTMETRICA;
-typedef struct _OUTLINETEXTMETRIC {
+typedef struct _OUTLINETEXTMETRICW {
UINT otmSize;
- TEXTMETRIC otmTextMetrics;
+ TEXTMETRICW otmTextMetrics;
BYTE otmFiller;
PANOSE otmPanoseNumber;
UINT otmfsSelection;
PSTR otmpFaceName;
PSTR otmpStyleName;
PSTR otmpFullName;
-} OUTLINETEXTMETRIC, *LPOUTLINETEXTMETRIC;
+} OUTLINETEXTMETRICW, *LPOUTLINETEXTMETRICW;
+
+typedef_tident(OUTLINETEXTMETRIC)
+typedef_tident(LPOUTLINETEXTMETRIC)
typedef struct _OVERLAPPED {
DWORD Internal;
HANDLE hEvent;
} OVERLAPPED, *LPOVERLAPPED;
-typedef struct tagPSD {
+typedef struct tagPSDA {
+ DWORD lStructSize;
+ HWND hwndOwner;
+ HGLOBAL hDevMode;
+ HGLOBAL hDevNames;
+ DWORD Flags;
+ POINT ptPaperSize;
+ RECT rtMinMargin;
+ RECT rtMargin;
+ HINSTANCE hInstance;
+ LPARAM lCustData;
+ LPPAGESETUPHOOK lpfnPageSetupHook;
+ LPPAGEPAINTHOOK lpfnPagePaintHook;
+ LPCSTR lpPageSetupTemplateName;
+ HGLOBAL hPageSetupTemplate;
+} PAGESETUPDLGA, *LPPAGESETUPDLGA;
+
+typedef struct tagPSDW {
DWORD lStructSize;
HWND hwndOwner;
HGLOBAL hDevMode;
LPARAM lCustData;
LPPAGESETUPHOOK lpfnPageSetupHook;
LPPAGEPAINTHOOK lpfnPagePaintHook;
- LPCTSTR lpPageSetupTemplateName;
+ LPCWSTR lpPageSetupTemplateName;
HGLOBAL hPageSetupTemplate;
-} PAGESETUPDLG, *LPPAGESETUPDLG;
+} PAGESETUPDLGW, *LPPAGESETUPDLGW;
+
+typedef_tident(PAGESETUPDLG)
+typedef_tident(LPPAGESETUPDLG)
typedef struct tagPAINTSTRUCT {
HDC hdc;
LARGE_INTEGER PerfFreq;
} PERF_OBJECT_TYPE;
-typedef struct _POLYTEXT {
+typedef struct _POLYTEXTA {
+ int x;
+ int y;
+ UINT n;
+ LPCSTR lpstr;
+ UINT uiFlags;
+ RECT rcl;
+ int *pdx;
+} POLYTEXTA, *LPPOLYTEXTA;
+
+typedef struct _POLYTEXTW {
int x;
int y;
UINT n;
- LPCTSTR lpstr;
+ LPCWSTR lpstr;
UINT uiFlags;
RECT rcl;
int *pdx;
-} POLYTEXT, *LPPOLYTEXT;
+} POLYTEXTW, *LPPOLYTEXTW;
+
+typedef_tident(POLYTEXT)
+typedef_tident(LPPOLYTEXT)
+
+typedef struct _PORT_INFO_1A {
+ LPSTR pName;
+} PORT_INFO_1A;
+
+typedef struct _PORT_INFO_1W {
+ LPWSTR pName;
+} PORT_INFO_1W;
-typedef struct _PORT_INFO_1 {
- LPTSTR pName;
-} PORT_INFO_1;
+typedef_tident(PORT_INFO_1)
+
+typedef struct _PORT_INFO_2A {
+ LPSTR pPortName;
+ LPSTR pMonitorName;
+ LPSTR pDescription;
+ DWORD fPortType;
+ DWORD Reserved;
+} PORT_INFO_2A;
+
+typedef struct _PORT_INFO_2W {
+ LPWSTR pPortName;
+ LPWSTR pMonitorName;
+ LPWSTR pDescription;
+ DWORD fPortType;
+ DWORD Reserved;
+} PORT_INFO_2W;
-typedef struct _PORT_INFO_2 {
- LPSTR pPortName;
- LPSTR pMonitorName;
- LPSTR pDescription;
- DWORD fPortType;
- DWORD Reserved;
-} PORT_INFO_2;
+typedef_tident(PORT_INFO_2)
typedef struct _PREVENT_MEDIA_REMOVAL {
BOOLEAN PreventMediaRemoval;
} PREVENT_MEDIA_REMOVAL ;
-typedef struct tagPD {
+typedef struct tagPDA {
DWORD lStructSize;
HWND hwndOwner;
HANDLE hDevMode;
DWORD lCustData;
LPPRINTHOOKPROC lpfnPrintHook;
LPSETUPHOOKPROC lpfnSetupHook;
- LPCTSTR lpPrintTemplateName;
- LPCTSTR lpSetupTemplateName;
+ LPCSTR lpPrintTemplateName;
+ LPCSTR lpSetupTemplateName;
HANDLE hPrintTemplate;
HANDLE hSetupTemplate;
-} PRINTDLG PACKED, *LPPRINTDLG PACKED;
+} PACKED PRINTDLGA, *LPPRINTDLGA;
+
+typedef struct tagPDW {
+ DWORD lStructSize;
+ HWND hwndOwner;
+ HANDLE hDevMode;
+ HANDLE hDevNames;
+ HDC hDC;
+ DWORD Flags;
+ WORD nFromPage;
+ WORD nToPage;
+ WORD nMinPage;
+ WORD nMaxPage;
+ WORD nCopies;
+ HINSTANCE hInstance;
+ DWORD lCustData;
+ LPPRINTHOOKPROC lpfnPrintHook;
+ LPSETUPHOOKPROC lpfnSetupHook;
+ LPCWSTR lpPrintTemplateName;
+ LPCWSTR lpSetupTemplateName;
+ HANDLE hPrintTemplate;
+ HANDLE hSetupTemplate;
+} PACKED PRINTDLGW, *LPPRINTDLGW;
+
+typedef_tident(PRINTDLG)
+typedef_tident(LPPRINTDLG)
typedef struct _PRINTER_DEFAULTSA
{
- LPTSTR pDatatype;
- LPDEVMODEA pDevMode;
+ LPSTR pDatatype;
+ LPDEVMODEA pDevMode;
ACCESS_MASK DesiredAccess;
} PRINTER_DEFAULTSA, *PPRINTER_DEFAULTSA, *LPPRINTER_DEFAULTSA;
typedef struct _PRINTER_DEFAULTSW
{
- LPTSTR pDatatype;
- LPDEVMODEA pDevMode;
+ LPWSTR pDatatype;
+ LPDEVMODEW pDevMode;
ACCESS_MASK DesiredAccess;
} PRINTER_DEFAULTSW, *PPRINTER_DEFAULTSW, *LPPRINTER_DEFAULTSW;
-typedef struct _PRINTER_INFO_1 {
+typedef_tident(PRINTER_DEFAULTS)
+typedef_tident(PPRINTER_DEFAULTS)
+typedef_tident(LPPRINTER_DEFAULTS)
+
+typedef struct _PRINTER_INFO_1A {
DWORD Flags;
- LPTSTR pDescription;
- LPTSTR pName;
- LPTSTR pComment;
-} PRINTER_INFO_1, *PPRINTER_INFO_1, *LPPRINTER_INFO_1;
+ LPSTR pDescription;
+ LPSTR pName;
+ LPSTR pComment;
+} PRINTER_INFO_1A, *PPRINTER_INFO_1A, *LPPRINTER_INFO_1A;
- #if 0
-typedef struct _PRINTER_INFO_2 {
- LPTSTR pServerName;
- LPTSTR pPrinterName;
- LPTSTR pShareName;
- LPTSTR pPortName;
- LPTSTR pDriverName;
- LPTSTR pComment;
- LPTSTR pLocation;
- LPDEVMODE pDevMode;
- LPTSTR pSepFile;
- LPTSTR pPrintProcessor;
- LPTSTR pDatatype;
- LPTSTR pParameters;
+typedef struct _PRINTER_INFO_1W {
+ DWORD Flags;
+ LPWSTR pDescription;
+ LPWSTR pName;
+ LPWSTR pComment;
+} PRINTER_INFO_1W, *PPRINTER_INFO_1W, *LPPRINTER_INFO_1W;
+
+typedef_tident(PRINTER_INFO_1)
+typedef_tident(PPRINTER_INFO_1)
+typedef_tident(LPPRINTER_INFO_1)
+
+#if 0
+typedef struct _PRINTER_INFO_2A {
+ LPSTR pServerName;
+ LPSTR pPrinterName;
+ LPSTR pShareName;
+ LPSTR pPortName;
+ LPSTR pDriverName;
+ LPSTR pComment;
+ LPSTR pLocation;
+ LPDEVMODEA pDevMode;
+ LPSTR pSepFile;
+ LPSTR pPrintProcessor;
+ LPSTR pDatatype;
+ LPSTR pParameters;
PSECURITY_DESCRIPTOR pSecurityDescriptor;
- DWORD Attributes;
- DWORD Priority;
- DWORD DefaultPriority;
- DWORD StartTime;
- DWORD UntilTime;
- DWORD Status;
- DWORD cJobs;
- DWORD AveragePPM;
-} PRINTER_INFO_2;
+ DWORD Attributes;
+ DWORD Priority;
+ DWORD DefaultPriority;
+ DWORD StartTime;
+ DWORD UntilTime;
+ DWORD Status;
+ DWORD cJobs;
+ DWORD AveragePPM;
+} PRINTER_INFO_2A;
+
+typedef struct _PRINTER_INFO_2W {
+ LPWSTR pServerName;
+ LPWSTR pPrinterName;
+ LPWSTR pShareName;
+ LPWSTR pPortName;
+ LPWSTR pDriverName;
+ LPWSTR pComment;
+ LPWSTR pLocation;
+ LPDEVMODEW pDevMode;
+ LPWSTR pSepFile;
+ LPWSTR pPrintProcessor;
+ LPWSTR pDatatype;
+ LPWSTR pParameters;
+ PSECURITY_DESCRIPTOR pSecurityDescriptor;
+ DWORD Attributes;
+ DWORD Priority;
+ DWORD DefaultPriority;
+ DWORD StartTime;
+ DWORD UntilTime;
+ DWORD Status;
+ DWORD cJobs;
+ DWORD AveragePPM;
+} PRINTER_INFO_2W;
+typedef_tident(PRINTER_INFO_2)
typedef struct _PRINTER_INFO_3 {
PSECURITY_DESCRIPTOR pSecurityDescriptor;
} PRINTER_INFO_3;
- #endif
+#endif
+
+typedef struct _PRINTER_INFO_4A {
+ LPSTR pPrinterName;
+ LPSTR pServerName;
+ DWORD Attributes;
+} PRINTER_INFO_4A;
-typedef struct _PRINTER_INFO_4 {
- LPTSTR pPrinterName;
- LPTSTR pServerName;
+typedef struct _PRINTER_INFO_4W {
+ LPWSTR pPrinterName;
+ LPWSTR pServerName;
DWORD Attributes;
-} PRINTER_INFO_4;
+} PRINTER_INFO_4W;
+
+typedef_tident(PRINTER_INFO_4)
-typedef struct _PRINTER_INFO_5 {
- LPTSTR pPrinterName;
- LPTSTR pPortName;
+typedef struct _PRINTER_INFO_5A {
+ LPSTR pPrinterName;
+ LPSTR pPortName;
DWORD Attributes;
DWORD DeviceNotSelectedTimeout;
DWORD TransmissionRetryTimeout;
-} PRINTER_INFO_5;
+} PRINTER_INFO_5A;
+
+typedef struct _PRINTER_INFO_5W {
+ LPWSTR pPrinterName;
+ LPWSTR pPortName;
+ DWORD Attributes;
+ DWORD DeviceNotSelectedTimeout;
+ DWORD TransmissionRetryTimeout;
+} PRINTER_INFO_5W;
+
+typedef_tident(PRINTER_INFO_5)
typedef struct _PRINTER_NOTIFY_INFO_DATA {
WORD Type;
PPRINTER_NOTIFY_OPTIONS_TYPE pTypes;
} PRINTER_NOTIFY_OPTIONS;
-typedef struct _PRINTPROCESSOR_INFO_1 {
- LPTSTR pName;
-} PRINTPROCESSOR_INFO_1;
+typedef struct _PRINTPROCESSOR_INFO_1A {
+ LPSTR pName;
+} PRINTPROCESSOR_INFO_1A;
+
+typedef struct _PRINTPROCESSOR_INFO_1W {
+ LPWSTR pName;
+} PRINTPROCESSOR_INFO_1W;
+typedef_tident(PRINTPROCESSOR_INFO_1)
typedef struct _PROCESS_HEAP_ENTRY {
PVOID lpData;
typedef UINT CALLBACK (*LPFNPSPCALLBACK) (HWND, UINT, LPVOID);
-typedef struct _PROPSHEETPAGE {
+typedef struct _PROPSHEETPAGEA {
+ DWORD dwSize;
+ DWORD dwFlags;
+ HINSTANCE hInstance;
+ union {
+ LPCSTR pszTemplate;
+ LPCDLGTEMPLATE pResource;
+ } u1;
+ union {
+ HICON hIcon;
+ LPCSTR pszIcon;
+ } u2;
+ LPCSTR pszTitle;
+ DLGPROC pfnDlgProc;
+ LPARAM lParam;
+ LPFNPSPCALLBACK pfnCallback;
+ UINT * pcRefParent;
+} PROPSHEETPAGEA, *LPPROPSHEETPAGEA;
+typedef const PROPSHEETPAGEA* LPCPROPSHEETPAGEA;
+
+typedef struct _PROPSHEETPAGEW {
DWORD dwSize;
DWORD dwFlags;
HINSTANCE hInstance;
union {
- LPCTSTR pszTemplate;
+ LPCWSTR pszTemplate;
LPCDLGTEMPLATE pResource;
} u1;
union {
- HICON hIcon;
- LPCTSTR pszIcon;
+ HICON hIcon;
+ LPCWSTR pszIcon;
} u2;
- LPCTSTR pszTitle;
+ LPCWSTR pszTitle;
DLGPROC pfnDlgProc;
LPARAM lParam;
LPFNPSPCALLBACK pfnCallback;
UINT * pcRefParent;
-} PROPSHEETPAGE, *LPPROPSHEETPAGE;
-typedef const PROPSHEETPAGE *LPCPROPSHEETPAGE;
+} PROPSHEETPAGEW, *LPPROPSHEETPAGEW;
+typedef const PROPSHEETPAGEW* LPCPROPSHEETPAGEW;
+
+typedef_tident(PROPSHEETPAGE)
+typedef_tident(LPPROPSHEETPAGE)
+typedef_tident(LPCPROPSHEETPAGE)
typedef struct _PSP *HPROPSHEETPAGE;
-typedef struct _PROPSHEETHEADER {
+
+typedef struct _PROPSHEETHEADERA {
+ DWORD dwSize;
+ DWORD dwFlags;
+ HWND hwndParent;
+ HINSTANCE hInstance;
+ union {
+ HICON hIcon;
+ LPCSTR pszIcon;
+ } u1;
+ LPCSTR pszCaption;
+ UINT nPages;
+ union {
+ UINT nStartPage;
+ LPCSTR pStartPage;
+ } u2;
+ union {
+ LPCPROPSHEETPAGEA ppsp;
+ HPROPSHEETPAGE *phpage;
+ } u3;
+ PFNPROPSHEETCALLBACK pfnCallback;
+} PROPSHEETHEADERA, *LPPROPSHEETHEADERA;
+typedef const PROPSHEETHEADERA *LPCPROPSHEETHEADERA;
+
+typedef struct _PROPSHEETHEADERW {
DWORD dwSize;
DWORD dwFlags;
HWND hwndParent;
HINSTANCE hInstance;
union {
- HICON hIcon;
- LPCTSTR pszIcon;
+ HICON hIcon;
+ LPCWSTR pszIcon;
} u1;
- LPCTSTR pszCaption;
+ LPCWSTR pszCaption;
UINT nPages;
union {
- UINT nStartPage;
- LPCTSTR pStartPage;
+ UINT nStartPage;
+ LPCWSTR pStartPage;
} u2;
union {
- LPCPROPSHEETPAGE ppsp;
- HPROPSHEETPAGE *phpage;
+ LPCPROPSHEETPAGEW ppsp;
+ HPROPSHEETPAGE *phpage;
} u3;
PFNPROPSHEETCALLBACK pfnCallback;
-} PROPSHEETHEADER, *LPPROPSHEETHEADER;
-typedef const PROPSHEETHEADER *LPCPROPSHEETHEADER;
+} PROPSHEETHEADERW, *LPPROPSHEETHEADERW;
+typedef const PROPSHEETHEADERW *LPCPROPSHEETHEADERW;
+
+typedef_tident(PROPSHEETHEADER)
+typedef_tident(LPPROPSHEETHEADER)
+typedef_tident(LPCPROPSHEETHEADER)
/* PropertySheet callbacks */
typedef WINBOOL CALLBACK (*LPFNADDPROPSHEETPAGE) (HPROPSHEETPAGE, LPARAM);
LPFNADDPROPSHEETPAGE,
LPARAM);
-typedef struct _PROTOCOL_INFO {
+typedef struct _PROTOCOL_INFOA {
+ DWORD dwServiceFlags;
+ INT iAddressFamily;
+ INT iMaxSockAddr;
+ INT iMinSockAddr;
+ INT iSocketType;
+ INT iProtocol;
+ DWORD dwMessageSize;
+ LPSTR lpProtocol;
+} PROTOCOL_INFOA;
+
+typedef struct _PROTOCOL_INFOW {
DWORD dwServiceFlags;
INT iAddressFamily;
INT iMaxSockAddr;
INT iSocketType;
INT iProtocol;
DWORD dwMessageSize;
- LPTSTR lpProtocol;
-} PROTOCOL_INFO;
+ LPWSTR lpProtocol;
+} PROTOCOL_INFOW;
+
+typedef_tident(PROTOCOL_INFO)
-typedef struct _PROVIDOR_INFO_1 {
- LPTSTR pName;
- LPTSTR pEnvironment ;
- LPTSTR pDLLName ;
-} PROVIDOR_INFO_1;
+typedef struct _PROVIDOR_INFO_1A {
+ LPSTR pName;
+ LPSTR pEnvironment ;
+ LPSTR pDLLName ;
+} PROVIDOR_INFO_1A;
+
+typedef struct _PROVIDOR_INFO_1W {
+ LPWSTR pName;
+ LPWSTR pEnvironment ;
+ LPWSTR pDLLName ;
+} PROVIDOR_INFO_1W;
+
+typedef_tident(PROVIDOR_INFO_1)
typedef struct _PSHNOTIFY {
NMHDR hdr;
LPARAM lParam;
} PSHNOTIFY, *LPPSHNOTIFY;
-typedef struct _punctuation {
+typedef struct _punctuationA {
UINT iSize;
LPSTR szPunctuation;
-} PUNCTUATION;
+} PUNCTUATIONA;
+
+typedef struct _punctuationW {
+ UINT iSize;
+ LPWSTR szPunctuation;
+} PUNCTUATIONW;
+
+typedef_tident(PUNCTUATION)
typedef struct _QUERY_SERVICE_CONFIGA {
DWORD dwServiceType;
LPWSTR lpDisplayName;
} QUERY_SERVICE_CONFIGW, *LPQUERY_SERVICE_CONFIGW;
-#ifdef UNICODE
-#define QUERY_SERVICE_CONFIG QUERY_SERVICE_CONFIGW
-#define LPQUERY_SERVICE_CONFIG LPQUERY_SERVICE_CONFIGW
-#else
-#define QUERY_SERVICE_CONFIG QUERY_SERVICE_CONFIGA
-#define LPQUERY_SERVICE_CONFIG LPQUERY_SERVICE_CONFIGA
-#endif
+typedef_tident(QUERY_SERVICE_CONFIG)
+typedef_tident(LPQUERY_SERVICE_CONFIG)
typedef struct _QUERY_SERVICE_LOCK_STATUSA {
DWORD fIsLocked;
DWORD dwLockDuration;
} QUERY_SERVICE_LOCK_STATUSW, *LPQUERY_SERVICE_LOCK_STATUSW;
-#ifdef UNICODE
-#define QUERY_SERVICE_LOCK_STATUS QUERY_SERVICE_LOCK_STATUSW
-#define LPQUERY_SERVICE_LOCK_STATUS LPQUERY_SERVICE_LOCK_STATUSW
-#else
-#define QUERY_SERVICE_LOCK_STATUS QUERY_SERVICE_LOCK_STATUSA
-#define LPQUERY_SERVICE_LOCK_STATUS LPQUERY_SERVICE_LOCK_STATUSA
-#endif
+typedef_tident(QUERY_SERVICE_LOCK_STATUS)
+typedef_tident(LPQUERY_SERVICE_LOCK_STATUS)
+
+typedef struct _RASAMBA {
+ DWORD dwSize;
+ DWORD dwError;
+ CHAR szNetBiosError[ NETBIOS_NAME_LEN + 1 ];
+ BYTE bLana;
+} RASAMBA;
-typedef struct _RASAMB {
+typedef struct _RASAMBW {
DWORD dwSize;
DWORD dwError;
- TCHAR szNetBiosError[ NETBIOS_NAME_LEN + 1 ];
+ WCHAR szNetBiosError[ NETBIOS_NAME_LEN + 1 ];
BYTE bLana;
-} RASAMB;
+} RASAMBW;
+
+typedef_tident(RASAMB)
-typedef struct _RASCONN {
+typedef struct _RASCONNA {
DWORD dwSize;
HRASCONN hrasconn;
- TCHAR szEntryName[RAS_MaxEntryName + 1];
+ CHAR szEntryName[RAS_MaxEntryName + 1];
+ /* WINVER >= 0x400 */
CHAR szDeviceType[ RAS_MaxDeviceType + 1 ];
CHAR szDeviceName[ RAS_MaxDeviceName + 1 ];
-} RASCONN ;
-typedef struct _RASCONNSTATUS {
+ /* WINVER >= 0x401 */
+ CHAR szPhonebook[ MAX_PATH ];
+ DWORD dwSubEntry;
+
+ /* WINVER >= 0x500 */
+ GUID guidEntry;
+
+ /* WINVER >= 0x501 */
+ DWORD dwSessionId;
+ DWORD dwFlags;
+ LUID luid;
+} RASCONNA ;
+
+typedef struct _RASCONNW {
+ DWORD dwSize;
+ HRASCONN hrasconn;
+ WCHAR szEntryName[RAS_MaxEntryName + 1];
+
+ /* WINVER >= 0x400 */
+ WCHAR szDeviceType[ RAS_MaxDeviceType + 1 ];
+ WCHAR szDeviceName[ RAS_MaxDeviceName + 1 ];
+
+ /* WINVER >= 0x401 */
+ WCHAR szPhonebook[ MAX_PATH ];
+ DWORD dwSubEntry;
+
+ /* WINVER >= 0x500 */
+ GUID guidEntry;
+
+ /* WINVER >= 0x501 */
+ DWORD dwSessionId;
+ DWORD dwFlags;
+ LUID luid;
+} RASCONNW ;
+
+typedef_tident(RASCONN)
+
+typedef struct _RASCONNSTATUSA {
+ DWORD dwSize;
+ RASCONNSTATE rasconnstate;
+ DWORD dwError;
+ CHAR szDeviceType[RAS_MaxDeviceType + 1];
+ CHAR szDeviceName[RAS_MaxDeviceName + 1];
+} RASCONNSTATUSA;
+
+typedef struct _RASCONNSTATUSW {
DWORD dwSize;
RASCONNSTATE rasconnstate;
DWORD dwError;
- TCHAR szDeviceType[RAS_MaxDeviceType + 1];
- TCHAR szDeviceName[RAS_MaxDeviceName + 1];
-} RASCONNSTATUS;
+ WCHAR szDeviceType[RAS_MaxDeviceType + 1];
+ WCHAR szDeviceName[RAS_MaxDeviceName + 1];
+} RASCONNSTATUSW;
+
+typedef_tident(RASCONNSTATUS)
typedef struct _RASDIALEXTENSIONS {
DWORD dwSize;
DWORD dwfOptions;
- HWND hwndParent;
+ HWND hwndParent;
DWORD reserved;
} RASDIALEXTENSIONS;
-typedef struct _RASDIALPARAMS {
+typedef struct _RASDIALPARAMSA {
+ DWORD dwSize;
+ CHAR szEntryName[RAS_MaxEntryName + 1];
+ CHAR szPhoneNumber[RAS_MaxPhoneNumber + 1];
+ CHAR szCallbackNumber[RAS_MaxCallbackNumber + 1];
+ CHAR szUserName[UNLEN + 1];
+ CHAR szPassword[PWLEN + 1];
+ CHAR szDomain[DNLEN + 1] ;
+} RASDIALPARAMSA;
+
+typedef struct _RASDIALPARAMSW {
+ DWORD dwSize;
+ WCHAR szEntryName[RAS_MaxEntryName + 1];
+ WCHAR szPhoneNumber[RAS_MaxPhoneNumber + 1];
+ WCHAR szCallbackNumber[RAS_MaxCallbackNumber + 1];
+ WCHAR szUserName[UNLEN + 1];
+ WCHAR szPassword[PWLEN + 1];
+ WCHAR szDomain[DNLEN + 1] ;
+} RASDIALPARAMSW;
+
+typedef_tident(RASDIALPARAMS)
+
+typedef struct _RASENTRYNAMEA {
DWORD dwSize;
- TCHAR szEntryName[RAS_MaxEntryName + 1];
- TCHAR szPhoneNumber[RAS_MaxPhoneNumber + 1];
- TCHAR szCallbackNumber[RAS_MaxCallbackNumber + 1];
- TCHAR szUserName[UNLEN + 1];
- TCHAR szPassword[PWLEN + 1];
- TCHAR szDomain[DNLEN + 1] ;
-} RASDIALPARAMS;
-
-typedef struct _RASENTRYNAME {
+ CHAR szEntryName[RAS_MaxEntryName + 1];
+}RASENTRYNAMEA;
+
+typedef struct _RASENTRYNAMEW {
DWORD dwSize;
- TCHAR szEntryName[RAS_MaxEntryName + 1];
-}RASENTRYNAME;
+ WCHAR szEntryName[RAS_MaxEntryName + 1];
+}RASENTRYNAMEW;
+
+typedef_tident(RASENTRYNAME)
+
+typedef struct _RASPPPIPA {
+ DWORD dwSize;
+ DWORD dwError;
+ CHAR szIpAddress[ RAS_MaxIpAddress + 1 ];
+} RASPPPIPA;
+
+typedef struct _RASPPPIPW {
+ DWORD dwSize;
+ DWORD dwError;
+ WCHAR szIpAddress[ RAS_MaxIpAddress + 1 ];
+} RASPPPIPW;
-typedef struct _RASPPPIP {
+typedef_tident(RASPPPIP)
+
+typedef struct _RASPPPIPXA {
+ DWORD dwSize;
+ DWORD dwError;
+ CHAR szIpxAddress[ RAS_MaxIpxAddress + 1 ];
+} RASPPPIPXA;
+
+typedef struct _RASPPPIPXW {
DWORD dwSize;
DWORD dwError;
- TCHAR szIpAddress[ RAS_MaxIpAddress + 1 ];
-} RASPPPIP;
+ WCHAR szIpxAddress[ RAS_MaxIpxAddress + 1 ];
+} RASPPPIPXW;
-typedef struct _RASPPPIPX {
+typedef_tident(RASPPPIPX)
+
+typedef struct _RASPPPNBFA {
DWORD dwSize;
DWORD dwError;
- TCHAR szIpxAddress[ RAS_MaxIpxAddress + 1 ];
-} RASPPPIPX;
+ DWORD dwNetBiosError;
+ CHAR szNetBiosError[ NETBIOS_NAME_LEN + 1 ];
+ CHAR szWorkstationName[ NETBIOS_NAME_LEN + 1 ];
+ BYTE bLana;
+} RASPPPNBFA;
-typedef struct _RASPPPNBF {
+typedef struct _RASPPPNBFW {
DWORD dwSize;
DWORD dwError;
DWORD dwNetBiosError;
- TCHAR szNetBiosError[ NETBIOS_NAME_LEN + 1 ];
- TCHAR szWorkstationName[ NETBIOS_NAME_LEN + 1 ];
+ WCHAR szNetBiosError[ NETBIOS_NAME_LEN + 1 ];
+ WCHAR szWorkstationName[ NETBIOS_NAME_LEN + 1 ];
BYTE bLana;
-} RASPPPNBF;
+} RASPPPNBFW;
+
+typedef_tident(RASPPPNBF)
typedef struct _RASTERIZER_STATUS {
short nSize;
DWORD BlockNumber[1];
} REASSIGN_BLOCKS ;
-typedef struct _REMOTE_NAME_INFO {
- LPTSTR lpUniversalName;
- LPTSTR lpConnectionName;
- LPTSTR lpRemainingPath;
-} REMOTE_NAME_INFO;
+typedef struct _REMOTE_NAME_INFOA {
+ LPSTR lpUniversalName;
+ LPSTR lpConnectionName;
+ LPSTR lpRemainingPath;
+} REMOTE_NAME_INFOA;
+
+typedef struct _REMOTE_NAME_INFOW {
+ LPWSTR lpUniversalName;
+ LPWSTR lpConnectionName;
+ LPWSTR lpRemainingPath;
+} REMOTE_NAME_INFOW;
+
+typedef_tident(REMOTE_NAME_INFO)
/*
TODO: OLE
typedef struct _SERVICE_TABLE_ENTRYA {
LPSTR lpServiceName;
- LPSERVICE_MAIN_FUNCTION lpServiceProc;
+ LPSERVICE_MAIN_FUNCTIONA lpServiceProc;
} SERVICE_TABLE_ENTRYA, *LPSERVICE_TABLE_ENTRYA;
typedef struct _SERVICE_TABLE_ENTRYW {
LPWSTR lpServiceName;
- LPSERVICE_MAIN_FUNCTION lpServiceProc;
+ LPSERVICE_MAIN_FUNCTIONW lpServiceProc;
} SERVICE_TABLE_ENTRYW, *LPSERVICE_TABLE_ENTRYW;
-#ifdef UNICODE
-#define SERVICE_TABLE_ENTRY SERVICE_TABLE_ENTRYW
-#define LPSERVICE_TABLE_ENTRY LPSERVICE_TABLE_ENTRYW
-#else
-#define SERVICE_TABLE_ENTRY SERVICE_TABLE_ENTRYA
-#define LPSERVICE_TABLE_ENTRY LPSERVICE_TABLE_ENTRYA
-#endif
+typedef_tident(SERVICE_TABLE_ENTRY)
+typedef_tident(LPSERVICE_TABLE_ENTRY)
+typedef struct _SERVICE_TYPE_VALUE_ABSA {
+ DWORD dwNameSpace;
+ DWORD dwValueType;
+ DWORD dwValueSize;
+ LPSTR lpValueName;
+ PVOID lpValue;
+} SERVICE_TYPE_VALUE_ABSA;
-typedef struct _SERVICE_TYPE_VALUE_ABS {
+typedef struct _SERVICE_TYPE_VALUE_ABSW {
DWORD dwNameSpace;
DWORD dwValueType;
DWORD dwValueSize;
- LPTSTR lpValueName;
+ LPWSTR lpValueName;
PVOID lpValue;
-} SERVICE_TYPE_VALUE_ABS;
+} SERVICE_TYPE_VALUE_ABSW;
-typedef struct _SERVICE_TYPE_INFO_ABS {
- LPTSTR lpTypeName;
+typedef_tident(SERVICE_TYPE_VALUE_ABS)
+
+typedef struct _SERVICE_TYPE_INFO_ABSA {
+ LPSTR lpTypeName;
+ DWORD dwValueCount;
+ SERVICE_TYPE_VALUE_ABSA Values[1];
+} SERVICE_TYPE_INFO_ABSA;
+
+typedef struct _SERVICE_TYPE_INFO_ABSW {
+ LPWSTR lpTypeName;
DWORD dwValueCount;
- SERVICE_TYPE_VALUE_ABS Values[1];
-} SERVICE_TYPE_INFO_ABS;
+ SERVICE_TYPE_VALUE_ABSW Values[1];
+} SERVICE_TYPE_INFO_ABSW;
+
+typedef_tident(SERVICE_TYPE_INFO_ABS)
typedef struct _SESSION_BUFFER {
UCHAR lsn;
SHCONTF_FOLDERS = 32,
SHCONTF_NONFOLDERS = 64,
SHCONTF_INCLUDEHIDDEN = 128,
+ SHCONTF_INIT_ON_FIRST_NEXT = 256,
+ SHCONTF_NETPRINTERSRCH = 512,
+ SHCONTF_SHAREABLE = 1024,
+ SHCONTF_STORAGE = 2048
} SHCONTF;
-typedef struct _SHFILEINFO {
- HICON hIcon;
- int iIcon;
- DWORD dwAttributes;
- char szDisplayName[MAX_PATH];
- char szTypeName[80];
+typedef struct _SHFILEINFO {
+ HICON hIcon;
+ int iIcon;
+ DWORD dwAttributes;
+ char szDisplayName[MAX_PATH];
+ char szTypeName[80];
} SHFILEINFO;
-typedef WORD FILEOP_FLAGS;
-typedef struct _SHFILEOPSTRUCT {
- HWND hwnd;
- UINT wFunc;
- LPCSTR pFrom;
- LPCSTR pTo;
- FILEOP_FLAGS fFlags;
- WINBOOL fAnyOperationsAborted;
- LPVOID hNameMappings;
- LPCSTR lpszProgressTitle;
-} SHFILEOPSTRUCT, *LPSHFILEOPSTRUCT;
-
-typedef enum tagSHGDN {
- SHGDN_NORMAL = 0,
- SHGDN_INFOLDER = 1,
- SHGDN_FORPARSING = 0x8000,
+typedef WORD FILEOP_FLAGS;
+
+typedef struct _SHFILEOPSTRUCTA {
+ HWND hwnd;
+ UINT wFunc;
+ LPCSTR pFrom;
+ LPCSTR pTo;
+ FILEOP_FLAGS fFlags;
+ WINBOOL fAnyOperationsAborted;
+ LPVOID hNameMappings;
+ LPCSTR lpszProgressTitle;
+} SHFILEOPSTRUCTA, *LPSHFILEOPSTRUCTA;
+
+typedef struct _SHFILEOPSTRUCTW {
+ HWND hwnd;
+ UINT wFunc;
+ LPCWSTR pFrom;
+ LPCWSTR pTo;
+ FILEOP_FLAGS fFlags;
+ WINBOOL fAnyOperationsAborted;
+ LPVOID hNameMappings;
+ LPCWSTR lpszProgressTitle;
+} SHFILEOPSTRUCTW, *LPSHFILEOPSTRUCTW;
+
+typedef_tident(SHFILEOPSTRUCT)
+typedef_tident(LPSHFILEOPSTRUCT)
+
+typedef enum tagSHGDN {
+ SHGDN_NORMAL = 0,
+ SHGDN_INFOLDER = 1,
+ SHGDN_FORPARSING = 0x8000,
} SHGNO;
-
-typedef struct _SHNAMEMAPPING {
- LPSTR pszOldPath;
- LPSTR pszNewPath;
- int cchOldPath;
- int cchNewPath;
-} SHNAMEMAPPING, *LPSHNAMEMAPPING;
-
-typedef struct tagSOUNDSENTRY {
- UINT cbSize;
- DWORD dwFlags;
- DWORD iFSTextEffect;
- DWORD iFSTextEffectMSec;
- DWORD iFSTextEffectColorBits;
- DWORD iFSGrafEffect;
- DWORD iFSGrafEffectMSec;
- DWORD iFSGrafEffectColor;
- DWORD iWindowsEffect;
- DWORD iWindowsEffectMSec;
- LPTSTR lpszWindowsEffectDLL;
- DWORD iWindowsEffectOrdinal;
-} SOUNDSENTRY, *LPSOUNDSENTRY;
-
+
+typedef struct _SHNAMEMAPPINGA {
+ LPSTR pszOldPath;
+ LPSTR pszNewPath;
+ int cchOldPath;
+ int cchNewPath;
+} SHNAMEMAPPINGA, *LPSHNAMEMAPPINGA;
+
+typedef struct _SHNAMEMAPPINGW {
+ LPWSTR pszOldPath;
+ LPWSTR pszNewPath;
+ int cchOldPath;
+ int cchNewPath;
+} SHNAMEMAPPINGW, *LPSHNAMEMAPPINGW;
+
+typedef_tident(SHNAMEMAPPING)
+typedef_tident(LPSHNAMEMAPPING)
+
+typedef struct tagSOUNDSENTRYA {
+ UINT cbSize;
+ DWORD dwFlags;
+ DWORD iFSTextEffect;
+ DWORD iFSTextEffectMSec;
+ DWORD iFSTextEffectColorBits;
+ DWORD iFSGrafEffect;
+ DWORD iFSGrafEffectMSec;
+ DWORD iFSGrafEffectColor;
+ DWORD iWindowsEffect;
+ DWORD iWindowsEffectMSec;
+ LPSTR lpszWindowsEffectDLL;
+ DWORD iWindowsEffectOrdinal;
+} SOUNDSENTRYA, *LPSOUNDSENTRYA;
+
+typedef struct tagSOUNDSENTRYW {
+ UINT cbSize;
+ DWORD dwFlags;
+ DWORD iFSTextEffect;
+ DWORD iFSTextEffectMSec;
+ DWORD iFSTextEffectColorBits;
+ DWORD iFSGrafEffect;
+ DWORD iFSGrafEffectMSec;
+ DWORD iFSGrafEffectColor;
+ DWORD iWindowsEffect;
+ DWORD iWindowsEffectMSec;
+ LPWSTR lpszWindowsEffectDLL;
+ DWORD iWindowsEffectOrdinal;
+} SOUNDSENTRYW, *LPSOUNDSENTRYW;
+
+typedef_tident(SOUNDSENTRY)
+typedef_tident(LPSOUNDSENTRY)
+
typedef struct _STARTUPINFOA {
DWORD cb;
LPSTR lpReserved;
HANDLE hStdError;
} STARTUPINFOW, *LPSTARTUPINFOW;
-#ifdef UNICODE
-typedef STARTUPINFOW STARTUPINFO;
-typedef LPSTARTUPINFOW LPSTARTUPINFO;
-#else
-typedef STARTUPINFOA STARTUPINFO;
-typedef LPSTARTUPINFOA LPSTARTUPINFO;
-#endif /* UNICODE */
+typedef_tident(STARTUPINFO)
+typedef_tident(LPSTARTUPINFO)
typedef struct tagSTICKYKEYS {
DWORD cbSize;
DWORD styleNew;
} STYLESTRUCT, * LPSTYLESTRUCT;
+typedef struct _ACCESS_ALLOWED_ACE {
+ ACE_HEADER Header;
+ ACCESS_MASK Mask;
+ DWORD SidStart;
+} ACCESS_ALLOWED_ACE;
+
+typedef ACCESS_ALLOWED_ACE *PACCESS_ALLOWED_ACE;
+
+typedef struct _ACCESS_DENIED_ACE {
+ ACE_HEADER Header;
+ ACCESS_MASK Mask;
+ DWORD SidStart;
+} ACCESS_DENIED_ACE;
+typedef ACCESS_DENIED_ACE *PACCESS_DENIED_ACE;
+
typedef struct _SYSTEM_AUDIT_ACE {
- ACE_HEADER Header;
- ACCESS_MASK Mask;
- DWORD SidStart;
+ ACE_HEADER Header;
+ ACCESS_MASK Mask;
+ DWORD SidStart;
} SYSTEM_AUDIT_ACE;
+typedef SYSTEM_AUDIT_ACE *PSYSTEM_AUDIT_ACE;
+
+typedef struct _SYSTEM_ALARM_ACE {
+ ACE_HEADER Header;
+ ACCESS_MASK Mask;
+ DWORD SidStart;
+} SYSTEM_ALARM_ACE;
+typedef SYSTEM_ALARM_ACE *PSYSTEM_ALARM_ACE;
+
+typedef struct _ACCESS_ALLOWED_OBJECT_ACE {
+ ACE_HEADER Header;
+ ACCESS_MASK Mask;
+ DWORD Flags;
+ GUID ObjectType;
+ GUID InheritedObjectType;
+ DWORD SidStart;
+} ACCESS_ALLOWED_OBJECT_ACE, *PACCESS_ALLOWED_OBJECT_ACE;
+
+typedef struct _ACCESS_DENIED_OBJECT_ACE {
+ ACE_HEADER Header;
+ ACCESS_MASK Mask;
+ DWORD Flags;
+ GUID ObjectType;
+ GUID InheritedObjectType;
+ DWORD SidStart;
+} ACCESS_DENIED_OBJECT_ACE, *PACCESS_DENIED_OBJECT_ACE;
+
+typedef struct _SYSTEM_AUDIT_OBJECT_ACE {
+ ACE_HEADER Header;
+ ACCESS_MASK Mask;
+ DWORD Flags;
+ GUID ObjectType;
+ GUID InheritedObjectType;
+ DWORD SidStart;
+} SYSTEM_AUDIT_OBJECT_ACE, *PSYSTEM_AUDIT_OBJECT_ACE;
+
+typedef struct _SYSTEM_ALARM_OBJECT_ACE {
+ ACE_HEADER Header;
+ ACCESS_MASK Mask;
+ DWORD Flags;
+ GUID ObjectType;
+ GUID InheritedObjectType;
+ DWORD SidStart;
+} SYSTEM_ALARM_OBJECT_ACE, *PSYSTEM_ALARM_OBJECT_ACE;
typedef struct _SYSTEM_INFO
{
typedef const TBBUTTON * LPCTBBUTTON;
typedef struct {
- NMHDR hdr;
- int iItem;
+ NMHDR hdr;
+ int iItem;
+ TBBUTTON tbButton;
+ int cchText;
+ LPSTR pszText;
+} TBNOTIFYA, *LPTBNOTIFYA;
+
+typedef struct {
+ NMHDR hdr;
+ int iItem;
TBBUTTON tbButton;
- int cchText;
- LPTSTR pszText;
-} TBNOTIFY, *LPTBNOTIFY;
+ int cchText;
+ LPWSTR pszText;
+} TBNOTIFYW, *LPTBNOTIFYW;
+
+typedef_tident(TBNOTIFY)
+typedef_tident(LPTBNOTIFY)
typedef struct {
- HKEY hkr;
- LPCTSTR pszSubKey;
- LPCTSTR pszValueName;
-} TBSAVEPARAMS;
+ HKEY hkr;
+ LPCSTR pszSubKey;
+ LPCSTR pszValueName;
+} TBSAVEPARAMSA;
+
+typedef struct {
+ HKEY hkr;
+ LPCWSTR pszSubKey;
+ LPCWSTR pszValueName;
+} TBSAVEPARAMSW;
+
+typedef_tident(TBSAVEPARAMS)
typedef struct _TC_HITTESTINFO {
POINT pt;
UINT flags;
} TC_HITTESTINFO;
-typedef struct _TC_ITEM {
- UINT mask;
- UINT lpReserved1;
- UINT lpReserved2;
- LPTSTR pszText;
- int cchTextMax;
- int iImage;
+typedef struct _TC_ITEMA {
+ UINT mask;
+ UINT lpReserved1;
+ UINT lpReserved2;
+ LPSTR pszText;
+ int cchTextMax;
+ int iImage;
LPARAM lParam;
-} TC_ITEM;
+} TC_ITEMA;
-typedef struct _TC_ITEMHEADER {
- UINT mask;
- UINT lpReserved1;
- UINT lpReserved2;
- LPTSTR pszText;
- int cchTextMax;
- int iImage;
-} TC_ITEMHEADER;
+typedef struct _TC_ITEMW {
+ UINT mask;
+ UINT lpReserved1;
+ UINT lpReserved2;
+ LPWSTR pszText;
+ int cchTextMax;
+ int iImage;
+ LPARAM lParam;
+} TC_ITEMW;
+
+typedef_tident(TC_ITEM)
+
+typedef struct _TC_ITEMHEADERA {
+ UINT mask;
+ UINT lpReserved1;
+ UINT lpReserved2;
+ LPSTR pszText;
+ int cchTextMax;
+ int iImage;
+} TC_ITEMHEADERA;
+
+typedef struct _TC_ITEMHEADERW {
+ UINT mask;
+ UINT lpReserved1;
+ UINT lpReserved2;
+ LPWSTR pszText;
+ int cchTextMax;
+ int iImage;
+} TC_ITEMHEADERW;
+
+typedef_tident(TC_ITEMHEADER)
typedef struct _TC_KEYDOWN {
NMHDR hdr;
UINT flags;
} TC_KEYDOWN;
-typedef struct _textrange {
+typedef struct _textrangeA {
CHARRANGE chrg;
- LPSTR lpstrText;
-} TEXTRANGE;
+ LPSTR lpstrText;
+} TEXTRANGEA;
+
+typedef struct _textrangeW {
+ CHARRANGE chrg;
+ LPWSTR lpstrText;
+} TEXTRANGEW;
+
+typedef_tident(TEXTRANGE)
typedef struct tagTOGGLEKEYS {
DWORD cbSize;
UINT uId;
RECT rect;
HINSTANCE hinst;
- LPTSTR lpszText;
-} TOOLINFO, *PTOOLINFO, *LPTOOLINFO;
+ LPSTR lpszText;
+} TOOLINFOA, *PTOOLINFOA, *LPTOOLINFOA;
+
+typedef struct {
+ UINT cbSize;
+ UINT uFlags;
+ HWND hwnd;
+ UINT uId;
+ RECT rect;
+ HINSTANCE hinst;
+ LPWSTR lpszText;
+} TOOLINFOW, *PTOOLINFOW, *LPTOOLINFOW;
+
+typedef_tident(TOOLINFO)
+typedef_tident(PTOOLINFO)
+typedef_tident(LPTOOLINFO)
+
+typedef struct {
+ NMHDR hdr;
+ LPSTR lpszText;
+ CHAR szText[80];
+ HINSTANCE hinst;
+ UINT uFlags;
+} TOOLTIPTEXTA, *LPTOOLTIPTEXTA;
typedef struct {
NMHDR hdr;
- LPTSTR lpszText;
- char szText[80];
+ LPWSTR lpszText;
+ WCHAR szText[80];
HINSTANCE hinst;
UINT uFlags;
-} TOOLTIPTEXT, *LPTOOLTIPTEXT;
+} TOOLTIPTEXTW, *LPTOOLTIPTEXTW;
+
+typedef_tident(TOOLTIPTEXT)
+typedef_tident(LPTOOLTIPTEXT)
typedef struct tagTPMPARAMS {
UINT cbSize;
RECT rcExclude;
} TPMPARAMS, *LPTPMPARAMS;
-#if 0 // RobD - typedef removed due to conflict with mingw headers
+#if 0 /* RobD - typedef removed due to conflict with mingw headers */
typedef struct _TRANSMIT_FILE_BUFFERS {
PVOID Head;
DWORD HeadLength;
} TRANSMIT_FILE_BUFFERS;
#endif
-typedef struct _TT_HITTESTINFO {
- HWND hwnd;
- POINT pt;
- TOOLINFO ti;
-} TTHITTESTINFO, * LPHITTESTINFO;
+typedef struct _TT_HITTESTINFOA {
+ HWND hwnd;
+ POINT pt;
+ TOOLINFOA ti;
+} TTHITTESTINFOA, *LPHITTESTINFOA;
+
+typedef struct _TT_HITTESTINFOW {
+ HWND hwnd;
+ POINT pt;
+ TOOLINFOW ti;
+} TTHITTESTINFOW, *LPHITTESTINFOW;
+
+typedef_tident(TTHITTESTINFO)
+typedef_tident(LPHITTESTINFO)
typedef struct tagTTPOLYCURVE {
WORD wType;
DWORD cb;
DWORD dwType;
POINTFX pfxStart;
-} TTPOLYGONHEADER, * LPTTPOLYGONHEADER;
+} TTPOLYGONHEADER, *PTTPOLYGONHEADER, *LPTTPOLYGONHEADER;
+
+typedef struct _TV_DISPINFOA {
+ NMHDR hdr;
+ TV_ITEMA item;
+} TV_DISPINFOA;
+
+typedef struct _TV_DISPINFOW {
+ NMHDR hdr;
+ TV_ITEMW item;
+} TV_DISPINFOW;
-typedef struct _TV_DISPINFO {
- NMHDR hdr;
- TV_ITEM item;
-} TV_DISPINFO;
+typedef_tident(TV_DISPINFO)
typedef struct _TVHITTESTINFO {
POINT pt;
UINT flags;
HTREEITEM hItem;
-} TV_HITTESTINFO, *LPTV_HITTESTINFO;
+} TV_HITTESTINFO, *LPTV_HITTESTINFO;
+
+typedef struct _TV_INSERTSTRUCTA {
+ HTREEITEM hParent;
+ HTREEITEM hInsertAfter;
+ TV_ITEMA item;
+} TV_INSERTSTRUCTA, *LPTV_INSERTSTRUCTA;
-typedef struct _TV_INSERTSTRUCT {
+typedef struct _TV_INSERTSTRUCTW {
HTREEITEM hParent;
HTREEITEM hInsertAfter;
- TV_ITEM item;
-} TV_INSERTSTRUCT, *LPTV_INSERTSTRUCT;
+ TV_ITEMW item;
+} TV_INSERTSTRUCTW, *LPTV_INSERTSTRUCTW;
+
+typedef_tident(TV_INSERTSTRUCT)
+typedef_tident(LPTV_INSERTSTRUCT)
typedef struct _TV_KEYDOWN {
NMHDR hdr;
UINT nInc;
} UDACCEL;
-typedef struct _UNIVERSAL_NAME_INFO {
- LPTSTR lpUniversalName;
-} UNIVERSAL_NAME_INFO;
+typedef struct _UNIVERSAL_NAME_INFOA {
+ LPSTR lpUniversalName;
+} UNIVERSAL_NAME_INFOA;
+
+typedef struct _UNIVERSAL_NAME_INFOW {
+ LPWSTR lpUniversalName;
+} UNIVERSAL_NAME_INFOW;
+
+typedef_tident(UNIVERSAL_NAME_INFO)
typedef struct tagUSEROBJECTFLAGS {
WINBOOL fInherit;
WCHAR cAlternateFileName[ 14 ];
} WIN32_FIND_DATAW, *LPWIN32_FIND_DATAW, *PWIN32_FIND_DATAW;
-#ifdef UNICODE
-#define WIN32_FIND_DATA WIN32_FIND_DATAW
-#define PWIN32_FIND_DATA PWIN32_FIND_DATAW
-#define LPWIN32_FIND_DATA LPWIN32_FIND_DATAW
-#else
-#define WIN32_FIND_DATA WIN32_FIND_DATAA
-#define PWIN32_FIND_DATA PWIN32_FIND_DATAA
-#define LPWIN32_FIND_DATA LPWIN32_FIND_DATAA
-#endif
+typedef_tident(WIN32_FIND_DATA)
+typedef_tident(PWIN32_FIND_DATA)
+typedef_tident(LPWIN32_FIND_DATA)
typedef struct _WIN32_STREAM_ID {
DWORD dwStreamId;
RECT rcNormalPosition;
} WINDOWPLACEMENT;
-typedef struct _WNDCLASS {
+typedef struct _WNDCLASSA {
UINT style;
WNDPROC lpfnWndProc;
int cbClsExtra;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
- LPCTSTR lpszMenuName;
- LPCTSTR lpszClassName;
-} WNDCLASS, *LPWNDCLASS;
+ LPCSTR lpszMenuName;
+ LPCSTR lpszClassName;
+} WNDCLASSA, *LPWNDCLASSA;
-typedef struct _WNDCLASSEX {
+typedef struct _WNDCLASSW {
+ UINT style;
+ WNDPROC lpfnWndProc;
+ int cbClsExtra;
+ int cbWndExtra;
+ HANDLE hInstance;
+ HICON hIcon;
+ HCURSOR hCursor;
+ HBRUSH hbrBackground;
+ LPCWSTR lpszMenuName;
+ LPCWSTR lpszClassName;
+} WNDCLASSW, *LPWNDCLASSW;
+
+typedef_tident(WNDCLASS)
+
+typedef struct _WNDCLASSEXA {
UINT cbSize;
UINT style;
WNDPROC lpfnWndProc;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
- LPCTSTR lpszMenuName;
- LPCTSTR lpszClassName;
+ LPCSTR lpszMenuName;
+ LPCSTR lpszClassName;
HICON hIconSm;
-} WNDCLASSEX, *LPWNDCLASSEX;
+} WNDCLASSEXA, *LPWNDCLASSEXA;
-typedef struct _CONNECTDLGSTRUCT {
- DWORD cbStructure;
- HWND hwndOwner;
- LPNETRESOURCE lpConnRes;
- DWORD dwFlags;
- DWORD dwDevNum;
-} CONNECTDLGSTRUCT, *LPCONNECTDLGSTRUCT;
+typedef struct _WNDCLASSEXW {
+ UINT cbSize;
+ UINT style;
+ WNDPROC lpfnWndProc;
+ int cbClsExtra;
+ int cbWndExtra;
+ HANDLE hInstance;
+ HICON hIcon;
+ HCURSOR hCursor;
+ HBRUSH hbrBackground;
+ LPCWSTR lpszMenuName;
+ LPCWSTR lpszClassName;
+ HICON hIconSm;
+} WNDCLASSEXW, *LPWNDCLASSEXW;
+
+typedef_tident(WNDCLASSEX)
+
+typedef struct _CONNECTDLGSTRUCTA {
+ DWORD cbStructure;
+ HWND hwndOwner;
+ LPNETRESOURCEA lpConnRes;
+ DWORD dwFlags;
+ DWORD dwDevNum;
+} CONNECTDLGSTRUCTA, *LPCONNECTDLGSTRUCTA;
+
+typedef struct _CONNECTDLGSTRUCTW {
+ DWORD cbStructure;
+ HWND hwndOwner;
+ LPNETRESOURCEW lpConnRes;
+ DWORD dwFlags;
+ DWORD dwDevNum;
+} CONNECTDLGSTRUCTW, *LPCONNECTDLGSTRUCTW;
+
+typedef_tident(CONNECTDLGSTRUCT)
+typedef_tident(LPCONNECTDLGSTRUCT)
+
+typedef struct _DISCDLGSTRUCTA {
+ DWORD cbStructure;
+ HWND hwndOwner;
+ LPSTR lpLocalName;
+ LPSTR lpRemoteName;
+ DWORD dwFlags;
+} DISCDLGSTRUCTA, *LPDISCDLGSTRUCTA;
-typedef struct _DISCDLGSTRUCT {
+typedef struct _DISCDLGSTRUCTW {
DWORD cbStructure;
HWND hwndOwner;
- LPTSTR lpLocalName;
- LPTSTR lpRemoteName;
+ LPWSTR lpLocalName;
+ LPWSTR lpRemoteName;
DWORD dwFlags;
-} DISCDLGSTRUCT, *LPDISCDLGSTRUCT;
+} DISCDLGSTRUCTW, *LPDISCDLGSTRUCTW;
+
+typedef_tident(DISCDLGSTRUCT)
+typedef_tident(LPDISCDLGSTRUCT)
typedef struct _NETINFOSTRUCT{
DWORD cbStructure;
typedef int CALLBACK (*ENHMETAFILEPROC) (HDC, HANDLETABLE,
ENHMETARECORD, int, LPARAM);
-typedef int CALLBACK (*ENUMFONTSPROC) (LPLOGFONT, LPTEXTMETRIC, DWORD, LPARAM);
-typedef int CALLBACK (*FONTENUMPROC) (ENUMLOGFONT *, NEWTEXTMETRIC *,
- int, LPARAM);
-typedef int CALLBACK (*FONTENUMEXPROC) (ENUMLOGFONTEX *, NEWTEXTMETRICEX *,
- int, LPARAM);
+typedef int CALLBACK (*ENUMFONTSPROCA) (LPLOGFONTA, LPTEXTMETRICA, DWORD, LPARAM);
+typedef int CALLBACK (*ENUMFONTSPROCW) (LPLOGFONTW, LPTEXTMETRICW, DWORD, LPARAM);
+typedef_tident(ENUMFONTSPROC)
+typedef int CALLBACK (*FONTENUMPROCA) (ENUMLOGFONTA *, NEWTEXTMETRICA *,
+ int, LPARAM);
+typedef int CALLBACK (*FONTENUMPROCW) (ENUMLOGFONTW *, NEWTEXTMETRICW *,
+ int, LPARAM);
+typedef_tident(FONTENUMPROC)
+typedef int CALLBACK (*FONTENUMEXPROCA) (ENUMLOGFONTEXA *, NEWTEXTMETRICEXA *,
+ int, LPARAM);
+typedef int CALLBACK (*FONTENUMEXPROCW) (ENUMLOGFONTEXW *, NEWTEXTMETRICEXW *,
+ int, LPARAM);
+typedef_tident(FONTENUMEXPROC)
typedef VOID CALLBACK (*LPOVERLAPPED_COMPLETION_ROUTINE) (DWORD, DWORD,
LPOVERLAPPED);
DWORD rgstate[CCHILDREN_TITLEBAR+1];
} TITLEBARINFO, *PTITLEBARINFO, *LPTITLEBARINFO;
-typedef struct {
- HWND hwnd;
- LPCTSTR szWindowName;
- UINT32 fToBeClosed;
- UINT32 fToBeTerminated;
+typedef struct tagWINDOWINFO {
+ DWORD cbSize;
+ RECT rcWindow;
+ RECT rcClient;
+ DWORD dwStyle;
+ DWORD dwExStyle;
+ DWORD dwWindowStatus;
+ UINT cxWindowBorders;
+ UINT cyWindowBorders;
+ ATOM atomWindowType;
+ WORD wCreatorVersion;
} WINDOWINFO, *PWINDOWINFO, *LPWINDOWINFO;
typedef struct tagMOUSEINPUT {
DWORD dwHoverTime;
} TRACKMOUSEEVENT, *LPTRACKMOUSEEVENT;
+typedef IMAGE_THUNK_DATA * PImgThunkData;
+typedef const IMAGE_THUNK_DATA * PCImgThunkData;
+
+typedef struct ImgDelayDescr {
+ DWORD grAttrs;
+ LPCSTR szName;
+ HMODULE * phmod;
+ PImgThunkData pIAT;
+ PCImgThunkData pINT;
+ PCImgThunkData pBoundIAT;
+ PCImgThunkData pUnloadIAT;
+ DWORD dwTimeStamp;
+ } ImgDelayDescr, * PImgDelayDescr;
+
+typedef const ImgDelayDescr * PCImgDelayDescr;
+
+typedef struct DelayLoadProc {
+ BOOL fImportByName;
+ union {
+ LPCSTR szProcName;
+ DWORD dwOrdinal;
+ };
+ } DelayLoadProc;
+
+typedef struct DelayLoadInfo {
+ DWORD cb;
+ PCImgDelayDescr pidd;
+ FARPROC * ppfn;
+ LPCSTR szDll;
+ DelayLoadProc dlp;
+ HMODULE hmodCur;
+ FARPROC pfnCur;
+ DWORD dwLastError;
+ } DelayLoadInfo, * PDelayLoadInfo;
+
+typedef struct _RTL_HEAP_TAG_INFO {
+ ULONG AllocCount;
+ ULONG FreeCount;
+ ULONG MemoryUsed;
+} RTL_HEAP_TAG_INFO, *LPRTL_HEAP_TAG_INFO, *PRTL_HEAP_TAG_INFO;
+
+typedef struct _PORT_MESSAGE {
+ USHORT DataSize;
+ USHORT MessageSize;
+ USHORT MessageType;
+ USHORT VirtualRangesOffset;
+ CLIENT_ID ClientId;
+ ULONG MessageId;
+ ULONG SectionSize;
+// UCHAR Data [];
+} PORT_MESSAGE,*PPORT_MESSAGE;
+
+typedef struct _PORT_SECTION_WRITE {
+ ULONG Length;
+ HANDLE SectionHandle;
+ ULONG SectionOffset;
+ ULONG ViewSize;
+ PVOID ViewBase;
+ PVOID TargetViewBase;
+} PORT_SECTION_WRITE,*PPORT_SECTION_WRITE;
+
+typedef struct _PORT_SECTION_READ {
+ ULONG Length;
+ ULONG ViewSize;
+ ULONG ViewBase;
+} PORT_SECTION_READ,*PPORT_SECTION_READ;
+
+typedef struct _FILE_USER_QUOTA_INFORMATION {
+ ULONG NextEntryOffset;
+ ULONG SidLength;
+ LARGE_INTEGER ChangeTime;
+ LARGE_INTEGER QuotaUsed;
+ LARGE_INTEGER QuotaThreshold;
+ LARGE_INTEGER QuotaLimit;
+ SID Sid [1 ];
+} FILE_USER_QUOTA_INFORMATION,*PFILE_USER_QUOTA_INFORMATION;
+
+typedef struct _FILE_QUOTA_LIST_INFORMATION {
+ ULONG NextEntryOffset;
+ ULONG SidLength;
+ SID Sid [1 ];
+} FILE_QUOTA_LIST_INFORMATION,*PFILE_QUOTA_LIST_INFORMATION;
+
typedef struct _BLENDFUNCTION {
BYTE BlendOp;
BYTE BlendFlags;
#endif /* WIN32_LEAN_AND_MEAN */
#endif /* _GNU_H_WINDOWS32_STRUCTURES */
-
-