92 return pMAPIAllocateBuffer && pMAPIAllocateMore && pMAPIFreeBuffer &&
93 pScInitMapiUtil && pDeinitMapiUtil;
104 while (*str1 && (*str1 == *str2)) { str1++; str2++; }
105 return *str1 - *str2;
110 static char szHiA[] =
"Hi!";
111 static WCHAR szHiW[] = {
'H',
'i',
'!',
'\0' };
118 win_skip(
"PropCopyMore is not available\n");
122 scode = pMAPIAllocateBuffer(
sizeof(
SPropValue), &lpDest);
123 ok(scode ==
S_OK,
"Expected MAPIAllocateBuffer to return S_OK, got 0x%x\n", scode);
126 skip(
"MAPIAllocateBuffer failed\n");
130 scode = pMAPIAllocateMore(
sizeof(
SPropValue), lpDest, &lpSrc);
131 ok(scode ==
S_OK,
"Expected MAPIAllocateMore to return S_OK, got 0x%x\n", scode);
134 skip(
"MAPIAllocateMore failed\n");
145 lpSrc->Value.lpszA = szHiA;
148 lpSrc->Value.lpszW = szHiW;
151 lpSrc->Value.bin.cb = 4;
152 lpSrc->Value.bin.lpb = (
LPBYTE)szHiA;
158 scode = pPropCopyMore(lpDest, lpSrc, (ALLOCATEMORE*)pMAPIAllocateMore, lpDest);
159 ok(!scode && lpDest->
ulPropTag == lpSrc->ulPropTag,
160 "PropCopyMore: Expected 0x0,%d, got 0x%08x,%d\n",
161 lpSrc->ulPropTag, scode, lpDest->
ulPropTag);
168 "PropCopyMore: Ascii string differs\n");
172 "PropCopyMore: Unicode string differs\n");
177 "PropCopyMore: Binary array differs\n");
184 scode = pMAPIFreeBuffer(lpDest);
185 ok(scode ==
S_OK,
"Expected MAPIFreeBuffer to return S_OK, got 0x%x\n", scode);
190 static char szHiA[] =
"Hi!";
191 static WCHAR szHiW[] = {
'H',
'i',
'!',
'\0' };
199 win_skip(
"UlPropSize is not available\n");
207 memset(&pv, 0 ,
sizeof(pv));
277 res = pUlPropSize(&pv);
279 "pt= %d: Expected %d, got %d\n",
pt,
exp,
res);
285 static char szFull[] =
"Full String";
286 static char szFullLower[] =
"full string";
287 static char szPrefix[] =
"Full";
288 static char szPrefixLower[] =
"full";
289 static char szSubstring[] =
"ll St";
290 static char szSubstringLower[] =
"ll st";
295 if (!pFPropContainsProp)
297 win_skip(
"FPropContainsProp is not available\n");
307 memset(&pvLeft, 0 ,
sizeof(pvLeft));
308 memset(&pvRight, 0 ,
sizeof(pvRight));
312 ok(bRet ==
FALSE,
"pt= %d: Expected FALSE, got %d\n",
pt, bRet);
321 ok(bRet ==
TRUE,
"(full,full)[] match failed\n");
324 ok(bRet ==
FALSE,
"(full,prefix)[] match failed\n");
325 bRet = pFPropContainsProp(&pvLeft, &pvRight,
FL_PREFIX);
326 ok(bRet ==
TRUE,
"(full,prefix)[PREFIX] match failed\n");
327 bRet = pFPropContainsProp(&pvLeft, &pvRight,
FL_SUBSTRING);
328 ok(bRet ==
TRUE,
"(full,prefix)[SUBSTRING] match failed\n");
330 bRet = pFPropContainsProp(&pvLeft, &pvRight,
FL_PREFIX);
331 ok(bRet ==
FALSE,
"(full,prefixlow)[PREFIX] match failed\n");
332 bRet = pFPropContainsProp(&pvLeft, &pvRight,
FL_SUBSTRING);
333 ok(bRet ==
FALSE,
"(full,prefixlow)[SUBSTRING] match failed\n");
335 ok(bRet ==
TRUE,
"(full,prefixlow)[PREFIX|IGNORECASE] match failed\n");
337 ok(bRet ==
TRUE,
"(full,prefixlow)[SUBSTRING|IGNORECASE] match failed\n");
340 ok(bRet ==
FALSE,
"(full,substr)[] match failed\n");
341 bRet = pFPropContainsProp(&pvLeft, &pvRight,
FL_PREFIX);
342 ok(bRet ==
FALSE,
"(full,substr)[PREFIX] match failed\n");
343 bRet = pFPropContainsProp(&pvLeft, &pvRight,
FL_SUBSTRING);
344 ok(bRet ==
TRUE,
"(full,substr)[SUBSTRING] match failed\n");
346 bRet = pFPropContainsProp(&pvLeft, &pvRight,
FL_PREFIX);
347 ok(bRet ==
FALSE,
"(full,substrlow)[PREFIX] match failed\n");
348 bRet = pFPropContainsProp(&pvLeft, &pvRight,
FL_SUBSTRING);
349 ok(bRet ==
FALSE,
"(full,substrlow)[SUBSTRING] match failed\n");
351 ok(bRet ==
FALSE,
"(full,substrlow)[PREFIX|IGNORECASE] match failed\n");
353 ok(bRet ==
TRUE,
"(full,substrlow)[SUBSTRING|IGNORECASE] match failed\n");
356 ok(bRet ==
TRUE,
"(full,fulllow)[IGNORECASE] match failed\n");
364 ok(bRet ==
TRUE,
"bin(full,full)[] match failed\n");
368 ok(bRet ==
FALSE,
"bin(full,prefix)[] match failed\n");
369 bRet = pFPropContainsProp(&pvLeft, &pvRight,
FL_PREFIX);
370 ok(bRet ==
TRUE,
"bin(full,prefix)[PREFIX] match failed\n");
371 bRet = pFPropContainsProp(&pvLeft, &pvRight,
FL_SUBSTRING);
372 ok(bRet ==
TRUE,
"bin(full,prefix)[SUBSTRING] match failed\n");
375 bRet = pFPropContainsProp(&pvLeft, &pvRight,
FL_PREFIX);
376 ok(bRet ==
FALSE,
"bin(full,prefixlow)[PREFIX] match failed\n");
377 bRet = pFPropContainsProp(&pvLeft, &pvRight,
FL_SUBSTRING);
378 ok(bRet ==
FALSE,
"bin(full,prefixlow)[SUBSTRING] match failed\n");
380 ok(bRet ==
FALSE,
"bin(full,prefixlow)[PREFIX|IGNORECASE] match failed\n");
382 ok(bRet ==
FALSE,
"bin(full,prefixlow)[SUBSTRING|IGNORECASE] match failed\n");
386 ok(bRet ==
FALSE,
"bin(full,substr)[] match failed\n");
387 bRet = pFPropContainsProp(&pvLeft, &pvRight,
FL_PREFIX);
388 ok(bRet ==
FALSE,
"bin(full,substr)[PREFIX] match failed\n");
389 bRet = pFPropContainsProp(&pvLeft, &pvRight,
FL_SUBSTRING);
390 ok(bRet ==
TRUE,
"bin(full,substr)[SUBSTRING] match failed\n");
393 bRet = pFPropContainsProp(&pvLeft, &pvRight,
FL_PREFIX);
394 ok(bRet ==
FALSE,
"bin(full,substrlow)[PREFIX] match failed\n");
395 bRet = pFPropContainsProp(&pvLeft, &pvRight,
FL_SUBSTRING);
396 ok(bRet ==
FALSE,
"bin(full,substrlow)[SUBSTRING] match failed\n");
398 ok(bRet ==
FALSE,
"bin(full,substrlow)[PREFIX|IGNORECASE] match failed\n");
400 ok(bRet ==
FALSE,
"bin(full,substrlow)[SUBSTRING|IGNORECASE] match failed\n");
404 ok(bRet ==
FALSE,
"bin(full,fulllow)[IGNORECASE] match failed\n");
434static const char *
relops[] = {
"RELOP_LT",
"RELOP_LE",
"RELOP_GT",
"RELOP_GE",
"RELOP_EQ" };
440 char lbuffa[2], rbuffa[2];
441 WCHAR lbuffw[2], rbuffw[2];
445 if (!pFPropCompareProp)
447 win_skip(
"FPropCompareProp is not available\n");
516 lguid.Data4[7] = lVal;
517 rguid.Data4[7] = rVal;
524 lbuffa[0] =
'0' + lVal;
525 rbuffa[0] =
'0' + rVal;
530 lbuffw[0] =
'0' + lVal;
531 rbuffw[0] =
'0' + rVal;
545 "pt %d (%d,%d,%s): expected %d, got %d\n",
ptTypes[
i],
570 char lbuffa[2], rbuffa[2];
571 WCHAR lbuffw[2], rbuffw[2];
575 if (!pLPropCompareProp)
577 win_skip(
"LPropCompareProp is not available\n");
641 lguid.Data4[7] = lVal;
642 rguid.Data4[7] = rVal;
649 lbuffa[0] =
'0' + lVal;
650 rbuffa[0] =
'0' + rVal;
655 lbuffw[0] =
'0' + lVal;
656 rbuffw[0] =
'0' + rVal;
668 iRet = pLPropCompareProp(&pvLeft, &pvRight);
670 "pt %d (%d,%d): expected %d, got %d\n",
ptTypes[
i],
683 win_skip(
"PpropFindProp is not available\n");
691 pRet = pPpropFindProp(&pvProp, 1u,
ptTypes[
i]);
693 "PpropFindProp[%d]: Didn't find existing property\n",
697 ok(pRet ==
NULL,
"PpropFindProp[%d]: Found nonexistent property\n",
703 ok(pRet ==
NULL,
"PpropFindProp[UNSPECIFIED]: Matched on different id\n");
705 ok(pRet == &pvProp,
"PpropFindProp[UNSPECIFIED]: Didn't match id\n");
710 static char szHiA[] =
"Hi!";
711 static WCHAR szHiW[] = {
'H',
'i',
'!',
'\0' };
712 static const ULONG ULHILEN = 4;
716 GUID iids[4], *iid = iids;
723 win_skip(
"ScCountProps is not available\n");
731 memset(&pv, 0 ,
sizeof(pv));
751 exp =
sizeof(
GUID) +
sizeof(pv);
755 exp = 4 +
sizeof(pv);
759 exp = 4 *
sizeof(
WCHAR) +
sizeof(pv);
764 exp = 2 +
sizeof(pv);
769 exp = 3 *
sizeof(
SHORT) +
sizeof(pv);
774 exp = 3 *
sizeof(
LONG) +
sizeof(pv);
784 exp = 3 *
sizeof(
float) +
sizeof(pv);
795 exp = 3 *
sizeof(
CY) +
sizeof(pv);
800 exp = 3 *
sizeof(
CY) +
sizeof(pv);
808 exp = ULHILEN * 3 + 3 *
sizeof(
char*) +
sizeof(pv);
816 exp = ULHILEN * 3 *
sizeof(
WCHAR) + 3 *
sizeof(
WCHAR*) +
sizeof(pv);
834 res = pScCountProps(1, &pv, &ulRet);
837 ok(
success,
"pt= %d: Expected failure, got %d, ret=0x%08X\n",
842 ok(
success,
"pt= %d: Expected %d, got %d, ret=0x%08X\n",
851 static char szTestA[] =
"Test";
852 char buffer[512], buffer2[512], *lppszA[1];
857 if (!pScCopyProps || !pScRelocProps)
859 win_skip(
"SPropValue copy functions are not available\n");
870 sc = pScCopyProps(1, &pvProp,
buffer, &ulCount);
871 ok(sc ==
S_OK,
"wrong ret %d\n", sc);
878 ok(ulCount ==
sizeof(
SPropValue) +
sizeof(
char*) + 5,
"wrong count %d\n", ulCount);
895 ok(sc ==
S_OK,
"wrong ret %d\n", sc);
907 "wrong count %d\n", ulCount);
922 win_skip(
"LpValFindProp is not available\n");
932 "LpValFindProp[%d]: Didn't find existing property id/type\n",
936 ok(pRet ==
NULL,
"LpValFindProp[%d]: Found nonexistent property id\n",
940 ok(pRet ==
NULL,
"LpValFindProp[%d]: Found nonexistent property id/type\n",
945 "LpValFindProp[%d]: Didn't find existing property id\n",
953 static CHAR szString[] =
"A String";
958 win_skip(
"FBadRglpszA is not available\n");
962 bRet = pFBadRglpszA(
NULL, 10);
963 ok(bRet ==
TRUE,
"FBadRglpszA(Null): expected TRUE, got FALSE\n");
965 lpStrs[0] = lpStrs[1] = lpStrs[2] = lpStrs[3] =
NULL;
966 bRet = pFBadRglpszA(lpStrs, 4);
967 ok(bRet ==
TRUE,
"FBadRglpszA(Nulls): expected TRUE, got FALSE\n");
969 lpStrs[0] = lpStrs[1] = lpStrs[2] = szString;
970 bRet = pFBadRglpszA(lpStrs, 3);
971 ok(bRet ==
FALSE,
"FBadRglpszA(valid): expected FALSE, got TRUE\n");
973 bRet = pFBadRglpszA(lpStrs, 4);
974 ok(bRet ==
TRUE,
"FBadRglpszA(1 invalid): expected TRUE, got FALSE\n");
980 static WCHAR szString[] = {
'A',
' ',
'S',
't',
'r',
'i',
'n',
'g',
'\0' };
985 win_skip(
"FBadRglpszW is not available\n");
989 bRet = pFBadRglpszW(
NULL, 10);
990 ok(bRet ==
TRUE,
"FBadRglpszW(Null): expected TRUE, got FALSE\n");
992 lpStrs[0] = lpStrs[1] = lpStrs[2] = lpStrs[3] =
NULL;
993 bRet = pFBadRglpszW(lpStrs, 4);
994 ok(bRet ==
TRUE,
"FBadRglpszW(Nulls): expected TRUE, got FALSE\n");
996 lpStrs[0] = lpStrs[1] = lpStrs[2] = szString;
997 bRet = pFBadRglpszW(lpStrs, 3);
998 ok(bRet ==
FALSE,
"FBadRglpszW(valid): expected FALSE, got TRUE\n");
1000 bRet = pFBadRglpszW(lpStrs, 4);
1001 ok(bRet ==
TRUE,
"FBadRglpszW(1 invalid): expected TRUE, got FALSE\n");
1010 win_skip(
"FBadRowSet is not available\n");
1014 ulRet = pFBadRowSet(
NULL);
1015 ok(ulRet != 0,
"FBadRow(null): Expected non-zero, got 0\n");
1026 win_skip(
"FBadPropTag is not available\n");
1045 res = pFBadPropTag(
pt);
1047 ok(
res != 0,
"pt= %d: Expected non-zero, got 0\n",
pt);
1050 "pt= %d: Expected zero, got %d\n",
pt,
res);
1060 win_skip(
"FBadRow is not available\n");
1064 ulRet = pFBadRow(
NULL);
1065 ok(ulRet != 0,
"FBadRow(null): Expected non-zero, got 0\n");
1079 win_skip(
"FBadProp is not available\n");
1087 memset(&pv, 0,
sizeof(pv));
1139 res = pFBadProp(&pv);
1141 ok(
res != 0,
"pt= %d: Expected non-zero, got 0\n",
pt);
1144 "pt= %d: Expected zero, got %d\n",
pt,
res);
1153 if (!pFBadColumnSet)
1155 win_skip(
"FBadColumnSet is not available\n");
1160 ok(
res != 0,
"(null): Expected non-zero, got 0\n");
1193 res = pFBadColumnSet(&pta);
1195 ok(
res != 0,
"pt= %d: Expected non-zero, got 0\n",
pt);
1198 "pt= %d: Expected zero, got %d\n",
pt,
res);
1217 win_skip(
"CreateIProp is not available\n");
1225 sc = pCreateIProp(&IID_IMAPIPropData, (ALLOCATEBUFFER *)pMAPIAllocateBuffer, (ALLOCATEMORE*)pMAPIAllocateMore,
1226 (FREEBUFFER *)pMAPIFreeBuffer,
NULL, &lpIProp);
1227 ok(sc ==
S_OK && lpIProp,
1228 "CreateIProp: expected S_OK, non-null, got 0x%08X,%p\n", sc, lpIProp);
1230 if (sc !=
S_OK || !lpIProp)
1236 ok(sc ==
S_OK && !lpError,
1237 "GetLastError: Expected S_OK, null, got 0x%08X,%p\n", sc, lpError);
1243 "GetPropList(empty): Expected S_OK, non-null, 0, got 0x%08X,%p,%d\n",
1244 sc, lpTags, lpTags ? lpTags->
cValues : 0);
1246 pMAPIFreeBuffer(lpTags);
1255 "GetProps(empty): Expected ERRORS_RETURNED, non-null, 1, got 0x%08X,%p,%d\n",
1256 sc, lpProps,
count);
1257 if (lpProps &&
count > 0)
1260 "GetProps(empty): Expected %x, got %x\n",
1263 pMAPIFreeBuffer(lpProps);
1271 "SetProps(): Expected INVALID_PARAMETER, null, got 0x%08X,%p\n",
1279 "SetProps(OBJECT): Expected INVALID_PARAMETER, null, got 0x%08X,%p\n",
1286 ok(sc ==
S_OK && !lpProbs,
1287 "SetProps(ERROR): Expected S_OK, null, got 0x%08X,%p\n", sc, lpProbs);
1293 "GetPropList: Expected S_OK, non-null, 1, got 0x%08X,%p,%d\n",
1294 sc, lpTags, lpTags ? lpTags->
cValues : 0);
1295 if (lpTags && lpTags->
cValues > 0)
1298 "GetPropList: Expected %x, got %x\n",
1300 pMAPIFreeBuffer(lpTags);
1305 ok(sc ==
S_OK,
"SetObjAccess(WRITE): Expected S_OK got 0x%08X\n", sc);
1314 "SetPropAccess(0): Expected INVALID_PARAMETER got 0x%08X\n",sc);
1318 "SetPropAccess(RW): Expected INVALID_PARAMETER got 0x%08X\n",sc);
1322 "SetPropAccess(C): Expected INVALID_PARAMETER got 0x%08X\n",sc);
1329 ok(sc ==
S_OK,
"SetPropAccess(RW/C): Expected S_OK got 0x%08X\n",sc);
1333 ok(sc ==
S_OK,
"SetObjAccess(READ): Expected S_OK got 0x%08X\n", sc);
1338 ok(sc ==
S_OK,
"SetPropAccess(WRITE): Expected S_OK got 0x%08X\n", sc);
1345 "DeleteProps(nonexistent): Expected E_ACCESSDENIED null got 0x%08X %p\n",
1350 ok(sc ==
S_OK,
"SetObjAccess(WRITE): Expected S_OK got 0x%08X\n", sc);
1356 ok(sc ==
S_OK && !lpProbs,
1357 "DeleteProps(nonexistent): Expected S_OK null got 0x%08X %p\n",
1364 ok(sc ==
S_OK && lpProbs,
1365 "DeleteProps(RO): Expected S_OK non-null got 0x%08X %p\n", sc, lpProbs);
1367 if (lpProbs && lpProbs->
cProblem > 0)
1373 "DeleteProps(RO): Expected (1,0,%x,%x) got (%d,%x,%x)\n",
1377 pMAPIFreeBuffer(lpProbs);
1384 ok(sc ==
S_OK && !lpProbs,
1385 "AddObjProps(RO): Expected S_OK null got 0x%08X %p\n", sc, lpProbs);
1391 "GetPropList: Expected S_OK, non-null, 1, got 0x%08X,%p,%d\n",
1392 sc, lpTags, lpTags ? lpTags->
cValues : 0);
1393 if (lpTags && lpTags->
cValues > 0)
1396 "GetPropList: Expected %x, got %x\n",
1398 pMAPIFreeBuffer(lpTags);
1404 ok(sc ==
S_OK,
"SetPropAccess(WRITE): Expected S_OK got 0x%08X\n", sc);
1409 ok(sc ==
S_OK && !lpProbs,
1410 "DeleteProps(RO): Expected S_OK null got 0x%08X %p\n", sc, lpProbs);
1422 win_skip(
"No default mail client installed\n");
1428 win_skip(
"Needed functions are not available\n");
1433 ret = pScInitMapiUtil(0);
1436 win_skip(
"ScInitMapiUtil is not implemented\n");
1442 win_skip(
"ScInitMapiUtil doesn't work on some Win98 and WinME systems\n");
1454 if (pMAPIInitialize)
1457 if (pMAPIUninitialize &&
ret ==
S_OK)
1458 pMAPIUninitialize();
int strcmp(const char *String1, const char *String2)
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
ACPI_SIZE strlen(const char *String)
static const WCHAR szEmpty[]
#define GetProcAddress(x, y)
#define ERROR_INVALID_HANDLE
HINSTANCE WINAPI DECLSPEC_HOTPATCH LoadLibraryA(LPCSTR lpLibFileName)
int WINAPI lstrcmpA(LPCSTR str1, LPCSTR str2)
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::@2299 u
#define success(from, fromstr, to, tostr)
DWORD WINAPI GetLastError(void)
#define ERROR_PROC_NOT_FOUND