Complete disaster-recovery snapshot: engine/game source, game data assets, VC6 toolchain + DX SDKs, build outputs, deployed game, and _UNUSED archive. Large binaries in Git LFS; text preserved byte-for-byte (core.autocrlf=false, no eol attributes). See RECOVERY.md for the one-clone rebuild procedure.
152 lines
5.7 KiB
C++
152 lines
5.7 KiB
C++
/*
|
|
* ansiapi.h
|
|
* This file contains prototypes of ANSI version of OLE apis
|
|
* and mapping fooA to foo
|
|
*/
|
|
#ifndef _ANSIAPI_INCL
|
|
#define _ANSIAPI_INCL
|
|
|
|
#define UNICODEOLE32
|
|
|
|
#ifdef WIN32S
|
|
#if !defined(UNICODEOLE32)
|
|
#pragma message("Compiling for 32bit ANSI Ole!\n");
|
|
#endif
|
|
#endif
|
|
|
|
#define WASANSI() { \
|
|
OutputDebugString("\n\r\t\tUnicode string was ANSI!\r\n"); \
|
|
Assert(0); \
|
|
_asm { int 3 } \
|
|
}
|
|
|
|
|
|
#ifndef UNICODEOLE32
|
|
|
|
#define W2A(w, a, cb) lstrcpy (a, w)
|
|
#define A2W(a, w, cb) lstrcpy (w, a)
|
|
|
|
#define FREELOCALSTRING(p)
|
|
#define MAKE_STR_LOCAL_COPYW2A(s, l) l = s
|
|
#define MAKE_STR_LOCAL_COPYA2W(s, l) l = s
|
|
|
|
#define OLESTRCPY lstrcpy
|
|
#define OLESTRCAT lstrcat
|
|
#define OLESTRLEN lstrlen
|
|
#define OLESTRCMP lstrcmp
|
|
|
|
#define DeleteFile_AW DeleteFile
|
|
#define _lopen_AW _lopen
|
|
#define _lcreat_AW _lcreat
|
|
#define GlobalAddAtom_AW GlobalAddAtom
|
|
#define GlobalGetAtomName_AW GlobalGetAtomName
|
|
#define RegOpenKey_AW RegOpenKey
|
|
|
|
#define CoLoadLibraryA CoLoadLibrary
|
|
|
|
#define StringFromCLSID2A StringFromCLSID2
|
|
#define StringFromIID2A StringFromIID2
|
|
#define StringFromGUID2A StringFromGUID2
|
|
#define CLSIDFromProgIDA CLSIDFromProgID
|
|
#define CLSIDFromStringA CLSIDFromString
|
|
#define ProgIDFromCLSIDA ProgIDFromCLSID
|
|
#define StringFromCLSIDA StringFromCLSID
|
|
|
|
#define UtDupStringA2W UtDupString
|
|
|
|
// Storage APIs
|
|
#define StgOpenStorageA StgOpenStorage
|
|
|
|
// IPersistFile ansi translation
|
|
|
|
#define IPersistFile_LoadA(pf, file, mode) (pf)->Load(file, mode)
|
|
|
|
// IMoniker ansi translation
|
|
|
|
#define IMoniker_GetDisplayNameA(pm, p1, p2, p3) (pm)->GetDisplayName(p1,p2,p3)
|
|
|
|
#define CreateFileMonikerA CreateFileMoniker
|
|
|
|
#else // UNICODEOLE32
|
|
|
|
#define W2A(w, a, cb) WideCharToMultiByte( \
|
|
CP_ACP, \
|
|
0, \
|
|
w, \
|
|
-1, \
|
|
a, \
|
|
cb, \
|
|
NULL, \
|
|
NULL)
|
|
|
|
#define A2W(a, w, cb) MultiByteToWideChar( \
|
|
CP_ACP, \
|
|
0, \
|
|
a, \
|
|
-1, \
|
|
w, \
|
|
cb)
|
|
|
|
|
|
#define FREELOCALSTRING(p) delete (p)
|
|
#define MAKE_STR_LOCAL_COPYW2A(s, l) { \
|
|
l = UtDupStringW2A(s); \
|
|
if (!l) { \
|
|
return ResultFromScode(S_OOM); \
|
|
} \
|
|
}
|
|
|
|
#define MAKE_STR_LOCAL_COPYA2W(s, l) { \
|
|
l = UtDupStringA2W(s); \
|
|
if (!l) { \
|
|
return ResultFromScode(S_OOM); \
|
|
} \
|
|
}
|
|
|
|
#define OLESTRCPY wcscpy
|
|
#define OLESTRCAT wcscat
|
|
#define OLESTRLEN wcslen
|
|
#define OLESTRCMP wcscmp
|
|
|
|
#define DeleteFile_AW DeleteFileW
|
|
#define _lopen_AW _lopenW
|
|
#define _lcreat_AW _lcreatW
|
|
#define GlobalAddAtom_AW GlobalAddAtomW
|
|
#define GlobalGetAtomName_AW GlobalGetAtomNameW
|
|
#define RegOpenKey_AW RegOpenKeyW
|
|
|
|
//STDAPI_(HINSTANCE) CoLoadLibraryA(LPSTR lpszLibName, BOOL bAutoFree);
|
|
|
|
#define StringFromCLSID2A(rclsid, lpsz, cbMax) \
|
|
StringFromGUID2A(rclsid, lpsz, cbMax)
|
|
|
|
#define StringFromIID2A(riid, lpsz, cbMax) \
|
|
StringFromGUID2A(riid, lpsz, cbMax)
|
|
|
|
|
|
//STDAPI_(int) StringFromGUID2A(REFGUID rguid, LPSTR lpsz, int cbMax);
|
|
//STDAPI CLSIDFromProgIDA(LPCSTR szProgID, LPCLSID pclsid);
|
|
//STDAPI CLSIDFromStringA(LPSTR lpsz, LPCLSID lpclsid);
|
|
//STDAPI StringFromCLSIDA(REFCLSID rclsid, LPSTR FAR* lplpsz);
|
|
//STDAPI ProgIDFromCLSIDA (REFCLSID clsid, LPSTR FAR* lplpszProgID);
|
|
|
|
//LPWSTR UtDupStringA2W(LPCSTR pSrc);
|
|
//LPSTR UtDupStringW2A(LPCWSTR pSrc);
|
|
|
|
// Storage APIs
|
|
//STDAPI StgOpenStorageA(LPCSTR pwcsName,IStorage FAR *pstgPriority, DWORD grfMode, SNB snbExclude, DWORD reserved, IStorage FAR * FAR *ppstgOpen);
|
|
|
|
// IPersistFile ansi translation
|
|
|
|
//HRESULT IPersistFile_LoadA(LPPERSISTFILE pIPF, LPSTR szFile, DWORD dwMode);
|
|
|
|
// IMoniker ansi translation
|
|
|
|
//HRESULT IMoniker_GetDisplayNameA(LPMONIKER pm, LPBC p1, LPMONIKER p2, LPSTR FAR *p3);
|
|
|
|
//OLEAPI CreateFileMonikerA ( LPSTR lpszPathName, LPMONIKER FAR * ppmk );
|
|
|
|
#endif // !UNICODEOLE32
|
|
|
|
#endif // _ANSIAPI_INCL
|