diff options
-rw-r--r-- | ext/com/COM.c | 7 | ||||
-rw-r--r-- | ext/rpc/com/com_wrapper.c | 7 |
2 files changed, 14 insertions, 0 deletions
diff --git a/ext/com/COM.c b/ext/com/COM.c index aeae84ddcf..3b455c1e9c 100644 --- a/ext/com/COM.c +++ b/ext/com/COM.c @@ -162,6 +162,13 @@ PHPAPI HRESULT php_COM_invoke(comval *obj, DISPID dispIdMember, WORD wFlags, DIS } } + if(!pVarResult) + { + VariantInit(pVarResult); + V_VT(pVarResult) = VT_I4; + V_I4(pVarResult) = hr; + } + return hr; } else diff --git a/ext/rpc/com/com_wrapper.c b/ext/rpc/com/com_wrapper.c index aeae84ddcf..3b455c1e9c 100644 --- a/ext/rpc/com/com_wrapper.c +++ b/ext/rpc/com/com_wrapper.c @@ -162,6 +162,13 @@ PHPAPI HRESULT php_COM_invoke(comval *obj, DISPID dispIdMember, WORD wFlags, DIS } } + if(!pVarResult) + { + VariantInit(pVarResult); + V_VT(pVarResult) = VT_I4; + V_I4(pVarResult) = hr; + } + return hr; } else |