ReactOS 0.4.16-dev-340-g0540c21
mapival.h File Reference
#include <mapiutil.h>
#include <stddef.h>
#include <stdarg.h>
Include dependency graph for mapival.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define FBadRgPropVal(p, n)   FAILED(ScCountProps((n),(p),NULL))
 
#define FBadPropVal(p)   FBadRgPropVal(1,(p))
 
#define FBadAdrList(p)   FBadRowSet((LPSRowSet)(p))
 
#define BAD_STANDARD_OBJ(a, b, c, d)   FALSE
 
#define FBadUnknown(a)   FALSE
 
#define FBadQueryInterface(a, b, c)   FALSE
 
#define FBadAddRef(a)   FALSE
 
#define FBadRelease(a)   FALSE
 
#define FBadGetLastError(a, b, c, d)   FALSE
 
#define FBadSaveChanges(a, b)   FALSE
 
#define FBadGetProps(a, b, c, d)   FALSE
 
#define FBadGetPropList(a, b)   FALSE
 
#define FBadOpenProperty(a, b, c, d, e, f)   FALSE
 
#define FBadSetProps(a, b, c, d)   FALSE
 
#define FBadDeleteProps(a, b, c)   FALSE
 
#define FBadCopyTo(a, b, c, d, e, f, g, h, i, j)   FALSE
 
#define FBadCopyProps(a, b, c, d, e, f, g, h)   FALSE
 
#define FBadGetNamesFromIDs(a, b, c, d, e, f)   FALSE
 
#define FBadGetIDsFromNames(a, b, c, d, e)   FALSE
 
#define ValidateParms(x)   do { } while(0)
 
#define UlValidateParms(x)   do { } while(0)
 
#define CheckParms(x)   do { } while(0)
 
#define ValidateParameters1(a, b)   do { } while(0)
 
#define ValidateParameters2(a, b, c)   do { } while(0)
 
#define ValidateParameters3(a, b, c, d)   do { } while(0)
 
#define ValidateParameters4(a, b, c, d, e)   do { } while(0)
 
#define ValidateParameters5(a, b, c, d, e, f)   do { } while(0)
 
#define ValidateParameters6(a, b, c, d, e, f, g)   do { } while(0)
 
#define ValidateParameters7(a, b, c, d, e, f, g, h)   do { } while(0)
 
#define ValidateParameters8(a, b, c, d, e, f, g, h, i)   do { } while(0)
 
#define ValidateParameters9(a, b, c, d, e, f, g, h, i, j)   do { } while(0)
 
#define ValidateParameters10(a, b, c, d, e, f, g, h, i, j, k)   do { } while(0)
 
#define ValidateParameters11(a, b, c, d, e, f, g, h, i, j, k, l)   do { } while(0)
 
#define ValidateParameters12(a, b, c, d, e, f, g, h, i, j, k, l, m)   do { } while(0)
 
#define ValidateParameters13(a, b, c, d, e, f, g, h, i, j, k, l, m, n)   do { } while(0)
 
#define ValidateParameters14(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)   do { } while(0)
 
#define ValidateParameters15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p)   do { } while(0)
 
#define ValidateParameters16(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q)   do { } while(0)
 
#define UlValidateParameters1(a, b)   do { } while(0)
 
#define UlValidateParameters2(a, b, c)   do { } while(0)
 
#define UlValidateParameters3(a, b, c, d)   do { } while(0)
 
#define UlValidateParameters4(a, b, c, d, e)   do { } while(0)
 
#define UlValidateParameters5(a, b, c, d, e, f)   do { } while(0)
 
#define UlValidateParameters6(a, b, c, d, e, f, g)   do { } while(0)
 
#define UlValidateParameters7(a, b, c, d, e, f, g, h)   do { } while(0)
 
#define UlValidateParameters8(a, b, c, d, e, f, g, h, i)   do { } while(0)
 
#define UlValidateParameters9(a, b, c, d, e, f, g, h, i, j)   do { } while(0)
 
#define UlValidateParameters10(a, b, c, d, e, f, g, h, i, j, k)   do { } while(0)
 
#define UlValidateParameters11(a, b, c, d, e, f, g, h, i, j, k, l)   do { } while(0)
 
#define UlValidateParameters12(a, b, c, d, e, f, g, h, i, j, k, l, m)   do { } while(0)
 
