ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

irot.idl
Go to the documentation of this file.
00001 /*
00002  * Copyright 2007 Robert Shearman for CodeWeavers
00003  *
00004  * This library is free software; you can redistribute it and/or
00005  * modify it under the terms of the GNU Lesser General Public
00006  * License as published by the Free Software Foundation; either
00007  * version 2.1 of the License, or (at your option) any later version.
00008  *
00009  * This library is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012  * Lesser General Public License for more details.
00013  *
00014  * You should have received a copy of the GNU Lesser General Public
00015  * License along with this library; if not, write to the Free Software
00016  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
00017  */
00018 
00019 import "wtypes.idl";
00020 
00021 cpp_quote("#define IROT_PROTSEQ {'n','c','a','l','r','p','c',0}")
00022 cpp_quote("#define IROT_ENDPOINT {'i','r','o','t',0}")
00023 
00024 typedef struct tagMonikerComparisonData {
00025     ULONG ulCntData;
00026     [size_is(ulCntData)] BYTE abData[];
00027 } MonikerComparisonData;
00028 
00029 [
00030     uuid(7a98c254-6808-11cf-b73b-00aa00b677a8),
00031     version(0.2),
00032 #ifndef _MSC_VER
00033     strict_context_handle
00034 #endif
00035 ]
00036 interface Irot
00037 {
00038     typedef struct tagInterfaceData
00039     {
00040         ULONG ulCntData;
00041         [size_is(ulCntData)] BYTE abData[];
00042     } InterfaceData;
00043 
00044     typedef [unique] InterfaceData *PInterfaceData;
00045 
00046     typedef struct tagInterfaceList
00047     {
00048         ULONG size;
00049         [size_is(size)] PInterfaceData interfaces[];
00050     } InterfaceList;
00051 
00052     typedef [unique] InterfaceList *PInterfaceList;
00053 
00054     typedef DWORD IrotCookie;
00055 
00056     typedef handle_t IrotHandle;
00057     typedef [context_handle] void *IrotContextHandle;
00058 
00059     HRESULT IrotRegister(
00060         [in]  IrotHandle h,
00061         [in]  const MonikerComparisonData *moniker_data,
00062         [in]  const InterfaceData *object,
00063         [in]  const InterfaceData *moniker,
00064         [in]  const FILETIME *time,
00065         [in]  DWORD grfFlags,
00066         [out] IrotCookie *cookie,
00067         [out] IrotContextHandle *ctxt_handle);
00068 
00069     HRESULT IrotRevoke(
00070         [in]  IrotHandle h,
00071         [in]  IrotCookie cookie,
00072         [in, out] IrotContextHandle *ctxt_handle,
00073         [out] PInterfaceData *object,
00074         [out] PInterfaceData *moniker);
00075 
00076     HRESULT IrotIsRunning(
00077         [in]  IrotHandle h,
00078         [in]  const MonikerComparisonData *moniker_data);
00079 
00080     HRESULT IrotGetObject(
00081         [in]  IrotHandle h,
00082         [in]  const MonikerComparisonData *moniker_data,
00083         [out] PInterfaceData *obj,
00084         [out] IrotCookie *cookie);
00085 
00086     HRESULT IrotNoteChangeTime(
00087         [in]  IrotHandle h,
00088         [in]  IrotCookie cookie,
00089         [in]  const FILETIME *time);
00090 
00091     HRESULT IrotGetTimeOfLastChange(
00092         [in]  IrotHandle h,
00093         [in]  const MonikerComparisonData *moniker_data,
00094         [out] FILETIME *time);
00095 
00096     HRESULT IrotEnumRunning(
00097         [in]  IrotHandle h,
00098         [out] PInterfaceList *list);
00099 }

Generated on Sun May 27 2012 04:17:54 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.