Lei Zhang : quartz: Add referenceclock QueryInterface test.

Alexandre Julliard julliard at winehq.org
Thu Dec 13 08:23:16 CST 2007


Module: wine
Branch: master
Commit: 29cc256b9a92e91258a0df69a6c09f3a3641ac01
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=29cc256b9a92e91258a0df69a6c09f3a3641ac01

Author: Lei Zhang <thestig at google.com>
Date:   Thu Dec 13 03:12:42 2007 -0800

quartz: Add referenceclock QueryInterface test.

---

 dlls/quartz/tests/referenceclock.c |   21 +++++++++++++++++++++
 1 files changed, 21 insertions(+), 0 deletions(-)

diff --git a/dlls/quartz/tests/referenceclock.c b/dlls/quartz/tests/referenceclock.c
index 2e50c5a..628fee0 100644
--- a/dlls/quartz/tests/referenceclock.c
+++ b/dlls/quartz/tests/referenceclock.c
@@ -27,6 +27,26 @@
 #include "dshow.h"
 #include "control.h"
 
+static void test_IReferenceClock_query_interface(const char * clockdesc, IReferenceClock * pClock)
+{
+    HRESULT hr;
+    IUnknown *pF;
+
+    hr = IReferenceClock_QueryInterface(pClock, &IID_IUnknown, (LPVOID *)&pF);
+    ok(hr == S_OK, "IReferenceClock_QueryInterface returned %x\n", hr);
+    ok(pF != NULL, "pF is NULL\n");
+
+    hr = IReferenceClock_QueryInterface(pClock, &IID_IDirectDraw, (LPVOID *)&pF);
+    ok(hr == E_NOINTERFACE, "IReferenceClock_QueryInterface returned %x\n", hr);
+    todo_wine {
+    ok(pF == NULL, "pF is not NULL\n");
+    }
+
+    hr = IReferenceClock_QueryInterface(pClock, &IID_IReferenceClock, (LPVOID *)&pF);
+    ok(hr == S_OK, "IReferenceClock_QueryInterface returned %x\n", hr);
+    ok(pF != NULL, "pF is NULL\n");
+}
+
 /* The following method expects a reference clock that will keep ticking for
  * at least 5 seconds since its creation. This method assumes no other methods
  * were called on the IReferenceClock interface since its creation.
@@ -81,6 +101,7 @@ static void test_IReferenceClock_SystemClock(void)
     ok(hr == S_OK, "Unable to create reference clock from system clock %x\n", hr);
     if (hr == S_OK)
     {
+        test_IReferenceClock_query_interface("SystemClock", pReferenceClock);
 	test_IReferenceClock_methods("SystemClock", pReferenceClock);
 	IReferenceClock_Release(pReferenceClock);
     }




More information about the wine-cvs mailing list