[PATCH] include: Add comsvcs.idl

Andrew Eikum aeikum at codeweavers.com
Tue Feb 7 08:36:48 CST 2017


Builds fine and seems to match MSDN.

Signed-off-by: Andrew Eikum <aeikum at codeweavers.com>

On Mon, Jan 30, 2017 at 07:05:38AM +0000, Alistair Leslie-Hughes wrote:
> Signed-off-by: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
> ---
>  include/Makefile.in |  1 +
>  include/comsvcs.idl | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 100 insertions(+)
>  create mode 100644 include/comsvcs.idl
> 
> diff --git a/include/Makefile.in b/include/Makefile.in
> index 401b02b..fdd7512 100644
> --- a/include/Makefile.in
> +++ b/include/Makefile.in
> @@ -27,6 +27,7 @@ IDL_SRCS = \
>  	colinf.idl \
>  	comcat.idl \
>  	commoncontrols.idl \
> +	comsvcs.idl \
>  	control.idl \
>  	cor.idl \
>  	cordebug.idl \
> diff --git a/include/comsvcs.idl b/include/comsvcs.idl
> new file mode 100644
> index 0000000..2c510f8
> --- /dev/null
> +++ b/include/comsvcs.idl
> @@ -0,0 +1,99 @@
> +/*
> + * Copyright (C) 2017 Alistair Leslie-Hughes
> + *
> + * This library is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU Lesser General Public
> + * License as published by the Free Software Foundation; either
> + * version 2.1 of the License, or (at your option) any later version.
> + *
> + * This library is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> + * Lesser General Public License for more details.
> + *
> + * You should have received a copy of the GNU Lesser General Public
> + * License along with this library; if not, write to the Free Software
> + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
> + */
> +import "unknwn.idl";
> +import "objidl.idl";
> +import "oaidl.idl";
> +
> +#ifndef __WIDL__
> +#define threading(model)
> +#endif
> +
> +typedef DWORD_PTR INSTID;
> +typedef DWORD_PTR RESID;
> +typedef DWORD     RESOURCERATING;
> +typedef DWORD_PTR RESTYPID;
> +typedef LPOLESTR  SRESID;
> +typedef long      TIMEINSECS;
> +typedef DWORD_PTR TRANSID;
> +
> +[
> +    uuid(2a005c00-a5de-11cf-9e66-00aa00a3f464),
> +    version(1.0)
> +]
> +library COMSVCSLib
> +{
> +    [
> +        object,
> +        hidden,
> +        local,
> +        uuid(bf6a1850-2b45-11cf-be10-00aa00a2fa25),
> +        pointer_default(unique)
> +    ]
> +    interface IHolder : IUnknown
> +    {
> +        HRESULT AllocResource([in] const RESTYPID typeid, [out] RESID *resid);
> +        HRESULT FreeResource([in] const RESID _resid);
> +        HRESULT TrackResource([in] const RESID resid);
> +        HRESULT TrackResourceS([in] const SRESID resid);
> +        HRESULT UntrackResource([in] const RESID resid, [in] const BOOL value);
> +        HRESULT UntrackResourceS([in] const SRESID resid, [in] const BOOL value);
> +        HRESULT Close(void);
> +        HRESULT RequestDestroyResource([in] const RESID resid);
> +    };
> +
> +    [
> +        object,
> +        hidden,
> +        local,
> +        uuid(208b3651-2b48-11cf-be10-00aa00a2fa25),
> +        pointer_default(unique)
> +    ]
> +    interface IDispenserDriver : IUnknown
> +    {
> +        HRESULT CreateResource([in] const RESTYPID restypid, [out] RESID *resid, [out] TIMEINSECS *destroy);
> +        HRESULT RateResource([in] const RESTYPID restypid, [in] const RESID resid,
> +                [in] const BOOL requires, [out] RESOURCERATING *rating);
> +        HRESULT EnlistResource([in] const RESID resid, [in] const TRANSID transid);
> +        HRESULT ResetResource([in] const RESID resid);
> +        HRESULT DestroyResource([in] const RESID resid);
> +        HRESULT DestroyResourceS([in] const SRESID resid);
> +    };
> +
> +    [
> +        object,
> +        hidden,
> +        local,
> +        uuid(5cb31e10-2b5f-11cf-be10-00aa00a2fa25),
> +        pointer_default(unique)
> +    ]
> +    interface IDispenserManager : IUnknown
> +    {
> +         HRESULT RegisterDispenser([in] IDispenserDriver *driver, [in] LPCOLESTR name, [out] IHolder **dispenser);
> +         HRESULT GetContext([out] INSTID *id, [out] TRANSID *transid);
> +    };
> +
> +    [
> +        uuid(ecabb0c0-7f19-11d2-978e-0000f8757e2a),
> +        hidden,
> +        threading(both)
> +    ]
> +    coclass DispenserManager
> +    {
> +        [default] interface IDispenserManager;
> +    };
> +};
> -- 
> 1.9.1
> 
> 
> 



More information about the wine-patches mailing list