92 return pMAPIAllocateBuffer && pMAPIAllocateMore && pMAPIFreeBuffer &&
93 pScInitMapiUtil && pDeinitMapiUtil;
104 static char szHiA[] =
"Hi!";
105 static WCHAR szHiW[] =
L"Hi!";
112 win_skip(
"PropCopyMore is not available\n");
116 scode = pMAPIAllocateBuffer(
sizeof(
SPropValue), &lpDest);
117 ok(scode ==
S_OK,
"Expected MAPIAllocateBuffer to return S_OK, got 0x%lx\n", scode);
120 skip(
"MAPIAllocateBuffer failed\n");
124 scode = pMAPIAllocateMore(
sizeof(
SPropValue), lpDest, &lpSrc);
125 ok(scode ==
S_OK,
"Expected MAPIAllocateMore to return S_OK, got 0x%lx\n", scode);
128 skip(
"MAPIAllocateMore failed\n");
139 lpSrc->Value.lpszA = szHiA;
142 lpSrc->Value.lpszW = szHiW;
145 lpSrc->Value.bin.cb = 4;
146 lpSrc->Value.bin.lpb = (
LPBYTE)szHiA;
152 scode = pPropCopyMore(lpDest, lpSrc, (ALLOCATEMORE*)pMAPIAllocateMore, lpDest);
153 ok(!scode && lpDest->
ulPropTag == lpSrc->ulPropTag,
154 "PropCopyMore: Expected 0x0,%ld, got 0x%08lx,%ld\n",
155 lpSrc->ulPropTag, scode, lpDest->
ulPropTag);
162 "PropCopyMore: Ascii string differs\n");
166 "PropCopyMore: Unicode string differs\n");
171 "PropCopyMore: Binary array differs\n");
178 scode = pMAPIFreeBuffer(lpDest);
179 ok(scode ==
S_OK,
"Expected MAPIFreeBuffer to return S_OK, got 0x%lx\n", scode);
184 static char szHiA[] =
"Hi!";
185 static WCHAR szHiW[] =
L"Hi!";
193 win_skip(
"UlPropSize is not available\n");
201 memset(&pv, 0 ,
sizeof(pv));
271 res = pUlPropSize(&pv);
273 "pt= %ld: Expected %ld, got %ld\n",
pt,
exp,
res);
279 static char szFull[] =
"Full String";
280 static char szFullLower[] =
"full string";
281 static char szPrefix[] =
"Full";
282 static char szPrefixLower[] =
"full";
283 static char szSubstring[] =
"ll St";
284 static char szSubstringLower[] =
"ll st";
289 if (!pFPropContainsProp)
291 win_skip(
"FPropContainsProp is not available\n");
301 memset(&pvLeft, 0 ,
sizeof(pvLeft));
302 memset(&pvRight, 0 ,
sizeof(pvRight));
306 ok(bRet ==
FALSE,
"pt= %ld: Expected FALSE, got %d\n",
pt, bRet);
315 ok(bRet ==
TRUE,
"(full,full)[] match failed\n");
318 ok(bRet ==
FALSE,
"(full,prefix)[] match failed\n");
319 bRet = pFPropContainsProp(&pvLeft, &pvRight,
FL_PREFIX);
320 ok(bRet ==
TRUE,
"(full,prefix)[PREFIX] match failed\n");
321 bRet = pFPropContainsProp(&pvLeft, &pvRight,
FL_SUBSTRING);
322 ok(bRet ==
TRUE,
"(full,prefix)[SUBSTRING] match failed\n");
324 bRet = pFPropContainsProp(&pvLeft, &pvRight,
FL_PREFIX);
325 ok(bRet ==
FALSE,
"(full,prefixlow)[PREFIX] match failed\n");
326 bRet = pFPropContainsProp(&pvLeft, &pvRight,
FL_SUBSTRING);
327 ok(bRet ==
FALSE,
"(full,prefixlow)[SUBSTRING] match failed\n");
329 ok(bRet ==
TRUE,
"(full,prefixlow)[PREFIX|IGNORECASE] match failed\n");
331 ok(bRet ==
TRUE,
"(full,prefixlow)[SUBSTRING|IGNORECASE] match failed\n");
334 ok(bRet ==
FALSE,
"(full,substr)[] match failed\n");
335 bRet = pFPropContainsProp(&pvLeft, &pvRight,
FL_PREFIX);
336 ok(bRet ==
FALSE,
"(full,substr)[PREFIX] match failed\n");
337 bRet = pFPropContainsProp(&pvLeft, &pvRight,
FL_SUBSTRING);
338 ok(bRet ==
TRUE,
"(full,substr)[SUBSTRING] match failed\n");
340 bRet = pFPropContainsProp(&pvLeft, &pvRight,
FL_PREFIX);
341 ok(bRet ==
FALSE,
"(full,substrlow)[PREFIX] match failed\n");
342 bRet = pFPropContainsProp(&pvLeft, &pvRight,
FL_SUBSTRING);
343 ok(bRet ==
FALSE,
"(full,substrlow)[SUBSTRING] match failed\n");
345 ok(bRet ==
FALSE,
"(full,substrlow)[PREFIX|IGNORECASE] match failed\n");
347 ok(bRet ==
TRUE,
"(full,substrlow)[SUBSTRING|IGNORECASE] match failed\n");
350 ok(bRet ==
TRUE,
"(full,fulllow)[IGNORECASE] match failed\n");
358 ok(bRet ==
TRUE,
"bin(full,full)[] match failed\n");
362 ok(bRet ==
FALSE,
"bin(full,prefix)[] match failed\n");
363 bRet = pFPropContainsProp(&pvLeft, &pvRight,
FL_PREFIX);
364 ok(bRet ==
TRUE,
"bin(full,prefix)[PREFIX] match failed\n");
365 bRet = pFPropContainsProp(&pvLeft, &pvRight,
FL_SUBSTRING);
366 ok(bRet ==
TRUE,
"bin(full,prefix)[SUBSTRING] match failed\n");
369 bRet = pFPropContainsProp(&pvLeft, &pvRight,
FL_PREFIX);
370 ok(bRet ==
FALSE,
"bin(full,prefixlow)[PREFIX] match failed\n");
371 bRet = pFPropContainsProp(&pvLeft, &pvRight,
FL_SUBSTRING);
372 ok(bRet ==
FALSE,
"bin(full,prefixlow)[SUBSTRING] match failed\n");
374 ok(bRet ==
FALSE,
"bin(full,prefixlow)[PREFIX|IGNORECASE] match failed\n");
376 ok(bRet ==
FALSE,
"bin(full,prefixlow)[SUBSTRING|IGNORECASE] match failed\n");
380 ok(bRet ==
FALSE,
"bin(full,substr)[] match failed\n");
381 bRet = pFPropContainsProp(&pvLeft, &pvRight,
FL_PREFIX);
382 ok(bRet ==
FALSE,
"bin(full,substr)[PREFIX] match failed\n");
383 bRet = pFPropContainsProp(&pvLeft, &pvRight,
FL_SUBSTRING);
384 ok(bRet ==
TRUE,
"bin(full,substr)[SUBSTRING] match failed\n");
387 bRet = pFPropContainsProp(&pvLeft, &pvRight,
FL_PREFIX);
388 ok(bRet ==
FALSE,
"bin(full,substrlow)[PREFIX] match failed\n");
389 bRet = pFPropContainsProp(&pvLeft, &pvRight,
FL_SUBSTRING);
390 ok(bRet ==
FALSE,
"bin(full,substrlow)[SUBSTRING] match failed\n");
392 ok(bRet ==
FALSE,
"bin(full,substrlow)[PREFIX|IGNORECASE] match failed\n");
394 ok(bRet ==
FALSE,
"bin(full,substrlow)[SUBSTRING|IGNORECASE] match failed\n");
398 ok(bRet ==
FALSE,
"bin(full,fulllow)[IGNORECASE] match failed\n");
428static const char *
relops[] = {
"RELOP_LT",
"RELOP_LE",
"RELOP_GT",
"RELOP_GE",
"RELOP_EQ" };
434 char lbuffa[2], rbuffa[2];
435 WCHAR lbuffw[2], rbuffw[2];
439 if (!pFPropCompareProp)
441 win_skip(
"FPropCompareProp is not available\n");
510 lguid.Data4[7] = lVal;
511 rguid.Data4[7] = rVal;
518 lbuffa[0] =
'0' + lVal;
519 rbuffa[0] =
'0' + rVal;
524 lbuffw[0] =
'0' + lVal;
525 rbuffw[0] =
'0' + rVal;
539 "pt %ld (%d,%d,%s): expected %d, got %d\n",
ptTypes[
i],
564 char lbuffa[2], rbuffa[2];
565 WCHAR lbuffw[2], rbuffw[2];
569 if (!pLPropCompareProp)
571 win_skip(
"LPropCompareProp is not available\n");
635 lguid.Data4[7] = lVal;
636 rguid.Data4[7] = rVal;
643 lbuffa[0] =
'0' + lVal;
644 rbuffa[0] =
'0' + rVal;
649 lbuffw[0] =
'0' + lVal;
650 rbuffw[0] =
'0' + rVal;
662 iRet = pLPropCompareProp(&pvLeft, &pvRight);
664 "pt %ld (%d,%d): expected %d, got %d\n",
ptTypes[
i],
677 win_skip(
"PpropFindProp is not available\n");
685 pRet = pPpropFindProp(&pvProp, 1u,
ptTypes[
i]);
687 "PpropFindProp[%ld]: Didn't find existing property\n",
691 ok(pRet ==
NULL,
"PpropFindProp[%ld]: Found nonexistent property\n",
697 ok(pRet ==
NULL,
"PpropFindProp[UNSPECIFIED]: Matched on different id\n");
699 ok(pRet == &pvProp,
"PpropFindProp[UNSPECIFIED]: Didn't match id\n");
704 static char szHiA[] =
"Hi!";
705 static WCHAR szHiW[] =
L"Hi!";
706 static const ULONG ULHILEN = 4;
710 GUID iids[4], *iid = iids;
717 win_skip(
"ScCountProps is not available\n");
725 memset(&pv, 0 ,
sizeof(pv));
745 exp =
sizeof(
GUID) +
sizeof(pv);
749 exp = 4 +
sizeof(pv);
753 exp = 4 *
sizeof(
WCHAR) +
sizeof(pv);
758 exp = 2 +
sizeof(pv);
763 exp = 3 *
sizeof(
SHORT) +
sizeof(pv);
768 exp = 3 *
sizeof(
LONG) +
sizeof(pv);
778 exp = 3 *
sizeof(
float) +
sizeof(pv);
789 exp = 3 *
sizeof(
CY) +
sizeof(pv);
794 exp = 3 *
sizeof(
CY) +
sizeof(pv);
802 exp = ULHILEN * 3 + 3 *
sizeof(
char*) +
sizeof(pv);
810 exp = ULHILEN * 3 *
sizeof(
WCHAR) + 3 *
sizeof(
WCHAR*) +
sizeof(pv);
828 res = pScCountProps(1, &pv, &ulRet);
831 ok(
success,
"pt= %ld: Expected failure, got %ld, ret=0x%08lX\n",
836 ok(
success,
"pt= %ld: Expected %ld, got %ld, ret=0x%08lX\n",
845 static char szTestA[] =
"Test";
846 char buffer[512], buffer2[512], *lppszA[1];
851 if (!pScCopyProps || !pScRelocProps)
853 win_skip(
"SPropValue copy functions are not available\n");
864 sc = pScCopyProps(1, &pvProp,
buffer, &ulCount);
865 ok(sc ==
S_OK,
"wrong ret %ld\n", sc);
872 ok(ulCount ==
sizeof(
SPropValue) +
sizeof(
char*) + 5,
"wrong count %ld\n", ulCount);
889 ok(sc ==
S_OK,
"wrong ret %ld\n", sc);
901 "wrong count %ld\n", ulCount);
916 win_skip(
"LpValFindProp is not available\n");
926 "LpValFindProp[%ld]: Didn't find existing property id/type\n",
930 ok(pRet ==
NULL,
"LpValFindProp[%ld]: Found nonexistent property id\n",
934 ok(pRet ==
NULL,
"LpValFindProp[%ld]: Found nonexistent property id/type\n",
939 "LpValFindProp[%ld]: Didn't find existing property id\n",
947 static CHAR szString[] =
"A String";
952 win_skip(
"FBadRglpszA is not available\n");
956 bRet = pFBadRglpszA(
NULL, 10);
957 ok(bRet ==
TRUE,
"FBadRglpszA(Null): expected TRUE, got FALSE\n");
959 lpStrs[0] = lpStrs[1] = lpStrs[2] = lpStrs[3] =
NULL;
960 bRet = pFBadRglpszA(lpStrs, 4);
961 ok(bRet ==
TRUE,
"FBadRglpszA(Nulls): expected TRUE, got FALSE\n");
963 lpStrs[0] = lpStrs[1] = lpStrs[2] = szString;
964 bRet = pFBadRglpszA(lpStrs, 3);
965 ok(bRet ==
FALSE,
"FBadRglpszA(valid): expected FALSE, got TRUE\n");
967 bRet = pFBadRglpszA(lpStrs, 4);
968 ok(bRet ==
TRUE,
"FBadRglpszA(1 invalid): expected TRUE, got FALSE\n");
974 static WCHAR szString[] =
L"A String";
979 win_skip(
"FBadRglpszW is not available\n");
983 bRet = pFBadRglpszW(
NULL, 10);
984 ok(bRet ==
TRUE,
"FBadRglpszW(Null): expected TRUE, got FALSE\n");
986 lpStrs[0] = lpStrs[1] = lpStrs[2] = lpStrs[3] =
NULL;
987 bRet = pFBadRglpszW(lpStrs, 4);
988 ok(bRet ==
TRUE,
"FBadRglpszW(Nulls): expected TRUE, got FALSE\n");
990 lpStrs[0] = lpStrs[1] = lpStrs[2] = szString;
991 bRet = pFBadRglpszW(lpStrs, 3);
992 ok(bRet ==
FALSE,
"FBadRglpszW(valid): expected FALSE, got TRUE\n");
994 bRet = pFBadRglpszW(lpStrs, 4);
995 ok(bRet ==
TRUE,
"FBadRglpszW(1 invalid): expected TRUE, got FALSE\n");
1004 win_skip(
"FBadRowSet is not available\n");
1008 ulRet = pFBadRowSet(
NULL);
1009 ok(ulRet != 0,
"FBadRow(null): Expected non-zero, got 0\n");
1020 win_skip(
"FBadPropTag is not available\n");
1039 res = pFBadPropTag(
pt);
1041 ok(
res != 0,
"pt= %ld: Expected non-zero, got 0\n",
pt);
1044 "pt= %ld: Expected zero, got %ld\n",
pt,
res);
1054 win_skip(
"FBadRow is not available\n");
1058 ulRet = pFBadRow(
NULL);
1059 ok(ulRet != 0,
"FBadRow(null): Expected non-zero, got 0\n");
1073 win_skip(
"FBadProp is not available\n");
1081 memset(&pv, 0,
sizeof(pv));
1133 res = pFBadProp(&pv);
1135 ok(
res != 0,
"pt= %ld: Expected non-zero, got 0\n",
pt);
1138 "pt= %ld: Expected zero, got %ld\n",
pt,
res);
1147 if (!pFBadColumnSet)
1149 win_skip(
"FBadColumnSet is not available\n");
1154 ok(
res != 0,
"(null): Expected non-zero, got 0\n");
1187 res = pFBadColumnSet(&pta);
1189 ok(
res != 0,
"pt= %ld: Expected non-zero, got 0\n",
pt);
1192 "pt= %ld: Expected zero, got %ld\n",
pt,
res);
1211 win_skip(
"CreateIProp is not available\n");
1219 sc = pCreateIProp(&IID_IMAPIPropData, (ALLOCATEBUFFER *)pMAPIAllocateBuffer, (ALLOCATEMORE*)pMAPIAllocateMore,
1220 (FREEBUFFER *)pMAPIFreeBuffer,
NULL, &lpIProp);
1221 ok(sc ==
S_OK && lpIProp,
1222 "CreateIProp: expected S_OK, non-null, got 0x%08lX,%p\n", sc, lpIProp);
1224 if (sc !=
S_OK || !lpIProp)
1230 ok(sc ==
S_OK && !lpError,
1231 "GetLastError: Expected S_OK, null, got 0x%08lX,%p\n", sc, lpError);
1237 "GetPropList(empty): Expected S_OK, non-null, 0, got 0x%08lX,%p,%ld\n",
1238 sc, lpTags, lpTags ? lpTags->
cValues : 0);
1240 pMAPIFreeBuffer(lpTags);
1249 "GetProps(empty): Expected ERRORS_RETURNED, non-null, 1, got 0x%08lX,%p,%ld\n",
1250 sc, lpProps,
count);
1251 if (lpProps &&
count > 0)
1254 "GetProps(empty): Expected %x, got %lx\n",
1257 pMAPIFreeBuffer(lpProps);
1265 "SetProps(): Expected INVALID_PARAMETER, null, got 0x%08lX,%p\n",
1273 "SetProps(OBJECT): Expected INVALID_PARAMETER, null, got 0x%08lX,%p\n",
1280 ok(sc ==
S_OK && !lpProbs,
1281 "SetProps(ERROR): Expected S_OK, null, got 0x%08lX,%p\n", sc, lpProbs);
1287 "GetPropList: Expected S_OK, non-null, 1, got 0x%08lX,%p,%ld\n",
1288 sc, lpTags, lpTags ? lpTags->
cValues : 0);
1289 if (lpTags && lpTags->
cValues > 0)
1292 "GetPropList: Expected %x, got %lx\n",
1294 pMAPIFreeBuffer(lpTags);
1299 ok(sc ==
S_OK,
"SetObjAccess(WRITE): Expected S_OK got 0x%08lX\n", sc);
1308 "SetPropAccess(0): Expected INVALID_PARAMETER got 0x%08lX\n",sc);
1312 "SetPropAccess(RW): Expected INVALID_PARAMETER got 0x%08lX\n",sc);
1316 "SetPropAccess(C): Expected INVALID_PARAMETER got 0x%08lX\n",sc);
1323 ok(sc ==
S_OK,
"SetPropAccess(RW/C): Expected S_OK got 0x%08lX\n",sc);
1327 ok(sc ==
S_OK,
"SetObjAccess(READ): Expected S_OK got 0x%08lX\n", sc);
1332 ok(sc ==
S_OK,
"SetPropAccess(WRITE): Expected S_OK got 0x%08lX\n", sc);
1339 "DeleteProps(nonexistent): Expected E_ACCESSDENIED null got 0x%08lX %p\n",
1344 ok(sc ==
S_OK,
"SetObjAccess(WRITE): Expected S_OK got 0x%08lX\n", sc);
1350 ok(sc ==
S_OK && !lpProbs,
1351 "DeleteProps(nonexistent): Expected S_OK null got 0x%08lX %p\n",
1358 ok(sc ==
S_OK && lpProbs,
1359 "DeleteProps(RO): Expected S_OK non-null got 0x%08lX %p\n", sc, lpProbs);
1361 if (lpProbs && lpProbs->
cProblem > 0)
1367 "DeleteProps(RO): Expected (1,0,%x,%lx) got (%ld,%lx,%lx)\n",
1371 pMAPIFreeBuffer(lpProbs);
1378 ok(sc ==
S_OK && !lpProbs,
1379 "AddObjProps(RO): Expected S_OK null got 0x%08lX %p\n", sc, lpProbs);
1385 "GetPropList: Expected S_OK, non-null, 1, got 0x%08lX,%p,%ld\n",
1386 sc, lpTags, lpTags ? lpTags->
cValues : 0);
1387 if (lpTags && lpTags->
cValues > 0)
1390 "GetPropList: Expected %x, got %lx\n",
1392 pMAPIFreeBuffer(lpTags);
1398 ok(sc ==
S_OK,
"SetPropAccess(WRITE): Expected S_OK got 0x%08lX\n", sc);
1403 ok(sc ==
S_OK && !lpProbs,
1404 "DeleteProps(RO): Expected S_OK null got 0x%08lX %p\n", sc, lpProbs);
1416 win_skip(
"No default mail client installed\n");
1422 win_skip(
"Needed functions are not available\n");
1427 ret = pScInitMapiUtil(0);
1430 win_skip(
"ScInitMapiUtil is not implemented\n");
1436 win_skip(
"ScInitMapiUtil doesn't work on some Win98 and WinME systems\n");
1448 if (pMAPIInitialize)
1451 if (pMAPIUninitialize &&
ret ==
S_OK)
1452 pMAPIUninitialize();
#define GetProcAddress(x, y)
#define ERROR_INVALID_HANDLE
static const WCHAR szEmpty[]
HINSTANCE WINAPI DECLSPEC_HOTPATCH LoadLibraryA(LPCSTR lpLibFileName)
int WINAPI lstrcmpA(LPCSTR str1, LPCSTR str2)
_ACRTIMP int __cdecl wcscmp(const wchar_t *, const wchar_t *)
_ACRTIMP int __cdecl memcmp(const void *, const void *, size_t)
_ACRTIMP size_t __cdecl strlen(const char *)
_ACRTIMP int __cdecl strcmp(const char *, const char *)
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
GLuint GLuint GLsizei count
GLuint GLint GLboolean GLint GLenum access
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
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 * u
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 GLint GLint j
static BOOL HaveDefaultMailClient(void)
#define MAPI_E_INVALID_PARAMETER
#define MAPI_W_ERRORS_RETURNED
struct _SPropTagArray * LPSPropTagArray
#define SizedSPropTagArray(n, id)
struct _FILETIME FILETIME
struct _SPropValue * LPSPropValue
#define CHANGE_PROP_TYPE(t, typ)
struct _SRowSet * LPSRowSet
#define IPropData_GetLastError(p, a, b, c)
#define IPropData_HrSetPropAccess(p, a, b)
#define IPropData_GetPropList(p, a, b)
#define IPropData_HrAddObjProps(p, a, b)
#define IPropData_HrSetObjAccess(p, a)
#define IPropData_SetProps(p, a, b, c)
struct IPropData * LPPROPDATA
#define IPropData_GetProps(p, a, b, c, d)
#define IPropData_DeleteProps(p, a, b)
#define IPropData_Release(p)
#define memcpy(s1, s2, n)
static const char * relops[]
static void test_PpropFindProp(void)
static void test_FBadRow(void)
static void test_FBadPropTag(void)
static void test_FBadProp(void)
static void test_FBadColumnSet(void)
struct tagLPropCompareProp_Result LPropCompareProp_Result
static void test_IProp(void)
static void test_PropCopyMore(void)
static const FPropCompareProp_Result FPCProp_Results[]
static void test_FBadRglpszW(void)
static void test_ScCountProps(void)
static void test_FPropContainsProp(void)
struct tagFPropCompareProp_Result FPropCompareProp_Result
static void test_FBadRglpszA(void)
static void test_ScCopyRelocProps(void)
static void test_UlPropSize(void)
static void test_FPropCompareProp(void)
static ALLOCATEMORE LPVOID
static void test_FBadRowSet(void)
static const LPropCompareProp_Result LPCProp_Results[]
static void test_LpValFindProp(void)
static BOOL InitFuncPtrs(void)
static void test_LPropCompareProp(void)
static const char mbstate_t *static wchar_t const char mbstate_t *static const wchar_t int *static double
static float(__cdecl *square_half_float)(float x
SPropProblem aProblem[MAPI_DIM]
ULONG aulPropTag[MAPI_DIM]
union _LARGE_INTEGER LARGE_INTEGER
struct _LARGE_INTEGER::@2736 u
#define success(from, fromstr, to, tostr)
DWORD WINAPI GetLastError(void)
#define ERROR_PROC_NOT_FOUND