MiKTeX 2.9
|
00001 /* session.idl: -*- IDL -*- 00002 00003 Copyright (C) 2006-2007 Christian Schenk 00004 00005 This file is part of the MiKTeX Core Library. 00006 00007 The MiKTeX Core Library is free software; you can redistribute it 00008 and/or modify it under the terms of the GNU General Public License 00009 as published by the Free Software Foundation; either version 2, or 00010 (at your option) any later version. 00011 00012 The MiKTeX Core Library is distributed in the hope that it will be 00013 useful, but WITHOUT ANY WARRANTY; without even the implied warranty 00014 of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 GNU General Public License for more details. 00016 00017 You should have received a copy of the GNU General Public License 00018 along with the MiKTeX Core Library; if not, write to the Free 00019 Software Foundation, 59 Temple Place - Suite 330, Boston, MA 00020 02111-1307, USA. */ 00021 00024 00025 import "oaidl.idl"; 00026 import "ocidl.idl"; 00027 00028 import "miktexidl.idl"; 00029 00030 /* _________________________________________________________________________ 00031 00032 MiKTeXSetupInfo 00033 _________________________________________________________________________ */ 00034 00036 typedef [uuid(A889D812-7E98-4E73-A453-30C9B69A32B1)] struct MiKTeXSetupInfo 00037 { 00039 VARIANT_BOOL sharedSetup; 00041 BSTR version; 00044 LONG series; 00046 BSTR binDirectory; 00048 LONG numRoots; 00050 BSTR installRoot; 00053 BSTR commonConfigRoot; 00056 BSTR commonDataRoot; 00058 BSTR userConfigRoot; 00060 BSTR userDataRoot; 00061 } MiKTeXSetupInfo; 00062 00063 /* _________________________________________________________________________ 00064 00065 ISession 00066 _________________________________________________________________________ */ 00067 00071 [ 00072 object, 00073 uuid(8BE9F539-B949-4C7B-991C-DB6C6F737EC7), 00074 dual, 00075 nonextensible, 00076 helpstring("ISession Interface"), 00077 pointer_default(unique) 00078 ] 00079 interface ISession : IDispatch 00080 { 00083 [ 00084 id(1), 00085 helpstring("method RegisterRootDirectories") 00086 ] 00087 HRESULT 00088 RegisterRootDirectories ([in] BSTR rootDirectories); 00089 00096 [ 00097 id(2), 00098 helpstring("method FindPkFile") 00099 ] 00100 HRESULT 00101 FindPkFile ([in] BSTR fontName, 00102 [in] BSTR mode, 00103 [in] LONG dpi, 00104 [out] BSTR * path, 00105 [out,retval] VARIANT_BOOL * found); 00106 00109 [ 00110 id(3), 00111 helpstring("method GetErrorInfo") 00112 ] 00113 HRESULT 00114 GetErrorInfo ([out,retval] ErrorInfo * errorInfo); 00115 00118 [ 00119 id(4), 00120 helpstring("method GetMiKTeXSetupInfo") 00121 ] 00122 HRESULT 00123 GetMiKTeXSetupInfo ([out,retval] MiKTeXSetupInfo * setupInfo); 00124 00128 [ 00129 id(5), 00130 helpstring("method GetRootDirectory") 00131 ] 00132 HRESULT 00133 GetRootDirectory ([in] LONG rootIdx, 00134 [out,retval] BSTR * rootDirectory); 00135 }; 00136 00137 /* _________________________________________________________________________ 00138 00139 ISession2 00140 _________________________________________________________________________ */ 00141 00145 [ 00146 object, 00147 uuid(49C9F0B8-3DF6-4BBA-9DCD-3FE289DF95D8), 00148 dual, 00149 nonextensible, 00150 helpstring("ISession2 Interface"), 00151 pointer_default(unique) 00152 ] 00153 interface ISession2 : ISession 00154 { 00155 00160 [ 00161 id(6), 00162 helpstring("method FindFile") 00163 ] 00164 HRESULT 00165 FindFile ([in] BSTR fileName, 00166 [out] BSTR * path, 00167 [out,retval] VARIANT_BOOL * found); 00168 }; 00169 00170 /* _________________________________________________________________________ 00171 00172 MiKTeXSession2_9 00173 _________________________________________________________________________ */ 00174 00176 [ 00177 uuid(392BFC08-8CD2-487F-87EE-B2DA213BBD20), 00178 version(1.0), 00179 helpstring("MiKTeX 2.9 Session") 00180 ] 00181 library MiKTeXSession2_9 00182 { 00183 importlib("stdole2.tlb"); 00184 00192 [ 00193 uuid(A2662D75-3286-4A8D-8050-C0FD76393A31), 00194 helpstring("MiKTeX 2.9 Session") 00195 ] 00196 coclass MiKTeXSession2_9 00197 { 00198 interface ISession; 00199 [default] interface ISession2; 00200 }; 00201 };