#define UlValidateParameters13(a, b, c, d, e, f, g, h, i, j, k, l, m, n)   do { } while(0)
 
#define UlValidateParameters14(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)   do { } while(0)
 
#define UlValidateParameters15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p)   do { } while(0)
 
#define UlValidateParameters16(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q)   do { } while(0)
 
#define CheckParameters1(a, b)   do { } while(0)
 
#define CheckParameters2(a, b, c)   do { } while(0)
 
#define CheckParameters3(a, b, c, d)   do { } while(0)
 
#define CheckParameters4(a, b, c, d, e)   do { } while(0)
 
#define CheckParameters5(a, b, c, d, e, f)   do { } while(0)
 
#define CheckParameters6(a, b, c, d, e, f, g)   do { } while(0)
 
#define CheckParameters7(a, b, c, d, e, f, g, h)   do { } while(0)
 
#define CheckParameters8(a, b, c, d, e, f, g, h, i)   do { } while(0)
 
#define CheckParameters9(a, b, c, d, e, f, g, h, i, j)   do { } while(0)
 
#define CheckParameters10(a, b, c, d, e, f, g, h, i, j, k)   do { } while(0)
 
#define CheckParameters11(a, b, c, d, e, f, g, h, i, j, k, l)   do { } while(0)
 
#define CheckParameters12(a, b, c, d, e, f, g, h, i, j, k, l, m)   do { } while(0)
 
#define CheckParameters13(a, b, c, d, e, f, g, h, i, j, k, l, m, n)   do { } while(0)
 
#define CheckParameters14(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)   do { } while(0)
 
#define CheckParameters15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p)   do { } while(0)
 
#define CheckParameters16(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q)   do { } while(0)
 

Functions

BOOL WINAPI FBadRglpszW (LPWSTR *, ULONG)
 
BOOL WINAPI FBadRowSet (LPSRowSet)
 
BOOL WINAPI FBadRglpNameID (LPMAPINAMEID *, ULONG)
 
BOOL WINAPI FBadEntryList (LPENTRYLIST)
 
ULONG WINAPI FBadRestriction (LPSRestriction)
 
ULONG WINAPI FBadPropTag (ULONG)
 
ULONG WINAPI FBadRow (LPSRow)
 
ULONG WINAPI FBadProp (LPSPropValue)
 
ULONG WINAPI FBadSortOrderSet (LPSSortOrderSet)
 
ULONG WINAPI FBadColumnSet (LPSPropTagArray)
 

Macro Definition Documentation

◆ BAD_STANDARD_OBJ

#define BAD_STANDARD_OBJ (   a,
  b,
  c,
  d 
)    FALSE

Definition at line 45 of file mapival.h.

◆ CheckParameters1

#define CheckParameters1 (   a,
  b 
)    do { } while(0)

Definition at line 100 of file mapival.h.

◆ CheckParameters10

#define CheckParameters10 (   a,
  b,
  c,
  d,
  e,
  f,
  g,
  h,
  i,
  j,
  k 
)    do { } while(0)

Definition at line 109 of file mapival.h.

◆ CheckParameters11

#define CheckParameters11 (   a,
  b,
  c,
  d,
  e,
  f,
  g,
  h,
  i,
  j,
  k,
  l 
)    do { } while(0)

Definition at line 110 of file mapival.h.

◆ CheckParameters12

#define CheckParameters12 (   a,
  b,
  c,
  d,
  e,
  f,
  g,
  h,
  i,
  j,
  k,
  l,
  m 
)    do { } while(0)

Definition at line 111 of file mapival.h.

◆ CheckParameters13

#define CheckParameters13 (   a,
  b,
  c,
  d,
  e,
  f,
  g,
  h,
  i,
  j,
  k,
  l,
  m,
  n 
)    do { } while(0)

Definition at line 112 of file mapival.h.

◆ CheckParameters14

#define CheckParameters14 (   a,
  b,
  c,
  d,
  e,
  f,
  g,
  h,
  i,
  j,
  k,
  l,
  m,
  n,
 
)    do { } while(0)

Definition at line 113 of file mapival.h.

◆ CheckParameters15

#define CheckParameters15 (   a,
  b,
  c,
  d,
  e,
  f,
  g,
  h,
  i,
  j,
  k,
  l,
  m,
  n,
  o,
  p 
)    do { } while(0)

