[oleaut 1/3] include: add [unique] attributes to IPropertyBag::RemoteRead args
Michael Karcher
wine at mkarcher.dialup.fu-berlin.de
Thu Jan 1 13:13:17 CST 2009
Am Donnerstag, den 01.01.2009, 18:53 +0000 schrieb Rob Shearman:
> 2009/1/1 Michael Karcher <wine at 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
More information about the wine-devel
mailing list