1 /* File generated automatically from tools/winapi/tests.dat; do not edit! */ 2 /* This file can be copied, modified and distributed without restriction. */ 3 4 /* 5 * Unit tests for data structure packing 6 */ 7 8 #define WINE_NOWINSOCK 9 10 #include <stdarg.h> 11 #include "windef.h" 12 #include "winbase.h" 13 #include "urlmon.h" 14 15 #include "wine/test.h" 16 17 /*********************************************************************** 18 * Compatibility macros 19 */ 20 21 #define DWORD_PTR UINT_PTR 22 #define LONG_PTR INT_PTR 23 #define ULONG_PTR UINT_PTR 24 25 /*********************************************************************** 26 * Windows API extension 27 */ 28 29 #if defined(_MSC_VER) && (_MSC_VER >= 1300) && defined(__cplusplus) 30 # define _TYPE_ALIGNMENT(type) __alignof(type) 31 #elif defined(__GNUC__) 32 # define _TYPE_ALIGNMENT(type) __alignof__(type) 33 #else 34 /* 35 * FIXME: May not be possible without a compiler extension 36 * (if type is not just a name that is, otherwise the normal 37 * TYPE_ALIGNMENT can be used) 38 */ 39 #endif 40 41 #if defined(TYPE_ALIGNMENT) && defined(_MSC_VER) && _MSC_VER >= 800 && !defined(__cplusplus) 42 #pragma warning(disable:4116) 43 #endif 44 45 #if !defined(TYPE_ALIGNMENT) && defined(_TYPE_ALIGNMENT) 46 # define TYPE_ALIGNMENT _TYPE_ALIGNMENT 47 #endif 48 49 /*********************************************************************** 50 * Test helper macros 51 */ 52 53 #define TEST_TYPE_SIZE(type, size) C_ASSERT(sizeof(type) == size); 54 55 #ifdef TYPE_ALIGNMENT 56 # define TEST_TYPE_ALIGN(type, align) C_ASSERT(TYPE_ALIGNMENT(type) == align); 57 #else 58 # define TEST_TYPE_ALIGN(type, align) 59 #endif 60 61 #ifdef _TYPE_ALIGNMENT 62 # define TEST_TARGET_ALIGN(type, align) C_ASSERT(_TYPE_ALIGNMENT(*(type)0) == align); 63 # define TEST_FIELD_ALIGN(type, field, align) C_ASSERT(_TYPE_ALIGNMENT(((type*)0)->field) == align); 64 #else 65 # define TEST_TARGET_ALIGN(type, align) 66 # define TEST_FIELD_ALIGN(type, field, align) 67 #endif 68 69 #define TEST_FIELD_OFFSET(type, field, offset) C_ASSERT(FIELD_OFFSET(type, field) == offset); 70 71 #define TEST_TARGET_SIZE(type, size) TEST_TYPE_SIZE(*(type)0, size) 72 #define TEST_FIELD_SIZE(type, field, size) TEST_TYPE_SIZE((((type*)0)->field), size) 73 #define TEST_TYPE_SIGNED(type) C_ASSERT((type) -1 < 0); 74 #define TEST_TYPE_UNSIGNED(type) C_ASSERT((type) -1 > 0); 75 76 77 #ifdef _WIN64 78 79 static void test_pack_BINDINFO(void) 80 { 81 /* BINDINFO */ 82 TEST_FIELD_SIZE (BINDINFO, cbSize, 4) 83 TEST_FIELD_ALIGN (BINDINFO, cbSize, 4) 84 TEST_FIELD_OFFSET(BINDINFO, cbSize, 0) 85 TEST_FIELD_SIZE (BINDINFO, szExtraInfo, 8) 86 TEST_FIELD_ALIGN (BINDINFO, szExtraInfo, 8) 87 TEST_FIELD_OFFSET(BINDINFO, szExtraInfo, 8) 88 } 89 90 static void test_pack_IBindHost(void) 91 { 92 /* IBindHost */ 93 } 94 95 static void test_pack_IBindHostVtbl(void) 96 { 97 /* IBindHostVtbl */ 98 } 99 100 static void test_pack_IBindStatusCallback(void) 101 { 102 /* IBindStatusCallback */ 103 } 104 105 static void test_pack_IBindStatusCallbackVtbl(void) 106 { 107 /* IBindStatusCallbackVtbl */ 108 } 109 110 static void test_pack_IBinding(void) 111 { 112 /* IBinding */ 113 } 114 115 static void test_pack_IBindingVtbl(void) 116 { 117 /* IBindingVtbl */ 118 } 119 120 static void test_pack_IInternetProtocolInfo(void) 121 { 122 /* IInternetProtocolInfo */ 123 } 124 125 static void test_pack_IInternetProtocolInfoVtbl(void) 126 { 127 /* IInternetProtocolInfoVtbl */ 128 } 129 130 static void test_pack_IInternetSession(void) 131 { 132 /* IInternetSession */ 133 } 134 135 static void test_pack_IInternetSessionVtbl(void) 136 { 137 /* IInternetSessionVtbl */ 138 } 139 140 static void test_pack_IPersistMoniker(void) 141 { 142 /* IPersistMoniker */ 143 } 144 145 static void test_pack_IPersistMonikerVtbl(void) 146 { 147 /* IPersistMonikerVtbl */ 148 } 149 150 static void test_pack_IWinInetHttpInfo(void) 151 { 152 /* IWinInetHttpInfo */ 153 } 154 155 static void test_pack_IWinInetHttpInfoVtbl(void) 156 { 157 /* IWinInetHttpInfoVtbl */ 158 } 159 160 static void test_pack_IWinInetInfo(void) 161 { 162 /* IWinInetInfo */ 163 } 164 165 static void test_pack_IWinInetInfoVtbl(void) 166 { 167 /* IWinInetInfoVtbl */ 168 } 169 170 static void test_pack_LPBINDHOST(void) 171 { 172 /* LPBINDHOST */ 173 TEST_TYPE_SIZE (LPBINDHOST, 8) 174 TEST_TYPE_ALIGN (LPBINDHOST, 8) 175 } 176 177 static void test_pack_LPBINDING(void) 178 { 179 /* LPBINDING */ 180 TEST_TYPE_SIZE (LPBINDING, 8) 181 TEST_TYPE_ALIGN (LPBINDING, 8) 182 } 183 184 static void test_pack_LPBINDSTATUSCALLBACK(void) 185 { 186 /* LPBINDSTATUSCALLBACK */ 187 TEST_TYPE_SIZE (LPBINDSTATUSCALLBACK, 8) 188 TEST_TYPE_ALIGN (LPBINDSTATUSCALLBACK, 8) 189 } 190 191 static void test_pack_LPIINTERNETPROTOCOLINFO(void) 192 { 193 /* LPIINTERNETPROTOCOLINFO */ 194 TEST_TYPE_SIZE (LPIINTERNETPROTOCOLINFO, 8) 195 TEST_TYPE_ALIGN (LPIINTERNETPROTOCOLINFO, 8) 196 } 197 198 static void test_pack_LPIINTERNETSESSION(void) 199 { 200 /* LPIINTERNETSESSION */ 201 TEST_TYPE_SIZE (LPIINTERNETSESSION, 8) 202 TEST_TYPE_ALIGN (LPIINTERNETSESSION, 8) 203 } 204 205 static void test_pack_LPPERSISTMONIKER(void) 206 { 207 /* LPPERSISTMONIKER */ 208 TEST_TYPE_SIZE (LPPERSISTMONIKER, 8) 209 TEST_TYPE_ALIGN (LPPERSISTMONIKER, 8) 210 } 211 212 static void test_pack_LPREMFORMATETC(void) 213 { 214 /* LPREMFORMATETC */ 215 TEST_TYPE_SIZE (LPREMFORMATETC, 8) 216 TEST_TYPE_ALIGN (LPREMFORMATETC, 8) 217 } 218 219 static void test_pack_LPREMSECURITY_ATTRIBUTES(void) 220 { 221 /* LPREMSECURITY_ATTRIBUTES */ 222 TEST_TYPE_SIZE (LPREMSECURITY_ATTRIBUTES, 8) 223 TEST_TYPE_ALIGN (LPREMSECURITY_ATTRIBUTES, 8) 224 } 225 226 static void test_pack_LPWININETHTTPINFO(void) 227 { 228 /* LPWININETHTTPINFO */ 229 TEST_TYPE_SIZE (LPWININETHTTPINFO, 8) 230 TEST_TYPE_ALIGN (LPWININETHTTPINFO, 8) 231 } 232 233 static void test_pack_LPWININETINFO(void) 234 { 235 /* LPWININETINFO */ 236 TEST_TYPE_SIZE (LPWININETINFO, 8) 237 TEST_TYPE_ALIGN (LPWININETINFO, 8) 238 } 239 240 static void test_pack_PREMSECURITY_ATTRIBUTES(void) 241 { 242 /* PREMSECURITY_ATTRIBUTES */ 243 TEST_TYPE_SIZE (PREMSECURITY_ATTRIBUTES, 8) 244 TEST_TYPE_ALIGN (PREMSECURITY_ATTRIBUTES, 8) 245 } 246 247 static void test_pack_REMSECURITY_ATTRIBUTES(void) 248 { 249 /* REMSECURITY_ATTRIBUTES */ 250 TEST_TYPE_SIZE (REMSECURITY_ATTRIBUTES, 12) 251 TEST_TYPE_ALIGN (REMSECURITY_ATTRIBUTES, 4) 252 TEST_FIELD_SIZE (REMSECURITY_ATTRIBUTES, nLength, 4) 253 TEST_FIELD_ALIGN (REMSECURITY_ATTRIBUTES, nLength, 4) 254 TEST_FIELD_OFFSET(REMSECURITY_ATTRIBUTES, nLength, 0) 255 TEST_FIELD_SIZE (REMSECURITY_ATTRIBUTES, lpSecurityDescriptor, 4) 256 TEST_FIELD_ALIGN (REMSECURITY_ATTRIBUTES, lpSecurityDescriptor, 4) 257 TEST_FIELD_OFFSET(REMSECURITY_ATTRIBUTES, lpSecurityDescriptor, 4) 258 TEST_FIELD_SIZE (REMSECURITY_ATTRIBUTES, bInheritHandle, 4) 259 TEST_FIELD_ALIGN (REMSECURITY_ATTRIBUTES, bInheritHandle, 4) 260 TEST_FIELD_OFFSET(REMSECURITY_ATTRIBUTES, bInheritHandle, 8) 261 } 262 263 static void test_pack_RemBINDINFO(void) 264 { 265 /* RemBINDINFO */ 266 TEST_TYPE_SIZE (RemBINDINFO, 96) 267 TEST_TYPE_ALIGN (RemBINDINFO, 8) 268 TEST_FIELD_SIZE (RemBINDINFO, cbSize, 4) 269 TEST_FIELD_ALIGN (RemBINDINFO, cbSize, 4) 270 TEST_FIELD_OFFSET(RemBINDINFO, cbSize, 0) 271 TEST_FIELD_SIZE (RemBINDINFO, szExtraInfo, 8) 272 TEST_FIELD_ALIGN (RemBINDINFO, szExtraInfo, 8) 273 TEST_FIELD_OFFSET(RemBINDINFO, szExtraInfo, 8) 274 TEST_FIELD_SIZE (RemBINDINFO, grfBindInfoF, 4) 275 TEST_FIELD_ALIGN (RemBINDINFO, grfBindInfoF, 4) 276 TEST_FIELD_OFFSET(RemBINDINFO, grfBindInfoF, 16) 277 TEST_FIELD_SIZE (RemBINDINFO, dwBindVerb, 4) 278 TEST_FIELD_ALIGN (RemBINDINFO, dwBindVerb, 4) 279 TEST_FIELD_OFFSET(RemBINDINFO, dwBindVerb, 20) 280 TEST_FIELD_SIZE (RemBINDINFO, szCustomVerb, 8) 281 TEST_FIELD_ALIGN (RemBINDINFO, szCustomVerb, 8) 282 TEST_FIELD_OFFSET(RemBINDINFO, szCustomVerb, 24) 283 TEST_FIELD_SIZE (RemBINDINFO, cbstgmedData, 4) 284 TEST_FIELD_ALIGN (RemBINDINFO, cbstgmedData, 4) 285 TEST_FIELD_OFFSET(RemBINDINFO, cbstgmedData, 32) 286 TEST_FIELD_SIZE (RemBINDINFO, dwOptions, 4) 287 TEST_FIELD_ALIGN (RemBINDINFO, dwOptions, 4) 288 TEST_FIELD_OFFSET(RemBINDINFO, dwOptions, 36) 289 TEST_FIELD_SIZE (RemBINDINFO, dwOptionsFlags, 4) 290 TEST_FIELD_ALIGN (RemBINDINFO, dwOptionsFlags, 4) 291 TEST_FIELD_OFFSET(RemBINDINFO, dwOptionsFlags, 40) 292 TEST_FIELD_SIZE (RemBINDINFO, dwCodePage, 4) 293 TEST_FIELD_ALIGN (RemBINDINFO, dwCodePage, 4) 294 TEST_FIELD_OFFSET(RemBINDINFO, dwCodePage, 44) 295 TEST_FIELD_SIZE (RemBINDINFO, securityAttributes, 12) 296 TEST_FIELD_ALIGN (RemBINDINFO, securityAttributes, 4) 297 TEST_FIELD_OFFSET(RemBINDINFO, securityAttributes, 48) 298 TEST_FIELD_SIZE (RemBINDINFO, iid, 16) 299 TEST_FIELD_ALIGN (RemBINDINFO, iid, 4) 300 TEST_FIELD_OFFSET(RemBINDINFO, iid, 60) 301 TEST_FIELD_SIZE (RemBINDINFO, pUnk, 8) 302 TEST_FIELD_ALIGN (RemBINDINFO, pUnk, 8) 303 TEST_FIELD_OFFSET(RemBINDINFO, pUnk, 80) 304 TEST_FIELD_SIZE (RemBINDINFO, dwReserved, 4) 305 TEST_FIELD_ALIGN (RemBINDINFO, dwReserved, 4) 306 TEST_FIELD_OFFSET(RemBINDINFO, dwReserved, 88) 307 } 308 309 static void test_pack_RemFORMATETC(void) 310 { 311 /* RemFORMATETC */ 312 TEST_TYPE_SIZE (RemFORMATETC, 20) 313 TEST_TYPE_ALIGN (RemFORMATETC, 4) 314 TEST_FIELD_SIZE (RemFORMATETC, cfFormat, 4) 315 TEST_FIELD_ALIGN (RemFORMATETC, cfFormat, 4) 316 TEST_FIELD_OFFSET(RemFORMATETC, cfFormat, 0) 317 TEST_FIELD_SIZE (RemFORMATETC, ptd, 4) 318 TEST_FIELD_ALIGN (RemFORMATETC, ptd, 4) 319 TEST_FIELD_OFFSET(RemFORMATETC, ptd, 4) 320 TEST_FIELD_SIZE (RemFORMATETC, dwAspect, 4) 321 TEST_FIELD_ALIGN (RemFORMATETC, dwAspect, 4) 322 TEST_FIELD_OFFSET(RemFORMATETC, dwAspect, 8) 323 TEST_FIELD_SIZE (RemFORMATETC, lindex, 4) 324 TEST_FIELD_ALIGN (RemFORMATETC, lindex, 4) 325 TEST_FIELD_OFFSET(RemFORMATETC, lindex, 12) 326 TEST_FIELD_SIZE (RemFORMATETC, tymed, 4) 327 TEST_FIELD_ALIGN (RemFORMATETC, tymed, 4) 328 TEST_FIELD_OFFSET(RemFORMATETC, tymed, 16) 329 } 330 331 #else /* _WIN64 */ 332 333 static void test_pack_BINDINFO(void) 334 { 335 /* BINDINFO */ 336 TEST_FIELD_SIZE (BINDINFO, cbSize, 4) 337 TEST_FIELD_ALIGN (BINDINFO, cbSize, 4) 338 TEST_FIELD_OFFSET(BINDINFO, cbSize, 0) 339 TEST_FIELD_SIZE (BINDINFO, szExtraInfo, 4) 340 TEST_FIELD_ALIGN (BINDINFO, szExtraInfo, 4) 341 TEST_FIELD_OFFSET(BINDINFO, szExtraInfo, 4) 342 } 343 344 static void test_pack_IBindHost(void) 345 { 346 /* IBindHost */ 347 } 348 349 static void test_pack_IBindHostVtbl(void) 350 { 351 /* IBindHostVtbl */ 352 } 353 354 static void test_pack_IBindStatusCallback(void) 355 { 356 /* IBindStatusCallback */ 357 } 358 359 static void test_pack_IBindStatusCallbackVtbl(void) 360 { 361 /* IBindStatusCallbackVtbl */ 362 } 363 364 static void test_pack_IBinding(void) 365 { 366 /* IBinding */ 367 } 368 369 static void test_pack_IBindingVtbl(void) 370 { 371 /* IBindingVtbl */ 372 } 373 374 static void test_pack_IInternetProtocolInfo(void) 375 { 376 /* IInternetProtocolInfo */ 377 } 378 379 static void test_pack_IInternetProtocolInfoVtbl(void) 380 { 381 /* IInternetProtocolInfoVtbl */ 382 } 383 384 static void test_pack_IInternetSession(void) 385 { 386 /* IInternetSession */ 387 } 388 389 static void test_pack_IInternetSessionVtbl(void) 390 { 391 /* IInternetSessionVtbl */ 392 } 393 394 static void test_pack_IPersistMoniker(void) 395 { 396 /* IPersistMoniker */ 397 } 398 399 static void test_pack_IPersistMonikerVtbl(void) 400 { 401 /* IPersistMonikerVtbl */ 402 } 403 404 static void test_pack_IWinInetHttpInfo(void) 405 { 406 /* IWinInetHttpInfo */ 407 } 408 409 static void test_pack_IWinInetHttpInfoVtbl(void) 410 { 411 /* IWinInetHttpInfoVtbl */ 412 } 413 414 static void test_pack_IWinInetInfo(void) 415 { 416 /* IWinInetInfo */ 417 } 418 419 static void test_pack_IWinInetInfoVtbl(void) 420 { 421 /* IWinInetInfoVtbl */ 422 } 423 424 static void test_pack_LPBINDHOST(void) 425 { 426 /* LPBINDHOST */ 427 TEST_TYPE_SIZE (LPBINDHOST, 4) 428 TEST_TYPE_ALIGN (LPBINDHOST, 4) 429 } 430 431 static void test_pack_LPBINDING(void) 432 { 433 /* LPBINDING */ 434 TEST_TYPE_SIZE (LPBINDING, 4) 435 TEST_TYPE_ALIGN (LPBINDING, 4) 436 } 437 438 static void test_pack_LPBINDSTATUSCALLBACK(void) 439 { 440 /* LPBINDSTATUSCALLBACK */ 441 TEST_TYPE_SIZE (LPBINDSTATUSCALLBACK, 4) 442 TEST_TYPE_ALIGN (LPBINDSTATUSCALLBACK, 4) 443 } 444 445 static void test_pack_LPIINTERNETPROTOCOLINFO(void) 446 { 447 /* LPIINTERNETPROTOCOLINFO */ 448 TEST_TYPE_SIZE (LPIINTERNETPROTOCOLINFO, 4) 449 TEST_TYPE_ALIGN (LPIINTERNETPROTOCOLINFO, 4) 450 } 451 452 static void test_pack_LPIINTERNETSESSION(void) 453 { 454 /* LPIINTERNETSESSION */ 455 TEST_TYPE_SIZE (LPIINTERNETSESSION, 4) 456 TEST_TYPE_ALIGN (LPIINTERNETSESSION, 4) 457 } 458 459 static void test_pack_LPPERSISTMONIKER(void) 460 { 461 /* LPPERSISTMONIKER */ 462 TEST_TYPE_SIZE (LPPERSISTMONIKER, 4) 463 TEST_TYPE_ALIGN (LPPERSISTMONIKER, 4) 464 } 465 466 static void test_pack_LPREMFORMATETC(void) 467 { 468 /* LPREMFORMATETC */ 469 TEST_TYPE_SIZE (LPREMFORMATETC, 4) 470 TEST_TYPE_ALIGN (LPREMFORMATETC, 4) 471 } 472 473 static void test_pack_LPREMSECURITY_ATTRIBUTES(void) 474 { 475 /* LPREMSECURITY_ATTRIBUTES */ 476 TEST_TYPE_SIZE (LPREMSECURITY_ATTRIBUTES, 4) 477 TEST_TYPE_ALIGN (LPREMSECURITY_ATTRIBUTES, 4) 478 } 479 480 static void test_pack_LPWININETHTTPINFO(void) 481 { 482 /* LPWININETHTTPINFO */ 483 TEST_TYPE_SIZE (LPWININETHTTPINFO, 4) 484 TEST_TYPE_ALIGN (LPWININETHTTPINFO, 4) 485 } 486 487 static void test_pack_LPWININETINFO(void) 488 { 489 /* LPWININETINFO */ 490 TEST_TYPE_SIZE (LPWININETINFO, 4) 491 TEST_TYPE_ALIGN (LPWININETINFO, 4) 492 } 493 494 static void test_pack_PREMSECURITY_ATTRIBUTES(void) 495 { 496 /* PREMSECURITY_ATTRIBUTES */ 497 TEST_TYPE_SIZE (PREMSECURITY_ATTRIBUTES, 4) 498 TEST_TYPE_ALIGN (PREMSECURITY_ATTRIBUTES, 4) 499 } 500 501 static void test_pack_REMSECURITY_ATTRIBUTES(void) 502 { 503 /* REMSECURITY_ATTRIBUTES */ 504 TEST_TYPE_SIZE (REMSECURITY_ATTRIBUTES, 12) 505 TEST_TYPE_ALIGN (REMSECURITY_ATTRIBUTES, 4) 506 TEST_FIELD_SIZE (REMSECURITY_ATTRIBUTES, nLength, 4) 507 TEST_FIELD_ALIGN (REMSECURITY_ATTRIBUTES, nLength, 4) 508 TEST_FIELD_OFFSET(REMSECURITY_ATTRIBUTES, nLength, 0) 509 TEST_FIELD_SIZE (REMSECURITY_ATTRIBUTES, lpSecurityDescriptor, 4) 510 TEST_FIELD_ALIGN (REMSECURITY_ATTRIBUTES, lpSecurityDescriptor, 4) 511 TEST_FIELD_OFFSET(REMSECURITY_ATTRIBUTES, lpSecurityDescriptor, 4) 512 TEST_FIELD_SIZE (REMSECURITY_ATTRIBUTES, bInheritHandle, 4) 513 TEST_FIELD_ALIGN (REMSECURITY_ATTRIBUTES, bInheritHandle, 4) 514 TEST_FIELD_OFFSET(REMSECURITY_ATTRIBUTES, bInheritHandle, 8) 515 } 516 517 static void test_pack_RemBINDINFO(void) 518 { 519 /* RemBINDINFO */ 520 TEST_TYPE_SIZE (RemBINDINFO, 72) 521 TEST_TYPE_ALIGN (RemBINDINFO, 4) 522 TEST_FIELD_SIZE (RemBINDINFO, cbSize, 4) 523 TEST_FIELD_ALIGN (RemBINDINFO, cbSize, 4) 524 TEST_FIELD_OFFSET(RemBINDINFO, cbSize, 0) 525 TEST_FIELD_SIZE (RemBINDINFO, szExtraInfo, 4) 526 TEST_FIELD_ALIGN (RemBINDINFO, szExtraInfo, 4) 527 TEST_FIELD_OFFSET(RemBINDINFO, szExtraInfo, 4) 528 TEST_FIELD_SIZE (RemBINDINFO, grfBindInfoF, 4) 529 TEST_FIELD_ALIGN (RemBINDINFO, grfBindInfoF, 4) 530 TEST_FIELD_OFFSET(RemBINDINFO, grfBindInfoF, 8) 531 TEST_FIELD_SIZE (RemBINDINFO, dwBindVerb, 4) 532 TEST_FIELD_ALIGN (RemBINDINFO, dwBindVerb, 4) 533 TEST_FIELD_OFFSET(RemBINDINFO, dwBindVerb, 12) 534 TEST_FIELD_SIZE (RemBINDINFO, szCustomVerb, 4) 535 TEST_FIELD_ALIGN (RemBINDINFO, szCustomVerb, 4) 536 TEST_FIELD_OFFSET(RemBINDINFO, szCustomVerb, 16) 537 TEST_FIELD_SIZE (RemBINDINFO, cbstgmedData, 4) 538 TEST_FIELD_ALIGN (RemBINDINFO, cbstgmedData, 4) 539 TEST_FIELD_OFFSET(RemBINDINFO, cbstgmedData, 20) 540 TEST_FIELD_SIZE (RemBINDINFO, dwOptions, 4) 541 TEST_FIELD_ALIGN (RemBINDINFO, dwOptions, 4) 542 TEST_FIELD_OFFSET(RemBINDINFO, dwOptions, 24) 543 TEST_FIELD_SIZE (RemBINDINFO, dwOptionsFlags, 4) 544 TEST_FIELD_ALIGN (RemBINDINFO, dwOptionsFlags, 4) 545 TEST_FIELD_OFFSET(RemBINDINFO, dwOptionsFlags, 28) 546 TEST_FIELD_SIZE (RemBINDINFO, dwCodePage, 4) 547 TEST_FIELD_ALIGN (RemBINDINFO, dwCodePage, 4) 548 TEST_FIELD_OFFSET(RemBINDINFO, dwCodePage, 32) 549 TEST_FIELD_SIZE (RemBINDINFO, securityAttributes, 12) 550 TEST_FIELD_ALIGN (RemBINDINFO, securityAttributes, 4) 551 TEST_FIELD_OFFSET(RemBINDINFO, securityAttributes, 36) 552 TEST_FIELD_SIZE (RemBINDINFO, iid, 16) 553 TEST_FIELD_ALIGN (RemBINDINFO, iid, 4) 554 TEST_FIELD_OFFSET(RemBINDINFO, iid, 48) 555 TEST_FIELD_SIZE (RemBINDINFO, pUnk, 4) 556 TEST_FIELD_ALIGN (RemBINDINFO, pUnk, 4) 557 TEST_FIELD_OFFSET(RemBINDINFO, pUnk, 64) 558 TEST_FIELD_SIZE (RemBINDINFO, dwReserved, 4) 559 TEST_FIELD_ALIGN (RemBINDINFO, dwReserved, 4) 560 TEST_FIELD_OFFSET(RemBINDINFO, dwReserved, 68) 561 } 562 563 static void test_pack_RemFORMATETC(void) 564 { 565 /* RemFORMATETC */ 566 TEST_TYPE_SIZE (RemFORMATETC, 20) 567 TEST_TYPE_ALIGN (RemFORMATETC, 4) 568 TEST_FIELD_SIZE (RemFORMATETC, cfFormat, 4) 569 TEST_FIELD_ALIGN (RemFORMATETC, cfFormat, 4) 570 TEST_FIELD_OFFSET(RemFORMATETC, cfFormat, 0) 571 TEST_FIELD_SIZE (RemFORMATETC, ptd, 4) 572 TEST_FIELD_ALIGN (RemFORMATETC, ptd, 4) 573 TEST_FIELD_OFFSET(RemFORMATETC, ptd, 4) 574 TEST_FIELD_SIZE (RemFORMATETC, dwAspect, 4) 575 TEST_FIELD_ALIGN (RemFORMATETC, dwAspect, 4) 576 TEST_FIELD_OFFSET(RemFORMATETC, dwAspect, 8) 577 TEST_FIELD_SIZE (RemFORMATETC, lindex, 4) 578 TEST_FIELD_ALIGN (RemFORMATETC, lindex, 4) 579 TEST_FIELD_OFFSET(RemFORMATETC, lindex, 12) 580 TEST_FIELD_SIZE (RemFORMATETC, tymed, 4) 581 TEST_FIELD_ALIGN (RemFORMATETC, tymed, 4) 582 TEST_FIELD_OFFSET(RemFORMATETC, tymed, 16) 583 } 584 585 #endif /* _WIN64 */ 586 587 static void test_pack(void) 588 { 589 test_pack_BINDINFO(); 590 test_pack_IBindHost(); 591 test_pack_IBindHostVtbl(); 592 test_pack_IBindStatusCallback(); 593 test_pack_IBindStatusCallbackVtbl(); 594 test_pack_IBinding(); 595 test_pack_IBindingVtbl(); 596 test_pack_IInternetProtocolInfo(); 597 test_pack_IInternetProtocolInfoVtbl(); 598 test_pack_IInternetSession(); 599 test_pack_IInternetSessionVtbl(); 600 test_pack_IPersistMoniker(); 601 test_pack_IPersistMonikerVtbl(); 602 test_pack_IWinInetHttpInfo(); 603 test_pack_IWinInetHttpInfoVtbl(); 604 test_pack_IWinInetInfo(); 605 test_pack_IWinInetInfoVtbl(); 606 test_pack_LPBINDHOST(); 607 test_pack_LPBINDING(); 608 test_pack_LPBINDSTATUSCALLBACK(); 609 test_pack_LPIINTERNETPROTOCOLINFO(); 610 test_pack_LPIINTERNETSESSION(); 611 test_pack_LPPERSISTMONIKER(); 612 test_pack_LPREMFORMATETC(); 613 test_pack_LPREMSECURITY_ATTRIBUTES(); 614 test_pack_LPWININETHTTPINFO(); 615 test_pack_LPWININETINFO(); 616 test_pack_PREMSECURITY_ATTRIBUTES(); 617 test_pack_REMSECURITY_ATTRIBUTES(); 618 test_pack_RemBINDINFO(); 619 test_pack_RemFORMATETC(); 620 } 621 622 START_TEST(generated) 623 { 624 test_pack(); 625 } 626