Henri Verbeet : dxgi: Implement IDXGIDevice::GetParent().

Alexandre Julliard julliard at winehq.org
Thu Dec 3 10:29:53 CST 2009


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

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Thu Dec  3 11:38:20 2009 +0100

dxgi: Implement IDXGIDevice::GetParent().

---

 dlls/dxgi/device.c |   17 +++++++++++++++--
 1 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/dlls/dxgi/device.c b/dlls/dxgi/device.c
index 9741d0e..8562d67 100644
--- a/dlls/dxgi/device.c
+++ b/dlls/dxgi/device.c
@@ -112,9 +112,22 @@ static HRESULT STDMETHODCALLTYPE dxgi_device_GetPrivateData(IWineDXGIDevice *ifa
 
 static HRESULT STDMETHODCALLTYPE dxgi_device_GetParent(IWineDXGIDevice *iface, REFIID riid, void **parent)
 {
-    FIXME("iface %p, riid %s, parent %p stub!\n", iface, debugstr_guid(riid), parent);
+    IDXGIAdapter *adapter;
+    HRESULT hr;
 
-    return E_NOTIMPL;
+    TRACE("iface %p, riid %s, parent %p.\n", iface, debugstr_guid(riid), parent);
+
+    hr = IDXGIDevice_GetAdapter(iface, &adapter);
+    if (FAILED(hr))
+    {
+        ERR("Failed to get adapter, hr %#x.\n", hr);
+        return hr;
+    }
+
+    hr = IDXGIAdapter_QueryInterface(adapter, riid, parent);
+    IDXGIAdapter_Release(adapter);
+
+    return hr;
 }
 
 /* IDXGIDevice methods */




More information about the wine-cvs mailing list