[ATL]
[reactos.git] / reactos / include / psdk / atliface.idl
1 /*
2 * Copyright 2005 Jacek Caban
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17 */
18
19 import "ocidl.idl";
20
21 cpp_quote("#ifdef ATL_INITGUID")
22 cpp_quote("#include <initguid.h>")
23 cpp_quote("#endif")
24
25 [
26 object,
27 uuid(e21f8a85-b05d-4243-8183-c7cb405588f7),
28 pointer_default(unique)
29 ]
30 interface IRegistrarBase : IUnknown
31 {
32 HRESULT AddReplacement(
33 [in] LPCOLESTR Key,
34 [in] LPCOLESTR item);
35
36 HRESULT ClearReplacements();
37 }
38
39 [
40 object,
41 uuid(44EC053B-400F-11D0-9DCD-00A0C90391D3),
42 pointer_default(unique)
43 ]
44 interface IRegistrar : IRegistrarBase
45 {
46 HRESULT ResourceRegisterSz(
47 [in] LPCOLESTR resFileName,
48 [in] LPCOLESTR szID,
49 [in] LPCOLESTR szType);
50
51 HRESULT ResourceUnregisterSz(
52 [in] LPCOLESTR resFileName,
53 [in] LPCOLESTR szID,
54 [in] LPCOLESTR szType);
55
56 HRESULT FileRegister(
57 [in] LPCOLESTR fileName);
58
59 HRESULT FileUnregister(
60 [in] LPCOLESTR fileName);
61
62 HRESULT StringRegister(
63 [in] LPCOLESTR data);
64
65 HRESULT StringUnregister(
66 [in] LPCOLESTR data);
67
68 HRESULT ResourceRegister(
69 [in] LPCOLESTR resFileName,
70 [in] UINT nID,
71 [in] LPCOLESTR szType);
72
73 HRESULT ResourceUnregister(
74 [in] LPCOLESTR resFileName,
75 [in] UINT nID,
76 [in] LPCOLESTR szType);
77 }
78
79 cpp_quote("DEFINE_GUID(CLSID_Registrar,0x44ec053a,0x400f,0x11d0,0x9d,0xcd,0x00,0xa0,0xc9,0x03,0x91,0xd3);")
80
81 cpp_quote("HRESULT WINAPI AtlAxCreateControl(LPCOLESTR,HWND,IStream*,IUnknown**);")
82 cpp_quote("HRESULT WINAPI AtlAxCreateControlEx(LPCOLESTR,HWND,IStream*,IUnknown**,IUnknown**,REFIID,IUnknown*);")
83 cpp_quote("BOOL WINAPI AtlAxWinInit(void);")
84
85 cpp_quote("HWND WINAPI AtlAxCreateDialogW(HINSTANCE,LPCWSTR,HWND,DLGPROC,LPARAM);")
86 cpp_quote("HWND WINAPI AtlAxCreateDialogA(HINSTANCE,LPCSTR,HWND,DLGPROC,LPARAM);")
87 cpp_quote("#define AtlAxCreateDialog WINELIB_NAME_AW(AtlAxCreateDialog)")