"Fossies" - the Fresh Open Source Software Archive

Member "UXP-2019.06.08/other-licenses/7zstub/src/CPP/Common/MyWindows.h" (8 Jun 2019, 4914 Bytes) of package /linux/www/UXP-2019.06.08.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file.

    1 // MyWindows.h
    2 
    3 #ifndef __MY_WINDOWS_H
    4 #define __MY_WINDOWS_H
    5 
    6 #ifdef _WIN32
    7 
    8 #include <windows.h>
    9 
   10 #ifdef UNDER_CE
   11   #undef VARIANT_TRUE
   12   #define VARIANT_TRUE ((VARIANT_BOOL)-1)
   13 #endif
   14 
   15 #else
   16 
   17 #include <stddef.h> // for wchar_t
   18 #include <string.h>
   19 // #include <stdint.h> // for uintptr_t
   20 
   21 #include "MyGuidDef.h"
   22 
   23 #define WINAPI
   24 
   25 typedef char CHAR;
   26 typedef unsigned char UCHAR;
   27 
   28 #undef BYTE
   29 typedef unsigned char BYTE;
   30 
   31 typedef short SHORT;
   32 typedef unsigned short USHORT;
   33 
   34 #undef WORD
   35 typedef unsigned short WORD;
   36 typedef short VARIANT_BOOL;
   37 
   38 typedef int INT;
   39 typedef Int32 INT32;
   40 typedef unsigned int UINT;
   41 typedef UInt32 UINT32;
   42 typedef INT32 LONG;   // LONG, ULONG and DWORD must be 32-bit
   43 typedef UINT32 ULONG;
   44 
   45 #undef DWORD
   46 typedef UINT32 DWORD;
   47 
   48 typedef long BOOL;
   49 
   50 #ifndef FALSE
   51   #define FALSE 0
   52   #define TRUE 1
   53 #endif
   54 
   55 // typedef size_t ULONG_PTR;
   56 typedef size_t DWORD_PTR;
   57 // typedef uintptr_t UINT_PTR;
   58 // typedef ptrdiff_t UINT_PTR;
   59 
   60 typedef Int64 LONGLONG;
   61 typedef UInt64 ULONGLONG;
   62 
   63 typedef struct _LARGE_INTEGER { LONGLONG QuadPart; } LARGE_INTEGER;
   64 typedef struct _ULARGE_INTEGER { ULONGLONG QuadPart; } ULARGE_INTEGER;
   65 
   66 typedef const CHAR *LPCSTR;
   67 typedef CHAR TCHAR;
   68 typedef const TCHAR *LPCTSTR;
   69 typedef wchar_t WCHAR;
   70 typedef WCHAR OLECHAR;
   71 typedef const WCHAR *LPCWSTR;
   72 typedef OLECHAR *BSTR;
   73 typedef const OLECHAR *LPCOLESTR;
   74 typedef OLECHAR *LPOLESTR;
   75 
   76 typedef struct _FILETIME
   77 {
   78   DWORD dwLowDateTime;
   79   DWORD dwHighDateTime;
   80 } FILETIME;
   81 
   82 #define HRESULT LONG
   83 #define FAILED(Status) ((HRESULT)(Status)<0)
   84 typedef ULONG PROPID;
   85 typedef LONG SCODE;
   86 
   87 #define ERROR_NEGATIVE_SEEK 131L
   88 
   89 #define S_OK    ((HRESULT)0x00000000L)
   90 #define S_FALSE ((HRESULT)0x00000001L)
   91 #define E_NOTIMPL ((HRESULT)0x80004001L)
   92 #define E_NOINTERFACE ((HRESULT)0x80004002L)
   93 #define E_ABORT ((HRESULT)0x80004004L)
   94 #define E_FAIL ((HRESULT)0x80004005L)
   95 #define STG_E_INVALIDFUNCTION ((HRESULT)0x80030001L)
   96 #define E_OUTOFMEMORY ((HRESULT)0x8007000EL)
   97 #define E_INVALIDARG ((HRESULT)0x80070057L)
   98 
   99 #ifdef _MSC_VER
  100 #define STDMETHODCALLTYPE __stdcall
  101 #else
  102 #define STDMETHODCALLTYPE
  103 #endif
  104 
  105 #define STDMETHOD_(t, f) virtual t STDMETHODCALLTYPE f
  106 #define STDMETHOD(f) STDMETHOD_(HRESULT, f)
  107 #define STDMETHODIMP_(type) type STDMETHODCALLTYPE
  108 #define STDMETHODIMP STDMETHODIMP_(HRESULT)
  109 
  110 #define PURE = 0
  111 
  112 #define MIDL_INTERFACE(x) struct
  113 
  114 #ifdef __cplusplus
  115 
  116 DEFINE_GUID(IID_IUnknown,
  117 0x00000000, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46);
  118 struct IUnknown
  119 {
  120   STDMETHOD(QueryInterface) (REFIID iid, void **outObject) PURE;
  121   STDMETHOD_(ULONG, AddRef)() PURE;
  122   STDMETHOD_(ULONG, Release)() PURE;
  123   #ifndef _WIN32
  124   virtual ~IUnknown() {}
  125   #endif
  126 };
  127 
  128 typedef IUnknown *LPUNKNOWN;
  129 
  130 #endif
  131 
  132 #define VARIANT_TRUE ((VARIANT_BOOL)-1)
  133 #define VARIANT_FALSE ((VARIANT_BOOL)0)
  134 
  135 enum VARENUM
  136 {
  137   VT_EMPTY = 0,
  138   VT_NULL = 1,
  139   VT_I2 = 2,
  140   VT_I4 = 3,
  141   VT_R4 = 4,
  142   VT_R8 = 5,
  143   VT_CY = 6,
  144   VT_DATE = 7,
  145   VT_BSTR = 8,
  146   VT_DISPATCH = 9,
  147   VT_ERROR = 10,
  148   VT_BOOL = 11,
  149   VT_VARIANT = 12,
  150   VT_UNKNOWN = 13,
  151   VT_DECIMAL = 14,
  152   VT_I1 = 16,
  153   VT_UI1 = 17,
  154   VT_UI2 = 18,
  155   VT_UI4 = 19,
  156   VT_I8 = 20,
  157   VT_UI8 = 21,
  158   VT_INT = 22,
  159   VT_UINT = 23,
  160   VT_VOID = 24,
  161   VT_HRESULT = 25,
  162   VT_FILETIME = 64
  163 };
  164 
  165 typedef unsigned short VARTYPE;
  166 typedef WORD PROPVAR_PAD1;
  167 typedef WORD PROPVAR_PAD2;
  168 typedef WORD PROPVAR_PAD3;
  169 
  170 typedef struct tagPROPVARIANT
  171 {
  172   VARTYPE vt;
  173   PROPVAR_PAD1 wReserved1;
  174   PROPVAR_PAD2 wReserved2;
  175   PROPVAR_PAD3 wReserved3;
  176   union
  177   {
  178     CHAR cVal;
  179     UCHAR bVal;
  180     SHORT iVal;
  181     USHORT uiVal;
  182     LONG lVal;
  183     ULONG ulVal;
  184     INT intVal;
  185     UINT uintVal;
  186     LARGE_INTEGER hVal;
  187     ULARGE_INTEGER uhVal;
  188     VARIANT_BOOL boolVal;
  189     SCODE scode;
  190     FILETIME filetime;
  191     BSTR bstrVal;
  192   };
  193 } PROPVARIANT;
  194 
  195 typedef PROPVARIANT tagVARIANT;
  196 typedef tagVARIANT VARIANT;
  197 typedef VARIANT VARIANTARG;
  198 
  199 MY_EXTERN_C HRESULT VariantClear(VARIANTARG *prop);
  200 MY_EXTERN_C HRESULT VariantCopy(VARIANTARG *dest, const VARIANTARG *src);
  201 
  202 typedef struct tagSTATPROPSTG
  203 {
  204   LPOLESTR lpwstrName;
  205   PROPID propid;
  206   VARTYPE vt;
  207 } STATPROPSTG;
  208 
  209 MY_EXTERN_C BSTR SysAllocStringByteLen(LPCSTR psz, UINT len);
  210 MY_EXTERN_C BSTR SysAllocStringLen(const OLECHAR *sz, UINT len);
  211 MY_EXTERN_C BSTR SysAllocString(const OLECHAR *sz);
  212 MY_EXTERN_C void SysFreeString(BSTR bstr);
  213 MY_EXTERN_C UINT SysStringByteLen(BSTR bstr);
  214 MY_EXTERN_C UINT SysStringLen(BSTR bstr);
  215 
  216 MY_EXTERN_C DWORD GetLastError();
  217 MY_EXTERN_C LONG CompareFileTime(const FILETIME* ft1, const FILETIME* ft2);
  218 
  219 #define CP_ACP    0
  220 #define CP_OEMCP  1
  221 #define CP_UTF8   65001
  222 
  223 typedef enum tagSTREAM_SEEK
  224 {
  225   STREAM_SEEK_SET = 0,
  226   STREAM_SEEK_CUR = 1,
  227   STREAM_SEEK_END = 2
  228 } STREAM_SEEK;
  229 
  230 #endif
  231 #endif