Definition at line 114 of file mapival.h.

◆ CheckParameters16

#define CheckParameters16 (   a,
  b,
  c,
  d,
  e,
  f,
  g,
  h,
  i,
  j,
  k,
  l,
  m,
  n,
  o,
  p,
  q 
)    do { } while(0)

Definition at line 115 of file mapival.h.

◆ CheckParameters2

#define CheckParameters2 (   a,
  b,
  c 
)    do { } while(0)

Definition at line 101 of file mapival.h.

◆ CheckParameters3

#define CheckParameters3 (   a,
  b,
  c,
  d 
)    do { } while(0)

Definition at line 102 of file mapival.h.

◆ CheckParameters4

#define CheckParameters4 (   a,
  b,
  c,
  d,
  e 
)    do { } while(0)

Definition at line 103 of file mapival.h.

◆ CheckParameters5

#define CheckParameters5 (   a,
  b,
  c,
  d,
  e,
  f 
)    do { } while(0)

Definition at line 104 of file mapival.h.

◆ CheckParameters6

#define CheckParameters6 (   a,
  b,
  c,
  d,
  e,
  f,
  g 
)    do { } while(0)

Definition at line 105 of file mapival.h.

◆ CheckParameters7

#define CheckParameters7 (   a,
  b,
  c,
  d,
  e,
  f,
  g,
  h 
)    do { } while(0)

Definition at line 106 of file mapival.h.

◆ CheckParameters8

#define CheckParameters8 (   a,
  b,
  c,
  d,
  e,
  f,
  g,
  h,
  i 
)    do { } while(0)

Definition at line 107 of file mapival.h.

◆ CheckParameters9

#define CheckParameters9 (   a,
  b,
  c,
  d,
  e,
  f,
  g,
  h,
  i,
  j 
)    do { } while(0)

Definition at line 108 of file mapival.h.

◆ CheckParms

#define CheckParms (   x)    do { } while(0)

Definition at line 64 of file mapival.h.

◆ FBadAddRef

#define FBadAddRef (   a)    FALSE

Definition at line 48 of file mapival.h.

◆ FBadAdrList

#define FBadAdrList (   p)    FBadRowSet((LPSRowSet)(p))

Definition at line 43 of file mapival.h.

◆ FBadCopyProps

#define FBadCopyProps (   a,
  b,
  c,
  d,
  e,
  f,
  g,
  h 
)    FALSE

Definition at line 58 of file mapival.h.

◆ FBadCopyTo

#define FBadCopyTo (   a,
  b,
  c,
  d,
  e,
  f,
  g,
  h,
  i,
  j 
)    FALSE

Definition at line 57 of file mapival.h.

◆ FBadDeleteProps

#define FBadDeleteProps (   a,
  b,
  c 
)    FALSE

Definition at line 56 of file mapival.h.

◆ FBadGetIDsFromNames

#define FBadGetIDsFromNames (   a,
  b,
  c,
  d,
  e 
)    FALSE

Definition at line 60 of file mapival.h.

◆ FBadGetLastError

#define FBadGetLastError (   a,
  b,
  c,
  d 
)    FALSE

Definition at line 50 of file mapival.h.

◆ FBadGetNamesFromIDs

#define FBadGetNamesFromIDs (   a,
  b,
  c,
  d,
  e,
  f 
)    FALSE

Definition at line 59 of file mapival.h.

◆ FBadGetPropList

#define FBadGetPropList (   a,
  b 
)    FALSE

Definition at line 53 of file mapival.h.

◆ FBadGetProps

#define FBadGetProps (   a,
  b,
  c,
  d 
)    FALSE

Definition at line 52 of file mapival.h.

◆ FBadOpenProperty

#define FBadOpenProperty (   a,
  b,
  c,
  d,
  e,
  f 
)    FALSE

Definition at line 54 of file mapival.h.

◆ FBadPropVal

#define FBadPropVal (   p)    FBadRgPropVal(1,(p))

Definition at line 42 of file mapival.h.

◆ FBadQueryInterface

#define FBadQueryInterface (   a,
  b,
  c 
)    FALSE

Definition at line 47 of file mapival.h.

◆ FBadRelease

#define FBadRelease (   a)    FALSE

Definition at line 49 of file mapival.h.

◆ FBadRgPropVal

