29{
31 L"wine,version=\"1.2.3.4\",type=\"win32\",processorArchitecture=\"x86\",publicKeyToken=\"1234567890abcdef\"";
38
42
45
46 hr = IAssemblyCache_QueryAssemblyInfo(
cache, 0,
L"",
NULL );
48
49 hr = IAssemblyCache_QueryAssemblyInfo(
cache, 0,
L"wine",
NULL );
51
52 hr = IAssemblyCache_QueryAssemblyInfo(
cache, 0,
L"wine,version=\"1.2.3.4\"",
NULL );
54
55 hr = IAssemblyCache_QueryAssemblyInfo(
cache, 0,
L"wine,version=\"1.2.3.4\",type=\"win32\"",
NULL );
57
58 hr = IAssemblyCache_QueryAssemblyInfo(
cache, 0,
L"wine,version=\"1.2.3.4\",type=\"win32\",processorArchitecture=\"x86\"",
61
64
66 lstrcatA( comctl_path1,
"\\winsxs\\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.2600.2982_none_deadbeef" );
68 lstrcatA( comctl_path2,
"\\winsxs\\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.3636_none_a863d714867441db" );
70 comctlW =
L"microsoft.windows.common-controls,version=\"6.0.2600.2982\",type=\"win32\",processorArchitecture=\"x86\","
71 "publicKeyToken=\"6595b64144ccf1df\"";
73 comctlW =
L"microsoft.windows.common-controls,version=\"6.0.19041.3636\",type=\"win32\",processorArchitecture=\"x86\","
74 "publicKeyToken=\"6595b64144ccf1df\"";
75 else
76 {
77 skip(
"no assembly to test with\n" );
78 IAssemblyCache_Release(
cache );
79 return;
80 }
81
82 hr = IAssemblyCache_QueryAssemblyInfo(
cache, 0, comctlW,
NULL );
84
89
92 hr = IAssemblyCache_QueryAssemblyInfo(
cache, 0, comctlW, &
info );
94 ok(
info.dwAssemblyFlags == 1,
"got %08lx\n",
info.dwAssemblyFlags );
95 ok( !
info.uliAssemblySizeInKB.u.LowPart,
"got %lu\n",
info.uliAssemblySizeInKB.u.LowPart );
96 ok(
info.pszCurrentAssemblyPathBuf ==
NULL,
"got %p\n",
info.pszCurrentAssemblyPathBuf );
98
101 info.pszCurrentAssemblyPathBuf =
path;
103 hr = IAssemblyCache_QueryAssemblyInfo(
cache, 0, comctlW, &
info );
105 ok(
info.dwAssemblyFlags == 1,
"got %08lx\n",
info.dwAssemblyFlags );
106 ok( !
info.uliAssemblySizeInKB.u.LowPart,
"got %lu\n",
info.uliAssemblySizeInKB.u.LowPart );
108 ok(
path[0],
"empty path\n" );
111
114 info.pszCurrentAssemblyPathBuf =
path;
115 hr = IAssemblyCache_QueryAssemblyInfo(
cache, 0, comctlW, &
info );
117 ok(
info.dwAssemblyFlags == 1,
"got %08lx\n",
info.dwAssemblyFlags );
118 ok( !
info.uliAssemblySizeInKB.u.LowPart,
"got %lu\n",
info.uliAssemblySizeInKB.u.LowPart );
120
123 hr = IAssemblyCache_QueryAssemblyInfo(
cache, 1, comctlW, &
info );
125 ok( !
info.dwAssemblyFlags,
"got %08lx\n",
info.dwAssemblyFlags );
126 ok( !
info.uliAssemblySizeInKB.u.LowPart,
"got %lu\n",
info.uliAssemblySizeInKB.u.LowPart );
127 ok(
info.pszCurrentAssemblyPathBuf ==
NULL,
"got %p\n",
info.pszCurrentAssemblyPathBuf );
129
132 hr = IAssemblyCache_QueryAssemblyInfo(
cache, 2, comctlW, &
info );
134 ok( !
info.dwAssemblyFlags,
"got %08lx\n",
info.dwAssemblyFlags );
135 ok( !
info.uliAssemblySizeInKB.u.LowPart,
"got %lu\n",
info.uliAssemblySizeInKB.u.LowPart );
136 ok(
info.pszCurrentAssemblyPathBuf ==
NULL,
"got %p\n",
info.pszCurrentAssemblyPathBuf );
138
141 info.pszCurrentAssemblyPathBuf =
path;
144 hr = IAssemblyCache_QueryAssemblyInfo(
cache, 2, comctlW, &
info );
146 ok( !
info.dwAssemblyFlags,
"got %08lx\n",
info.dwAssemblyFlags );
147 ok( !
info.uliAssemblySizeInKB.u.LowPart,
"got %lu\n",
info.uliAssemblySizeInKB.u.LowPart );
150
151 IAssemblyCache_Release(
cache );
152}
#define ERROR_INSUFFICIENT_BUFFER
HRESULT WINAPI CreateAssemblyCache(IAssemblyCache **ppAsmCache, DWORD dwReserved)
DWORD WINAPI GetFileAttributesW(LPCWSTR lpFileName)
DWORD WINAPI GetFileAttributesA(LPCSTR lpFileName)
UINT WINAPI GetWindowsDirectoryA(OUT LPSTR lpBuffer, IN UINT uSize)
LPWSTR WINAPI lstrcatW(LPWSTR lpString1, LPCWSTR lpString2)
LPSTR WINAPI lstrcatA(LPSTR lpString1, LPCSTR lpString2)
#define INVALID_FILE_ATTRIBUTES
static HRESULT HRESULT_FROM_WIN32(unsigned int x)
#define ERROR_SXS_MISSING_ASSEMBLY_IDENTITY_ATTRIBUTE