1 /**
2  * This file has no copyright assigned and is placed in the Public Domain.
3  * This file is part of the mingw-w64 runtime package.
4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5  */
6 #ifndef __MAPIWIN_H__
7 #define __MAPIWIN_H__
8 
9 #include "mapinls.h"
10 
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14 
15 #define MULDIV(x,y,z) MulDiv(x,y,z)
16 
17   extern LPVOID pinstX;
18 #define PvGetInstanceGlobals() pinstX
19 #define ScSetInstanceGlobals(_pv) (pinstX = _pv,0)
20 #define PvGetVerifyInstanceGlobals(_pid) pinstX
21 #define ScSetVerifyInstanceGlobals(_pv,_pid) (pinstX = _pv,0)
22 #define PvSlowGetInstanceGlobals(_pid) pinstX
23 
24 #define szMAPIDLLSuffix "32"
25 
26 #define GetTempFileName32(_szPath,_szPfx,_n,_lpbuf) GetTempFileName(_szPath,_szPfx,_n,_lpbuf)
27 #define CloseMutexHandle CloseHandle
28 #define Cbtszsize(_a) ((lstrlen(_a)+1)*sizeof(TCHAR))
29 #define CbtszsizeA(_a) ((lstrlenA(_a) + 1))
30 #define CbtszsizeW(_a) ((lstrlenW(_a) + 1)*sizeof(WCHAR))
31 #define HexCchOf(_s) (sizeof(_s)*2+1)
32 #define HexSizeOf(_s) (HexCchOf(_s)*sizeof(TCHAR))
33 
34   WINBOOL WINAPI IsBadBoundedStringPtr(const void *lpsz,UINT cchMax);
35 
36 #ifdef __cplusplus
37 }
38 #endif
39 #endif
40