#define FBadRgPropVal (   p,
  n 
)    FAILED(ScCountProps((n),(p),NULL))

Definition at line 41 of file mapival.h.

◆ FBadSaveChanges

#define FBadSaveChanges (   a,
  b 
)    FALSE

Definition at line 51 of file mapival.h.

◆ FBadSetProps

#define FBadSetProps (   a,
  b,
  c,
  d 
)    FALSE

Definition at line 55 of file mapival.h.

◆ FBadUnknown

#define FBadUnknown (   a)    FALSE

Definition at line 46 of file mapival.h.

◆ UlValidateParameters1

#define UlValidateParameters1 (   a,
  b 
)    do { } while(0)

Definition at line 83 of file mapival.h.

◆ UlValidateParameters10

#define UlValidateParameters10 (   a,
  b,
  c,
  d,
  e,
  f,
  g,
  h,
  i,
  j,
  k 
)    do { } while(0)

Definition at line 92 of file mapival.h.

◆ UlValidateParameters11

#define UlValidateParameters11 (   a,
  b,
  c,
  d,
  e,
  f,
  g,
  h,
  i,
  j,
  k,
  l 
)    do { } while(0)

Definition at line 93 of file mapival.h.

◆ UlValidateParameters12

#define UlValidateParameters12 (   a,
  b,
  c,
  d,
  e,
  f,
  g,
  h,
  i,
  j,
  k,
  l,
  m 
)    do { } while(0)

Definition at line 94 of file mapival.h.

◆ UlValidateParameters13

#define UlValidateParameters13 (   a,
  b,
  c,
  d,
  e,
  f,
  g,
  h,
  i,
  j,
  k,
  l,
  m,
  n 
)    do { } while(0)

Definition at line 95 of file mapival.h.

◆ UlValidateParameters14

#define UlValidateParameters14 (   a,
  b,
  c,
  d,
  e,
  f,
  g,
  h,
  i,
  j,
  k,
  l,
  m,
  n,
 
)    do { } while(0)

Definition at line 96 of file mapival.h.

◆ UlValidateParameters15

#define UlValidateParameters15 (   a,
  b,
  c,
  d,
  e,
  f,
  g,
  h,
  i,
  j,
  k,
  l,
  m,
  n,
  o,
  p 
)    do { } while(0)

Definition at line 97 of file mapival.h.

◆ UlValidateParameters16

#define UlValidateParameters16 (   a,
  b,
  c,
  d,
  e,
  f,
  g,
  h,
  i,
  j,
  k,
  l,
  m,
  n,
  o,
  p,
  q 
)    do { } while(0)

Definition at line 98 of file mapival.h.

◆ UlValidateParameters2

#define UlValidateParameters2 (   a,
  b,
  c 
)    do { } while(0)

Definition at line 84 of file mapival.h.

◆ UlValidateParameters3

#define UlValidateParameters3 (   a,
  b,
  c,
  d 
)    do { } while(0)

Definition at line 85 of file mapival.h.

◆ UlValidateParameters4

#define UlValidateParameters4 (   a,
  b,
  c,
  d,
  e 
)    do { } while(0)

Definition at line 86 of file mapival.h.

◆ UlValidateParameters5

#define UlValidateParameters5 (   a,
  b,
  c,
  d,
  e,
  f 
)    do { } while(0)

Definition at line 87 of file mapival.h.

◆ UlValidateParameters6

#define UlValidateParameters6 (   a,
  b,
  c,
  d,
  e,
  f,
  g 
)    do { } while(0)

Definition at line 88 of file mapival.h.

◆ UlValidateParameters7

#define UlValidateParameters7 (   a,
  b,
  c,
  d,
  e,
  f,
  g,
  h 
)    do { } while(0)

Definition at line 89 of file mapival.h.

◆ UlValidateParameters8

#define UlValidateParameters8 (   a,
  b,
  c,
  d,
  e,
  f,
  g,
  h,
  i 
)    do { } while(0)

Definition at line 90 of file mapival.h.

◆ UlValidateParameters9

#define UlValidateParameters9 (   a,
  b,
  c,
  d,
  e,
  f,
  g,
  h,
  i,
  j 
)    do { } while(0)

Definition at line 91 of file mapival.h.

◆ UlValidateParms

#define UlValidateParms (   x)    do { } while(0)

Definition at line 63 of file mapival.h.

