[PATCH] include: Add IColumnsInfo interface (resend)

Nikolay Sivov bunglehead at gmail.com
Thu Feb 4 04:52:48 CST 2016


On 04.02.2016 12:31, Alistair Leslie-Hughes wrote:
> +[
> +    object,
> +    uuid(0c733a11-2a1c-11ce-ade5-00aa0044773d),
> +    pointer_default(unique)
> +]
> +interface IColumnsInfo : IUnknown
> +{
> +    [local]
> +    HRESULT GetColumnInfo([in, out] DBORDINAL *columns,[out, size_is(*columns)] DBCOLUMNINFO **colinfo,
> +        [out] OLECHAR *stringsbuffer);
> +
> +    [call_as(GetColumnInfo)]
> +    HRESULT RemoteGetColumnInfo([in, out] DBORDINAL *columns, [out, size_is((ULONG)*columns)] DBCOLUMNINFO  **col_info,
> +        [out, size_is((ULONG)*columns)] DBBYTEOFFSET **name_offsets,
> +        [out, size_is((ULONG)*columns)] DBBYTEOFFSET **columnid_offsets,
> +        [in, out] DBLENGTH *string_len, [in, out, unique, size_is((ULONG)*string_len)] OLECHAR **stringsbuffer,
> +        [out] IErrorInfo **error);
> +

ULONG in SDK comes from DBORDINAL being ULONGLONG vs ULONG depending on
bitness, I agree we probably don't have to duplicate that, and can
always use cast. In any case size_is attribute is used in a wrong way,
and at least one method prototype does not match SDK.




More information about the wine-devel mailing list