[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