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