mirror of
https://github.com/reactos/reactos.git
synced 2025-05-01 19:50:36 +00:00
[ROSTESTS] fix x64 build and fix/disable warnings
This commit is contained in:
parent
6a67450893
commit
42d2d5ec9c
56 changed files with 229 additions and 171 deletions
|
@ -20,9 +20,7 @@ add_subdirectory(fontext)
|
||||||
add_subdirectory(gdi32)
|
add_subdirectory(gdi32)
|
||||||
add_subdirectory(gditools)
|
add_subdirectory(gditools)
|
||||||
add_subdirectory(iphlpapi)
|
add_subdirectory(iphlpapi)
|
||||||
if(NOT ARCH STREQUAL "amd64")
|
add_subdirectory(kernel32)
|
||||||
add_subdirectory(kernel32)
|
|
||||||
endif()
|
|
||||||
add_subdirectory(localspl)
|
add_subdirectory(localspl)
|
||||||
add_subdirectory(mountmgr)
|
add_subdirectory(mountmgr)
|
||||||
add_subdirectory(msgina)
|
add_subdirectory(msgina)
|
||||||
|
@ -46,7 +44,7 @@ add_subdirectory(user32)
|
||||||
add_subdirectory(user32_dynamic)
|
add_subdirectory(user32_dynamic)
|
||||||
add_subdirectory(userenv)
|
add_subdirectory(userenv)
|
||||||
add_subdirectory(uxtheme)
|
add_subdirectory(uxtheme)
|
||||||
if(NOT ARCH STREQUAL "amd64" AND NOT CMAKE_BUILD_TYPE STREQUAL "Release")
|
if(NOT CMAKE_BUILD_TYPE STREQUAL "Release")
|
||||||
add_subdirectory(win32u)
|
add_subdirectory(win32u)
|
||||||
add_subdirectory(win32nt)
|
add_subdirectory(win32nt)
|
||||||
endif()
|
endif()
|
||||||
|
|
|
@ -216,7 +216,7 @@ START_TEST(RegQueryValueExW)
|
||||||
{
|
{
|
||||||
ok(1, "RegSetValueExW failed: %lx, %lx\n", ret, GetLastError());
|
ok(1, "RegSetValueExW failed: %lx, %lx\n", ret, GetLastError());
|
||||||
}
|
}
|
||||||
if ((ret = RegSetValueExW(hkey_main, L"LONGSTRING", 0, REG_SZ, (const BYTE *)string22W, (wcslen(string22W)+1) * sizeof(WCHAR))) != ERROR_SUCCESS)
|
if ((ret = RegSetValueExW(hkey_main, L"LONGSTRING", 0, REG_SZ, (const BYTE *)string22W, (lstrlenW(string22W)+1) * sizeof(WCHAR))) != ERROR_SUCCESS)
|
||||||
{
|
{
|
||||||
ok(1, "RegSetValueExW failed: %lx, %lx\n", ret, GetLastError());
|
ok(1, "RegSetValueExW failed: %lx, %lx\n", ret, GetLastError());
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ static void send_msg(const char *type, const char *msg)
|
||||||
char buf[512];
|
char buf[512];
|
||||||
|
|
||||||
StringCbPrintfA(buf, sizeof(buf), "%s:%s", type, msg);
|
StringCbPrintfA(buf, sizeof(buf), "%s:%s", type, msg);
|
||||||
WriteFile(pipe_handle, buf, strlen(buf)+1, &written, NULL);
|
WriteFile(pipe_handle, buf, lstrlenA(buf)+1, &written, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
|
|
|
@ -30,7 +30,7 @@ void send_msg(const char *type, const char *msg)
|
||||||
char buf[512];
|
char buf[512];
|
||||||
|
|
||||||
StringCbPrintfA(buf, sizeof(buf), "%s:%s", type, msg);
|
StringCbPrintfA(buf, sizeof(buf), "%s:%s", type, msg);
|
||||||
WriteFile(hClientPipe, buf, strlen(buf)+1, &written, NULL);
|
WriteFile(hClientPipe, buf, lstrlenA(buf)+1, &written, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
void service_trace(const char *msg, ...)
|
void service_trace(const char *msg, ...)
|
||||||
|
|
|
@ -565,9 +565,7 @@ START_TEST(pdb)
|
||||||
{
|
{
|
||||||
char szDllName[MAX_PATH];
|
char szDllName[MAX_PATH];
|
||||||
char szDllPath[MAX_PATH], szOldDir[MAX_PATH];
|
char szDllPath[MAX_PATH], szOldDir[MAX_PATH];
|
||||||
#ifdef _M_IX86
|
|
||||||
HMODULE hMod;
|
HMODULE hMod;
|
||||||
#endif
|
|
||||||
DWORD64 BaseAddress;
|
DWORD64 BaseAddress;
|
||||||
DWORD dwErr, Options;
|
DWORD dwErr, Options;
|
||||||
|
|
||||||
|
@ -608,7 +606,6 @@ START_TEST(pdb)
|
||||||
test_SymRegCallback(proc(), szDllName, TRUE);
|
test_SymRegCallback(proc(), szDllName, TRUE);
|
||||||
test_SymRegCallback(proc(), szDllName, FALSE);
|
test_SymRegCallback(proc(), szDllName, FALSE);
|
||||||
|
|
||||||
#ifdef _M_IX86
|
|
||||||
hMod = LoadLibraryA(szDllName);
|
hMod = LoadLibraryA(szDllName);
|
||||||
if (hMod)
|
if (hMod)
|
||||||
{
|
{
|
||||||
|
@ -631,7 +628,6 @@ START_TEST(pdb)
|
||||||
|
|
||||||
FreeLibrary(hMod);
|
FreeLibrary(hMod);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
cleanup_msvc_dll();
|
cleanup_msvc_dll();
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,7 @@ test_NhGetInterfaceNameFromGuid(GUID AdapterGUID, DWORD par1, DWORD par2)
|
||||||
ULONG ulOutBufLen;
|
ULONG ulOutBufLen;
|
||||||
WCHAR Name[MAX_INTERFACE_NAME_LEN + 4];
|
WCHAR Name[MAX_INTERFACE_NAME_LEN + 4];
|
||||||
GUID UniqueGUID = MY_TEST_GUID;
|
GUID UniqueGUID = MY_TEST_GUID;
|
||||||
|
SIZE_T Length;
|
||||||
|
|
||||||
// Test NULL GUID
|
// Test NULL GUID
|
||||||
SetLastError(0xbeeffeed);
|
SetLastError(0xbeeffeed);
|
||||||
|
@ -104,11 +105,11 @@ test_NhGetInterfaceNameFromGuid(GUID AdapterGUID, DWORD par1, DWORD par2)
|
||||||
ok(ulOutBufLen > 0,
|
ok(ulOutBufLen > 0,
|
||||||
"ulOutBufLen is %ld, expected > 0\n",
|
"ulOutBufLen is %ld, expected > 0\n",
|
||||||
ulOutBufLen);
|
ulOutBufLen);
|
||||||
Error = wcslen(Name);
|
Length = wcslen(Name);
|
||||||
ok(Error > 0,
|
ok(Length > 0,
|
||||||
"wcslen(Name) is %ld, expected > 0\n",
|
"wcslen(Name) is %ld, expected > 0\n",
|
||||||
Error);
|
Length);
|
||||||
if (Error > 0)
|
if (Length > 0)
|
||||||
trace("Adapter name: \"%S\"\n", Name);
|
trace("Adapter name: \"%S\"\n", Name);
|
||||||
|
|
||||||
// Test correct values, but with new unique GUID
|
// Test correct values, but with new unique GUID
|
||||||
|
@ -159,6 +160,7 @@ test_NhGetInterfaceNameFromDeviceGuid(GUID AdapterGUID, DWORD par1, DWORD par2)
|
||||||
ULONG ulOutBufLen;
|
ULONG ulOutBufLen;
|
||||||
WCHAR Name[MAX_INTERFACE_NAME_LEN];
|
WCHAR Name[MAX_INTERFACE_NAME_LEN];
|
||||||
GUID UniqueGUID = MY_TEST_GUID;
|
GUID UniqueGUID = MY_TEST_GUID;
|
||||||
|
SIZE_T Length;
|
||||||
|
|
||||||
// Test NULL GUID
|
// Test NULL GUID
|
||||||
// Windows XP: NhGetInterfaceNameFromDeviceGuid throws exception here
|
// Windows XP: NhGetInterfaceNameFromDeviceGuid throws exception here
|
||||||
|
@ -241,11 +243,11 @@ test_NhGetInterfaceNameFromDeviceGuid(GUID AdapterGUID, DWORD par1, DWORD par2)
|
||||||
ok(ulOutBufLen > 0,
|
ok(ulOutBufLen > 0,
|
||||||
"ulOutBufLen is %ld, expected > 0\n",
|
"ulOutBufLen is %ld, expected > 0\n",
|
||||||
ulOutBufLen);
|
ulOutBufLen);
|
||||||
Error = wcslen(Name);
|
Length = wcslen(Name);
|
||||||
ok(Error > 0,
|
ok(Length > 0,
|
||||||
"wcslen(Name) is %ld, expected > 0\n",
|
"wcslen(Name) is %ld, expected > 0\n",
|
||||||
Error);
|
Length);
|
||||||
if (Error > 0)
|
if (Length > 0)
|
||||||
trace("Adapter name: \"%S\"\n", Name);
|
trace("Adapter name: \"%S\"\n", Name);
|
||||||
|
|
||||||
// Test correct values, but with new unique GUID
|
// Test correct values, but with new unique GUID
|
||||||
|
|
|
@ -76,7 +76,7 @@ WriteRegistryValue(PCHAR ValueName, PCHAR Value)
|
||||||
0,
|
0,
|
||||||
REG_SZ,
|
REG_SZ,
|
||||||
(LPBYTE)Value,
|
(LPBYTE)Value,
|
||||||
strlen(Value) + 1);
|
lstrlenA(Value) + 1);
|
||||||
|
|
||||||
/* Close the key */
|
/* Close the key */
|
||||||
RegCloseKey(ParametersKey);
|
RegCloseKey(ParametersKey);
|
||||||
|
|
|
@ -30,7 +30,7 @@ TestGetComputerNameEx(
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
trace("[%d] Reference is %ls\n", NameType, Reference);
|
trace("[%d] Reference is %ls\n", NameType, Reference);
|
||||||
ReferenceLen = wcslen(Reference);
|
ReferenceLen = lstrlenW(Reference);
|
||||||
ok(ReferenceLen < RTL_NUMBER_OF(Reference),
|
ok(ReferenceLen < RTL_NUMBER_OF(Reference),
|
||||||
"[%d] Unexpected ReferenceLen %lu\n", NameType, ReferenceLen);
|
"[%d] Unexpected ReferenceLen %lu\n", NameType, ReferenceLen);
|
||||||
if (NameType != ComputerNameDnsDomain && NameType != ComputerNamePhysicalDnsDomain)
|
if (NameType != ComputerNameDnsDomain && NameType != ComputerNamePhysicalDnsDomain)
|
||||||
|
@ -278,7 +278,7 @@ WriteRegistryValue(PCHAR ValueName, PCHAR Value)
|
||||||
0,
|
0,
|
||||||
REG_SZ,
|
REG_SZ,
|
||||||
(LPBYTE)Value,
|
(LPBYTE)Value,
|
||||||
strlen(Value) + 1);
|
lstrlenA(Value) + 1);
|
||||||
|
|
||||||
/* Close the key */
|
/* Close the key */
|
||||||
RegCloseKey(ParametersKey);
|
RegCloseKey(ParametersKey);
|
||||||
|
|
|
@ -54,7 +54,13 @@ static LONG WINAPI ExceptionFilterSSESupport(LPEXCEPTION_POINTERS exp)
|
||||||
|
|
||||||
ok((ctx->ContextFlags & CONTEXT_CONTROL) == CONTEXT_CONTROL, "Context does not contain control register.\n");
|
ok((ctx->ContextFlags & CONTEXT_CONTROL) == CONTEXT_CONTROL, "Context does not contain control register.\n");
|
||||||
|
|
||||||
|
#ifdef _M_IX86
|
||||||
ctx->Eip += 3;
|
ctx->Eip += 3;
|
||||||
|
#elif defined(_M_AMD64)
|
||||||
|
ctx->Rip += 3;
|
||||||
|
#else
|
||||||
|
#error Architecture not handled
|
||||||
|
#endif
|
||||||
|
|
||||||
return EXCEPTION_CONTINUE_EXECUTION;
|
return EXCEPTION_CONTINUE_EXECUTION;
|
||||||
}
|
}
|
||||||
|
@ -65,12 +71,17 @@ static LONG WINAPI ExceptionFilterSSEException(LPEXCEPTION_POINTERS exp)
|
||||||
{
|
{
|
||||||
PEXCEPTION_RECORD rec = exp->ExceptionRecord;
|
PEXCEPTION_RECORD rec = exp->ExceptionRecord;
|
||||||
PCONTEXT ctx = exp->ContextRecord;
|
PCONTEXT ctx = exp->ContextRecord;
|
||||||
|
#ifdef _M_AMD64
|
||||||
|
ULONG ExpectedExceptionCode = STATUS_FLOAT_DIVIDE_BY_ZERO;
|
||||||
|
#else
|
||||||
|
ULONG ExpectedExceptionCode = STATUS_FLOAT_MULTIPLE_TRAPS;
|
||||||
|
#endif
|
||||||
|
|
||||||
trace("Exception raised while dividing by 0.\n");
|
trace("Exception raised while dividing by 0.\n");
|
||||||
|
|
||||||
ok(rec->ExceptionCode == STATUS_FLOAT_MULTIPLE_TRAPS, "Exception code is 0x%08x.\n", (unsigned int)rec->ExceptionCode);
|
ok(rec->ExceptionCode == ExpectedExceptionCode, "Exception code is 0x%08x.\n", (unsigned int)rec->ExceptionCode);
|
||||||
|
|
||||||
if(rec->ExceptionCode != STATUS_FLOAT_MULTIPLE_TRAPS)
|
if(rec->ExceptionCode != ExpectedExceptionCode)
|
||||||
{
|
{
|
||||||
trace("Unexpected exception code, terminating!\n");
|
trace("Unexpected exception code, terminating!\n");
|
||||||
return EXCEPTION_EXECUTE_HANDLER;
|
return EXCEPTION_EXECUTE_HANDLER;
|
||||||
|
@ -80,7 +91,13 @@ static LONG WINAPI ExceptionFilterSSEException(LPEXCEPTION_POINTERS exp)
|
||||||
|
|
||||||
ExceptionCaught = TRUE;
|
ExceptionCaught = TRUE;
|
||||||
|
|
||||||
|
#ifdef _M_IX86
|
||||||
ctx->Eip += 3;
|
ctx->Eip += 3;
|
||||||
|
#elif defined(_M_AMD64)
|
||||||
|
ctx->Rip += 3;
|
||||||
|
#else
|
||||||
|
#error Architecture not handled
|
||||||
|
#endif
|
||||||
|
|
||||||
return EXCEPTION_CONTINUE_EXECUTION;
|
return EXCEPTION_CONTINUE_EXECUTION;
|
||||||
}
|
}
|
||||||
|
@ -96,11 +113,19 @@ VOID TestSSEExceptions(VOID)
|
||||||
p = SetUnhandledExceptionFilter(ExceptionFilterSSESupport);
|
p = SetUnhandledExceptionFilter(ExceptionFilterSSESupport);
|
||||||
ok(p == NULL, "Previous filter should be NULL\n");
|
ok(p == NULL, "Previous filter should be NULL\n");
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
|
#if defined(_M_AMD64)
|
||||||
|
{
|
||||||
|
__m128 xmm = { { 0 } };
|
||||||
|
xmm = _mm_xor_ps(xmm, xmm);
|
||||||
|
if (!ExceptionCaught) supportsSSE = TRUE;
|
||||||
|
}
|
||||||
|
#else
|
||||||
__asm
|
__asm
|
||||||
{
|
{
|
||||||
xorps xmm0, xmm0
|
xorps xmm0, xmm0
|
||||||
mov supportsSSE, 0x1
|
mov supportsSSE, 0x1
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
#else
|
#else
|
||||||
__asm__(
|
__asm__(
|
||||||
"xorps %%xmm0, %%xmm0\n"
|
"xorps %%xmm0, %%xmm0\n"
|
||||||
|
@ -124,6 +149,14 @@ VOID TestSSEExceptions(VOID)
|
||||||
|
|
||||||
/* We can't use _mm_div_ps, as it masks the exception before performing anything*/
|
/* We can't use _mm_div_ps, as it masks the exception before performing anything*/
|
||||||
#if defined(_MSC_VER)
|
#if defined(_MSC_VER)
|
||||||
|
#if defined(_M_AMD64)
|
||||||
|
{
|
||||||
|
__m128 xmm1 = { { 1., 1. } }, xmm2 = { { 0 } };
|
||||||
|
/* Wait, aren't exceptions masked? Yes, but actually no. */
|
||||||
|
xmm1 = _mm_div_ps(xmm1, xmm2);
|
||||||
|
if (!ExceptionCaught) supportsSSE = TRUE;
|
||||||
|
}
|
||||||
|
#else
|
||||||
__asm
|
__asm
|
||||||
{
|
{
|
||||||
xorps xmm0, xmm0
|
xorps xmm0, xmm0
|
||||||
|
@ -140,6 +173,7 @@ VOID TestSSEExceptions(VOID)
|
||||||
/* Clean up */
|
/* Clean up */
|
||||||
add esp, 16
|
add esp, 16
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
#else
|
#else
|
||||||
__asm__ (
|
__asm__ (
|
||||||
"xorps %%xmm0, %%xmm0\n"
|
"xorps %%xmm0, %%xmm0\n"
|
||||||
|
|
|
@ -468,7 +468,7 @@ test_Functions()
|
||||||
test_EnumBuffer(Entries[i].Signature, NULL, sizeof(Buffer), NULL, NULL,
|
test_EnumBuffer(Entries[i].Signature, NULL, sizeof(Buffer), NULL, NULL,
|
||||||
Entries[i].ErrInsuff, Entries[i].ErrSuccess);
|
Entries[i].ErrInsuff, Entries[i].ErrSuccess);
|
||||||
// Test with wrong buffer
|
// Test with wrong buffer
|
||||||
test_EnumBuffer(Entries[i].Signature, (PVOID *)0xbeeffeed, sizeof(Buffer), NULL, NULL,
|
test_EnumBuffer(Entries[i].Signature, (PVOID *)(LONG_PTR)0xbeeffeed, sizeof(Buffer), NULL, NULL,
|
||||||
Entries[i].ErrInsuff, Entries[i].ErrSuccess);
|
Entries[i].ErrInsuff, Entries[i].ErrSuccess);
|
||||||
// Test with correct buffer
|
// Test with correct buffer
|
||||||
test_EnumBuffer(Entries[i].Signature, &Buffer, sizeof(Buffer), &TableCount[i], &FirstTableID[i],
|
test_EnumBuffer(Entries[i].Signature, &Buffer, sizeof(Buffer), &TableCount[i], &FirstTableID[i],
|
||||||
|
@ -482,7 +482,7 @@ test_Functions()
|
||||||
test_GetBuffer(Entries[i].Signature, 0xbeeffeed, NULL, sizeof(Buffer),
|
test_GetBuffer(Entries[i].Signature, 0xbeeffeed, NULL, sizeof(Buffer),
|
||||||
TRUE, Entries[i].ErrInsuff, Entries[i].ErrSuccess);
|
TRUE, Entries[i].ErrInsuff, Entries[i].ErrSuccess);
|
||||||
// Test with fake ID and wrong buffer
|
// Test with fake ID and wrong buffer
|
||||||
test_GetBuffer(Entries[i].Signature, 0xbeeffeed, (PVOID *)0xbeeffeed, sizeof(Buffer),
|
test_GetBuffer(Entries[i].Signature, 0xbeeffeed, (PVOID *)(LONG_PTR)0xbeeffeed, sizeof(Buffer),
|
||||||
TRUE, Entries[i].ErrInsuff, Entries[i].ErrSuccess);
|
TRUE, Entries[i].ErrInsuff, Entries[i].ErrSuccess);
|
||||||
// Test with fake ID and correct buffer
|
// Test with fake ID and correct buffer
|
||||||
test_GetBuffer(Entries[i].Signature, 0xbeeffeed, &Buffer, sizeof(Buffer),
|
test_GetBuffer(Entries[i].Signature, 0xbeeffeed, &Buffer, sizeof(Buffer),
|
||||||
|
@ -502,7 +502,7 @@ test_Functions()
|
||||||
test_GetBuffer(Entries[i].Signature, FirstTableID[i], NULL, sizeof(Buffer),
|
test_GetBuffer(Entries[i].Signature, FirstTableID[i], NULL, sizeof(Buffer),
|
||||||
FALSE, Entries[i].ErrInsuff, Entries[i].ErrSuccess);
|
FALSE, Entries[i].ErrInsuff, Entries[i].ErrSuccess);
|
||||||
// Test with correct ID and wrong buffer
|
// Test with correct ID and wrong buffer
|
||||||
test_GetBuffer(Entries[i].Signature, FirstTableID[i], (PVOID *)0xbeeffeed, sizeof(Buffer),
|
test_GetBuffer(Entries[i].Signature, FirstTableID[i], (PVOID *)(LONG_PTR)0xbeeffeed, sizeof(Buffer),
|
||||||
FALSE, Entries[i].ErrInsuff, Entries[i].ErrSuccess);
|
FALSE, Entries[i].ErrInsuff, Entries[i].ErrSuccess);
|
||||||
// Test with correct ID and correct buffer
|
// Test with correct ID and correct buffer
|
||||||
test_GetBuffer(Entries[i].Signature, FirstTableID[i], &Buffer, sizeof(Buffer),
|
test_GetBuffer(Entries[i].Signature, FirstTableID[i], &Buffer, sizeof(Buffer),
|
||||||
|
|
|
@ -19,8 +19,8 @@ Utf8Convert_(
|
||||||
_In_ PCSTR File,
|
_In_ PCSTR File,
|
||||||
_In_ INT Line)
|
_In_ INT Line)
|
||||||
{
|
{
|
||||||
size_t WideLen;
|
int WideLen;
|
||||||
size_t Utf8Len;
|
int Utf8Len;
|
||||||
char Buffer[32];
|
char Buffer[32];
|
||||||
int Ret;
|
int Ret;
|
||||||
ULONG i;
|
ULONG i;
|
||||||
|
@ -28,8 +28,8 @@ Utf8Convert_(
|
||||||
PCSTR ExpectedUtf8;
|
PCSTR ExpectedUtf8;
|
||||||
|
|
||||||
ExpectedUtf8 = ntv6(1) ? ExpectedUtf8_Vista : ExpectedUtf8_2003;
|
ExpectedUtf8 = ntv6(1) ? ExpectedUtf8_Vista : ExpectedUtf8_2003;
|
||||||
WideLen = wcslen(WideString);
|
WideLen = lstrlenW(WideString);
|
||||||
Utf8Len = strlen(ExpectedUtf8);
|
Utf8Len = lstrlenA(ExpectedUtf8);
|
||||||
|
|
||||||
/* Get length only */
|
/* Get length only */
|
||||||
Ret = WideCharToMultiByte(CP_UTF8, 0, WideString, WideLen, NULL, 0, NULL, NULL);
|
Ret = WideCharToMultiByte(CP_UTF8, 0, WideString, WideLen, NULL, 0, NULL, NULL);
|
||||||
|
|
|
@ -20,5 +20,5 @@ START_TEST(lstrcpynW)
|
||||||
ok(!lstrcmpW(buffer, L"Copy this"), "Copy went wrong.\n");
|
ok(!lstrcmpW(buffer, L"Copy this"), "Copy went wrong.\n");
|
||||||
|
|
||||||
/* Test some invalid buffer */
|
/* Test some invalid buffer */
|
||||||
ok(lstrcpynW((LPWSTR)0xbaadf00d, L"Copy this string", 256) == NULL, "lstrncpyW should have returned NULL.\n");
|
ok(lstrcpynW((LPWSTR)(LONG_PTR)0xbaadf00d, L"Copy this string", 256) == NULL, "lstrncpyW should have returned NULL.\n");
|
||||||
}
|
}
|
||||||
|
|
|
@ -47,7 +47,7 @@ RemoveVectoredExceptionHandler(pVEH);
|
||||||
* Use Vectored Exception Handling to monitor for first-chance exceptions.
|
* Use Vectored Exception Handling to monitor for first-chance exceptions.
|
||||||
*/
|
*/
|
||||||
pVEH = AddVectoredExceptionHandler(1, VEHandler_2);
|
pVEH = AddVectoredExceptionHandler(1, VEHandler_2);
|
||||||
ok(lstrlenA( (LPSTR)0xbaadf00d) == 0, "lstrlenA should have returned 0.\n");
|
ok(lstrlenA( (LPSTR)(LONG_PTR)0xbaadf00d) == 0, "lstrlenA should have returned 0.\n");
|
||||||
ok(lstrlenW((LPWSTR)0xbaadf00d) == 0, "lstrlenW should have returned 0.\n");
|
ok(lstrlenW((LPWSTR)(LONG_PTR)0xbaadf00d) == 0, "lstrlenW should have returned 0.\n");
|
||||||
RemoveVectoredExceptionHandler(pVEH);
|
RemoveVectoredExceptionHandler(pVEH);
|
||||||
}
|
}
|
||||||
|
|
|
@ -52,7 +52,7 @@ _DoDLLInjection()
|
||||||
}
|
}
|
||||||
|
|
||||||
wcscpy(p, L".dll");
|
wcscpy(p, L".dll");
|
||||||
cbDLLPath = (wcslen(wszFilePath) + 1) * sizeof(WCHAR);
|
cbDLLPath = (lstrlenW(wszFilePath) + 1) * sizeof(WCHAR);
|
||||||
|
|
||||||
// Create a snapshot of the currently running processes.
|
// Create a snapshot of the currently running processes.
|
||||||
hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
|
hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
|
||||||
|
|
|
@ -167,7 +167,7 @@ _RunRemoteTest(const char* szTestName)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Send the test name.
|
// Send the test name.
|
||||||
if (!WriteFile(hCommandPipe, szTestName, strlen(szTestName) + sizeof(char), &cbWritten, NULL))
|
if (!WriteFile(hCommandPipe, szTestName, lstrlenA(szTestName) + sizeof(char), &cbWritten, NULL))
|
||||||
{
|
{
|
||||||
skip("WriteFile failed with error %lu!\n", GetLastError());
|
skip("WriteFile failed with error %lu!\n", GetLastError());
|
||||||
goto Cleanup;
|
goto Cleanup;
|
||||||
|
|
|
@ -142,7 +142,7 @@ BOOL extract2(char* filename, const unsigned char* data, size_t len)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
bRet = WriteFile(hFile, data, len, &dwWritten, NULL);
|
bRet = WriteFile(hFile, data, (DWORD)len, &dwWritten, NULL);
|
||||||
CloseHandle(hFile);
|
CloseHandle(hFile);
|
||||||
bRet = bRet && (dwWritten == len);
|
bRet = bRet && (dwWritten == len);
|
||||||
|
|
||||||
|
@ -187,7 +187,7 @@ void compare_file_(char* filename, const unsigned char* data, size_t len, const
|
||||||
if (buf)
|
if (buf)
|
||||||
{
|
{
|
||||||
DWORD dwRead;
|
DWORD dwRead;
|
||||||
if (ReadFile(hFile, buf, size, &dwRead, NULL) && dwRead == size)
|
if (ReadFile(hFile, buf, (DWORD)size, &dwRead, NULL) && dwRead == size)
|
||||||
{
|
{
|
||||||
ok(!memcmp(buf, data, min(size,len)), "Data mismatch, %s\n", test_name);
|
ok(!memcmp(buf, data, min(size,len)), "Data mismatch, %s\n", test_name);
|
||||||
}
|
}
|
||||||
|
@ -333,10 +333,10 @@ static void validate_patch(patch_data* current)
|
||||||
{
|
{
|
||||||
UINT crc;
|
UINT crc;
|
||||||
|
|
||||||
crc = crc32(~0, current->patch.data, current->patch.len);
|
crc = crc32(~0, current->patch.data, (UINT)current->patch.len);
|
||||||
ok(crc == 0, "Invalid patch crc 0x%x for %s\n", crc, current->name);
|
ok(crc == 0, "Invalid patch crc 0x%x for %s\n", crc, current->name);
|
||||||
|
|
||||||
crc = crc32(~0, current->patch_header.data, current->patch_header.len);
|
crc = crc32(~0, current->patch_header.data, (UINT)current->patch_header.len);
|
||||||
ok(crc == 0, "Invalid patch_header crc 0x%x for %s\n", crc, current->name);
|
ok(crc == 0, "Invalid patch_header crc 0x%x for %s\n", crc, current->name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -45,7 +45,7 @@ int APIENTRY wWinMain(HINSTANCE hInstance,
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* 1- Write the WinMain's command line. */
|
/* 1- Write the WinMain's command line. */
|
||||||
dwStringSize = (wcslen(lpCmdLine) + 1) * sizeof(WCHAR);
|
dwStringSize = (lstrlenW(lpCmdLine) + 1) * sizeof(WCHAR);
|
||||||
|
|
||||||
WriteFile(hFile,
|
WriteFile(hFile,
|
||||||
&dwStringSize,
|
&dwStringSize,
|
||||||
|
@ -60,7 +60,7 @@ int APIENTRY wWinMain(HINSTANCE hInstance,
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
/* 2- Write the Win32 mode command line. */
|
/* 2- Write the Win32 mode command line. */
|
||||||
dwStringSize = (wcslen(CmdLine) + 1) * sizeof(WCHAR);
|
dwStringSize = (lstrlenW(CmdLine) + 1) * sizeof(WCHAR);
|
||||||
|
|
||||||
WriteFile(hFile,
|
WriteFile(hFile,
|
||||||
&dwStringSize,
|
&dwStringSize,
|
||||||
|
|
|
@ -264,14 +264,14 @@ static void Test_CommandLine(IN ULONG TestNumber,
|
||||||
/*
|
/*
|
||||||
* Now check the results.
|
* Now check the results.
|
||||||
*/
|
*/
|
||||||
dwStringSize = min(wcslen(WinMainCmdLine), wcslen(Win32CmdLine));
|
dwStringSize = min(lstrlenW(WinMainCmdLine), lstrlenW(Win32CmdLine));
|
||||||
ok(wcslen(WinMainCmdLine) == wcslen(Win32CmdLine), "Test %lu - WinMain and Win32 command lines do not have the same length !\n", TestNumber);
|
ok(wcslen(WinMainCmdLine) == wcslen(Win32CmdLine), "Test %lu - WinMain and Win32 command lines do not have the same length !\n", TestNumber);
|
||||||
ok(wcsncmp(WinMainCmdLine, Win32CmdLine, dwStringSize) == 0, "Test %lu - WinMain and Win32 command lines are different !\n", TestNumber);
|
ok(wcsncmp(WinMainCmdLine, Win32CmdLine, dwStringSize) == 0, "Test %lu - WinMain and Win32 command lines are different !\n", TestNumber);
|
||||||
|
|
||||||
dwStringSize = min(wcslen(WinMainCmdLine), NTCmdLine.Length / sizeof(WCHAR));
|
dwStringSize = min(lstrlenW(WinMainCmdLine), NTCmdLine.Length / sizeof(WCHAR));
|
||||||
ok(wcsncmp(WinMainCmdLine, NTCmdLine.Buffer, dwStringSize) == 0, "Test %lu - WinMain and NT command lines are different !\n", TestNumber);
|
ok(wcsncmp(WinMainCmdLine, NTCmdLine.Buffer, dwStringSize) == 0, "Test %lu - WinMain and NT command lines are different !\n", TestNumber);
|
||||||
|
|
||||||
dwStringSize = min(wcslen(Win32CmdLine), NTCmdLine.Length / sizeof(WCHAR));
|
dwStringSize = min(lstrlenW(Win32CmdLine), NTCmdLine.Length / sizeof(WCHAR));
|
||||||
ok(wcsncmp(Win32CmdLine, NTCmdLine.Buffer, dwStringSize) == 0, "Test %lu - Win32 and NT command lines are different !\n", TestNumber);
|
ok(wcsncmp(Win32CmdLine, NTCmdLine.Buffer, dwStringSize) == 0, "Test %lu - Win32 and NT command lines are different !\n", TestNumber);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -65,7 +65,7 @@ InitializeNamedEntry(
|
||||||
DirEntry->OffsetToData = (PUCHAR)Data - (PUCHAR)Resource;
|
DirEntry->OffsetToData = (PUCHAR)Data - (PUCHAR)Resource;
|
||||||
if (DirEntry < Resource->Lang1Entries)
|
if (DirEntry < Resource->Lang1Entries)
|
||||||
DirEntry->DataIsDirectory = 1;
|
DirEntry->DataIsDirectory = 1;
|
||||||
Resource->StringBuffer[Resource->StringIndex] = wcslen(Name);
|
Resource->StringBuffer[Resource->StringIndex] = (USHORT)wcslen(Name);
|
||||||
wcscpy(&Resource->StringBuffer[Resource->StringIndex + 1], Name);
|
wcscpy(&Resource->StringBuffer[Resource->StringIndex + 1], Name);
|
||||||
Resource->StringIndex += Resource->StringBuffer[Resource->StringIndex] * 2 + 1;
|
Resource->StringIndex += Resource->StringBuffer[Resource->StringIndex] * 2 + 1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -58,6 +58,13 @@ static ULONG randULONG(void)
|
||||||
return n;
|
return n;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef _M_AMD64
|
||||||
|
static ULONG64 randULONG64(void)
|
||||||
|
{
|
||||||
|
return (ULONG64)randULONG() << 32 | randULONG();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
void check(CONTEXT * pContext)
|
void check(CONTEXT * pContext)
|
||||||
{
|
{
|
||||||
#ifdef _M_IX86
|
#ifdef _M_IX86
|
||||||
|
@ -159,6 +166,29 @@ START_TEST(NtContinue)
|
||||||
continueContext.Eip = (ULONG)((ULONG_PTR)continuePoint & 0xFFFFFFF);
|
continueContext.Eip = (ULONG)((ULONG_PTR)continuePoint & 0xFFFFFFF);
|
||||||
|
|
||||||
/* Can't do a lot about segments */
|
/* Can't do a lot about segments */
|
||||||
|
#elif defined(_M_AMD64)
|
||||||
|
continueContext.ContextFlags = CONTEXT_FULL;
|
||||||
|
|
||||||
|
/* Fill the integer registers with random values */
|
||||||
|
continueContext.Rdi = randULONG64();
|
||||||
|
continueContext.Rsi = randULONG64();
|
||||||
|
continueContext.Rbx = randULONG64();
|
||||||
|
continueContext.Rdx = randULONG64();
|
||||||
|
continueContext.Rcx = randULONG64();
|
||||||
|
continueContext.Rax = randULONG64();
|
||||||
|
continueContext.Rbp = randULONG64();
|
||||||
|
|
||||||
|
/* Randomize all the allowed flags (determined experimentally with WinDbg) */
|
||||||
|
continueContext.EFlags = randULONG64() & 0x3C0CD5;
|
||||||
|
|
||||||
|
/* Randomize the stack pointer as much as possible */
|
||||||
|
continueContext.Rsp = (((ULONG_PTR)&bogus)) +
|
||||||
|
sizeof(bogus) - (randULONG() & 0xF) * 4;
|
||||||
|
|
||||||
|
/* continuePoint() is implemented in assembler */
|
||||||
|
//continueContext.Rip = ((ULONG_PTR)continuePoint);
|
||||||
|
skip("NtContinue test does not yet work on x64.");
|
||||||
|
return;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
NtContinue(&continueContext, FALSE);
|
NtContinue(&continueContext, FALSE);
|
||||||
|
|
|
@ -1542,7 +1542,7 @@ Test_Truncate(VOID)
|
||||||
HANDLE Handle;
|
HANDLE Handle;
|
||||||
HANDLE SectionHandle;
|
HANDLE SectionHandle;
|
||||||
|
|
||||||
ULONG Length;
|
SIZE_T Length;
|
||||||
BOOL Success;
|
BOOL Success;
|
||||||
DWORD Written, Error;
|
DWORD Written, Error;
|
||||||
VOID* BaseAddress;
|
VOID* BaseAddress;
|
||||||
|
|
|
@ -7,6 +7,10 @@
|
||||||
|
|
||||||
#include "precomp.h"
|
#include "precomp.h"
|
||||||
|
|
||||||
|
#ifdef _MSC_VER
|
||||||
|
#pragma warning(disable : 4717) // disable warning about recursive function
|
||||||
|
#endif
|
||||||
|
|
||||||
static int iteration = 0;
|
static int iteration = 0;
|
||||||
static PVOID StackAllocationBase;
|
static PVOID StackAllocationBase;
|
||||||
static PVOID LastStackAllocation;
|
static PVOID LastStackAllocation;
|
||||||
|
|
|
@ -88,13 +88,13 @@ static BOOLEAN IntGetModuleInformation(LPCSTR Module, BOOLEAN IsDriver, BOOLEAN
|
||||||
if (BaseName)
|
if (BaseName)
|
||||||
{
|
{
|
||||||
strcpy(Info->Path, Module);
|
strcpy(Info->Path, Module);
|
||||||
Info->Len = strlen(Info->Path);
|
Info->Len = lstrlenA(Info->Path);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* Skip disk */
|
/* Skip disk */
|
||||||
strcpy(Info->Path, System + 2);
|
strcpy(Info->Path, System + 2);
|
||||||
Info->Len = strlen(Info->Path);
|
Info->Len = lstrlenA(Info->Path);
|
||||||
}
|
}
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
|
@ -39,7 +39,7 @@ static void create_inf_file(LPCSTR filename, const char *data)
|
||||||
HANDLE handle = CreateFileA(filename, GENERIC_WRITE, 0, NULL,
|
HANDLE handle = CreateFileA(filename, GENERIC_WRITE, 0, NULL,
|
||||||
CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
|
CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
|
||||||
assert(handle != INVALID_HANDLE_VALUE);
|
assert(handle != INVALID_HANDLE_VALUE);
|
||||||
ret = WriteFile(handle, data, strlen(data), &res, NULL);
|
ret = WriteFile(handle, data, lstrlenA(data), &res, NULL);
|
||||||
assert(ret != 0);
|
assert(ret != 0);
|
||||||
CloseHandle(handle);
|
CloseHandle(handle);
|
||||||
}
|
}
|
||||||
|
@ -277,7 +277,7 @@ static void test_SetupDiInstallClassExA(void)
|
||||||
START_TEST(SetupDiInstallClassExA)
|
START_TEST(SetupDiInstallClassExA)
|
||||||
{
|
{
|
||||||
char temp_path[MAX_PATH], prev_path[MAX_PATH];
|
char temp_path[MAX_PATH], prev_path[MAX_PATH];
|
||||||
DWORD len;
|
SIZE_T len;
|
||||||
|
|
||||||
GetCurrentDirectoryA(MAX_PATH, prev_path);
|
GetCurrentDirectoryA(MAX_PATH, prev_path);
|
||||||
GetTempPathA(MAX_PATH, temp_path);
|
GetTempPathA(MAX_PATH, temp_path);
|
||||||
|
|
|
@ -39,7 +39,7 @@ static void create_inf_file(LPCSTR filename, const char *data)
|
||||||
HANDLE handle = CreateFileA(filename, GENERIC_WRITE, 0, NULL,
|
HANDLE handle = CreateFileA(filename, GENERIC_WRITE, 0, NULL,
|
||||||
CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
|
CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
|
||||||
assert(handle != INVALID_HANDLE_VALUE);
|
assert(handle != INVALID_HANDLE_VALUE);
|
||||||
ret = WriteFile(handle, data, strlen(data), &res, NULL);
|
ret = WriteFile(handle, data, lstrlenA(data), &res, NULL);
|
||||||
assert(ret != 0);
|
assert(ret != 0);
|
||||||
CloseHandle(handle);
|
CloseHandle(handle);
|
||||||
}
|
}
|
||||||
|
|
|
@ -111,7 +111,7 @@ static void TestHDROP(PVOID pData, SIZE_T Size, LPCWSTR ExpectRoot, LPCWSTR Expe
|
||||||
|
|
||||||
LPCWSTR Expected[2] = { ExpectPath1, ExpectPath2 };
|
LPCWSTR Expected[2] = { ExpectPath1, ExpectPath2 };
|
||||||
|
|
||||||
DWORD offset = pDropFiles->pFiles;
|
SIZE_T offset = pDropFiles->pFiles;
|
||||||
UINT Count = 0;
|
UINT Count = 0;
|
||||||
for (;;Count++)
|
for (;;Count++)
|
||||||
{
|
{
|
||||||
|
|
|
@ -114,7 +114,7 @@ static void TestHDROP(PVOID pData, SIZE_T Size, LPCWSTR ExpectRoot, LPCWSTR Expe
|
||||||
|
|
||||||
LPCWSTR Expected[2] = { ExpectPath1, ExpectPath2 };
|
LPCWSTR Expected[2] = { ExpectPath1, ExpectPath2 };
|
||||||
|
|
||||||
DWORD offset = pDropFiles->pFiles;
|
SIZE_T offset = pDropFiles->pFiles;
|
||||||
UINT Count = 0;
|
UINT Count = 0;
|
||||||
for (;;Count++)
|
for (;;Count++)
|
||||||
{
|
{
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
|
|
||||||
BOOL CheckWindowClass(HWND hwnd, PCWSTR className)
|
BOOL CheckWindowClass(HWND hwnd, PCWSTR className)
|
||||||
{
|
{
|
||||||
ULONG size = (wcslen(className) + 1)* sizeof(WCHAR);
|
ULONG size = (lstrlenW(className) + 1)* sizeof(WCHAR);
|
||||||
PWCHAR buffer = (PWCHAR)malloc(size);
|
PWCHAR buffer = (PWCHAR)malloc(size);
|
||||||
if (GetClassNameW(hwnd, buffer, size ) == 0)
|
if (GetClassNameW(hwnd, buffer, size ) == 0)
|
||||||
{
|
{
|
||||||
|
|
|
@ -64,12 +64,12 @@ START_TEST(PathUnExpandEnvStrings)
|
||||||
*/
|
*/
|
||||||
ret = GetEnvironmentVariableW(L"SystemRoot", TestStr, _countof(TestStr));
|
ret = GetEnvironmentVariableW(L"SystemRoot", TestStr, _countof(TestStr));
|
||||||
ok(ret, "got %lu\n", ret);
|
ok(ret, "got %lu\n", ret);
|
||||||
len = wcslen(TestStr);
|
len = lstrlenW(TestStr);
|
||||||
ret = GetEnvironmentVariableW(L"SystemRoot", TestStr + len, _countof(TestStr) - len);
|
ret = GetEnvironmentVariableW(L"SystemRoot", TestStr + len, _countof(TestStr) - len);
|
||||||
ok(ret, "got %lu\n", ret);
|
ok(ret, "got %lu\n", ret);
|
||||||
|
|
||||||
StringCchCopyW(ExpStr, _countof(ExpStr), L"%SystemRoot%");
|
StringCchCopyW(ExpStr, _countof(ExpStr), L"%SystemRoot%");
|
||||||
len = wcslen(ExpStr);
|
len = lstrlenW(ExpStr);
|
||||||
ret = GetEnvironmentVariableW(L"SystemRoot", ExpStr + len, _countof(ExpStr) - len);
|
ret = GetEnvironmentVariableW(L"SystemRoot", ExpStr + len, _countof(ExpStr) - len);
|
||||||
ok(ret, "got %lu\n", ret);
|
ok(ret, "got %lu\n", ret);
|
||||||
DO_TEST(TRUE, TestStr, ExpStr);
|
DO_TEST(TRUE, TestStr, ExpStr);
|
||||||
|
@ -79,7 +79,7 @@ START_TEST(PathUnExpandEnvStrings)
|
||||||
* Unexpansion fails.
|
* Unexpansion fails.
|
||||||
*/
|
*/
|
||||||
StringCchCopyW(TestStr, _countof(TestStr), L"%SystemRoot%\\");
|
StringCchCopyW(TestStr, _countof(TestStr), L"%SystemRoot%\\");
|
||||||
len = wcslen(TestStr);
|
len = lstrlenW(TestStr);
|
||||||
ret = GetEnvironmentVariableW(L"ProgramFiles", TestStr + len, _countof(TestStr) - len);
|
ret = GetEnvironmentVariableW(L"ProgramFiles", TestStr + len, _countof(TestStr) - len);
|
||||||
ok(ret, "got %lu\n", ret);
|
ok(ret, "got %lu\n", ret);
|
||||||
DO_TEST(FALSE, TestStr, L"%SystemRoot%\\%ProgramFiles%");
|
DO_TEST(FALSE, TestStr, L"%SystemRoot%\\%ProgramFiles%");
|
||||||
|
@ -100,7 +100,7 @@ START_TEST(PathUnExpandEnvStrings)
|
||||||
ret = GetEnvironmentVariableW(L"SystemRoot", TestStr, _countof(TestStr));
|
ret = GetEnvironmentVariableW(L"SystemRoot", TestStr, _countof(TestStr));
|
||||||
ok(ret, "got %lu\n", ret);
|
ok(ret, "got %lu\n", ret);
|
||||||
StringCchCatW(TestStr, _countof(TestStr), L"\\notepad.exe ");
|
StringCchCatW(TestStr, _countof(TestStr), L"\\notepad.exe ");
|
||||||
len = wcslen(TestStr);
|
len = lstrlenW(TestStr);
|
||||||
ret = GetEnvironmentVariableW(L"SystemRoot", TestStr + len, _countof(TestStr) - len);
|
ret = GetEnvironmentVariableW(L"SystemRoot", TestStr + len, _countof(TestStr) - len);
|
||||||
ok(ret, "got %lu\n", ret);
|
ok(ret, "got %lu\n", ret);
|
||||||
StringCchCatW(TestStr, _countof(TestStr), L"\\file.txt");
|
StringCchCatW(TestStr, _countof(TestStr), L"\\file.txt");
|
||||||
|
@ -111,7 +111,7 @@ START_TEST(PathUnExpandEnvStrings)
|
||||||
* Unexpansion succeeds only on the first path.
|
* Unexpansion succeeds only on the first path.
|
||||||
*/
|
*/
|
||||||
StringCchCopyW(ExpStr, _countof(ExpStr), L"%SystemRoot%\\notepad.exe ");
|
StringCchCopyW(ExpStr, _countof(ExpStr), L"%SystemRoot%\\notepad.exe ");
|
||||||
len = wcslen(ExpStr);
|
len = lstrlenW(ExpStr);
|
||||||
ret = GetEnvironmentVariableW(L"SystemRoot", ExpStr + len, _countof(ExpStr) - len);
|
ret = GetEnvironmentVariableW(L"SystemRoot", ExpStr + len, _countof(ExpStr) - len);
|
||||||
ok(ret, "got %lu\n", ret);
|
ok(ret, "got %lu\n", ret);
|
||||||
StringCchCatW(ExpStr, _countof(ExpStr), L"\\file.txt");
|
StringCchCatW(ExpStr, _countof(ExpStr), L"\\file.txt");
|
||||||
|
|
|
@ -35,7 +35,7 @@ START_TEST(MarshallDownStructuresArray)
|
||||||
PPORT_INFO_2W pPortInfo2Test;
|
PPORT_INFO_2W pPortInfo2Test;
|
||||||
PBYTE pPortInfoEnd;
|
PBYTE pPortInfoEnd;
|
||||||
PCWSTR pwszStrings[] = { L"PortName", L"MonitorName", L"Description" };
|
PCWSTR pwszStrings[] = { L"PortName", L"MonitorName", L"Description" };
|
||||||
DWORD cbPortInfo2Size = cElements * (sizeof(PORT_INFO_2W) + (wcslen(pwszStrings[0]) + 1 + wcslen(pwszStrings[1]) + 1 + wcslen(pwszStrings[2]) + 1) * sizeof(WCHAR));
|
SIZE_T cbPortInfo2Size = cElements * (sizeof(PORT_INFO_2W) + (wcslen(pwszStrings[0]) + 1 + wcslen(pwszStrings[1]) + 1 + wcslen(pwszStrings[2]) + 1) * sizeof(WCHAR));
|
||||||
DWORD fPortType = 1337;
|
DWORD fPortType = 1337;
|
||||||
DWORD Reserved = 42;
|
DWORD Reserved = 42;
|
||||||
|
|
||||||
|
|
|
@ -67,47 +67,22 @@ list(APPEND SOURCE
|
||||||
#osver.c
|
#osver.c
|
||||||
win32nt.h)
|
win32nt.h)
|
||||||
|
|
||||||
add_library(win32knt_static STATIC ${SOURCE} w32knapi.rc)
|
add_executable(win32knt_apitest
|
||||||
add_dependencies(win32knt_static xdk)
|
${SOURCE}
|
||||||
add_pch(win32knt_static win32nt.h SOURCE)
|
testlist.c
|
||||||
|
w32knapi.rc)
|
||||||
|
|
||||||
set(WIN32KNT_IMPORTLIBS gdi32 user32 shell32 advapi32 msvcrt kernel32 ntdll)
|
target_link_libraries(win32knt_apitest ${PSEH_LIB} gditools)
|
||||||
|
set_module_type(win32knt_apitest win32cui)
|
||||||
if(1) # ros
|
add_importlibs(win32knt_apitest
|
||||||
add_executable(win32knt_apitest testlist.c)
|
gdi32
|
||||||
target_link_libraries(win32knt_apitest ${PSEH_LIB} win32knt_static gditools)
|
user32
|
||||||
set_module_type(win32knt_apitest win32cui)
|
shell32
|
||||||
add_importlibs(win32knt_apitest win32u ${WIN32KNT_IMPORTLIBS})
|
advapi32
|
||||||
|
msvcrt
|
||||||
add_rostests_file(TARGET win32knt_apitest)
|
kernel32
|
||||||
endif()
|
ntdll)
|
||||||
|
add_delay_importlibs(win32knt_apitest win32u)
|
||||||
if(0) # Specify 1 if you want 2ksp4 version
|
add_dependencies(win32knt_apitest xdk)
|
||||||
# See also ../win32u/CMakeLists.txt
|
add_pch(win32knt_apitest win32nt.h SOURCE)
|
||||||
add_executable(win32knt_2ksp4_apitest testlist.c)
|
add_rostests_file(TARGET win32knt_apitest)
|
||||||
target_link_libraries(win32knt_2ksp4_apitest ${PSEH_LIB} win32knt_static gditools)
|
|
||||||
set_module_type(win32knt_2ksp4_apitest win32cui)
|
|
||||||
add_importlibs(win32knt_2ksp4_apitest win32u_2ksp4 ${WIN32KNT_IMPORTLIBS})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(1) # xpsp2
|
|
||||||
add_executable(win32knt_xpsp2_apitest testlist.c)
|
|
||||||
target_link_libraries(win32knt_xpsp2_apitest ${PSEH_LIB} win32knt_static gditools)
|
|
||||||
set_module_type(win32knt_xpsp2_apitest win32cui)
|
|
||||||
add_importlibs(win32knt_xpsp2_apitest win32u_xpsp2 ${WIN32KNT_IMPORTLIBS})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(1) # 2k3sp2
|
|
||||||
add_executable(win32knt_2k3sp2_apitest testlist.c)
|
|
||||||
target_link_libraries(win32knt_2k3sp2_apitest ${PSEH_LIB} win32knt_static gditools)
|
|
||||||
set_module_type(win32knt_2k3sp2_apitest win32cui)
|
|
||||||
add_importlibs(win32knt_2k3sp2_apitest win32u_2k3sp2 ${WIN32KNT_IMPORTLIBS})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(0) # Specify 1 if you want vista version
|
|
||||||
# See also ../win32u/CMakeLists.txt
|
|
||||||
add_executable(win32knt_vista_apitest testlist.c)
|
|
||||||
target_link_libraries(win32knt_vista_apitest ${PSEH_LIB} win32knt_static gditools)
|
|
||||||
set_module_type(win32knt_vista_apitest win32cui)
|
|
||||||
add_importlibs(win32knt_vista_apitest win32u_vista ${WIN32KNT_IMPORTLIBS})
|
|
||||||
endif()
|
|
||||||
|
|
|
@ -196,7 +196,7 @@ START_TEST(NtGdiDdQueryDirectDrawObject)
|
||||||
// pHalInfo->vmiData->dwAlphaAlign
|
// pHalInfo->vmiData->dwAlphaAlign
|
||||||
|
|
||||||
/* the primary display address */
|
/* the primary display address */
|
||||||
RTEST( ( (DWORD)pHalInfo->vmiData.pvPrimary & (~0x80000000)) != 0 );
|
RTEST( ( (DWORD_PTR)pHalInfo->vmiData.pvPrimary & (~0x80000000)) != 0 );
|
||||||
|
|
||||||
/* test see if we got back the pvmList here
|
/* test see if we got back the pvmList here
|
||||||
* acording msdn vmiData.dwNumHeaps and vmiData.pvmList
|
* acording msdn vmiData.dwNumHeaps and vmiData.pvmList
|
||||||
|
@ -231,8 +231,8 @@ START_TEST(NtGdiDdQueryDirectDrawObject)
|
||||||
if (pHalInfo->dwFlags != 0)
|
if (pHalInfo->dwFlags != 0)
|
||||||
{
|
{
|
||||||
RTEST( (pHalInfo->dwFlags & (DDHALINFO_GETDRIVERINFOSET | DDHALINFO_GETDRIVERINFO2)) != 0 );
|
RTEST( (pHalInfo->dwFlags & (DDHALINFO_GETDRIVERINFOSET | DDHALINFO_GETDRIVERINFO2)) != 0 );
|
||||||
RTEST( ( (DWORD)pHalInfo->GetDriverInfo & 0x80000000) != 0 );
|
RTEST( ( (DWORD_PTR)pHalInfo->GetDriverInfo & 0x80000000) != 0 );
|
||||||
ASSERT( ((DWORD)pHalInfo->GetDriverInfo & 0x80000000) != 0 );
|
ASSERT( ((DWORD_PTR)pHalInfo->GetDriverInfo & 0x80000000) != 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
/* point to kmode direcly to the graphic drv, the drv is kmode and it is kmode address we getting back*/
|
/* point to kmode direcly to the graphic drv, the drv is kmode and it is kmode address we getting back*/
|
||||||
|
@ -244,9 +244,9 @@ START_TEST(NtGdiDdQueryDirectDrawObject)
|
||||||
*
|
*
|
||||||
* point to kmode direcly to the win32k.sys, win32k.sys is kmode and it is kmode address we getting back
|
* point to kmode direcly to the win32k.sys, win32k.sys is kmode and it is kmode address we getting back
|
||||||
*/
|
*/
|
||||||
RTEST( ( (DWORD)pHalInfo->lpD3DGlobalDriverData & (~0x80000000)) != 0 );
|
RTEST( ( (DWORD_PTR)pHalInfo->lpD3DGlobalDriverData & (~0x80000000)) != 0 );
|
||||||
RTEST( ( (DWORD)pHalInfo->lpD3DHALCallbacks & (~0x80000000)) != 0 );
|
RTEST( ( (DWORD_PTR)pHalInfo->lpD3DHALCallbacks & (~0x80000000)) != 0 );
|
||||||
RTEST( ( (DWORD)pHalInfo->lpD3DHALCallbacks & (~0x80000000)) != 0 );
|
RTEST( ( (DWORD_PTR)pHalInfo->lpD3DHALCallbacks & (~0x80000000)) != 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Backup DD_HALINFO so we do not need resting it */
|
/* Backup DD_HALINFO so we do not need resting it */
|
||||||
|
@ -504,7 +504,7 @@ START_TEST(NtGdiDdQueryDirectDrawObject)
|
||||||
if (puD3dBufferCallbacks->dwFlags & DDHAL_D3DBUFCB32_CANCREATED3DBUF)
|
if (puD3dBufferCallbacks->dwFlags & DDHAL_D3DBUFCB32_CANCREATED3DBUF)
|
||||||
{
|
{
|
||||||
/* point to kmode direcly to the graphic drv, the drv is kmode and it is kmode address we getting back*/
|
/* point to kmode direcly to the graphic drv, the drv is kmode and it is kmode address we getting back*/
|
||||||
RTEST( ( (DWORD)puD3dBufferCallbacks->CanCreateD3DBuffer & (~0x80000000)) != 0 );
|
RTEST( ( (DWORD_PTR)puD3dBufferCallbacks->CanCreateD3DBuffer & (~0x80000000)) != 0 );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -514,7 +514,7 @@ START_TEST(NtGdiDdQueryDirectDrawObject)
|
||||||
if (puD3dBufferCallbacks->dwFlags & DDHAL_D3DBUFCB32_CREATED3DBUF)
|
if (puD3dBufferCallbacks->dwFlags & DDHAL_D3DBUFCB32_CREATED3DBUF)
|
||||||
{
|
{
|
||||||
/* point to kmode direcly to the graphic drv, the drv is kmode and it is kmode address we getting back*/
|
/* point to kmode direcly to the graphic drv, the drv is kmode and it is kmode address we getting back*/
|
||||||
RTEST( ( (DWORD)puD3dBufferCallbacks->CreateD3DBuffer & (~0x80000000)) != 0 );
|
RTEST( ( (DWORD_PTR)puD3dBufferCallbacks->CreateD3DBuffer & (~0x80000000)) != 0 );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -524,7 +524,7 @@ START_TEST(NtGdiDdQueryDirectDrawObject)
|
||||||
if (puD3dBufferCallbacks->dwFlags & DDHAL_D3DBUFCB32_DESTROYD3DBUF)
|
if (puD3dBufferCallbacks->dwFlags & DDHAL_D3DBUFCB32_DESTROYD3DBUF)
|
||||||
{
|
{
|
||||||
/* point to kmode direcly to the graphic drv, the drv is kmode and it is kmode address we getting back*/
|
/* point to kmode direcly to the graphic drv, the drv is kmode and it is kmode address we getting back*/
|
||||||
RTEST( ( (DWORD)puD3dBufferCallbacks->DestroyD3DBuffer & (~0x80000000)) != 0 );
|
RTEST( ( (DWORD_PTR)puD3dBufferCallbacks->DestroyD3DBuffer & (~0x80000000)) != 0 );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -534,7 +534,7 @@ START_TEST(NtGdiDdQueryDirectDrawObject)
|
||||||
if (puD3dBufferCallbacks->dwFlags & DDHAL_D3DBUFCB32_LOCKD3DBUF)
|
if (puD3dBufferCallbacks->dwFlags & DDHAL_D3DBUFCB32_LOCKD3DBUF)
|
||||||
{
|
{
|
||||||
/* point to kmode direcly to the graphic drv, the drv is kmode and it is kmode address we getting back*/
|
/* point to kmode direcly to the graphic drv, the drv is kmode and it is kmode address we getting back*/
|
||||||
RTEST( ( (DWORD)puD3dBufferCallbacks->LockD3DBuffer & (~0x80000000)) != 0 );
|
RTEST( ( (DWORD_PTR)puD3dBufferCallbacks->LockD3DBuffer & (~0x80000000)) != 0 );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -544,7 +544,7 @@ START_TEST(NtGdiDdQueryDirectDrawObject)
|
||||||
if (puD3dBufferCallbacks->dwFlags & DDHAL_D3DBUFCB32_UNLOCKD3DBUF)
|
if (puD3dBufferCallbacks->dwFlags & DDHAL_D3DBUFCB32_UNLOCKD3DBUF)
|
||||||
{
|
{
|
||||||
/* point to kmode direcly to the graphic drv, the drv is kmode and it is kmode address we getting back*/
|
/* point to kmode direcly to the graphic drv, the drv is kmode and it is kmode address we getting back*/
|
||||||
RTEST( ( (DWORD)puD3dBufferCallbacks->UnlockD3DBuffer & (~0x80000000)) != 0 );
|
RTEST( ( (DWORD_PTR)puD3dBufferCallbacks->UnlockD3DBuffer & (~0x80000000)) != 0 );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -653,7 +653,7 @@ START_TEST(NtGdiDdQueryDirectDrawObject)
|
||||||
}
|
}
|
||||||
RTEST(myDesc->ddsCaps.dwCaps == DDSCAPS_TEXTURE);
|
RTEST(myDesc->ddsCaps.dwCaps == DDSCAPS_TEXTURE);
|
||||||
|
|
||||||
myDesc = (DDSURFACEDESC *) (((DWORD) myDesc) + sizeof(DDSURFACEDESC));
|
myDesc = (DDSURFACEDESC *) (((DWORD_PTR) myDesc) + sizeof(DDSURFACEDESC));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -51,7 +51,7 @@ void Test_NtGdiCreateBitmap_Params(void)
|
||||||
|
|
||||||
/* Test negative cy and invalid bits */
|
/* Test negative cy and invalid bits */
|
||||||
SetLastError(ERROR_SUCCESS);
|
SetLastError(ERROR_SUCCESS);
|
||||||
ok_ptr(NtGdiCreateBitmap(1, -2, 1, 1, (BYTE*)0x80001234), NULL);
|
ok_ptr(NtGdiCreateBitmap(1, -2, 1, 1, (BYTE*)(LONG_PTR)0x80001234), NULL);
|
||||||
ok_long(GetLastError(), ERROR_SUCCESS);
|
ok_long(GetLastError(), ERROR_SUCCESS);
|
||||||
|
|
||||||
/* Test huge size */
|
/* Test huge size */
|
||||||
|
@ -66,7 +66,7 @@ void Test_NtGdiCreateBitmap_Params(void)
|
||||||
|
|
||||||
/* Test huge size and invalid bits */
|
/* Test huge size and invalid bits */
|
||||||
SetLastError(ERROR_SUCCESS);
|
SetLastError(ERROR_SUCCESS);
|
||||||
ok_ptr(NtGdiCreateBitmap(100000, 100000, 1, 1, (BYTE*)0x80001234), NULL);
|
ok_ptr(NtGdiCreateBitmap(100000, 100000, 1, 1, (BYTE*)(LONG_PTR)0x80001234), NULL);
|
||||||
ok_long(GetLastError(), ERROR_SUCCESS);
|
ok_long(GetLastError(), ERROR_SUCCESS);
|
||||||
|
|
||||||
/* Test cPlanes == 0 */
|
/* Test cPlanes == 0 */
|
||||||
|
@ -148,7 +148,7 @@ void Test_NtGdiCreateBitmap_Params(void)
|
||||||
|
|
||||||
/* Test bad pointer */
|
/* Test bad pointer */
|
||||||
SetLastError(ERROR_SUCCESS);
|
SetLastError(ERROR_SUCCESS);
|
||||||
ok_ptr(NtGdiCreateBitmap(1, 1, 1, 1, (BYTE*)0x80001234), NULL);
|
ok_ptr(NtGdiCreateBitmap(1, 1, 1, 1, (BYTE*)(LONG_PTR)0x80001234), NULL);
|
||||||
ok_long(GetLastError(), ERROR_SUCCESS);
|
ok_long(GetLastError(), ERROR_SUCCESS);
|
||||||
|
|
||||||
/* Test pointer alignment */
|
/* Test pointer alignment */
|
||||||
|
|
|
@ -104,7 +104,7 @@ START_TEST(NtGdiCreateDIBSection)
|
||||||
/* Test a wrong HDC */
|
/* Test a wrong HDC */
|
||||||
SetLastError(0);
|
SetLastError(0);
|
||||||
pvBits = 0;
|
pvBits = 0;
|
||||||
hbmp = NtGdiCreateDIBSection((HDC)0xdeadbeef, NULL, 0, pbmi, 0, cjHeader, 0, 0, &pvBits);
|
hbmp = NtGdiCreateDIBSection((HDC)(LONG_PTR)0xdeadbeef, NULL, 0, pbmi, 0, cjHeader, 0, 0, &pvBits);
|
||||||
TEST(pvBits != 0);
|
TEST(pvBits != 0);
|
||||||
TEST(hbmp != 0);
|
TEST(hbmp != 0);
|
||||||
TEST(GetLastError() == 8);
|
TEST(GetLastError() == 8);
|
||||||
|
@ -122,7 +122,7 @@ START_TEST(NtGdiCreateDIBSection)
|
||||||
/* Test invalid pbmi */
|
/* Test invalid pbmi */
|
||||||
SetLastError(0);
|
SetLastError(0);
|
||||||
pvBits = (PVOID)-1;
|
pvBits = (PVOID)-1;
|
||||||
hbmp = NtGdiCreateDIBSection(hDC, NULL, 0, (PVOID)0x80001234, 0, cjHeader, 0, 0, &pvBits);
|
hbmp = NtGdiCreateDIBSection(hDC, NULL, 0, (PVOID)(LONG_PTR)0x80001234, 0, cjHeader, 0, 0, &pvBits);
|
||||||
TEST(pvBits == (PVOID)-1);
|
TEST(pvBits == (PVOID)-1);
|
||||||
TEST(hbmp == 0);
|
TEST(hbmp == 0);
|
||||||
TEST(GetLastError() == ERROR_INVALID_PARAMETER);
|
TEST(GetLastError() == ERROR_INVALID_PARAMETER);
|
||||||
|
@ -131,7 +131,7 @@ START_TEST(NtGdiCreateDIBSection)
|
||||||
/* Test invalid pbmi */
|
/* Test invalid pbmi */
|
||||||
SetLastError(0);
|
SetLastError(0);
|
||||||
pvBits = (PVOID)-1;
|
pvBits = (PVOID)-1;
|
||||||
hbmp = NtGdiCreateDIBSection(hDC, NULL, 0, (PVOID)1, 0, cjHeader, 0, 0, &pvBits);
|
hbmp = NtGdiCreateDIBSection(hDC, NULL, 0, (PVOID)(LONG_PTR)1, 0, cjHeader, 0, 0, &pvBits);
|
||||||
TEST(pvBits == (PVOID)-1);
|
TEST(pvBits == (PVOID)-1);
|
||||||
TEST(hbmp == 0);
|
TEST(hbmp == 0);
|
||||||
TEST(GetLastError() == ERROR_INVALID_PARAMETER);
|
TEST(GetLastError() == ERROR_INVALID_PARAMETER);
|
||||||
|
|
|
@ -40,7 +40,7 @@ START_TEST(NtGdiExtTextOutW)
|
||||||
hDC = GetDC(hWnd);
|
hDC = GetDC(hWnd);
|
||||||
|
|
||||||
lpstr = L"Hallo";
|
lpstr = L"Hallo";
|
||||||
len = wcslen(lpstr);
|
len = lstrlenW(lpstr);
|
||||||
|
|
||||||
ret = NtGdiExtTextOutW(hDC, 0, 0, 0, &rect, lpstr, len, Dx, 0);
|
ret = NtGdiExtTextOutW(hDC, 0, 0, 0, &rect, lpstr, len, Dx, 0);
|
||||||
ok_int(ret, 1);
|
ok_int(ret, 1);
|
||||||
|
|
|
@ -128,7 +128,7 @@ Test_Params(void)
|
||||||
TEST(GetLastError() == 0);
|
TEST(GetLastError() == 0);
|
||||||
|
|
||||||
SetLastError(0);
|
SetLastError(0);
|
||||||
ret = NtGdiPolyPolyDraw(hDC, Points, (PVOID)0x81000000, 2, 1);
|
ret = NtGdiPolyPolyDraw(hDC, Points, (PVOID)(LONG_PTR)0x81000000, 2, 1);
|
||||||
TEST(ret == 0);
|
TEST(ret == 0);
|
||||||
TEST(GetLastError() == 0);
|
TEST(GetLastError() == 0);
|
||||||
|
|
||||||
|
@ -138,7 +138,7 @@ Test_Params(void)
|
||||||
TEST(GetLastError() == 0);
|
TEST(GetLastError() == 0);
|
||||||
|
|
||||||
SetLastError(0);
|
SetLastError(0);
|
||||||
ret = NtGdiPolyPolyDraw(hDC, (PVOID)0x81000000, Count1, 2, 1);
|
ret = NtGdiPolyPolyDraw(hDC, (PVOID)(LONG_PTR)0x81000000, Count1, 2, 1);
|
||||||
TEST(ret == 0);
|
TEST(ret == 0);
|
||||||
TEST(GetLastError() == 0);
|
TEST(GetLastError() == 0);
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@ START_TEST(NtUserProcessConnect)
|
||||||
hProcess = GetCurrentProcess();
|
hProcess = GetCurrentProcess();
|
||||||
|
|
||||||
UserConnect.ulVersion = MAKELONG(0, 5);
|
UserConnect.ulVersion = MAKELONG(0, 5);
|
||||||
Status = NtUserProcessConnect(hProcess, (USERCONNECT*)&UserConnect, sizeof(USERCONNECT));
|
Status = NtUserProcessConnect(hProcess, &UserConnect, sizeof(USERCONNECT));
|
||||||
TEST(NT_SUCCESS(Status));
|
TEST(NT_SUCCESS(Status));
|
||||||
|
|
||||||
printf("UserConnect.ulVersion = 0x%lx\n", UserConnect.ulVersion);
|
printf("UserConnect.ulVersion = 0x%lx\n", UserConnect.ulVersion);
|
||||||
|
@ -25,6 +25,6 @@ START_TEST(NtUserProcessConnect)
|
||||||
printf("UserConnect.siClient.psi = 0x%p\n", UserConnect.siClient.psi);
|
printf("UserConnect.siClient.psi = 0x%p\n", UserConnect.siClient.psi);
|
||||||
printf("UserConnect.siClient.aheList = 0x%p\n", UserConnect.siClient.aheList);
|
printf("UserConnect.siClient.aheList = 0x%p\n", UserConnect.siClient.aheList);
|
||||||
printf("UserConnect.siClient.pDispInfo = 0x%p\n", UserConnect.siClient.pDispInfo);
|
printf("UserConnect.siClient.pDispInfo = 0x%p\n", UserConnect.siClient.pDispInfo);
|
||||||
printf("UserConnect.siClient.ulSharedDelta = 0x%lx\n", UserConnect.siClient.ulSharedDelta);
|
printf("UserConnect.siClient.ulSharedDelta = 0x%Ix\n", UserConnect.siClient.ulSharedDelta);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -84,7 +84,7 @@ START_TEST(NtUserScrollDC)
|
||||||
|
|
||||||
/* Test invalid update rect */
|
/* Test invalid update rect */
|
||||||
SetLastError(ERROR_SUCCESS);
|
SetLastError(ERROR_SUCCESS);
|
||||||
Result = NtUserScrollDC(hDC, 10, 20, &rcScroll, &rcClip, hRgn, (PVOID)0x80001000);
|
Result = NtUserScrollDC(hDC, 10, 20, &rcScroll, &rcClip, hRgn, (PVOID)(LONG_PTR)0x80001000);
|
||||||
RTEST(Result == 0);
|
RTEST(Result == 0);
|
||||||
RTEST(GetLastError() == ERROR_NOACCESS);
|
RTEST(GetLastError() == ERROR_NOACCESS);
|
||||||
|
|
||||||
|
|
|
@ -313,7 +313,7 @@ Test_NtUserSystemParametersInfo_Params(void)
|
||||||
#endif
|
#endif
|
||||||
/* Test invalid pointer */
|
/* Test invalid pointer */
|
||||||
SetLastError(ERROR_SUCCESS);
|
SetLastError(ERROR_SUCCESS);
|
||||||
TEST(NtUserSystemParametersInfo(SPI_GETFOCUSBORDERHEIGHT, 0, (PVOID)0x80000000, 0) == FALSE);
|
TEST(NtUserSystemParametersInfo(SPI_GETFOCUSBORDERHEIGHT, 0, (PVOID)(LONG_PTR)0x80000000, 0) == FALSE);
|
||||||
TEST(GetLastError() == ERROR_NOACCESS);
|
TEST(GetLastError() == ERROR_NOACCESS);
|
||||||
for(i = 0; i < 1000; i++) data[i] = 0xdeadbeef;
|
for(i = 0; i < 1000; i++) data[i] = 0xdeadbeef;
|
||||||
|
|
||||||
|
@ -452,7 +452,7 @@ Test_UserPref(UINT uiGet, UINT uiSet, DWORD dwPrefMask)
|
||||||
TEST((dwUserPref & (~dwPrefMask)) == (dwUserPrefOrg & (~dwPrefMask)));
|
TEST((dwUserPref & (~dwPrefMask)) == (dwUserPrefOrg & (~dwPrefMask)));
|
||||||
|
|
||||||
/* Restore original value */
|
/* Restore original value */
|
||||||
NtUserSystemParametersInfo(uiSet, 0, (PVOID)bOrig, SPIF_UPDATEINIFILE);
|
NtUserSystemParametersInfo(uiSet, 0, (PVOID)(ULONG_PTR)bOrig, SPIF_UPDATEINIFILE);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -744,7 +744,7 @@ Test_SPI_SETNONCLIENTMETRICS(void)
|
||||||
|
|
||||||
metrics.cbSize = sizeof(NONCLIENTMETRICSW);
|
metrics.cbSize = sizeof(NONCLIENTMETRICSW);
|
||||||
TEST(NtUserSystemParametersInfo(SPI_GETNONCLIENTMETRICS, sizeof(NONCLIENTMETRICSW), &metrics, 0) == 1);
|
TEST(NtUserSystemParametersInfo(SPI_GETNONCLIENTMETRICS, sizeof(NONCLIENTMETRICSW), &metrics, 0) == 1);
|
||||||
TEST(NtUserSystemParametersInfo(SPI_GETNONCLIENTMETRICS, sizeof(NONCLIENTMETRICSW), (PVOID)0xdeadbeef, 0) == 0);
|
TEST(NtUserSystemParametersInfo(SPI_GETNONCLIENTMETRICS, sizeof(NONCLIENTMETRICSW), (PVOID)(LONG_PTR)0xdeadbeef, 0) == 0);
|
||||||
|
|
||||||
origMetrics = metrics;
|
origMetrics = metrics;
|
||||||
|
|
||||||
|
@ -764,7 +764,7 @@ Test_SPI_SETMINIMIZEDMETRICS(void)
|
||||||
|
|
||||||
metrics.cbSize = sizeof(MINIMIZEDMETRICS);
|
metrics.cbSize = sizeof(MINIMIZEDMETRICS);
|
||||||
TEST(NtUserSystemParametersInfo(SPI_GETMINIMIZEDMETRICS, sizeof(MINIMIZEDMETRICS), (PVOID)&metrics, 0) == 1);
|
TEST(NtUserSystemParametersInfo(SPI_GETMINIMIZEDMETRICS, sizeof(MINIMIZEDMETRICS), (PVOID)&metrics, 0) == 1);
|
||||||
TEST(NtUserSystemParametersInfo(SPI_GETMINIMIZEDMETRICS, sizeof(MINIMIZEDMETRICS), (PVOID)0xdeadbeef, 0) == 0);
|
TEST(NtUserSystemParametersInfo(SPI_GETMINIMIZEDMETRICS, sizeof(MINIMIZEDMETRICS), (PVOID)(LONG_PTR)0xdeadbeef, 0) == 0);
|
||||||
|
|
||||||
origMetrics = metrics;
|
origMetrics = metrics;
|
||||||
|
|
||||||
|
@ -784,7 +784,7 @@ Test_SPI_SETICONMETRICS(void)
|
||||||
|
|
||||||
metrics.cbSize = sizeof(ICONMETRICSW);
|
metrics.cbSize = sizeof(ICONMETRICSW);
|
||||||
TEST(NtUserSystemParametersInfo(SPI_GETICONMETRICS, sizeof(ICONMETRICSW), (PVOID)&metrics, 0) == 1);
|
TEST(NtUserSystemParametersInfo(SPI_GETICONMETRICS, sizeof(ICONMETRICSW), (PVOID)&metrics, 0) == 1);
|
||||||
TEST(NtUserSystemParametersInfo(SPI_GETICONMETRICS, sizeof(ICONMETRICSW), (PVOID)0xdeadbeef, 0) == 0);
|
TEST(NtUserSystemParametersInfo(SPI_GETICONMETRICS, sizeof(ICONMETRICSW), (PVOID)(LONG_PTR)0xdeadbeef, 0) == 0);
|
||||||
|
|
||||||
origMetrics = metrics;
|
origMetrics = metrics;
|
||||||
|
|
||||||
|
@ -817,7 +817,7 @@ Test_SPI_SETWORKAREA(void)
|
||||||
TEST(NtUserSystemParametersInfo(SPI_GETWORKAREA, 1, &rc, 0) == 1);
|
TEST(NtUserSystemParametersInfo(SPI_GETWORKAREA, 1, &rc, 0) == 1);
|
||||||
TEST(NtUserSystemParametersInfo(SPI_GETWORKAREA, -1, &rc, 0) == 1);
|
TEST(NtUserSystemParametersInfo(SPI_GETWORKAREA, -1, &rc, 0) == 1);
|
||||||
TEST(NtUserSystemParametersInfo(SPI_GETWORKAREA, 0xdeadbeef, &rc, 0) == 1);
|
TEST(NtUserSystemParametersInfo(SPI_GETWORKAREA, 0xdeadbeef, &rc, 0) == 1);
|
||||||
TEST(NtUserSystemParametersInfo(SPI_GETWORKAREA, 0, (PVOID)0xdeadbeef, 0) == 0);
|
TEST(NtUserSystemParametersInfo(SPI_GETWORKAREA, 0, (PVOID)(LONG_PTR)0xdeadbeef, 0) == 0);
|
||||||
|
|
||||||
/* Test values */
|
/* Test values */
|
||||||
rc = rcOrig; rc.left = -1;
|
rc = rcOrig; rc.left = -1;
|
||||||
|
@ -1032,7 +1032,7 @@ Test_SPI_SETMENUANIMATION(void)
|
||||||
|
|
||||||
|
|
||||||
/* Restore original values */
|
/* Restore original values */
|
||||||
NtUserSystemParametersInfo(SPI_SETMENUANIMATION, 0, (PVOID)bOrig, SPIF_UPDATEINIFILE);
|
NtUserSystemParametersInfo(SPI_SETMENUANIMATION, 0, (PVOID)(ULONG_PTR)bOrig, SPIF_UPDATEINIFILE);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Test_SPI_SETCOMBOBOXANIMATION();
|
// Test_SPI_SETCOMBOBOXANIMATION();
|
||||||
|
|
|
@ -95,7 +95,7 @@ void Test_WSARecv()
|
||||||
|
|
||||||
/* Send the GET request */
|
/* Send the GET request */
|
||||||
buffers.buf = szGetRequest;
|
buffers.buf = szGetRequest;
|
||||||
buffers.len = strlen(szGetRequest);
|
buffers.len = lstrlenA(szGetRequest);
|
||||||
dwSent = 0;
|
dwSent = 0;
|
||||||
iResult = WSASend(sck, &buffers, 1, &dwSent, 0, &overlapped, NULL);
|
iResult = WSASend(sck, &buffers, 1, &dwSent, 0, &overlapped, NULL);
|
||||||
err = WSAGetLastError();
|
err = WSAGetLastError();
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
ok_dec((ai)->ai_family, family); \
|
ok_dec((ai)->ai_family, family); \
|
||||||
ok_dec((ai)->ai_socktype, socktype); \
|
ok_dec((ai)->ai_socktype, socktype); \
|
||||||
ok_dec((ai)->ai_protocol, protocol); \
|
ok_dec((ai)->ai_protocol, protocol); \
|
||||||
ok_dec((ai)->ai_addrlen, addrlen); \
|
ok_dec((int)(ai)->ai_addrlen, addrlen); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
#define ok_sockaddr_in(sockaddr, family, port, addr) do \
|
#define ok_sockaddr_in(sockaddr, family, port, addr) do \
|
||||||
|
|
|
@ -57,7 +57,7 @@ GetHostnameFromCommand(
|
||||||
goto Cleanup;
|
goto Cleanup;
|
||||||
|
|
||||||
/* Delete the expected ending line feed character */
|
/* Delete the expected ending line feed character */
|
||||||
len = strlen(pszHostnameBuffer);
|
len = lstrlenA(pszHostnameBuffer);
|
||||||
if (pszHostnameBuffer[len-1] == '\r' || pszHostnameBuffer[len-1] == '\n')
|
if (pszHostnameBuffer[len-1] == '\r' || pszHostnameBuffer[len-1] == '\n')
|
||||||
pszHostnameBuffer[len-1] = ANSI_NULL;
|
pszHostnameBuffer[len-1] = ANSI_NULL;
|
||||||
|
|
||||||
|
@ -143,7 +143,7 @@ START_TEST(gethostname)
|
||||||
/* Change Hostname in the Registry */
|
/* Change Hostname in the Registry */
|
||||||
szHostNameNew[0] = ANSI_NULL;
|
szHostNameNew[0] = ANSI_NULL;
|
||||||
strcat(szHostNameNew, "ROSHOSTNAME1");
|
strcat(szHostNameNew, "ROSHOSTNAME1");
|
||||||
cbData = strlen(szHostNameNew) + 1;
|
cbData = lstrlenA(szHostNameNew) + 1;
|
||||||
|
|
||||||
Error = RegSetValueExA(hKeyHN, "Hostname", 0, REG_SZ, (LPBYTE)szHostNameNew, cbData);
|
Error = RegSetValueExA(hKeyHN, "Hostname", 0, REG_SZ, (LPBYTE)szHostNameNew, cbData);
|
||||||
ok(Error == ERROR_SUCCESS, "Error setting new registry value (%ld).\n", GetLastError());
|
ok(Error == ERROR_SUCCESS, "Error setting new registry value (%ld).\n", GetLastError());
|
||||||
|
@ -176,7 +176,7 @@ START_TEST(gethostname)
|
||||||
ok(pos == 0, "hostbuffer '%s' should have been szHostNameNew '%s'.\n", hostbuffer, szHostNameNew);
|
ok(pos == 0, "hostbuffer '%s' should have been szHostNameNew '%s'.\n", hostbuffer, szHostNameNew);
|
||||||
|
|
||||||
/* Reset the original registry entry */
|
/* Reset the original registry entry */
|
||||||
cbData = strlen(szHostNameOld) + 1;
|
cbData = lstrlenA(szHostNameOld) + 1;
|
||||||
|
|
||||||
Error = RegSetValueExA(hKeyHN, "Hostname", 0, REG_SZ, (LPBYTE)szHostNameOld, cbData);
|
Error = RegSetValueExA(hKeyHN, "Hostname", 0, REG_SZ, (LPBYTE)szHostNameOld, cbData);
|
||||||
ok(Error == ERROR_SUCCESS, "Error resetting new registry value back (%ld).\n", GetLastError());
|
ok(Error == ERROR_SUCCESS, "Error resetting new registry value back (%ld).\n", GetLastError());
|
||||||
|
@ -204,7 +204,7 @@ START_TEST(gethostname)
|
||||||
/* Change Hostname in the Registry */
|
/* Change Hostname in the Registry */
|
||||||
szHostNameNew[0] = ANSI_NULL;
|
szHostNameNew[0] = ANSI_NULL;
|
||||||
strcat(szHostNameNew, "ROSHOSTNAME1");
|
strcat(szHostNameNew, "ROSHOSTNAME1");
|
||||||
cbData = strlen(szHostNameNew) + 1;
|
cbData = lstrlenA(szHostNameNew) + 1;
|
||||||
|
|
||||||
Error = RegSetValueExA(hKeyHN, "Hostname", 0, REG_SZ, (LPBYTE)szHostNameNew, cbData);
|
Error = RegSetValueExA(hKeyHN, "Hostname", 0, REG_SZ, (LPBYTE)szHostNameNew, cbData);
|
||||||
ok(Error == ERROR_SUCCESS, "Error setting new registry value (%ld).\n", GetLastError());
|
ok(Error == ERROR_SUCCESS, "Error setting new registry value (%ld).\n", GetLastError());
|
||||||
|
@ -222,7 +222,7 @@ START_TEST(gethostname)
|
||||||
ok(pos == 0, "szHostNameNew '%s' should be hostbuffer '%s'.\n", szHostNameNew, hostbuffer);
|
ok(pos == 0, "szHostNameNew '%s' should be hostbuffer '%s'.\n", szHostNameNew, hostbuffer);
|
||||||
|
|
||||||
/* Reset the original registry entry */
|
/* Reset the original registry entry */
|
||||||
cbData = strlen(szHostNameOld) + 1;
|
cbData = lstrlenA(szHostNameOld) + 1;
|
||||||
|
|
||||||
Error = RegSetValueExA(hKeyHN, "Hostname", 0, REG_SZ, (LPBYTE)szHostNameOld, cbData);
|
Error = RegSetValueExA(hKeyHN, "Hostname", 0, REG_SZ, (LPBYTE)szHostNameOld, cbData);
|
||||||
ok(Error == ERROR_SUCCESS, "Error resetting new registry value back (%ld).\n", GetLastError());
|
ok(Error == ERROR_SUCCESS, "Error resetting new registry value back (%ld).\n", GetLastError());
|
||||||
|
|
|
@ -49,7 +49,7 @@ int GetRequestAndWait(SOCKET sck)
|
||||||
struct fd_set readable;
|
struct fd_set readable;
|
||||||
|
|
||||||
/* Send the GET request */
|
/* Send the GET request */
|
||||||
SCKTEST(send(sck, szGetRequest, strlen(szGetRequest), 0));
|
SCKTEST(send(sck, szGetRequest, lstrlenA(szGetRequest), 0));
|
||||||
ok(iResult == strlen(szGetRequest), "iResult = %d\n", iResult);
|
ok(iResult == strlen(szGetRequest), "iResult = %d\n", iResult);
|
||||||
#if 0 /* breaks windows too */
|
#if 0 /* breaks windows too */
|
||||||
/* Shutdown the SEND connection */
|
/* Shutdown the SEND connection */
|
||||||
|
|
|
@ -481,7 +481,7 @@ KmtFltAddAltitude(
|
||||||
0,
|
0,
|
||||||
REG_SZ,
|
REG_SZ,
|
||||||
(LPBYTE)DefaultInstance,
|
(LPBYTE)DefaultInstance,
|
||||||
(wcslen(DefaultInstance) + 1) * sizeof(WCHAR));
|
(lstrlenW(DefaultInstance) + 1) * sizeof(WCHAR));
|
||||||
if (Error != ERROR_SUCCESS)
|
if (Error != ERROR_SUCCESS)
|
||||||
{
|
{
|
||||||
goto Quit;
|
goto Quit;
|
||||||
|
@ -498,7 +498,7 @@ KmtFltAddAltitude(
|
||||||
0,
|
0,
|
||||||
REG_SZ,
|
REG_SZ,
|
||||||
(LPBYTE)Altitude,
|
(LPBYTE)Altitude,
|
||||||
(wcslen(Altitude) + 1) * sizeof(WCHAR));
|
(lstrlenW(Altitude) + 1) * sizeof(WCHAR));
|
||||||
if (Error != ERROR_SUCCESS)
|
if (Error != ERROR_SUCCESS)
|
||||||
{
|
{
|
||||||
goto Quit;
|
goto Quit;
|
||||||
|
|
|
@ -291,7 +291,7 @@ NpWaitPipe(
|
||||||
ok_eq_hex(IoStatusBlock.Status, Status);
|
ok_eq_hex(IoStatusBlock.Status, Status);
|
||||||
ok_eq_ulongptr(IoStatusBlock.Information, FILE_OPENED);
|
ok_eq_ulongptr(IoStatusBlock.Information, FILE_OPENED);
|
||||||
|
|
||||||
NameLength = wcslen(PipeName) * sizeof(WCHAR);
|
NameLength = (ULONG)(wcslen(PipeName) * sizeof(WCHAR));
|
||||||
BufferSize = FIELD_OFFSET(FILE_PIPE_WAIT_FOR_BUFFER,
|
BufferSize = FIELD_OFFSET(FILE_PIPE_WAIT_FOR_BUFFER,
|
||||||
Name[NameLength / sizeof(WCHAR)]);
|
Name[NameLength / sizeof(WCHAR)]);
|
||||||
WaitForBuffer = ExAllocatePoolWithTag(NonPagedPool, BufferSize, 'WPmK');
|
WaitForBuffer = ExAllocatePoolWithTag(NonPagedPool, BufferSize, 'WPmK');
|
||||||
|
|
|
@ -242,8 +242,8 @@ Substitute(
|
||||||
PWCHAR Dest = Buffer;
|
PWCHAR Dest = Buffer;
|
||||||
UNICODE_STRING String;
|
UNICODE_STRING String;
|
||||||
|
|
||||||
SystemDriveLength = wcslen(SystemDriveName) * sizeof(WCHAR);
|
SystemDriveLength = (ULONG)wcslen(SystemDriveName) * sizeof(WCHAR);
|
||||||
SystemRootLength = wcslen(SystemRootName) * sizeof(WCHAR);
|
SystemRootLength = (ULONG)wcslen(SystemRootName) * sizeof(WCHAR);
|
||||||
|
|
||||||
RtlInitUnicodeString(&String, Template);
|
RtlInitUnicodeString(&String, Template);
|
||||||
ASSERT(String.Length % sizeof(WCHAR) == 0);
|
ASSERT(String.Length % sizeof(WCHAR) == 0);
|
||||||
|
|
|
@ -24,7 +24,7 @@ Test_RtlUnicodeStringPrintf()
|
||||||
{
|
{
|
||||||
NTSTATUS Status;
|
NTSTATUS Status;
|
||||||
PWSTR pBuffer = NULL;
|
PWSTR pBuffer = NULL;
|
||||||
size_t BufferSize;
|
USHORT BufferSize;
|
||||||
size_t EqualBytes;
|
size_t EqualBytes;
|
||||||
UNICODE_STRING UsString;
|
UNICODE_STRING UsString;
|
||||||
|
|
||||||
|
@ -103,7 +103,7 @@ Test_RtlUnicodeStringPrintfEx()
|
||||||
{
|
{
|
||||||
NTSTATUS Status;
|
NTSTATUS Status;
|
||||||
PWSTR pBuffer = NULL;
|
PWSTR pBuffer = NULL;
|
||||||
size_t BufferSize;
|
USHORT BufferSize;
|
||||||
size_t EqualBytes;
|
size_t EqualBytes;
|
||||||
UNICODE_STRING RemString;
|
UNICODE_STRING RemString;
|
||||||
UNICODE_STRING UsString;
|
UNICODE_STRING UsString;
|
||||||
|
|
|
@ -90,7 +90,7 @@ void
|
||||||
CJournaledTestList::SerializeIntoJournal(const string& String)
|
CJournaledTestList::SerializeIntoJournal(const string& String)
|
||||||
{
|
{
|
||||||
DWORD BytesWritten;
|
DWORD BytesWritten;
|
||||||
WriteFile(m_hJournal, String.c_str(), String.size() + 1, &BytesWritten, NULL);
|
WriteFile(m_hJournal, String.c_str(), (ULONG)String.size() + 1, &BytesWritten, NULL);
|
||||||
FlushFileBuffers(m_hJournal);
|
FlushFileBuffers(m_hJournal);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -106,7 +106,7 @@ void
|
||||||
CJournaledTestList::SerializeIntoJournal(const wstring& String)
|
CJournaledTestList::SerializeIntoJournal(const wstring& String)
|
||||||
{
|
{
|
||||||
DWORD BytesWritten;
|
DWORD BytesWritten;
|
||||||
WriteFile(m_hJournal, String.c_str(), (String.size() + 1) * sizeof(WCHAR), &BytesWritten, NULL);
|
WriteFile(m_hJournal, String.c_str(), ((ULONG)String.size() + 1) * sizeof(WCHAR), &BytesWritten, NULL);
|
||||||
FlushFileBuffers(m_hJournal);
|
FlushFileBuffers(m_hJournal);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -77,7 +77,7 @@ CWebService::DoRequest(const string& InputData)
|
||||||
Data.reset(new char[InputData.size() + 1]);
|
Data.reset(new char[InputData.size() + 1]);
|
||||||
strcpy(Data, InputData.c_str());
|
strcpy(Data, InputData.c_str());
|
||||||
|
|
||||||
if(!HttpSendRequestW(m_hHTTPRequest, szHeaders, wcslen(szHeaders), Data, InputData.size()))
|
if(!HttpSendRequestW(m_hHTTPRequest, szHeaders, lstrlenW(szHeaders), Data, (DWORD)InputData.size()))
|
||||||
FATAL("HttpSendRequestW failed\n");
|
FATAL("HttpSendRequestW failed\n");
|
||||||
|
|
||||||
/* Get the response */
|
/* Get the response */
|
||||||
|
|
|
@ -71,7 +71,7 @@ static const char* convert_input_data(const char *data, DWORD size, DWORD *new_s
|
||||||
}
|
}
|
||||||
*ptr = '\0';
|
*ptr = '\0';
|
||||||
|
|
||||||
*new_size = strlen(new_data);
|
*new_size = lstrlenA(new_data);
|
||||||
return new_data;
|
return new_data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -190,7 +190,7 @@ LRESULT CALLBACK MainWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
|
||||||
|
|
||||||
const WCHAR szString[] = {ALEF, BET, GIMEL, DALET, HEY, 'A', 'B', 'C', 'D', VAV, ZAYIN, HET, TET, YUD, 0};
|
const WCHAR szString[] = {ALEF, BET, GIMEL, DALET, HEY, 'A', 'B', 'C', 'D', VAV, ZAYIN, HET, TET, YUD, 0};
|
||||||
const WCHAR szReversedString[] = {HEY, DALET, GIMEL, BET, ALEF, 'A', 'B', 'C', 'D', YUD, TET, HET, ZAYIN, VAV, 0};
|
const WCHAR szReversedString[] = {HEY, DALET, GIMEL, BET, ALEF, 'A', 'B', 'C', 'D', YUD, TET, HET, ZAYIN, VAV, 0};
|
||||||
int Len = wcslen(szString);
|
int Len = lstrlenW(szString);
|
||||||
int i, xpos, tempLength;
|
int i, xpos, tempLength;
|
||||||
WCHAR tempString[20] = { 0 };
|
WCHAR tempString[20] = { 0 };
|
||||||
WCHAR Glyphs[100] = { 0 };
|
WCHAR Glyphs[100] = { 0 };
|
||||||
|
@ -247,15 +247,15 @@ LRESULT CALLBACK MainWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
|
||||||
for (i = 0, xpos = 10; i < Len; i++, xpos += 30)
|
for (i = 0, xpos = 10; i < Len; i++, xpos += 30)
|
||||||
{
|
{
|
||||||
StringCchPrintfW(tempString, 20, L"%d", i);
|
StringCchPrintfW(tempString, 20, L"%d", i);
|
||||||
tempLength = wcslen(tempString);
|
tempLength = lstrlenW(tempString);
|
||||||
TextOutW(hdc, xpos, 430, tempString, tempLength);
|
TextOutW(hdc, xpos, 430, tempString, tempLength);
|
||||||
|
|
||||||
StringCchPrintfW(tempString, 20, L"%d", lpOrder[i]);
|
StringCchPrintfW(tempString, 20, L"%d", lpOrder[i]);
|
||||||
tempLength = wcslen(tempString);
|
tempLength = lstrlenW(tempString);
|
||||||
TextOutW(hdc, xpos, 450, tempString, tempLength);
|
TextOutW(hdc, xpos, 450, tempString, tempLength);
|
||||||
|
|
||||||
StringCchPrintfW(tempString, 20, L"%d", lpCaretPos[i]);
|
StringCchPrintfW(tempString, 20, L"%d", lpCaretPos[i]);
|
||||||
tempLength = wcslen(tempString);
|
tempLength = lstrlenW(tempString);
|
||||||
TextOutW(hdc, xpos, 470, tempString, tempLength);
|
TextOutW(hdc, xpos, 470, tempString, tempLength);
|
||||||
|
|
||||||
TextOutW(hdc, xpos, 490, &szString[i], 1);
|
TextOutW(hdc, xpos, 490, &szString[i], 1);
|
||||||
|
@ -271,15 +271,15 @@ LRESULT CALLBACK MainWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
|
||||||
for (i = 0, xpos = 10; i < Len; i++, xpos += 30)
|
for (i = 0, xpos = 10; i < Len; i++, xpos += 30)
|
||||||
{
|
{
|
||||||
StringCchPrintfW(tempString, 20, L"%d", i);
|
StringCchPrintfW(tempString, 20, L"%d", i);
|
||||||
tempLength = wcslen(tempString);
|
tempLength = lstrlenW(tempString);
|
||||||
TextOutW(hdc, xpos, 530, tempString, tempLength);
|
TextOutW(hdc, xpos, 530, tempString, tempLength);
|
||||||
|
|
||||||
StringCchPrintfW(tempString, 20, L"%d", lpOrder[i]);
|
StringCchPrintfW(tempString, 20, L"%d", lpOrder[i]);
|
||||||
tempLength = wcslen(tempString);
|
tempLength = lstrlenW(tempString);
|
||||||
TextOutW(hdc, xpos, 550, tempString, tempLength);
|
TextOutW(hdc, xpos, 550, tempString, tempLength);
|
||||||
|
|
||||||
StringCchPrintfW(tempString, 20, L"%d", lpCaretPos[i]);
|
StringCchPrintfW(tempString, 20, L"%d", lpCaretPos[i]);
|
||||||
tempLength = wcslen(tempString);
|
tempLength = lstrlenW(tempString);
|
||||||
TextOutW(hdc, xpos, 570, tempString, tempLength);
|
TextOutW(hdc, xpos, 570, tempString, tempLength);
|
||||||
|
|
||||||
TextOutW(hdc, xpos, 590, &szString[i], 1);
|
TextOutW(hdc, xpos, 590, &szString[i], 1);
|
||||||
|
|
|
@ -32,15 +32,15 @@ static void DrawTest(HDC hdc, int ypos, LPCWSTR str, DWORD dwFlags, int testtype
|
||||||
|
|
||||||
if (testtype == LPK)
|
if (testtype == LPK)
|
||||||
{
|
{
|
||||||
ret = LpkPSMTextOut(hdc, 0, ypos, str, (!str) ? 10 : wcslen(str), dwFlags);
|
ret = LpkPSMTextOut(hdc, 0, ypos, str, (!str) ? 10 : lstrlenW(str), dwFlags);
|
||||||
StringCchPrintfW(Result, 100, L"Return Value = %d", ret);
|
StringCchPrintfW(Result, 100, L"Return Value = %d", ret);
|
||||||
TextOutW(hdc, 200, ypos, Result, wcslen(Result));
|
TextOutW(hdc, 200, ypos, Result, lstrlenW(Result));
|
||||||
}
|
}
|
||||||
else if (testtype == USERLPK)
|
else if (testtype == USERLPK)
|
||||||
{
|
{
|
||||||
ret = UserLpkPSMTextOut(hdc, 400, ypos, str, wcslen(str), dwFlags);
|
ret = UserLpkPSMTextOut(hdc, 400, ypos, str, lstrlenW(str), dwFlags);
|
||||||
StringCchPrintfW(Result, 100, L"Return Value = %d", ret);
|
StringCchPrintfW(Result, 100, L"Return Value = %d", ret);
|
||||||
TextOutW(hdc, 600, ypos, Result, wcslen(Result));
|
TextOutW(hdc, 600, ypos, Result, lstrlenW(Result));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,18 @@
|
||||||
|
|
||||||
add_definitions(-D__ROS_LONG64__)
|
add_definitions(-D__ROS_LONG64__)
|
||||||
|
|
||||||
if (MSVC AND ARCH STREQUAL "amd64")
|
if (MSVC)
|
||||||
add_compile_flags("/wd4312")
|
add_compile_flags("/wd4090") # C4090: 'function': different 'const' qualifiers
|
||||||
|
add_compile_flags("/wd4133") # C4133: 'function': incompatible types - from '<enum> *' to 'UINT *'
|
||||||
|
add_compile_flags("/wd4146") # C4146: unary minus operator applied to unsigned type, result still unsigned
|
||||||
|
add_compile_flags("/wd4189") # C4189: 'x': local variable is initialized but not referenced
|
||||||
|
add_compile_flags("/wd4267") # C4267: '=': conversion from 'size_t' to 'int', possible loss of data
|
||||||
|
add_compile_flags("/wd4305") # C4305: '=': truncation from 'double' to 'FLOAT'
|
||||||
|
if (ARCH STREQUAL "amd64")
|
||||||
|
add_compile_flags("/wd4101") # C4101: 'x': unreferenced local variable
|
||||||
|
add_compile_flags("/wd4312") # C4312: 'type cast': conversion from 'unsigned int' to 'char *' of greater size
|
||||||
|
add_compile_flags("/wd4334") # C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_subdirectory(advapi32)
|
add_subdirectory(advapi32)
|
||||||
|
|
|
@ -31,12 +31,16 @@ extern "C" {
|
||||||
|
|
||||||
extern __m128 _mm_load_ss(float const*);
|
extern __m128 _mm_load_ss(float const*);
|
||||||
extern int _mm_cvt_ss2si(__m128);
|
extern int _mm_cvt_ss2si(__m128);
|
||||||
|
__m128 _mm_xor_ps(__m128 a, __m128 b);
|
||||||
|
__m128 _mm_div_ps(__m128 a, __m128 b);
|
||||||
|
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
unsigned int _mm_getcsr(void);
|
unsigned int _mm_getcsr(void);
|
||||||
#pragma intrinsic(_mm_getcsr)
|
#pragma intrinsic(_mm_getcsr)
|
||||||
void _mm_setcsr(unsigned int);
|
void _mm_setcsr(unsigned int);
|
||||||
#pragma intrinsic(_mm_setcsr)
|
#pragma intrinsic(_mm_setcsr)
|
||||||
|
#pragma intrinsic(_mm_xor_ps)
|
||||||
|
#pragma intrinsic(_mm_div_ps)
|
||||||
#else
|
#else
|
||||||
|
|
||||||
#ifndef __INTRIN_INLINE
|
#ifndef __INTRIN_INLINE
|
||||||
|
|
|
@ -2072,7 +2072,11 @@ BOOL WINAPI IsOS(DWORD);
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
const IID *piid;
|
const IID *piid;
|
||||||
|
#if defined(__REACTOS__) || (WINVER >= _WIN32_WINNT_WIN10)
|
||||||
|
DWORD dwOffset;
|
||||||
|
#else
|
||||||
int dwOffset;
|
int dwOffset;
|
||||||
|
#endif
|
||||||
} QITAB, *LPQITAB;
|
} QITAB, *LPQITAB;
|
||||||
|
|
||||||
HRESULT
|
HRESULT
|
||||||
|
|
|
@ -1367,15 +1367,16 @@ protected:
|
||||||
// get the total size of a multistring
|
// get the total size of a multistring
|
||||||
static ULONG _GetMultiStringSize(LPCTSTR pszz)
|
static ULONG _GetMultiStringSize(LPCTSTR pszz)
|
||||||
{
|
{
|
||||||
int count = 0;
|
size_t count = 0;
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
int len = _tcslen(pszz);
|
size_t len = _tcslen(pszz);
|
||||||
count += len + 1;
|
count += len + 1;
|
||||||
pszz += len + 1;
|
pszz += len + 1;
|
||||||
} while (*pszz != TEXT('\0'));
|
} while (*pszz != TEXT('\0'));
|
||||||
++count;
|
++count;
|
||||||
return count * sizeof(TCHAR);
|
ATLASSERT(count * sizeof(TCHAR) <= ULONGMAX);
|
||||||
|
return (ULONG)count * sizeof(TCHAR);
|
||||||
}
|
}
|
||||||
|
|
||||||
// delete key recursively
|
// delete key recursively
|
||||||
|
|
Loading…
Reference in a new issue