- ok(checksum_orig == 0, "Expected 0, got %x\n", checksum_orig);
- ok(checksum_new == 0, "Expected 0, got %x\n", checksum_new);
-
- quartz_data = LoadLibraryExA("quartz.dll", NULL, LOAD_LIBRARY_AS_DATAFILE);
- if (!quartz_data)
- {
- skip("Failed to load quartz as datafile, skipping tests\n");
- return;
- }
-
- quartz_base = (char *)((DWORD_PTR)quartz_data & ~1);
- checksum_off = _get_checksum_offset(quartz_base, &nt_header, &checksum_correct);
- ok(checksum_off != 0, "Failed to get checksum offset\n");
-
- checksum_orig = checksum_new = 0xdeadbeef;
- ret = pCheckSumMappedFile(quartz_base, checksum_off, &checksum_orig, &checksum_new);
- ok(ret == nt_header, "Expected %p, got %p\n", nt_header, ret);
- ok(checksum_orig == checksum_correct, "Expected %x, got %x\n", checksum_correct, checksum_orig);
- ok(checksum_new != 0 && checksum_new != 0xdeadbeef, "Got unexpected value %x\n", checksum_new);
-
- checksum_orig = checksum_new = 0xdeadbeef;
- ret = pCheckSumMappedFile(quartz_base, (char *)nt_header - quartz_base,
- &checksum_orig, &checksum_new);
- ok(ret == nt_header, "Expected %p, got %p\n", nt_header, ret);
- ok(checksum_orig == checksum_correct, "Expected %x, got %x\n", checksum_correct, checksum_orig);
- ok(checksum_new != 0 && checksum_new != 0xdeadbeef, "Got unexpected value %x\n", checksum_new);
-
- checksum_orig = checksum_new = 0xdeadbeef;
- ret = pCheckSumMappedFile(quartz_base, sizeof(IMAGE_DOS_HEADER), &checksum_orig, &checksum_new);
- ok(ret == nt_header, "Expected %p, got %p\n", nt_header, ret);
- ok(checksum_orig == checksum_correct, "Expected %x, got %x\n", checksum_correct, checksum_orig);
- ok(checksum_new != 0 && checksum_new != 0xdeadbeef, "Got unexpected value %x\n", checksum_new);
-
- checksum_orig = checksum_new = 0xdeadbeef;
- ret = pCheckSumMappedFile(quartz_base, 0, &checksum_orig, &checksum_new);
- ok(ret == nt_header, "Expected %p, got %p\n", nt_header, ret);
- ok(checksum_orig == checksum_correct, "Expected %x, got %x\n", checksum_correct, checksum_orig);
- todo_wine ok(checksum_new != 0 && checksum_new != 0xdeadbeef, "Got unexpected value %x\n", checksum_new);
-
- FreeLibrary(quartz_data);