/* * PROJECT: ReactOS api tests * LICENSE: GPLv2+ - See COPYING in the top level directory * PURPOSE: Test for FormatMessage and resources * PROGRAMMERS: Pierre Schweitzer */ #include #include WCHAR First[] = L"This is a test message.\r\n"; WCHAR Second[] = L"This is a second test message.\r\n"; START_TEST(FormatMessage) { PWSTR Buffer; DWORD Written; Buffer = NULL; Written = FormatMessageW(FORMAT_MESSAGE_FROM_HMODULE | FORMAT_MESSAGE_ALLOCATE_BUFFER, NULL, MSG_FIRST_MESSAGE, 0, (LPWSTR)&Buffer, 0, NULL); ok(Written != 0, "Unexpected error: %lx\n", GetLastError()); ok(Buffer != NULL, "No buffer allocated\n"); ok(Written == (sizeof(First) - sizeof(UNICODE_NULL)) / sizeof(WCHAR), "Invalid size: %ld (expected: %d)\n", Written, (sizeof(First) - sizeof(UNICODE_NULL)) / sizeof(WCHAR)); ok(RtlCompareMemory(Buffer, First, sizeof(First) - sizeof(UNICODE_NULL)) == sizeof(First) - sizeof(UNICODE_NULL), "Mismatching string: %S (expected : %S)\n", Buffer, First); LocalFree(Buffer); Buffer = NULL; Written = FormatMessageW(FORMAT_MESSAGE_FROM_HMODULE | FORMAT_MESSAGE_ALLOCATE_BUFFER, NULL, MSG_SECOND_MESSAGE, 0, (LPWSTR)&Buffer, 0, NULL); ok(Written != 0, "Unexpected error: %lx\n", GetLastError()); ok(Buffer != NULL, "No buffer allocated\n"); ok(Written == (sizeof(Second) - sizeof(UNICODE_NULL)) / sizeof(WCHAR), "Invalid size: %ld (expected: %d)\n", Written, (sizeof(Second) - sizeof(UNICODE_NULL)) / sizeof(WCHAR)); ok(RtlCompareMemory(Buffer, Second, sizeof(Second) - sizeof(UNICODE_NULL)) == sizeof(Second) - sizeof(UNICODE_NULL), "Mismatching string: %S (expected: %S)\n", Buffer, Second); LocalFree(Buffer); Buffer = NULL; Written = FormatMessageW(FORMAT_MESSAGE_FROM_HMODULE | FORMAT_MESSAGE_ALLOCATE_BUFFER, NULL, MSG_SECOND_MESSAGE + 1, 0, (LPWSTR)&Buffer, 0, NULL); ok(Written == 0, "Unexpected success: %ld\n", Written); ok(Buffer == NULL, "Unexpected success: %p\n", Buffer); ok(GetLastError() == 0x13d, "Unexpected error: %lx\n", GetLastError()); }