◆ ValidateParameters1

#define ValidateParameters1 (   a,
  b 
)    do { } while(0)

Definition at line 66 of file mapival.h.

◆ ValidateParameters10

#define ValidateParameters10 (   a,
  b,
  c,
  d,
  e,
  f,
  g,
  h,
  i,
  j,
  k 
)    do { } while(0)

Definition at line 75 of file mapival.h.

◆ ValidateParameters11

#define ValidateParameters11 (   a,
  b,
  c,
  d,
  e,
  f,
  g,
  h,
  i,
  j,
  k,
  l 
)    do { } while(0)

Definition at line 76 of file mapival.h.

◆ ValidateParameters12

#define ValidateParameters12 (   a,
  b,
  c,
  d,
  e,
  f,
  g,
  h,
  i,
  j,
  k,
  l,
  m 
)    do { } while(0)

Definition at line 77 of file mapival.h.

◆ ValidateParameters13

#define ValidateParameters13 (   a,
  b,
  c,
  d,
  e,
  f,
  g,
  h,
  i,
  j,
  k,
  l,
  m,
  n 
)    do { } while(0)

Definition at line 78 of file mapival.h.

◆ ValidateParameters14

#define ValidateParameters14 (   a,
  b,
  c,
  d,
  e,
  f,
  g,
  h,
  i,
  j,
  k,
  l,
  m,
  n,
 
)    do { } while(0)

Definition at line 79 of file mapival.h.

◆ ValidateParameters15

#define ValidateParameters15 (   a,
  b,
  c,
  d,
  e,
  f,
  g,
  h,
  i,
  j,
  k,
  l,
  m,
  n,
  o,
  p 
)    do { } while(0)

Definition at line 80 of file mapival.h.

◆ ValidateParameters16

#define ValidateParameters16 (   a,
  b,
  c,
  d,
  e,
  f,
  g,
  h,
  i,
  j,
  k,
  l,
  m,
  n,
  o,
  p,
  q 
)    do { } while(0)

Definition at line 81 of file mapival.h.

◆ ValidateParameters2

#define ValidateParameters2 (   a,
  b,
  c 
)    do { } while(0)

Definition at line 67 of file mapival.h.

◆ ValidateParameters3

#define ValidateParameters3 (   a,
  b,
  c,
  d 
)    do { } while(0)

Definition at line 68 of file mapival.h.

◆ ValidateParameters4

#define ValidateParameters4 (   a,
  b,
  c,
  d,
  e 
)    do { } while(0)

Definition at line 69 of file mapival.h.

◆ ValidateParameters5

#define ValidateParameters5 (   a,
  b,
  c,
  d,
  e,
  f 
)    do { } while(0)

Definition at line 70 of file mapival.h.

◆ ValidateParameters6

#define ValidateParameters6 (   a,
  b,
  c,
  d,
  e,
  f,
  g 
)    do { } while(0)

Definition at line 71 of file mapival.h.

◆ ValidateParameters7

#define ValidateParameters7 (   a,
  b,
  c,
  d,
  e,
  f,
  g,
  h 
)    do { } while(0)

Definition at line 72 of file mapival.h.

◆ ValidateParameters8

#define ValidateParameters8 (   a,
  b,
  c,
  d,
  e,
  f,
  g,
  h,
  i 
)    do { } while(0)

Definition at line 73 of file mapival.h.

◆ ValidateParameters9

#define ValidateParameters9 (   a,
  b,
  c,
  d,
  e,
  f,
  g,
  h,
  i,
  j 
)    do { } while(0)

Definition at line 74 of file mapival.h.

◆ ValidateParms

#define ValidateParms (   x)    do { } while(0)

Definition at line 62 of file mapival.h.

Function Documentation

◆ FBadColumnSet()

ULONG WINAPI FBadColumnSet ( LPSPropTagArray  lpCols)

Definition at line 1357 of file prop.c.

