| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214 |
- // MyWindows.h
- #ifndef __MYWINDOWS_H
- #define __MYWINDOWS_H
- #ifdef _WIN32
- #include <windows.h>
- #define CHAR_PATH_SEPARATOR '\\'
- #define WCHAR_PATH_SEPARATOR L'\\'
- #define STRING_PATH_SEPARATOR "\\"
- #define WSTRING_PATH_SEPARATOR L"\\"
- #else
- #define CHAR_PATH_SEPARATOR '/'
- #define WCHAR_PATH_SEPARATOR L'/'
- #define STRING_PATH_SEPARATOR "/"
- #define WSTRING_PATH_SEPARATOR L"/"
- #include <stddef.h> // for wchar_t
- #include <string.h>
- #include "MyGuidDef.h"
- typedef char CHAR;
- typedef unsigned char UCHAR;
- #undef BYTE
- typedef unsigned char BYTE;
- typedef short SHORT;
- typedef unsigned short USHORT;
- #undef WORD
- typedef unsigned short WORD;
- typedef short VARIANT_BOOL;
- typedef int INT;
- typedef Int32 INT32;
- typedef unsigned int UINT;
- typedef UInt32 UINT32;
- typedef INT32 LONG; // LONG, ULONG and DWORD must be 32-bit
- typedef UINT32 ULONG;
- #undef DWORD
- typedef UINT32 DWORD;
- typedef Int64 LONGLONG;
- typedef UInt64 ULONGLONG;
- typedef struct LARGE_INTEGER { LONGLONG QuadPart; }LARGE_INTEGER;
- typedef struct _ULARGE_INTEGER { ULONGLONG QuadPart;} ULARGE_INTEGER;
- typedef const CHAR *LPCSTR;
- typedef CHAR TCHAR;
- typedef const TCHAR *LPCTSTR;
- typedef wchar_t WCHAR;
- typedef WCHAR OLECHAR;
- typedef const WCHAR *LPCWSTR;
- typedef OLECHAR *BSTR;
- typedef const OLECHAR *LPCOLESTR;
- typedef OLECHAR *LPOLESTR;
- typedef struct _FILETIME
- {
- DWORD dwLowDateTime;
- DWORD dwHighDateTime;
- }FILETIME;
- #define HRESULT LONG
- #define FAILED(Status) ((HRESULT)(Status)<0)
- typedef ULONG PROPID;
- typedef LONG SCODE;
- #define S_OK ((HRESULT)0x00000000L)
- #define S_FALSE ((HRESULT)0x00000001L)
- #define E_NOTIMPL ((HRESULT)0x80004001L)
- #define E_NOINTERFACE ((HRESULT)0x80004002L)
- #define E_ABORT ((HRESULT)0x80004004L)
- #define E_FAIL ((HRESULT)0x80004005L)
- #define STG_E_INVALIDFUNCTION ((HRESULT)0x80030001L)
- #define E_OUTOFMEMORY ((HRESULT)0x8007000EL)
- #define E_INVALIDARG ((HRESULT)0x80070057L)
- #ifdef _MSC_VER
- #define STDMETHODCALLTYPE __stdcall
- #else
- #define STDMETHODCALLTYPE
- #endif
- #define STDMETHOD_(t, f) virtual t STDMETHODCALLTYPE f
- #define STDMETHOD(f) STDMETHOD_(HRESULT, f)
- #define STDMETHODIMP_(type) type STDMETHODCALLTYPE
- #define STDMETHODIMP STDMETHODIMP_(HRESULT)
- #define PURE = 0
- #define MIDL_INTERFACE(x) struct
- #ifdef __cplusplus
- DEFINE_GUID(IID_IUnknown,
- 0x00000000, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46);
- struct IUnknown
- {
- STDMETHOD(QueryInterface) (REFIID iid, void **outObject) PURE;
- STDMETHOD_(ULONG, AddRef)() PURE;
- STDMETHOD_(ULONG, Release)() PURE;
- #ifndef _WIN32
- virtual ~IUnknown() {}
- #endif
- };
- typedef IUnknown *LPUNKNOWN;
- #endif
- #define VARIANT_TRUE ((VARIANT_BOOL)-1)
- #define VARIANT_FALSE ((VARIANT_BOOL)0)
- enum VARENUM
- {
- VT_EMPTY = 0,
- VT_NULL = 1,
- VT_I2 = 2,
- VT_I4 = 3,
- VT_R4 = 4,
- VT_R8 = 5,
- VT_CY = 6,
- VT_DATE = 7,
- VT_BSTR = 8,
- VT_DISPATCH = 9,
- VT_ERROR = 10,
- VT_BOOL = 11,
- VT_VARIANT = 12,
- VT_UNKNOWN = 13,
- VT_DECIMAL = 14,
- VT_I1 = 16,
- VT_UI1 = 17,
- VT_UI2 = 18,
- VT_UI4 = 19,
- VT_I8 = 20,
- VT_UI8 = 21,
- VT_INT = 22,
- VT_UINT = 23,
- VT_VOID = 24,
- VT_HRESULT = 25,
- VT_FILETIME = 64
- };
- typedef unsigned short VARTYPE;
- typedef WORD PROPVAR_PAD1;
- typedef WORD PROPVAR_PAD2;
- typedef WORD PROPVAR_PAD3;
- #ifdef __cplusplus
- typedef struct tagPROPVARIANT
- {
- VARTYPE vt;
- PROPVAR_PAD1 wReserved1;
- PROPVAR_PAD2 wReserved2;
- PROPVAR_PAD3 wReserved3;
- union
- {
- CHAR cVal;
- UCHAR bVal;
- SHORT iVal;
- USHORT uiVal;
- LONG lVal;
- ULONG ulVal;
- INT intVal;
- UINT uintVal;
- LARGE_INTEGER hVal;
- ULARGE_INTEGER uhVal;
- VARIANT_BOOL boolVal;
- SCODE scode;
- FILETIME filetime;
- BSTR bstrVal;
- };
- } PROPVARIANT;
- typedef PROPVARIANT tagVARIANT;
- typedef tagVARIANT VARIANT;
- typedef VARIANT VARIANTARG;
- MY_EXTERN_C HRESULT VariantClear(VARIANTARG *prop);
- MY_EXTERN_C HRESULT VariantCopy(VARIANTARG *dest, VARIANTARG *src);
- #endif
- MY_EXTERN_C BSTR SysAllocStringByteLen(LPCSTR psz, UINT len);
- MY_EXTERN_C BSTR SysAllocString(const OLECHAR *sz);
- MY_EXTERN_C void SysFreeString(BSTR bstr);
- MY_EXTERN_C UINT SysStringByteLen(BSTR bstr);
- MY_EXTERN_C UINT SysStringLen(BSTR bstr);
- MY_EXTERN_C DWORD GetLastError();
- MY_EXTERN_C LONG CompareFileTime(const FILETIME* ft1, const FILETIME* ft2);
- #define CP_ACP 0
- #define CP_OEMCP 1
- typedef enum tagSTREAM_SEEK
- {
- STREAM_SEEK_SET = 0,
- STREAM_SEEK_CUR = 1,
- STREAM_SEEK_END = 2
- } STREAM_SEEK;
- #endif
- #endif
|