[PATCH 8/8] wmiutils: Use an iface instead of an vtbl pointer in status_code.

Michael Stefaniuc mstefani at redhat.de
Mon Dec 20 04:35:32 CST 2010


---
 dlls/wmiutils/statuscode.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/dlls/wmiutils/statuscode.c b/dlls/wmiutils/statuscode.c
index dfa3872..6a060db 100644
--- a/dlls/wmiutils/statuscode.c
+++ b/dlls/wmiutils/statuscode.c
@@ -37,13 +37,13 @@ WINE_DEFAULT_DEBUG_CHANNEL(wmiutils);
 
 typedef struct status_code
 {
-    const IWbemStatusCodeTextVtbl *vtbl;
+    IWbemStatusCodeText IWbemStatusCodeText_iface;
     LONG refs;
 } status_code;
 
 static inline status_code *impl_from_IWbemStatusCodeText( IWbemStatusCodeText *iface )
 {
-    return (status_code *)((char *)iface - FIELD_OFFSET( status_code, vtbl ));
+    return CONTAINING_RECORD(iface, status_code, IWbemStatusCodeText_iface);
 }
 
 static ULONG WINAPI status_code_AddRef(
@@ -143,10 +143,10 @@ HRESULT WbemStatusCodeText_create( IUnknown *pUnkOuter, LPVOID *ppObj )
     sc = HeapAlloc( GetProcessHeap(), 0, sizeof(*sc) );
     if (!sc) return E_OUTOFMEMORY;
 
-    sc->vtbl = &status_code_vtbl;
+    sc->IWbemStatusCodeText_iface.lpVtbl = &status_code_vtbl;
     sc->refs = 1;
 
-    *ppObj = &sc->vtbl;
+    *ppObj = &sc->IWbemStatusCodeText_iface;
 
     TRACE("returning iface %p\n", *ppObj);
     return S_OK;
-- 
1.7.2.3



More information about the wine-patches mailing list