69 pStiCreateInstance = (
void*)
71 pStiCreateInstanceA = (
void*)
73 pStiCreateInstanceW = (
void*)
86 if (pStiCreateInstance)
102 ok(0,
"could not create StillImageA, hr = 0x%X\n",
hr);
116 ok(0,
"could not create StillImageW, hr = 0x%X\n",
hr);
119 skip(
"No StiCreateInstance function\n");
121 if (pStiCreateInstanceA)
137 todo_wine ok(0,
"could not create StillImageA, hr = 0x%X\n",
hr);
140 skip(
"No StiCreateInstanceA function\n");
142 if (pStiCreateInstanceW)
158 ok(0,
"could not create StillImageW, hr = 0x%X\n",
hr);
161 skip(
"No StiCreateInstanceW function\n");
166 if (pStiCreateInstanceW)
181 IStillImageW *pStiW2 =
NULL;
198 ok(pStiW != pStiW2,
"the aggregated IStillImageW and its queried IStillImageW unexpectedly match\n");
207 ok(0,
"could not query for IID_IStillImageW, hr = 0x%x\n",
hr);
212 ok(0,
"could not create StillImageW, hr = 0x%X\n",
hr);
216 hr =
CoCreateInstance(&CLSID_Sti, &aggregator, CLSCTX_ALL, &IID_IStillImageW, (
void**)&pStiW);
217 ok(
FAILED(
hr),
"CoCreateInstance unexpectedly succeeded when querying for IStillImageW during aggregation\n");
223 "CoCreateInstance unexpectedly failed when querying for IUnknown during aggregation, hr = 0x%x\n",
hr);
228 skip(
"No StiCreateInstanceW function\n");
233 static WCHAR appName[] = {
'w',
'i',
'n',
'e',
's',
't',
'i',
't',
'e',
's',
't',
'a',
'p',
'p',0};
234 IStillImageW *pStiW =
NULL;
237 if (pStiCreateInstanceW ==
NULL)
239 win_skip(
"No StiCreateInstanceW function\n");
248 skip(
"Not authorized to register a launch application\n");
252 ok(
SUCCEEDED(
hr),
"could not unregister launch application, error 0x%X\n",
hr);
255 ok(0,
"could not register launch application, error 0x%X\n",
hr);
259 ok(0,
"could not create StillImageW, hr = 0x%X\n",
hr);
274 skip(
"could not load sti.dll\n");
278 skip(
"CoInitialize failed\n");
#define GetProcAddress(x, y)
HMODULE WINAPI DECLSPEC_HOTPATCH GetModuleHandleA(LPCSTR lpModuleName)
HINSTANCE WINAPI DECLSPEC_HOTPATCH LoadLibraryA(LPCSTR lpLibFileName)
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
HRESULT WINAPI CoInitialize(LPVOID lpReserved)
void WINAPI DECLSPEC_HOTPATCH CoUninitialize(void)
const char * appName(const char *argv0)
static void test_stillimage_aggregation(void)
static BOOL init_function_pointers(void)
static ULONG WINAPI aggregator_Release(IUnknown *iface)
static BOOL aggregator_addref_called
static struct IUnknownVtbl aggregator_vtbl
static void test_launch_app_registry(void)
static void test_version_flag_versus_aw(void)
static ULONG WINAPI aggregator_AddRef(IUnknown *iface)
static HRESULT WINAPI aggregator_QueryInterface(IUnknown *iface, REFIID riid, void **ppvObject)
#define STI_VERSION_FLAG_UNICODE
struct IStillImageW * PSTIW
struct IStillImageA * PSTIA
#define IStillImage_AddRef(p)
#define IStillImage_QueryInterface(p, a, b)
#define IStillImage_Release(p)
#define IStillImage_UnregisterLaunchApplication(p, a)
#define IStillImage_RegisterLaunchApplication(p, a, b)
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD _Outptr_opt_ void ** ppvObject
#define CLASS_E_NOAGGREGATION