{ \
while (expected_method_list->flags & TEST_OPTIONAL && \
strcmp(expected_method_list->method, method_name) != 0) \
- expected_method_list++; \
+ expected_method_list++; \
ok(!strcmp(expected_method_list->method, method_name), "Expected %s to be called instead of %s\n", \
expected_method_list->method, method_name); \
expected_method_list++; \
{
IOleObject_Release(pObject);
CHECK_NO_EXTRA_METHODS();
-}
+ }
}
static BOOL STDMETHODCALLTYPE draw_continue(ULONG_PTR param)
g_showRunnable = TRUE;
}
+static HRESULT WINAPI Unknown_QueryInterface(IUnknown *iface, REFIID riid, void **ppv)
+{
+ *ppv = NULL;
+ if (IsEqualIID(riid, &IID_IUnknown)) *ppv = iface;
+ if (*ppv)
+ {
+ IUnknown_AddRef((IUnknown *)*ppv);
+ return S_OK;
+ }
+ return E_NOINTERFACE;
+}
+
+static ULONG WINAPI Unknown_AddRef(IUnknown *iface)
+{
+ return 2;
+}
+
+static ULONG WINAPI Unknown_Release(IUnknown *iface)
+{
+ return 1;
+}
+
+static const IUnknownVtbl UnknownVtbl =
+{
+ Unknown_QueryInterface,
+ Unknown_AddRef,
+ Unknown_Release
+};
+
+static IUnknown Unknown = { &UnknownVtbl };
+
+static void test_OleLockRunning(void)
+{
+ HRESULT hr;
+
+ hr = OleLockRunning((LPUNKNOWN)&Unknown, TRUE, FALSE);
+ ok(hr == S_OK, "OleLockRunning failed 0x%08x\n", hr);
+}
+
START_TEST(ole2)
{
DWORD dwRegister;
test_data_cache();
test_default_handler();
test_runnable();
+ test_OleLockRunning();
CoUninitialize();
}