+++ /dev/null
-/*
- * 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),
-#ifndef _MSC_VER
- strict_context_handle
-#endif
-]
-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);
-}