1358{
1359 ULONG ulRet = FALSE, i;
1360
1361 TRACE("(%p)\n", lpCols);
1362
1363 if (!lpCols || IsBadReadPtr(lpCols, CbSPropTagArray(lpCols)))
1364 ulRet = TRUE;
1365 else
1366 {
1367 for (i = 0; i < lpCols->cValues; i++)
1368 {
1369 if ((lpCols->aulPropTag[i] & PROP_TYPE_MASK) == PT_ERROR ||
1370 FBadPropTag(lpCols->aulPropTag[i]))
1371 {
1372 ulRet = TRUE;
1373 break;
1374 }
1375 }
1376 }
1377 TRACE("Returning %s\n", ulRet ? "TRUE" : "FALSE");
1378 return ulRet;
1379}
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
BOOL WINAPI IsBadReadPtr(IN LPCVOID lp, IN UINT_PTR ucb)
Definition: except.c:805
ULONG WINAPI FBadPropTag(ULONG ulPropTag)
Definition: prop.c:1221
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
#define CbSPropTagArray(p)
Definition: mapidefs.h:275
#define PROP_TYPE_MASK
Definition: mapidefs.h:237
#define PT_ERROR
Definition: mapidefs.h:205
#define TRACE(s)
Definition: solgame.cpp:4
ULONG aulPropTag[MAPI_DIM]
Definition: mapidefs.h:271
ULONG cValues
Definition: mapidefs.h:270
uint32_t ULONG
Definition: typedefs.h:59

◆ FBadEntryList()

BOOL WINAPI FBadEntryList ( LPENTRYLIST  lpEntryList)

Definition at line 796 of file util.c.

797{
798 ULONG i;
799
800 if (IsBadReadPtr(lpEntryList, sizeof(*lpEntryList)) ||
801 IsBadReadPtr(lpEntryList->lpbin,
802 lpEntryList->cValues * sizeof(*lpEntryList->lpbin)))
803 return TRUE;
804
805 for (i = 0; i < lpEntryList->cValues; i++)
806 if(IsBadReadPtr(lpEntryList->lpbin[i].lpb, lpEntryList->lpbin[i].cb))
807 return TRUE;
808
809 return FALSE;
810}
ULONG cValues
Definition: mapidefs.h:296
SBinary * lpbin
Definition: mapidefs.h:297
LPBYTE lpb
Definition: mapidefs.h:290
ULONG cb
Definition: mapidefs.h:289

Referenced by FBadProp().

◆ FBadProp()

ULONG WINAPI FBadProp ( LPSPropValue  lpProp)

Definition at line 1288 of file prop.c.

