[oleaut 1/3] include: add [unique] attributes to IPropertyBag::RemoteRead args

Rob Shearman robertshearman at gmail.com
Thu Jan 1 12:53:00 CST 2009


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, 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,


-- 
Rob Shearman



More information about the wine-devel mailing list