Logo Search packages:      
Sourcecode: wine-unstable version File versions  Download package

irot.idl

/*
 * Copyright 2007 Robert Shearman for CodeWeavers
 *
 * 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 "wtypes.idl";

cpp_quote("#define IROT_PROTSEQ {'n','c','a','l','r','p','c',0}")
cpp_quote("#define IROT_ENDPOINT {'i','r','o','t',0}")

typedef struct tagMonikerComparisonData {
      ULONG ulCntData;
      [size_is(ulCntData)] BYTE abData[];
} MonikerComparisonData;

[
    uuid(7a98c254-6808-11cf-b73b-00aa00b677a8),
    version(0.2),
    strict_context_handle
]
interface Irot
{
      typedef struct tagInterfaceData
      {
            ULONG ulCntData;
            [size_is(ulCntData)] BYTE abData[];
      } InterfaceData;

      typedef [unique] InterfaceData *PInterfaceData;

      typedef struct tagInterfaceList
      {
            ULONG size;
            [size_is(size)] PInterfaceData interfaces[];
      } InterfaceList;

      typedef [unique] InterfaceList *PInterfaceList;

      typedef DWORD IrotCookie;

      typedef handle_t IrotHandle;
      typedef [context_handle] void *IrotContextHandle;

      HRESULT IrotRegister(
            [in]  IrotHandle h,
            [in]  const MonikerComparisonData *moniker_data,
            [in]  const InterfaceData *object,
            [in]  const InterfaceData *moniker,
            [in]  const FILETIME *time,
            [in]  DWORD grfFlags,
            [out] IrotCookie *cookie,
            [out] IrotContextHandle *ctxt_handle);

      HRESULT IrotRevoke(
            [in]  IrotHandle h,
            [in]  IrotCookie cookie,
            [in, out] IrotContextHandle *ctxt_handle,
            [out] PInterfaceData *object,
            [out] PInterfaceData *moniker);

      HRESULT IrotIsRunning(
            [in]  IrotHandle h,
            [in]  const MonikerComparisonData *moniker_data);

      HRESULT IrotGetObject(
            [in]  IrotHandle h,
            [in]  const MonikerComparisonData *moniker_data,
            [out] PInterfaceData *obj,
            [out] IrotCookie *cookie);

      HRESULT IrotNoteChangeTime(
            [in]  IrotHandle h,
            [in]  IrotCookie cookie,
            [in]  const FILETIME *time);

      HRESULT IrotGetTimeOfLastChange(
            [in]  IrotHandle h,
            [in]  const MonikerComparisonData *moniker_data,
            [out] FILETIME *time);

      HRESULT IrotEnumRunning(
            [in]  IrotHandle h,
            [out] PInterfaceList *list);
}

Generated by  Doxygen 1.6.0   Back to index