1289{
1290 if (!lpProp || IsBadReadPtr(lpProp, sizeof(SPropValue)) ||
1291 FBadPropTag(lpProp->ulPropTag))
1292 return TRUE;
1293
1294 switch (PROP_TYPE(lpProp->ulPropTag))
1295 {
1296 /* Single value properties containing pointers */
1297 case PT_STRING8:
1298 if (!lpProp->Value.lpszA || IsBadStringPtrA(lpProp->Value.lpszA, -1))
1299 return TRUE;
1300 break;
1301 case PT_UNICODE:
1302 if (!lpProp->Value.lpszW || IsBadStringPtrW(lpProp->Value.lpszW, -1))
1303 return TRUE;
1304 break;
1305 case PT_BINARY:
1306 if (IsBadReadPtr(lpProp->Value.bin.lpb, lpProp->Value.bin.cb))
1307 return TRUE;
1308 break;
1309 case PT_CLSID:
1310 if (IsBadReadPtr(lpProp->Value.lpguid, sizeof(GUID)))
1311 return TRUE;
1312 break;
1313
1314 /* Multiple value properties (arrays) containing no pointers */
1315 case PT_MV_I2:
1316 return PROP_BadArray(lpProp, sizeof(SHORT));
1317 case PT_MV_LONG:
1318 return PROP_BadArray(lpProp, sizeof(LONG));
1319 case PT_MV_LONGLONG:
1320 return PROP_BadArray(lpProp, sizeof(LONG64));
1321 case PT_MV_FLOAT:
1322 return PROP_BadArray(lpProp, sizeof(float));
1323 case PT_MV_SYSTIME:
1324 return PROP_BadArray(lpProp, sizeof(FILETIME));
1325 case PT_MV_APPTIME:
1326 case PT_MV_DOUBLE:
1327 return PROP_BadArray(lpProp, sizeof(double));
1328 case PT_MV_CURRENCY:
1329 return PROP_BadArray(lpProp, sizeof(CY));
1330 case PT_MV_CLSID:
1331 return PROP_BadArray(lpProp, sizeof(GUID));
1332
1333 /* Multiple value properties containing pointers */
1334 case PT_MV_STRING8:
1335 return FBadRglpszA(lpProp->Value.MVszA.lppszA,
1336 lpProp->Value.MVszA.cValues);
1337 case PT_MV_UNICODE:
1338 return FBadRglpszW(lpProp->Value.MVszW.lppszW,
1339 lpProp->Value.MVszW.cValues);
1340 case PT_MV_BINARY:
1341 return FBadEntryList(&lpProp->Value.MVbin);
1342 }
1343 return FALSE;
1344}
BOOL NTAPI IsBadStringPtrA(IN LPCSTR lpsz, IN UINT_PTR ucchMax)
Definition: except.c:989
BOOL NTAPI IsBadStringPtrW(IN LPCWSTR lpsz, IN UINT_PTR ucchMax)
Definition: except.c:950
static ULONG PROP_BadArray(LPSPropValue lpProp, size_t elemSize)
Definition: prop.c:39
BOOL WINAPI FBadRglpszA(LPSTR *, ULONG)
Definition: prop.c:1138
BOOL WINAPI FBadRglpszW(LPWSTR *lppszStrs, ULONG ulCount)
Definition: prop.c:1163
BOOL WINAPI FBadEntryList(LPENTRYLIST lpEntryList)
Definition: util.c:796
#define PT_MV_LONG
Definition: mapidefs.h:250
#define PT_UNICODE
Definition: mapidefs.h:211
#define PT_STRING8
Definition: mapidefs.h:210
#define PT_MV_SYSTIME
Definition: mapidefs.h:258
#define PT_MV_STRING8
Definition: mapidefs.h:259
#define PT_MV_CURRENCY
Definition: mapidefs.h:256
#define PT_MV_I2
Definition: mapidefs.h:248
#define PT_MV_BINARY
Definition: mapidefs.h:260
#define PT_MV_LONGLONG
Definition: mapidefs.h:264
#define PT_MV_CLSID
Definition: mapidefs.h:262
#define PT_MV_APPTIME
Definition: mapidefs.h:257
#define PT_CLSID
Definition: mapidefs.h:213
#define PT_MV_FLOAT
Definition: mapidefs.h:253
#define PT_MV_DOUBLE
Definition: mapidefs.h:254
#define PROP_TYPE(t)
Definition: mapidefs.h:238
#define PT_BINARY
Definition: mapidefs.h:214
#define PT_MV_UNICODE
Definition: mapidefs.h:261
short SHORT
Definition: pedump.c:59
long LONG
Definition: pedump.c:60
LPSTR * lppszA
Definition: mapidefs.h:348
ULONG cValues
Definition: mapidefs.h:347
ULONG ulPropTag
Definition: mapidefs.h:408
union _PV Value
Definition: mapidefs.h:410
LPWSTR * lppszW
Definition: mapidefs.h:369
ULONG cValues
Definition: mapidefs.h:368
int64_t LONG64
Definition: typedefs.h:68
SLPSTRArray MVszA
Definition: mapidefs.h:397
SWStringArray MVszW
Definition: mapidefs.h:398
LPWSTR lpszW
Definition: mapidefs.h:386
SBinary bin
Definition: mapidefs.h:385
SBinaryArray MVbin
Definition: mapidefs.h:396
LPSTR lpszA
Definition: mapidefs.h:384
LPGUID lpguid
Definition: mapidefs.h:387
Definition: compat.h:2255

Referenced by FBadRow(), FPropCompareProp(), FPropContainsProp(), IPropData_fnSetProps(), PropCopyMore(), and ScCountProps().

◆ FBadPropTag()

ULONG WINAPI FBadPropTag ( ULONG  ulPropTag)

Definition at line 1221 of file prop.c.

