31static HRESULT (
WINAPI *pGetRequestedRuntimeInfo)(
LPCWSTR,
LPCWSTR,
LPCWSTR,
DWORD,
DWORD,
LPWSTR,
DWORD,
DWORD*,
LPWSTR,
DWORD,
DWORD*);
41 win_skip(
"mscoree.dll not available\n");
51 if (!pGetCORVersion || !pGetCORSystemDirectory || !pGetRequestedRuntimeInfo || !pLoadLibraryShim)
53 win_skip(
"functions not available\n");
63 const WCHAR v9_0[] = {
'v',
'9',
'.',
'0',
'.',
'3',
'0',
'3',
'1',
'9',0};
64 const WCHAR v2_0cap[] = {
'V',
'2',
'.',
'0',
'.',
'5',
'0',
'7',
'2',
'7',0};
65 const WCHAR v2_0[] = {
'v',
'2',
'.',
'0',
'.',
'5',
'0',
'7',
'2',
'7',0};
66 const WCHAR v2_0_0[] = {
'v',
'2',
'.',
'0',
'.',
'0',0};
67 const WCHAR v1_1[] = {
'v',
'1',
'.',
'1',
'.',
'4',
'3',
'2',
'2',0};
68 const WCHAR v1_1_0[] = {
'v',
'1',
'.',
'1',
'.',
'0',0};
86 skip(
"No .NET runtimes are installed\n");
93 ok(
hr ==
S_OK,
"GetCORVersion returned %08x\n",
hr);
98 ok(
hr ==
S_OK,
"GetCORSystemDirectory returned %08x\n",
hr);
119 hr = pGetRequestedRuntimeInfo(
NULL,
v2_0,
NULL, 0, 0,
path,
MAX_PATH, &
path_len,
version,
MAX_PATH, &
size);
123 ok(
hr ==
S_OK,
"GetRequestedRuntimeInfo returned %08x\n",
hr);
126 hr = pGetRequestedRuntimeInfo(
NULL, v1_1,
NULL, 0, 0,
path,
MAX_PATH, &
path_len,
version,
MAX_PATH, &
size);
131 hr = pGetRequestedRuntimeInfo(
NULL,
NULL,
NULL, 0, 0,
path,
MAX_PATH, &
path_len,
version,
MAX_PATH, &
size);
134 hr = pGetRequestedRuntimeInfo(
NULL,
NULL,
NULL, 0,
RUNTIME_INFO_UPGRADE_VERSION,
path,
MAX_PATH, &
path_len,
version,
MAX_PATH, &
size);
135 ok(
hr ==
S_OK,
"GetRequestedRuntimeInfo returned %08x\n",
hr);
137 hr = pGetRequestedRuntimeInfo(
NULL,
v2_0,
NULL, 0, 0,
path, 1, &
path_len,
version,
MAX_PATH, &
size);
142 hr = pGetRequestedRuntimeInfo(
NULL,
v2_0,
NULL, 0, 0,
NULL,
MAX_PATH, &
path_len,
version,
MAX_PATH, &
size);
143 ok(
hr ==
S_OK,
"GetRequestedRuntimeInfo returned %08x\n",
hr);
147 hr = pGetRequestedRuntimeInfo(
NULL,
v2_0,
NULL, 0, 0,
path,
MAX_PATH, &
path_len,
version,
MAX_PATH,
NULL);
148 ok(
hr ==
S_OK,
"GetRequestedRuntimeInfo returned %08x\n",
hr);
152 hr = pGetRequestedRuntimeInfo(
NULL, v2_0cap,
NULL, 0, 0,
path,
MAX_PATH, &
path_len,
version,
MAX_PATH,
NULL);
153 ok(
hr ==
S_OK,
"GetRequestedRuntimeInfo returned %08x\n",
hr);
158 hr = pGetRequestedRuntimeInfo(
NULL, v1_1,
NULL, 0,
RUNTIME_INFO_UPGRADE_VERSION,
path,
MAX_PATH, &
path_len,
version,
MAX_PATH,
NULL);
169 hr = pGetRequestedRuntimeInfo(
NULL, v9_0,
NULL, 0,
RUNTIME_INFO_UPGRADE_VERSION,
path,
MAX_PATH, &
path_len,
version,
MAX_PATH,
NULL);
173 hr = pGetRequestedRuntimeInfo(
NULL, v1_1_0,
NULL, 0, 0,
path,
MAX_PATH, &
path_len,
version,
MAX_PATH,
NULL);
177 hr = pGetRequestedRuntimeInfo(
NULL, v1_1_0,
NULL, 0,
RUNTIME_INFO_UPGRADE_VERSION,
path,
MAX_PATH, &
path_len,
version,
MAX_PATH,
NULL);
178 ok(
hr ==
S_OK,
"GetRequestedRuntimeInfo returned %08x\n",
hr);
182 hr = pGetRequestedRuntimeInfo(
NULL, v2_0_0,
NULL, 0, 0,
path,
MAX_PATH, &
path_len,
version,
MAX_PATH,
NULL);
186 hr = pGetRequestedRuntimeInfo(
NULL, v2_0_0,
NULL, 0,
RUNTIME_INFO_UPGRADE_VERSION,
path,
MAX_PATH, &
path_len,
version,
MAX_PATH,
NULL);
187 ok(
hr ==
S_OK,
"GetRequestedRuntimeInfo returned %08x\n",
hr);
193 const WCHAR v4_0[] = {
'v',
'4',
'.',
'0',
'.',
'3',
'0',
'3',
'1',
'9',0};
194 const WCHAR v2_0[] = {
'v',
'2',
'.',
'0',
'.',
'5',
'0',
'7',
'2',
'7',0};
195 const WCHAR v1_1[] = {
'v',
'1',
'.',
'1',
'.',
'4',
'3',
'2',
'2',0};
196 const WCHAR vbogus[] = {
'v',
'b',
'o',
'g',
'u',
's',0};
197 const WCHAR fusion[] = {
'f',
'u',
's',
'i',
'o',
'n',0};
198 const WCHAR fusiondll[] = {
'f',
'u',
's',
'i',
'o',
'n',
'.',
'd',
'l',
'l',0};
199 const WCHAR nosuchdll[] = {
'j',
'n',
'v',
'n',
'l',
'.',
'd',
'l',
'l',0};
200 const WCHAR gdidll[] = {
'g',
'd',
'i',
'3',
'2',
'.',
'd',
'l',
'l',0};
207 hr = pLoadLibraryShim(fusion, v1_1,
NULL, &
hdll);
235 hr = pLoadLibraryShim(fusion, v4_0,
NULL, &
hdll);
251 hr = pLoadLibraryShim(fusion, vbogus,
NULL, &
hdll);
259 ok(
hr ==
S_OK,
"LoadLibraryShim failed, hr=%x\n",
hr);
272 ok(
hr ==
S_OK,
"LoadLibraryShim failed, hr=%x\n",
hr);
284 hr = pLoadLibraryShim(nosuchdll, latest,
NULL, &
hdll);
289 hr = pLoadLibraryShim(gdidll, latest,
NULL, &
hdll);
296 "<?xml version=\"1.0\" ?>\n"
297 "<!DOCTYPE Config>\n"
299 " <Name>Test</Name>\n"
300 " <Value>1234</Value>\n"
305 DWORD dwNumberOfBytesWritten;
316 WCHAR file[] = {
'c',
'o',
'n',
'f',
'.',
'x',
'm',
'l', 0};
317 WCHAR nonexistent[] = {
'n',
'o',
'n',
'e',
'x',
'i',
's',
't',
'.',
'x',
'm',
'l', 0};
322 if (!pCreateConfigStream)
324 win_skip(
"CreateConfigStream not available\n");
335 "CreateConfigStream returned %x\n",
hr);
359 ok(
hr ==
S_OK,
"IStream_Read failed, hr=%x\n",
hr);
374 hr = IStream_Clone(
stream, &stream2);
377 hr = IStream_Commit(
stream, STGC_DEFAULT);
384 ok(
hr ==
S_OK,
"IStream_Release returned hr=%x\n",
hr);
int strcmp(const char *String1, const char *String2)
ACPI_SIZE strlen(const char *String)
#define CLR_E_SHIM_RUNTIME
#define COR_E_FILENOTFOUND
#define COR_E_NULLREFERENCE
#define ERROR_INSUFFICIENT_BUFFER
static IUnknown **const WCHAR v2_0[]
LPSTR WINAPI StrStrIA(LPCSTR lpszStr, LPCSTR lpszSearch)
#define GetProcAddress(x, y)
#define INVALID_HANDLE_VALUE
#define FILE_ATTRIBUTE_NORMAL
#define WideCharToMultiByte
static const WCHAR version[]
BOOL WINAPI DeleteFileW(IN LPCWSTR lpFileName)
BOOL WINAPI WriteFile(IN HANDLE hFile, IN LPCVOID lpBuffer, IN DWORD nNumberOfBytesToWrite OPTIONAL, OUT LPDWORD lpNumberOfBytesWritten, IN LPOVERLAPPED lpOverlapped OPTIONAL)
HINSTANCE WINAPI DECLSPEC_HOTPATCH LoadLibraryA(LPCSTR lpLibFileName)
DWORD WINAPI GetModuleFileNameA(HINSTANCE hModule, LPSTR lpFilename, DWORD nSize)
DWORD WINAPI GetFullPathNameW(IN LPCWSTR lpFileName, IN DWORD nBufferLength, OUT LPWSTR lpBuffer, OUT LPWSTR *lpFilePart)
GLuint GLuint GLsizei count
static const WCHAR nonexistent[]
static DWORD *static DWORD *static DWORD DWORD *static HMODULE *static IStream **static BOOL init_functionpointers(void)
static const char xmldata[]
static void test_createconfigstream(void)
static DWORD *static DWORD *static LPCWSTR
static void create_xml_file(LPCWSTR filename)
static DWORD *static DWORD *static DWORD DWORD *static LPVOID
static void test_versioninfo(void)
static DWORD *static DWORD *static LPWSTR
static void test_loadlibraryshim(void)
@ RUNTIME_INFO_UPGRADE_VERSION
static int winetest_strcmpW(const WCHAR *str1, const WCHAR *str2)
#define HRESULT_FROM_WIN32(x)
#define ERROR_PROC_NOT_FOUND