2009/1/1 Michael Karcher wine@mkarcher.dialup.fu-berlin.de:
diff --git a/include/oaidl.idl b/include/oaidl.idl index 1cc166a..4ee3b43 100644 --- a/include/oaidl.idl +++ b/include/oaidl.idl @@ -1620,9 +1620,9 @@ interface IPropertyBag : IUnknown HRESULT RemoteRead( [in] LPCOLESTR pszPropName, [out] VARIANT *pVar,
- [in] IErrorLog *pErrorLog,
- [in, unique] IErrorLog *pErrorLog, [in] DWORD varType,
- [in] IUnknown *pUnkObj);
- [in, unique] IUnknown *pUnkObj);
In the PSDK only pErrorLog is a unique pointer. However, I believe you are making this change to avoid getting RPC_X_NULL_REF_POINTER exceptions when a NULL pErrorLog parameter is passed into IPropertyBag_Read, but MIDL ignores the pointer type for interface pointers and never outputs a NULL reference pointer check for them. So widl just needs to be fixed.
HRESULT Write( [in] LPCOLESTR pszPropName,
Am Donnerstag, den 01.01.2009, 18:53 +0000 schrieb Rob Shearman:
2009/1/1 Michael Karcher wine@mkarcher.dialup.fu-berlin.de:
diff --git a/include/oaidl.idl b/include/oaidl.idl index 1cc166a..4ee3b43 100644 --- a/include/oaidl.idl +++ b/include/oaidl.idl @@ -1620,9 +1620,9 @@ interface IPropertyBag : IUnknown HRESULT RemoteRead( [in] LPCOLESTR pszPropName, [out] VARIANT *pVar,
- [in] IErrorLog *pErrorLog,
- [in, unique] IErrorLog *pErrorLog, [in] DWORD varType,
- [in] IUnknown *pUnkObj);
- [in, unique] IUnknown *pUnkObj);
In the PSDK only pErrorLog is a unique pointer. However, I believe you are making this change to avoid getting RPC_X_NULL_REF_POINTER exceptions when a NULL pErrorLog parameter is passed into IPropertyBag_Read,
Exactly. Seems like I have to get hold of a copy of the psdk. Shouldn't be a problem. And I already know that I may not cut'n'paste from there.
but MIDL ignores the pointer type for interface pointers and never outputs a NULL reference pointer check for them. So widl just needs to be fixed.
Is it OK for me to look at the output of MIDL? The proxy source code files probably contain lots Microsoft boilerplate code, so I didn't dare to do such a thing yet.
Regards, Michael Karcher
2009/1/1 Michael Karcher wine@mkarcher.dialup.fu-berlin.de:
Am Donnerstag, den 01.01.2009, 18:53 +0000 schrieb Rob Shearman:
but MIDL ignores the pointer type for interface pointers and never outputs a NULL reference pointer check for them. So widl just needs to be fixed.
Is it OK for me to look at the output of MIDL?
I believe so.
The proxy source code files probably contain lots Microsoft boilerplate code, so I didn't dare to do such a thing yet.