af062818b47340eef15700d2f0211576ba3506eevboxsync/*
af062818b47340eef15700d2f0211576ba3506eevboxsync * Basic types used by COM interfaces
af062818b47340eef15700d2f0211576ba3506eevboxsync *
af062818b47340eef15700d2f0211576ba3506eevboxsync * Copyright 2002 Ove Kaaven
af062818b47340eef15700d2f0211576ba3506eevboxsync *
af062818b47340eef15700d2f0211576ba3506eevboxsync * This library is free software; you can redistribute it and/or
af062818b47340eef15700d2f0211576ba3506eevboxsync * modify it under the terms of the GNU Lesser General Public
af062818b47340eef15700d2f0211576ba3506eevboxsync * License as published by the Free Software Foundation; either
af062818b47340eef15700d2f0211576ba3506eevboxsync * version 2.1 of the License, or (at your option) any later version.
af062818b47340eef15700d2f0211576ba3506eevboxsync *
af062818b47340eef15700d2f0211576ba3506eevboxsync * This library is distributed in the hope that it will be useful,
af062818b47340eef15700d2f0211576ba3506eevboxsync * but WITHOUT ANY WARRANTY; without even the implied warranty of
af062818b47340eef15700d2f0211576ba3506eevboxsync * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
af062818b47340eef15700d2f0211576ba3506eevboxsync * Lesser General Public License for more details.
af062818b47340eef15700d2f0211576ba3506eevboxsync *
af062818b47340eef15700d2f0211576ba3506eevboxsync * You should have received a copy of the GNU Lesser General Public
af062818b47340eef15700d2f0211576ba3506eevboxsync * License along with this library; if not, write to the Free Software
af062818b47340eef15700d2f0211576ba3506eevboxsync * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
af062818b47340eef15700d2f0211576ba3506eevboxsync */
af062818b47340eef15700d2f0211576ba3506eevboxsync
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync/*
4b9d6701570cb98fd36e209314239d104ec584d3vboxsync * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
4b9d6701570cb98fd36e209314239d104ec584d3vboxsync * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync * a choice of LGPL license versions is made available with the language indicating
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync * that LGPLv2 or any later version may be used, or where a choice of which version
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync * of the LGPL is applied is otherwise unspecified.
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync */
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsyncimport "basetsd.h";
af062818b47340eef15700d2f0211576ba3506eevboxsyncimport "guiddef.h";
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync[
af062818b47340eef15700d2f0211576ba3506eevboxsync uuid(D3980A60-910C-1068-9341-00DD010F2F1C),
af062818b47340eef15700d2f0211576ba3506eevboxsync version(0.1),
af062818b47340eef15700d2f0211576ba3506eevboxsync pointer_default(unique)
af062818b47340eef15700d2f0211576ba3506eevboxsync]
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IWinTypes
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync/******************** BASIC WIN32 TYPES ********************/
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#if 0 /* winnt.h */") /* don't redefine these */
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef unsigned char BYTE;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef unsigned short WORD;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef unsigned long DWORD;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef long BOOL;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef unsigned char UCHAR;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef int INT;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef unsigned int UINT;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef short SHORT;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef unsigned short USHORT;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef long LONG;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef unsigned long ULONG;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef float FLOAT;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef void *PVOID, *LPVOID;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef DWORD *LPDWORD;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef char CHAR;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef [string] CHAR *LPSTR;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef [string] const CHAR *LPCSTR;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef wchar_t WCHAR;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef [string] WCHAR *LPWSTR;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef [string] const WCHAR *LPCWSTR;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef boolean BOOLEAN;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef DWORD COLORREF;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef void *HANDLE;
af062818b47340eef15700d2f0211576ba3506eevboxsync#define DECLARE_HANDLE(name) typedef void *name
af062818b47340eef15700d2f0211576ba3506eevboxsync#define DECLARE_WIREM_HANDLE(name) typedef [wire_marshal(wire##name)] void*name
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsyncDECLARE_HANDLE(HMODULE);
af062818b47340eef15700d2f0211576ba3506eevboxsyncDECLARE_HANDLE(HINSTANCE);
af062818b47340eef15700d2f0211576ba3506eevboxsyncDECLARE_HANDLE(HRGN);
af062818b47340eef15700d2f0211576ba3506eevboxsyncDECLARE_HANDLE(HTASK);
af062818b47340eef15700d2f0211576ba3506eevboxsyncDECLARE_HANDLE(HKEY);
af062818b47340eef15700d2f0211576ba3506eevboxsyncDECLARE_HANDLE(HDESK);
af062818b47340eef15700d2f0211576ba3506eevboxsyncDECLARE_HANDLE(HMF);
af062818b47340eef15700d2f0211576ba3506eevboxsyncDECLARE_HANDLE(HEMF);
af062818b47340eef15700d2f0211576ba3506eevboxsyncDECLARE_HANDLE(HPEN);
af062818b47340eef15700d2f0211576ba3506eevboxsyncDECLARE_HANDLE(HRSRC);
af062818b47340eef15700d2f0211576ba3506eevboxsyncDECLARE_HANDLE(HSTR);
af062818b47340eef15700d2f0211576ba3506eevboxsyncDECLARE_HANDLE(HWINSTA);
af062818b47340eef15700d2f0211576ba3506eevboxsyncDECLARE_HANDLE(HKL);
af062818b47340eef15700d2f0211576ba3506eevboxsyncDECLARE_HANDLE(HGDIOBJ);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef HANDLE HDWP;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef LONG_PTR LRESULT;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef LONG HRESULT;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef DWORD LCID;
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsynctypedef USHORT LANGID;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef unsigned __int64 DWORDLONG;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef __int64 LONGLONG;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef unsigned __int64 ULONGLONG;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct _LARGE_INTEGER {
af062818b47340eef15700d2f0211576ba3506eevboxsync LONGLONG QuadPart;
af062818b47340eef15700d2f0211576ba3506eevboxsync} LARGE_INTEGER;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct _ULARGE_INTEGER {
af062818b47340eef15700d2f0211576ba3506eevboxsync ULONGLONG QuadPart;
af062818b47340eef15700d2f0211576ba3506eevboxsync} ULARGE_INTEGER;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct _SID_IDENTIFIER_AUTHORITY {
af062818b47340eef15700d2f0211576ba3506eevboxsync UCHAR Value[6];
af062818b47340eef15700d2f0211576ba3506eevboxsync} SID_IDENTIFIER_AUTHORITY, *PSID_IDENTIFIER_AUTHORITY;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct _SID {
af062818b47340eef15700d2f0211576ba3506eevboxsync UCHAR Revision;
af062818b47340eef15700d2f0211576ba3506eevboxsync UCHAR SubAuthorityCount;
af062818b47340eef15700d2f0211576ba3506eevboxsync SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
af062818b47340eef15700d2f0211576ba3506eevboxsync [size_is(SubAuthorityCount)] ULONG SubAuthority[*];
af062818b47340eef15700d2f0211576ba3506eevboxsync} SID, *PSID;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef USHORT SECURITY_DESCRIPTOR_CONTROL, *PSECURITY_DESCRIPTOR_CONTROL;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct _ACL {
af062818b47340eef15700d2f0211576ba3506eevboxsync UCHAR AclRevision;
af062818b47340eef15700d2f0211576ba3506eevboxsync UCHAR Sbz1;
af062818b47340eef15700d2f0211576ba3506eevboxsync USHORT AclSize;
af062818b47340eef15700d2f0211576ba3506eevboxsync USHORT AceCount;
af062818b47340eef15700d2f0211576ba3506eevboxsync USHORT Sbz2;
af062818b47340eef15700d2f0211576ba3506eevboxsync} ACL;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef ACL *PACL;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct _SECURITY_DESCRIPTOR {
af062818b47340eef15700d2f0211576ba3506eevboxsync UCHAR Revision;
af062818b47340eef15700d2f0211576ba3506eevboxsync UCHAR Sbz1;
af062818b47340eef15700d2f0211576ba3506eevboxsync SECURITY_DESCRIPTOR_CONTROL Control;
af062818b47340eef15700d2f0211576ba3506eevboxsync PSID Owner;
af062818b47340eef15700d2f0211576ba3506eevboxsync PSID Group;
af062818b47340eef15700d2f0211576ba3506eevboxsync PACL Sacl;
af062818b47340eef15700d2f0211576ba3506eevboxsync PACL Dacl;
af062818b47340eef15700d2f0211576ba3506eevboxsync} SECURITY_DESCRIPTOR, *PSECURITY_DESCRIPTOR;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct _SECURITY_ATTRIBUTES
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD nLength;
af062818b47340eef15700d2f0211576ba3506eevboxsync [size_is(nLength)] LPVOID lpSecurityDescriptor;
af062818b47340eef15700d2f0211576ba3506eevboxsync BOOL bInheritHandle;
af062818b47340eef15700d2f0211576ba3506eevboxsync} SECURITY_ATTRIBUTES, *PSECURITY_ATTRIBUTES, *LPSECURITY_ATTRIBUTES;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct tagSIZE
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG cx;
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG cy;
af062818b47340eef15700d2f0211576ba3506eevboxsync} SIZE, *PSIZE, *LPSIZE;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef SIZE SIZEL, *PSIZEL, *LPSIZEL;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct tagPOINT
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG x;
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG y;
af062818b47340eef15700d2f0211576ba3506eevboxsync} POINT, *PPOINT, *LPPOINT;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct _POINTL
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG x;
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG y;
af062818b47340eef15700d2f0211576ba3506eevboxsync} POINTL, *PPOINTL;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct tagRECT
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG left;
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG top;
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG right;
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG bottom;
af062818b47340eef15700d2f0211576ba3506eevboxsync} RECT, *PRECT, *LPRECT;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef const RECT *LPCRECT;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct _RECTL
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG left;
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG top;
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG right;
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG bottom;
af062818b47340eef15700d2f0211576ba3506eevboxsync} RECTL, *PRECTL, *LPRECTL;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef const RECTL *LPCRECTL;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef UINT_PTR WPARAM;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef LONG_PTR LPARAM;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#endif /* winnt.h */")
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#ifdef _MSC_VER") /* for IDL and MSVC only */
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef double DOUBLE;
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#else")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("typedef double DECLSPEC_ALIGN(8) DOUBLE;")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#endif")
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#ifndef _PALETTEENTRY_DEFINED")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define _PALETTEENTRY_DEFINED")
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct tagPALETTEENTRY {
af062818b47340eef15700d2f0211576ba3506eevboxsync BYTE peRed;
af062818b47340eef15700d2f0211576ba3506eevboxsync BYTE peGreen;
af062818b47340eef15700d2f0211576ba3506eevboxsync BYTE peBlue;
af062818b47340eef15700d2f0211576ba3506eevboxsync BYTE peFlags;
af062818b47340eef15700d2f0211576ba3506eevboxsync} PALETTEENTRY, *PPALETTEENTRY, *LPPALETTEENTRY;
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#endif")
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#ifndef _LOGPALETTE_DEFINED")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define _LOGPALETTE_DEFINED")
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct tagLOGPALETTE
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync WORD palVersion;
af062818b47340eef15700d2f0211576ba3506eevboxsync WORD palNumEntries;
af062818b47340eef15700d2f0211576ba3506eevboxsync [size_is(palNumEntries)] PALETTEENTRY palPalEntry[*];
af062818b47340eef15700d2f0211576ba3506eevboxsync} LOGPALETTE, *PLOGPALETTE, *LPLOGPALETTE;
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#endif")
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#ifndef _SYSTEMTIME_")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define _SYSTEMTIME_")
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct _SYSTEMTIME{
af062818b47340eef15700d2f0211576ba3506eevboxsync WORD wYear;
af062818b47340eef15700d2f0211576ba3506eevboxsync WORD wMonth;
af062818b47340eef15700d2f0211576ba3506eevboxsync WORD wDayOfWeek;
af062818b47340eef15700d2f0211576ba3506eevboxsync WORD wDay;
af062818b47340eef15700d2f0211576ba3506eevboxsync WORD wHour;
af062818b47340eef15700d2f0211576ba3506eevboxsync WORD wMinute;
af062818b47340eef15700d2f0211576ba3506eevboxsync WORD wSecond;
af062818b47340eef15700d2f0211576ba3506eevboxsync WORD wMilliseconds;
af062818b47340eef15700d2f0211576ba3506eevboxsync} SYSTEMTIME, *PSYSTEMTIME, *LPSYSTEMTIME;
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#endif")
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#ifndef _FILETIME_")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define _FILETIME_")
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct _FILETIME {
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwLowDateTime;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwHighDateTime;
af062818b47340eef15700d2f0211576ba3506eevboxsync} FILETIME, *PFILETIME, *LPFILETIME;
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#endif")
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#ifndef _TEXTMETRIC_DEFINED")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define _TEXTMETRIC_DEFINED")
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct tagTEXTMETRICA
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG tmHeight;
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG tmAscent;
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG tmDescent;
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG tmInternalLeading;
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG tmExternalLeading;
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG tmAveCharWidth;
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG tmMaxCharWidth;
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG tmWeight;
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG tmOverhang;
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG tmDigitizedAspectX;
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG tmDigitizedAspectY;
af062818b47340eef15700d2f0211576ba3506eevboxsync BYTE tmFirstChar;
af062818b47340eef15700d2f0211576ba3506eevboxsync BYTE tmLastChar;
af062818b47340eef15700d2f0211576ba3506eevboxsync BYTE tmDefaultChar;
af062818b47340eef15700d2f0211576ba3506eevboxsync BYTE tmBreakChar;
af062818b47340eef15700d2f0211576ba3506eevboxsync BYTE tmItalic;
af062818b47340eef15700d2f0211576ba3506eevboxsync BYTE tmUnderlined;
af062818b47340eef15700d2f0211576ba3506eevboxsync BYTE tmStruckOut;
af062818b47340eef15700d2f0211576ba3506eevboxsync BYTE tmPitchAndFamily;
af062818b47340eef15700d2f0211576ba3506eevboxsync BYTE tmCharSet;
af062818b47340eef15700d2f0211576ba3506eevboxsync} TEXTMETRICA, *LPTEXTMETRICA, *PTEXTMETRICA;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct tagTEXTMETRICW
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG tmHeight;
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG tmAscent;
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG tmDescent;
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG tmInternalLeading;
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG tmExternalLeading;
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG tmAveCharWidth;
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG tmMaxCharWidth;
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG tmWeight;
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG tmOverhang;
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG tmDigitizedAspectX;
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG tmDigitizedAspectY;
af062818b47340eef15700d2f0211576ba3506eevboxsync WCHAR tmFirstChar;
af062818b47340eef15700d2f0211576ba3506eevboxsync WCHAR tmLastChar;
af062818b47340eef15700d2f0211576ba3506eevboxsync WCHAR tmDefaultChar;
af062818b47340eef15700d2f0211576ba3506eevboxsync WCHAR tmBreakChar;
af062818b47340eef15700d2f0211576ba3506eevboxsync BYTE tmItalic;
af062818b47340eef15700d2f0211576ba3506eevboxsync BYTE tmUnderlined;
af062818b47340eef15700d2f0211576ba3506eevboxsync BYTE tmStruckOut;
af062818b47340eef15700d2f0211576ba3506eevboxsync BYTE tmPitchAndFamily;
af062818b47340eef15700d2f0211576ba3506eevboxsync BYTE tmCharSet;
af062818b47340eef15700d2f0211576ba3506eevboxsync} TEXTMETRICW, *LPTEXTMETRICW, *PTEXTMETRICW;
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#endif")
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync/******************** BASIC COM/OLE TYPES ********************/
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef WCHAR OLECHAR;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef [string] OLECHAR *LPOLESTR;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef [string] const OLECHAR *LPCOLESTR;
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#ifndef __WINESRC__")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define OLESTR(str) L##str")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#endif")
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef LONG SCODE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct _COAUTHIDENTITY {
af062818b47340eef15700d2f0211576ba3506eevboxsync [size_is(UserLength+1)] USHORT *User;
af062818b47340eef15700d2f0211576ba3506eevboxsync ULONG UserLength;
af062818b47340eef15700d2f0211576ba3506eevboxsync [size_is(DomainLength+1)] USHORT *Domain;
af062818b47340eef15700d2f0211576ba3506eevboxsync ULONG DomainLength;
af062818b47340eef15700d2f0211576ba3506eevboxsync [size_is(PasswordLength+1)] USHORT *Password;
af062818b47340eef15700d2f0211576ba3506eevboxsync ULONG PasswordLength;
af062818b47340eef15700d2f0211576ba3506eevboxsync ULONG Flags;
af062818b47340eef15700d2f0211576ba3506eevboxsync} COAUTHIDENTITY;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct _COAUTHINFO {
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwAuthnSvc;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwAuthzSvc;
af062818b47340eef15700d2f0211576ba3506eevboxsync LPWSTR pwszServerPrincName;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwAuthnLevel;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwImpersonationLevel;
af062818b47340eef15700d2f0211576ba3506eevboxsync COAUTHIDENTITY *pAuthIdentityData;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwCapabilities;
af062818b47340eef15700d2f0211576ba3506eevboxsync} COAUTHINFO;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef enum tagMEMCTX {
af062818b47340eef15700d2f0211576ba3506eevboxsync MEMCTX_TASK = 1,
af062818b47340eef15700d2f0211576ba3506eevboxsync MEMCTX_SHARED = 2,
af062818b47340eef15700d2f0211576ba3506eevboxsync MEMCTX_MACSYSTEM = 3,
af062818b47340eef15700d2f0211576ba3506eevboxsync MEMCTX_UNKNOWN = -1,
af062818b47340eef15700d2f0211576ba3506eevboxsync MEMCTX_SAME = -2
af062818b47340eef15700d2f0211576ba3506eevboxsync} MEMCTX;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#ifndef _ROT_COMPARE_MAX_DEFINED")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define _ROT_COMPARE_MAX_DEFINED")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define ROT_COMPARE_MAX 2048")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#endif")
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#ifndef _ROTFLAGS_DEFINED")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define _ROTFLAGS_DEFINED")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define ROTFLAGS_REGISTRATIONKEEPSALIVE 0x1")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define ROTFLAGS_ALLOWANYCLIENT 0x2")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#endif")
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef enum tagCLSCTX {
af062818b47340eef15700d2f0211576ba3506eevboxsync CLSCTX_INPROC_SERVER = 0x1,
af062818b47340eef15700d2f0211576ba3506eevboxsync CLSCTX_INPROC_HANDLER = 0x2,
af062818b47340eef15700d2f0211576ba3506eevboxsync CLSCTX_LOCAL_SERVER = 0x4,
af062818b47340eef15700d2f0211576ba3506eevboxsync CLSCTX_INPROC_SERVER16 = 0x8,
af062818b47340eef15700d2f0211576ba3506eevboxsync CLSCTX_REMOTE_SERVER = 0x10,
af062818b47340eef15700d2f0211576ba3506eevboxsync CLSCTX_INPROC_HANDLER16 = 0x20,
af062818b47340eef15700d2f0211576ba3506eevboxsync CLSCTX_INPROC_SERVERX86 = 0x40,
af062818b47340eef15700d2f0211576ba3506eevboxsync CLSCTX_INPROC_HANDLERX86 = 0x80,
af062818b47340eef15700d2f0211576ba3506eevboxsync CLSCTX_ESERVER_HANDLER = 0x100,
af062818b47340eef15700d2f0211576ba3506eevboxsync CLSCTX_NO_CODE_DOWNLOAD = 0x400,
af062818b47340eef15700d2f0211576ba3506eevboxsync CLSCTX_NO_CUSTOM_MARSHAL = 0x1000,
af062818b47340eef15700d2f0211576ba3506eevboxsync CLSCTX_ENABLE_CODE_DOWNLOAD = 0x2000,
af062818b47340eef15700d2f0211576ba3506eevboxsync CLSCTX_NO_FAILURE_LOG = 0x4000,
af062818b47340eef15700d2f0211576ba3506eevboxsync CLSCTX_DISABLE_AAA = 0x8000,
af062818b47340eef15700d2f0211576ba3506eevboxsync CLSCTX_ENABLE_AAA = 0x10000,
af062818b47340eef15700d2f0211576ba3506eevboxsync CLSCTX_FROM_DEFAULT_CONTEXT = 0x20000
af062818b47340eef15700d2f0211576ba3506eevboxsync} CLSCTX;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define CLSCTX_INPROC (CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define CLSCTX_ALL (CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define CLSCTX_SERVER (CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER)")
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef enum tagMSHLFLAGS {
af062818b47340eef15700d2f0211576ba3506eevboxsync MSHLFLAGS_NORMAL = 0,
af062818b47340eef15700d2f0211576ba3506eevboxsync MSHLFLAGS_TABLESTRONG = 1,
af062818b47340eef15700d2f0211576ba3506eevboxsync MSHLFLAGS_TABLEWEAK = 2,
af062818b47340eef15700d2f0211576ba3506eevboxsync MSHLFLAGS_NOPING = 4
af062818b47340eef15700d2f0211576ba3506eevboxsync} MSHLFLAGS;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef enum tagMSHCTX {
af062818b47340eef15700d2f0211576ba3506eevboxsync MSHCTX_LOCAL = 0,
af062818b47340eef15700d2f0211576ba3506eevboxsync MSHCTX_NOSHAREDMEM = 1,
af062818b47340eef15700d2f0211576ba3506eevboxsync MSHCTX_DIFFERENTMACHINE = 2,
af062818b47340eef15700d2f0211576ba3506eevboxsync MSHCTX_INPROC = 3,
af062818b47340eef15700d2f0211576ba3506eevboxsync MSHCTX_CROSSCTX = 4
af062818b47340eef15700d2f0211576ba3506eevboxsync} MSHCTX;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync/******************** BLOB TYPES ********************/
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct _BYTE_BLOB {
af062818b47340eef15700d2f0211576ba3506eevboxsync unsigned long clSize;
af062818b47340eef15700d2f0211576ba3506eevboxsync [size_is(clSize)] byte abData[];
af062818b47340eef15700d2f0211576ba3506eevboxsync} BYTE_BLOB;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef [unique] BYTE_BLOB *UP_BYTE_BLOB;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct _FLAGGED_BYTE_BLOB {
af062818b47340eef15700d2f0211576ba3506eevboxsync unsigned long fFlags;
af062818b47340eef15700d2f0211576ba3506eevboxsync unsigned long clSize;
af062818b47340eef15700d2f0211576ba3506eevboxsync [size_is(clSize)] byte abData[];
af062818b47340eef15700d2f0211576ba3506eevboxsync} FLAGGED_BYTE_BLOB;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef [unique] FLAGGED_BYTE_BLOB *UP_FLAGGED_BYTE_BLOB;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct _FLAGGED_WORD_BLOB {
af062818b47340eef15700d2f0211576ba3506eevboxsync unsigned long fFlags;
af062818b47340eef15700d2f0211576ba3506eevboxsync unsigned long clSize;
af062818b47340eef15700d2f0211576ba3506eevboxsync [size_is(clSize)] unsigned short asData[];
af062818b47340eef15700d2f0211576ba3506eevboxsync} FLAGGED_WORD_BLOB;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef [unique] FLAGGED_WORD_BLOB *UP_FLAGGED_WORD_BLOB;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct _BYTE_SIZEDARR {
af062818b47340eef15700d2f0211576ba3506eevboxsync unsigned long clSize;
af062818b47340eef15700d2f0211576ba3506eevboxsync [size_is(clSize)] byte *pData;
af062818b47340eef15700d2f0211576ba3506eevboxsync} BYTE_SIZEDARR;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct _SHORT_SIZEDARR {
af062818b47340eef15700d2f0211576ba3506eevboxsync unsigned long clSize;
af062818b47340eef15700d2f0211576ba3506eevboxsync [size_is(clSize)] unsigned short *pData;
af062818b47340eef15700d2f0211576ba3506eevboxsync} WORD_SIZEDARR;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct _LONG_SIZEDARR {
af062818b47340eef15700d2f0211576ba3506eevboxsync unsigned long clSize;
af062818b47340eef15700d2f0211576ba3506eevboxsync [size_is(clSize)] unsigned long *pData;
af062818b47340eef15700d2f0211576ba3506eevboxsync} DWORD_SIZEDARR;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct _HYPER_SIZEDARR {
af062818b47340eef15700d2f0211576ba3506eevboxsync unsigned long clSize;
af062818b47340eef15700d2f0211576ba3506eevboxsync [size_is(clSize)] hyper *pData;
af062818b47340eef15700d2f0211576ba3506eevboxsync} HYPER_SIZEDARR;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync/******************** GDI TYPES ********************/
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsyncconst unsigned long WDT_INPROC_CALL = 0x48746457;
af062818b47340eef15700d2f0211576ba3506eevboxsyncconst unsigned long WDT_REMOTE_CALL = 0x52746457;
af062818b47340eef15700d2f0211576ba3506eevboxsyncconst unsigned long WDT_INPROC64_CALL = 0x50746457;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef union _userCLIPFORMAT switch(long fContext) u {
af062818b47340eef15700d2f0211576ba3506eevboxsync case WDT_INPROC_CALL: DWORD dwValue;
af062818b47340eef15700d2f0211576ba3506eevboxsync case WDT_REMOTE_CALL: LPWSTR pwszName;
af062818b47340eef15700d2f0211576ba3506eevboxsync} userCLIPFORMAT;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef [unique] userCLIPFORMAT *wireCLIPFORMAT;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef [wire_marshal(wireCLIPFORMAT)] WORD CLIPFORMAT;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct tagRemHGLOBAL {
af062818b47340eef15700d2f0211576ba3506eevboxsync long fNullHGlobal;
af062818b47340eef15700d2f0211576ba3506eevboxsync unsigned long cbData;
af062818b47340eef15700d2f0211576ba3506eevboxsync [size_is(cbData)] byte data[];
af062818b47340eef15700d2f0211576ba3506eevboxsync} RemHGLOBAL;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef union _userHGLOBAL switch(long fContext) u {
af062818b47340eef15700d2f0211576ba3506eevboxsync case WDT_INPROC_CALL: long hInproc;
af062818b47340eef15700d2f0211576ba3506eevboxsync case WDT_REMOTE_CALL: FLAGGED_BYTE_BLOB *hRemote;
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync case WDT_INPROC64_CALL: __int64 hInproc64;
af062818b47340eef15700d2f0211576ba3506eevboxsync} userHGLOBAL;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef [unique] userHGLOBAL *wireHGLOBAL;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct tagRemHMETAFILEPICT {
af062818b47340eef15700d2f0211576ba3506eevboxsync long mm;
af062818b47340eef15700d2f0211576ba3506eevboxsync long xExt;
af062818b47340eef15700d2f0211576ba3506eevboxsync long yExt;
af062818b47340eef15700d2f0211576ba3506eevboxsync unsigned long cbData;
af062818b47340eef15700d2f0211576ba3506eevboxsync [size_is(cbData)] byte data[];
af062818b47340eef15700d2f0211576ba3506eevboxsync} RemHMETAFILEPICT;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef union _userHMETAFILE switch(long fContext) u {
af062818b47340eef15700d2f0211576ba3506eevboxsync case WDT_INPROC_CALL: long hInproc;
af062818b47340eef15700d2f0211576ba3506eevboxsync case WDT_REMOTE_CALL: BYTE_BLOB *hRemote;
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync case WDT_INPROC64_CALL: __int64 hInproc64;
af062818b47340eef15700d2f0211576ba3506eevboxsync} userHMETAFILE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef [unique] userHMETAFILE *wireHMETAFILE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct _remoteMETAFILEPICT {
af062818b47340eef15700d2f0211576ba3506eevboxsync long mm;
af062818b47340eef15700d2f0211576ba3506eevboxsync long xExt;
af062818b47340eef15700d2f0211576ba3506eevboxsync long yExt;
af062818b47340eef15700d2f0211576ba3506eevboxsync userHMETAFILE *hMF;
af062818b47340eef15700d2f0211576ba3506eevboxsync} remoteMETAFILEPICT;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef union _userHMETAFILEPICT switch(long fContext) u {
af062818b47340eef15700d2f0211576ba3506eevboxsync case WDT_INPROC_CALL: long hInproc;
af062818b47340eef15700d2f0211576ba3506eevboxsync case WDT_REMOTE_CALL: remoteMETAFILEPICT *hRemote;
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync case WDT_INPROC64_CALL: __int64 hInproc64;
af062818b47340eef15700d2f0211576ba3506eevboxsync} userHMETAFILEPICT;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef [unique] userHMETAFILEPICT *wireHMETAFILEPICT;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct tagRemHENHMETAFILE {
af062818b47340eef15700d2f0211576ba3506eevboxsync unsigned long cbData;
af062818b47340eef15700d2f0211576ba3506eevboxsync [size_is(cbData)] byte data[];
af062818b47340eef15700d2f0211576ba3506eevboxsync} RemHENHMETAFILE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef union _userHENHMETAFILE switch(long fContext) u {
af062818b47340eef15700d2f0211576ba3506eevboxsync case WDT_INPROC_CALL: long hInproc;
af062818b47340eef15700d2f0211576ba3506eevboxsync case WDT_REMOTE_CALL: BYTE_BLOB *hRemote;
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync case WDT_INPROC64_CALL: __int64 hInproc64;
af062818b47340eef15700d2f0211576ba3506eevboxsync} userHENHMETAFILE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef [unique] userHENHMETAFILE *wireHENHMETAFILE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct tagRemHBITMAP
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync unsigned long cbData;
af062818b47340eef15700d2f0211576ba3506eevboxsync [size_is(cbData)] byte data[];
af062818b47340eef15700d2f0211576ba3506eevboxsync} RemHBITMAP;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct _userBITMAP {
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG bmType;
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG bmWidth;
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG bmHeight;
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG bmWidthBytes;
af062818b47340eef15700d2f0211576ba3506eevboxsync WORD bmPlanes;
af062818b47340eef15700d2f0211576ba3506eevboxsync WORD bmBitsPixel;
af062818b47340eef15700d2f0211576ba3506eevboxsync ULONG cbSize;
af062818b47340eef15700d2f0211576ba3506eevboxsync [size_is(cbSize)] byte pBuffer[];
af062818b47340eef15700d2f0211576ba3506eevboxsync} userBITMAP;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef union _userHBITMAP switch(long fContext) u {
af062818b47340eef15700d2f0211576ba3506eevboxsync case WDT_INPROC_CALL: long hInproc;
af062818b47340eef15700d2f0211576ba3506eevboxsync case WDT_REMOTE_CALL: userBITMAP *hRemote;
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync case WDT_INPROC64_CALL: __int64 hInproc64;
af062818b47340eef15700d2f0211576ba3506eevboxsync} userHBITMAP;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef [unique] userHBITMAP *wireHBITMAP;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct tagRemHPALETTE {
af062818b47340eef15700d2f0211576ba3506eevboxsync unsigned long cbData;
af062818b47340eef15700d2f0211576ba3506eevboxsync [size_is(cbData)] byte data[];
af062818b47340eef15700d2f0211576ba3506eevboxsync} RemHPALETTE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct tagrpcLOGPALETTE {
af062818b47340eef15700d2f0211576ba3506eevboxsync WORD palVersion;
af062818b47340eef15700d2f0211576ba3506eevboxsync WORD palNumEntries;
af062818b47340eef15700d2f0211576ba3506eevboxsync [size_is(palNumEntries)] PALETTEENTRY palPalEntry[];
af062818b47340eef15700d2f0211576ba3506eevboxsync} rpcLOGPALETTE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef union _userHPALETTE switch(long fContext) u {
af062818b47340eef15700d2f0211576ba3506eevboxsync case WDT_INPROC_CALL: long hInproc;
af062818b47340eef15700d2f0211576ba3506eevboxsync case WDT_REMOTE_CALL: rpcLOGPALETTE *hRemote;
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync case WDT_INPROC64_CALL: __int64 hInproc64;
af062818b47340eef15700d2f0211576ba3506eevboxsync} userHPALETTE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef [unique] userHPALETTE *wireHPALETTE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#if 0")
af062818b47340eef15700d2f0211576ba3506eevboxsyncDECLARE_WIREM_HANDLE(HGLOBAL);
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef HGLOBAL HLOCAL;
af062818b47340eef15700d2f0211576ba3506eevboxsyncDECLARE_WIREM_HANDLE(HBITMAP);
af062818b47340eef15700d2f0211576ba3506eevboxsyncDECLARE_WIREM_HANDLE(HPALETTE);
af062818b47340eef15700d2f0211576ba3506eevboxsyncDECLARE_WIREM_HANDLE(HENHMETAFILE);
af062818b47340eef15700d2f0211576ba3506eevboxsyncDECLARE_WIREM_HANDLE(HMETAFILE);
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#endif")
af062818b47340eef15700d2f0211576ba3506eevboxsyncDECLARE_WIREM_HANDLE(HMETAFILEPICT);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef union _RemotableHandle switch (long fContext) u
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync case WDT_INPROC_CALL: long hInproc;
af062818b47340eef15700d2f0211576ba3506eevboxsync case WDT_REMOTE_CALL: long hRemote;
af062818b47340eef15700d2f0211576ba3506eevboxsync} RemotableHandle;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef [unique] RemotableHandle *wireHACCEL;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef [unique] RemotableHandle *wireHBRUSH;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef [unique] RemotableHandle *wireHDC;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef [unique] RemotableHandle *wireHFONT;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef [unique] RemotableHandle *wireHICON;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef [unique] RemotableHandle *wireHMENU;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef [unique] RemotableHandle *wireHWND;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#if 0") /* for IDL only (C/C++ defs are in windef.h) */
af062818b47340eef15700d2f0211576ba3506eevboxsyncDECLARE_WIREM_HANDLE(HACCEL);
af062818b47340eef15700d2f0211576ba3506eevboxsyncDECLARE_WIREM_HANDLE(HBRUSH);
af062818b47340eef15700d2f0211576ba3506eevboxsyncDECLARE_WIREM_HANDLE(HDC);
af062818b47340eef15700d2f0211576ba3506eevboxsyncDECLARE_WIREM_HANDLE(HFONT);
af062818b47340eef15700d2f0211576ba3506eevboxsyncDECLARE_WIREM_HANDLE(HICON);
af062818b47340eef15700d2f0211576ba3506eevboxsyncDECLARE_WIREM_HANDLE(HMENU);
af062818b47340eef15700d2f0211576ba3506eevboxsyncDECLARE_WIREM_HANDLE(HWND);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef HICON HCURSOR;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct tagMSG
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync HWND hwnd;
af062818b47340eef15700d2f0211576ba3506eevboxsync UINT message;
af062818b47340eef15700d2f0211576ba3506eevboxsync WPARAM wParam;
af062818b47340eef15700d2f0211576ba3506eevboxsync LPARAM lParam;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD time;
af062818b47340eef15700d2f0211576ba3506eevboxsync POINT pt;
af062818b47340eef15700d2f0211576ba3506eevboxsync} MSG, *PMSG, *NPMSG, *LPMSG;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#endif")
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync/******************** GUID TYPES ********************/
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#if 0") /* for IDL only (C/C++ defs are in guiddef.h) */
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef GUID *REFGUID;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef IID *REFIID;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef CLSID *REFCLSID;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef FMTID *REFFMTID;
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#endif")
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync/******************** MISC TYPES ********************/
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef enum tagDVASPECT {
af062818b47340eef15700d2f0211576ba3506eevboxsync DVASPECT_CONTENT = 1,
af062818b47340eef15700d2f0211576ba3506eevboxsync DVASPECT_THUMBNAIL = 2,
af062818b47340eef15700d2f0211576ba3506eevboxsync DVASPECT_ICON = 4,
af062818b47340eef15700d2f0211576ba3506eevboxsync DVASPECT_DOCPRINT = 8
af062818b47340eef15700d2f0211576ba3506eevboxsync} DVASPECT;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef enum tagSTGC {
af062818b47340eef15700d2f0211576ba3506eevboxsync STGC_DEFAULT = 0,
af062818b47340eef15700d2f0211576ba3506eevboxsync STGC_OVERWRITE = 1,
af062818b47340eef15700d2f0211576ba3506eevboxsync STGC_ONLYIFCURRENT = 2,
af062818b47340eef15700d2f0211576ba3506eevboxsync STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE = 4,
af062818b47340eef15700d2f0211576ba3506eevboxsync STGC_CONSOLIDATE = 8
af062818b47340eef15700d2f0211576ba3506eevboxsync} STGC;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef enum tagSTGMOVE {
af062818b47340eef15700d2f0211576ba3506eevboxsync STGMOVE_MOVE = 0,
af062818b47340eef15700d2f0211576ba3506eevboxsync STGMOVE_COPY = 1,
af062818b47340eef15700d2f0211576ba3506eevboxsync STGMOVE_SHALLOWCOPY = 2
af062818b47340eef15700d2f0211576ba3506eevboxsync} STGMOVE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef enum tagSTATFLAG {
af062818b47340eef15700d2f0211576ba3506eevboxsync STATFLAG_DEFAULT = 0,
af062818b47340eef15700d2f0211576ba3506eevboxsync STATFLAG_NONAME = 1,
af062818b47340eef15700d2f0211576ba3506eevboxsync STATFLAG_NOOPEN = 2
af062818b47340eef15700d2f0211576ba3506eevboxsync} STATFLAG;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync/******************** OLE Automation ********************/
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#ifdef _MSC_VER") /* for IDL and MSVC only */
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef double DATE;
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#else")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("typedef double DECLSPEC_ALIGN(8) DATE;")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#endif")
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#if 0") /* for IDL only */
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct tagCY {
af062818b47340eef15700d2f0211576ba3506eevboxsync LONGLONG int64;
af062818b47340eef15700d2f0211576ba3506eevboxsync} CY;
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#else") /* C/C++ defs */
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#ifndef _tagCY_DEFINED")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define _tagCY_DEFINED")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("typedef union tagCY {")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote(" struct {")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#ifdef WORDS_BIGENDIAN")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote(" LONG Hi;")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote(" ULONG Lo;")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#else")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote(" ULONG Lo;")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote(" LONG Hi;")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#endif")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote(" } DUMMYSTRUCTNAME;")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote(" LONGLONG int64;")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("} CY;")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#endif")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#endif")
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef CY *LPCY;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#if 0") /* for IDL only */
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct tagDEC {
af062818b47340eef15700d2f0211576ba3506eevboxsync USHORT wReserved;
af062818b47340eef15700d2f0211576ba3506eevboxsync BYTE scale;
af062818b47340eef15700d2f0211576ba3506eevboxsync BYTE sign;
af062818b47340eef15700d2f0211576ba3506eevboxsync ULONG Hi32;
af062818b47340eef15700d2f0211576ba3506eevboxsync ULONGLONG Lo64;
af062818b47340eef15700d2f0211576ba3506eevboxsync} DECIMAL;
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#else") /* C/C++ defs */
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("typedef struct tagDEC {")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote(" USHORT wReserved;")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote(" union {")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote(" struct {")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote(" BYTE scale;")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote(" BYTE sign;")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote(" } DUMMYSTRUCTNAME;")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote(" USHORT signscale;")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote(" } DUMMYUNIONNAME;")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote(" ULONG Hi32;")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote(" union {")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote(" struct {")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#ifdef WORDS_BIGENDIAN")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote(" ULONG Mid32;")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote(" ULONG Lo32;")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#else")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote(" ULONG Lo32;")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote(" ULONG Mid32;")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#endif")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote(" } DUMMYSTRUCTNAME1;")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote(" ULONGLONG Lo64;")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote(" } DUMMYUNIONNAME1;")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("} DECIMAL;")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#endif")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define DECIMAL_NEG ((BYTE)0x80)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define DECIMAL_SETZERO(d) do{ memset(((char*)&(d)) + sizeof(USHORT), 0, sizeof(ULONG) * 3u + sizeof(USHORT)); }while (0)")
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef DECIMAL *LPDECIMAL;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef [unique] FLAGGED_WORD_BLOB *wireBSTR;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef [wire_marshal(wireBSTR)] OLECHAR *BSTR;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef BSTR *LPBSTR;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef short VARIANT_BOOL;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef VARIANT_BOOL _VARIANT_BOOL;
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define VARIANT_TRUE ((VARIANT_BOOL)0xFFFF)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define VARIANT_FALSE ((VARIANT_BOOL)0x0000)")
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct tagBSTRBLOB {
af062818b47340eef15700d2f0211576ba3506eevboxsync ULONG cbSize;
af062818b47340eef15700d2f0211576ba3506eevboxsync [size_is(cbSize)] BYTE *pData;
af062818b47340eef15700d2f0211576ba3506eevboxsync} BSTRBLOB, *LPBSTRBLOB;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#ifndef _tagBLOB_DEFINED")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define _tagBLOB_DEFINED")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define _BLOB_DEFINED")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define _LPBLOB_DEFINED")
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct tagBLOB {
af062818b47340eef15700d2f0211576ba3506eevboxsync ULONG cbSize;
af062818b47340eef15700d2f0211576ba3506eevboxsync [size_is(cbSize)] BYTE *pBlobData;
af062818b47340eef15700d2f0211576ba3506eevboxsync} BLOB, *LPBLOB;
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#endif")
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct tagCLIPDATA {
af062818b47340eef15700d2f0211576ba3506eevboxsync ULONG cbSize;
af062818b47340eef15700d2f0211576ba3506eevboxsync long ulClipFmt;
af062818b47340eef15700d2f0211576ba3506eevboxsync [size_is(cbSize-sizeof(long))] BYTE *pClipData;
af062818b47340eef15700d2f0211576ba3506eevboxsync} CLIPDATA;
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define CBPCLIPDATA(cb) ((cb).cbSize - sizeof((cb).ulClipFmt))")
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef ULONG PROPID;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync/******************** VARTYPE ********************/
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef unsigned short VARTYPE;
af062818b47340eef15700d2f0211576ba3506eevboxsyncenum VARENUM {
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_EMPTY = 0,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_NULL = 1,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_I2 = 2,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_I4 = 3,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_R4 = 4,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_R8 = 5,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_CY = 6,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_DATE = 7,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_BSTR = 8,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_DISPATCH = 9,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_ERROR = 10,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_BOOL = 11,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_VARIANT = 12,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_UNKNOWN = 13,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_DECIMAL = 14,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_I1 = 16,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_UI1 = 17,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_UI2 = 18,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_UI4 = 19,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_I8 = 20,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_UI8 = 21,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_INT = 22,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_UINT = 23,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_VOID = 24,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_HRESULT = 25,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_PTR = 26,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_SAFEARRAY = 27,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_CARRAY = 28,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_USERDEFINED = 29,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_LPSTR = 30,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_LPWSTR = 31,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_RECORD = 36,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_INT_PTR = 37,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_UINT_PTR = 38,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_FILETIME = 64,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_BLOB = 65,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_STREAM = 66,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_STORAGE = 67,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_STREAMED_OBJECT = 68,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_STORED_OBJECT = 69,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_BLOB_OBJECT = 70,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_CF = 71,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_CLSID = 72,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_VERSIONED_STREAM= 73,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_BSTR_BLOB = 0x0fff,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_VECTOR = 0x1000,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_ARRAY = 0x2000,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_BYREF = 0x4000,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_RESERVED = 0x8000,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_ILLEGAL = 0xffff,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_ILLEGALMASKED = 0x0fff,
af062818b47340eef15700d2f0211576ba3506eevboxsync VT_TYPEMASK = 0x0fff
af062818b47340eef15700d2f0211576ba3506eevboxsync};
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct tagCSPLATFORM
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwPlatformId;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwVersionHi;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwVersionLo;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwProcessorArch;
af062818b47340eef15700d2f0211576ba3506eevboxsync} CSPLATFORM;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct tagQUERYCONTEXT
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwContext;
af062818b47340eef15700d2f0211576ba3506eevboxsync CSPLATFORM Platform;
af062818b47340eef15700d2f0211576ba3506eevboxsync LCID Locale;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwVersionHi;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwVersionLo;
af062818b47340eef15700d2f0211576ba3506eevboxsync} QUERYCONTEXT;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef [v1_enum] enum tagTYSPEC
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync TYSPEC_CLSID,
af062818b47340eef15700d2f0211576ba3506eevboxsync TYSPEC_FILEEXT,
af062818b47340eef15700d2f0211576ba3506eevboxsync TYSPEC_MIMETYPE,
af062818b47340eef15700d2f0211576ba3506eevboxsync TYSPEC_PROGID,
af062818b47340eef15700d2f0211576ba3506eevboxsync TYSPEC_FILENAME,
af062818b47340eef15700d2f0211576ba3506eevboxsync TYSPEC_PACKAGENAME,
af062818b47340eef15700d2f0211576ba3506eevboxsync TYSPEC_OBJECTID
af062818b47340eef15700d2f0211576ba3506eevboxsync} TYSPEC;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef union switch(DWORD tyspec)
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync case TYSPEC_CLSID:
af062818b47340eef15700d2f0211576ba3506eevboxsync CLSID clsid;
af062818b47340eef15700d2f0211576ba3506eevboxsync case TYSPEC_FILEEXT:
af062818b47340eef15700d2f0211576ba3506eevboxsync LPOLESTR pFileExt;
af062818b47340eef15700d2f0211576ba3506eevboxsync case TYSPEC_MIMETYPE:
af062818b47340eef15700d2f0211576ba3506eevboxsync LPOLESTR pMimeType;
af062818b47340eef15700d2f0211576ba3506eevboxsync case TYSPEC_PROGID:
af062818b47340eef15700d2f0211576ba3506eevboxsync LPOLESTR pProgId;
af062818b47340eef15700d2f0211576ba3506eevboxsync case TYSPEC_FILENAME:
af062818b47340eef15700d2f0211576ba3506eevboxsync LPOLESTR pFileName;
af062818b47340eef15700d2f0211576ba3506eevboxsync case TYSPEC_PACKAGENAME:
af062818b47340eef15700d2f0211576ba3506eevboxsync struct
af062818b47340eef15700d2f0211576ba3506eevboxsync {
af062818b47340eef15700d2f0211576ba3506eevboxsync LPOLESTR pPackageName;
af062818b47340eef15700d2f0211576ba3506eevboxsync GUID PolicyId;
af062818b47340eef15700d2f0211576ba3506eevboxsync } ByName;
af062818b47340eef15700d2f0211576ba3506eevboxsync case TYSPEC_OBJECTID:
af062818b47340eef15700d2f0211576ba3506eevboxsync struct
af062818b47340eef15700d2f0211576ba3506eevboxsync {
af062818b47340eef15700d2f0211576ba3506eevboxsync GUID ObjectId;
af062818b47340eef15700d2f0211576ba3506eevboxsync GUID PolicyId;
af062818b47340eef15700d2f0211576ba3506eevboxsync } ByObjectId;
af062818b47340eef15700d2f0211576ba3506eevboxsync} uCLSSPEC;
af062818b47340eef15700d2f0211576ba3506eevboxsync
5112e32d7072e280613921c982a6672f2c859cf3vboxsynccpp_quote("#ifndef PROPERTYKEY_DEFINED")
5112e32d7072e280613921c982a6672f2c859cf3vboxsynccpp_quote("#define PROPERTYKEY_DEFINED")
5112e32d7072e280613921c982a6672f2c859cf3vboxsynctypedef struct _tagpropertykey
5112e32d7072e280613921c982a6672f2c859cf3vboxsync{
5112e32d7072e280613921c982a6672f2c859cf3vboxsync GUID fmtid;
5112e32d7072e280613921c982a6672f2c859cf3vboxsync DWORD pid;
5112e32d7072e280613921c982a6672f2c859cf3vboxsync} PROPERTYKEY;
5112e32d7072e280613921c982a6672f2c859cf3vboxsynccpp_quote("#endif /*PROPERTYKEY_DEFINED*/")
5112e32d7072e280613921c982a6672f2c859cf3vboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync} /* interface IWinTypes */