1222{
1223 TRACE("(0x%08x)\n", ulPropTag);
1224
1225 switch (ulPropTag & (~MV_FLAG & PROP_TYPE_MASK))
1226 {
1227 case PT_UNSPECIFIED:
1228 case PT_NULL:
1229 case PT_I2:
1230 case PT_LONG:
1231 case PT_R4:
1232 case PT_DOUBLE:
1233 case PT_CURRENCY:
1234 case PT_APPTIME:
1235 case PT_ERROR:
1236 case PT_BOOLEAN:
1237 case PT_OBJECT:
1238 case PT_I8:
1239 case PT_STRING8:
1240 case PT_UNICODE:
1241 case PT_SYSTIME:
1242 case PT_CLSID:
1243 case PT_BINARY:
1244 return FALSE;
1245 }
1246 return TRUE;
1247}
#define PT_CURRENCY
Definition: mapidefs.h:203
#define PT_DOUBLE
Definition: mapidefs.h:201
#define PT_OBJECT
Definition: mapidefs.h:207
#define MV_FLAG
Definition: mapidefs.h:216
#define PT_UNSPECIFIED
Definition: mapidefs.h:193
#define PT_R4
Definition: mapidefs.h:199
#define PT_NULL
Definition: mapidefs.h:194
#define PT_I8
Definition: mapidefs.h:208
#define PT_I2
Definition: mapidefs.h:195
#define PT_SYSTIME
Definition: mapidefs.h:212
#define PT_LONG
Definition: mapidefs.h:197
#define PT_APPTIME
Definition: mapidefs.h:204
#define PT_BOOLEAN
Definition: mapidefs.h:206

Referenced by FBadColumnSet(), FBadProp(), FPropExists(), IPropData_fnDeleteProps(), IPropData_fnHrSetPropAccess(), and PpropFindProp().

◆ FBadRestriction()

ULONG WINAPI FBadRestriction ( LPSRestriction  )

◆ FBadRglpNameID()

BOOL WINAPI FBadRglpNameID ( LPMAPINAMEID ,
ULONG   
)

◆ FBadRglpszW()

BOOL WINAPI FBadRglpszW ( LPWSTR lppszStrs,
ULONG  ulCount 
)

Definition at line 1163 of file prop.c.

1164{
1165 ULONG i;
1166
1167 TRACE("(%p,%d)\n", lppszStrs, ulCount);
1168
1169 if (!ulCount)
1170 return FALSE;
1171
1172 if (!lppszStrs || IsBadReadPtr(lppszStrs, ulCount * sizeof(LPWSTR)))
1173 return TRUE;
1174
1175 for (i = 0; i < ulCount; i++)
1176 {
1177 if (!lppszStrs[i] || IsBadStringPtrW(lppszStrs[i], -1))
1178 return TRUE;
1179 }
1180 return FALSE;
1181}
WCHAR * LPWSTR
Definition: xmlstorage.h:184

Referenced by FBadProp().

◆ FBadRow()

ULONG WINAPI FBadRow ( LPSRow  lpRow)

Definition at line 1260 of file prop.c.

1261{
1262 ULONG i;
1263 TRACE("(%p)\n", lpRow);
1264
1265 if (!lpRow || IsBadReadPtr(lpRow, sizeof(SRow)) || !lpRow->lpProps ||
1266 IsBadReadPtr(lpRow->lpProps, lpRow->cValues * sizeof(SPropValue)))
1267 return TRUE;
1268
1269 for (i = 0; i < lpRow->cValues; i++)
1270 {
1271 if (FBadProp(&lpRow->lpProps[i]))
1272 return TRUE;
1273 }
1274 return FALSE;
1275}
ULONG WINAPI FBadProp(LPSPropValue lpProp)
Definition: prop.c:1288
LPSPropValue lpProps
Definition: mapidefs.h:418
ULONG cValues
Definition: mapidefs.h:417

Referenced by FBadRowSet().

◆ FBadRowSet()

BOOL WINAPI FBadRowSet ( LPSRowSet  lpRowSet)

Definition at line 1194 of file prop.c.

1195{
1196 ULONG i;
1197 TRACE("(%p)\n", lpRowSet);
1198
1199 if (!lpRowSet || IsBadReadPtr(lpRowSet, CbSRowSet(lpRowSet)))
1200 return TRUE;
1201
1202 for (i = 0; i < lpRowSet->cRows; i++)
1203 {
1204 if (FBadRow(&lpRowSet->aRow[i]))
1205 return TRUE;
1206 }
1207 return FALSE;
1208}
ULONG WINAPI FBadRow(LPSRow lpRow)
Definition: prop.c:1260
#define CbSRowSet(p)
Definition: mapidefs.h:429
ULONG cRows
Definition: mapidefs.h:424
SRow aRow[MAPI_DIM]
Definition: mapidefs.h:425

◆ FBadSortOrderSet()

ULONG WINAPI FBadSortOrderSet ( LPSSortOrderSet  )