Jacek Caban : vbscript: Added IObjectSafety stub implementation.
Alexandre Julliard
julliard at winehq.org
Fri Sep 2 13:13:37 CDT 2011
Module: wine
Branch: master
Commit: 0491b0326013f6f529fe13866094e208b1dd0f56
URL: http://source.winehq.org/git/wine.git/?a=commit;h=0491b0326013f6f529fe13866094e208b1dd0f56
Author: Jacek Caban <jacek at codeweavers.com>
Date: Fri Sep 2 13:15:51 2011 +0200
vbscript: Added IObjectSafety stub implementation.
---
dlls/vbscript/vbscript.c | 53 +++++++++++++++++++++++++++++++++++++++++
dlls/vbscript/vbscript_main.c | 1 +
2 files changed, 54 insertions(+), 0 deletions(-)
diff --git a/dlls/vbscript/vbscript.c b/dlls/vbscript/vbscript.c
index caee4d4..3f963a3 100644
--- a/dlls/vbscript/vbscript.c
+++ b/dlls/vbscript/vbscript.c
@@ -26,6 +26,7 @@
#include "windef.h"
#include "winbase.h"
#include "ole2.h"
+#include "objsafe.h"
#include "vbscript.h"
@@ -48,6 +49,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(vbscript);
struct VBScript {
IActiveScript IActiveScript_iface;
IActiveScriptParse IActiveScriptParse_iface;
+ IObjectSafety IObjectSafety_iface;
LONG ref;
@@ -135,6 +137,9 @@ static HRESULT WINAPI VBScript_QueryInterface(IActiveScript *iface, REFIID riid,
}else if(IsEqualGUID(riid, &IID_IActiveScriptParse)) {
TRACE("(%p)->(IID_IActiveScriptParse %p)\n", This, ppv);
*ppv = &This->IActiveScriptParse_iface;
+ }else if(IsEqualGUID(riid, &IID_IObjectSafety)) {
+ TRACE("(%p)->(IID_IObjectSafety %p)\n", This, ppv);
+ *ppv = &This->IObjectSafety_iface;
}else {
FIXME("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppv);
*ppv = NULL;
@@ -403,6 +408,53 @@ static const IActiveScriptParseVtbl VBScriptParseVtbl = {
VBScriptParse_ParseScriptText
};
+static inline VBScript *impl_from_IObjectSafety(IObjectSafety *iface)
+{
+ return CONTAINING_RECORD(iface, VBScript, IObjectSafety_iface);
+}
+
+static HRESULT WINAPI VBScriptSafety_QueryInterface(IObjectSafety *iface, REFIID riid, void **ppv)
+{
+ VBScript *This = impl_from_IObjectSafety(iface);
+ return IActiveScript_QueryInterface(&This->IActiveScript_iface, riid, ppv);
+}
+
+static ULONG WINAPI VBScriptSafety_AddRef(IObjectSafety *iface)
+{
+ VBScript *This = impl_from_IObjectSafety(iface);
+ return IActiveScript_AddRef(&This->IActiveScript_iface);
+}
+
+static ULONG WINAPI VBScriptSafety_Release(IObjectSafety *iface)
+{
+ VBScript *This = impl_from_IObjectSafety(iface);
+ return IActiveScript_Release(&This->IActiveScript_iface);
+}
+
+static HRESULT WINAPI VBScriptSafety_GetInterfaceSafetyOptions(IObjectSafety *iface, REFIID riid,
+ DWORD *pdwSupportedOptions, DWORD *pdwEnabledOptions)
+{
+ VBScript *This = impl_from_IObjectSafety(iface);
+ FIXME("(%p)->(%s %p %p)\n", This, debugstr_guid(riid), pdwSupportedOptions, pdwEnabledOptions);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI VBScriptSafety_SetInterfaceSafetyOptions(IObjectSafety *iface, REFIID riid,
+ DWORD dwOptionSetMask, DWORD dwEnabledOptions)
+{
+ VBScript *This = impl_from_IObjectSafety(iface);
+ FIXME("(%p)->(%s %x %x)\n", This, debugstr_guid(riid), dwOptionSetMask, dwEnabledOptions);
+ return E_NOTIMPL;
+}
+
+static const IObjectSafetyVtbl VBScriptSafetyVtbl = {
+ VBScriptSafety_QueryInterface,
+ VBScriptSafety_AddRef,
+ VBScriptSafety_Release,
+ VBScriptSafety_GetInterfaceSafetyOptions,
+ VBScriptSafety_SetInterfaceSafetyOptions
+};
+
HRESULT WINAPI VBScriptFactory_CreateInstance(IClassFactory *iface, IUnknown *pUnkOuter, REFIID riid, void **ppv)
{
VBScript *ret;
@@ -416,6 +468,7 @@ HRESULT WINAPI VBScriptFactory_CreateInstance(IClassFactory *iface, IUnknown *pU
ret->IActiveScript_iface.lpVtbl = &VBScriptVtbl;
ret->IActiveScriptParse_iface.lpVtbl = &VBScriptParseVtbl;
+ ret->IObjectSafety_iface.lpVtbl = &VBScriptSafetyVtbl;
ret->ref = 1;
ret->state = SCRIPTSTATE_UNINITIALIZED;
diff --git a/dlls/vbscript/vbscript_main.c b/dlls/vbscript/vbscript_main.c
index 093019a..71eaa86 100644
--- a/dlls/vbscript/vbscript_main.c
+++ b/dlls/vbscript/vbscript_main.c
@@ -27,6 +27,7 @@
#include "initguid.h"
#include "ole2.h"
+#include "objsafe.h"
#include "rpcproxy.h"
#include "vbscript.h"
#include "vbscript_classes.h"
More information about the wine-cvs
mailing list