[WTSAPI32][PSDK] Addendum to 27ed609a: Some of the WTS_INFO_CLASS values are NT6...
[reactos.git] / sdk / include / psdk / htiface.idl
1 /*
2 * Copyright 2006,2011 Jacek Caban for CodeWeavers
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 "objidl.idl";
20 import "oleidl.idl";
21 import "urlmon.idl";
22
23 cpp_quote("#include <htiframe.h>")
24
25
26 /*****************************************************************************
27 * ITargetFrame interface
28 */
29 [
30 object,
31 uuid(d5f78c80-5252-11cf-90fa-00aa0042106e),
32 pointer_default(unique)
33 ]
34 interface ITargetFrame: IUnknown
35 {
36 typedef [unique] ITargetFrame *LPTARGETFRAME;
37
38 typedef enum {
39 NAVIGATEFRAME_FL_RECORD = 0x01,
40 NAVIGATEFRAME_FL_POST = 0x02,
41 NAVIGATEFRAME_FL_NO_DOC_CACHE = 0x04,
42 NAVIGATEFRAME_FL_NO_IMAGE_CACHE = 0x08,
43 NAVIGATEFRAME_FL_AUTH_FAIL_CACHE_OK = 0x10,
44 NAVIGATEFRAME_FL_SENDING_FROM_FORM = 0x20,
45 NAVIGATEFRAME_FL_REALLY_SENDING_FROM_FORM = 0x40
46 } NAVIGATEFRAME_FLAGS;
47
48 typedef struct tagNavigateData {
49 ULONG ulTarget;
50 ULONG ulURL;
51 ULONG ulRefURL;
52 ULONG ulPostData;
53 DWORD dwFlags;
54 } NAVIGATEDATA;
55
56 HRESULT SetFrameName([in] LPCWSTR pszFrameName);
57 HRESULT GetFrameName([out] LPWSTR *ppszFrameName);
58 HRESULT GetParentFrame([out] IUnknown **ppunkParent);
59
60 HRESULT FindFrame(
61 [in] LPCWSTR pszTargetName,
62 [in] IUnknown *ppunkContextFrame,
63 [in] DWORD dwFlags,
64 [out] IUnknown **ppunkTargetFrame);
65
66 HRESULT SetFrameSrc([in] LPCWSTR pszFrameSrc);
67 HRESULT GetFrameSrc([out] LPWSTR *ppszFrameSrc);
68 HRESULT GetFramesContainer([out] IOleContainer **ppContainer);
69 HRESULT SetFrameOptions([in] DWORD dwFlags);
70 HRESULT GetFrameOptions([out] DWORD *pdwFlags);
71
72 HRESULT SetFrameMargins(
73 [in] DWORD dwWidth,
74 [in] DWORD dwHeight);
75
76 HRESULT GetFrameMargins(
77 [out] DWORD *pdwWidth,
78 [out] DWORD *pdwHeight);
79
80 HRESULT RemoteNavigate(
81 [in] ULONG cLength,
82 [in, size_is(cLength)] ULONG *pulData);
83
84 HRESULT OnChildFrameActivate([in] IUnknown *pUnkChildFrame);
85 HRESULT OnChildFrameDeactivate([in] IUnknown *pUnkChildFrame);
86 }
87
88 /*****************************************************************************
89 * ITargetFramePriv interface
90 */
91 [
92 object,
93 uuid(9216e421-2bf5-11d0-82b4-00a0c90c29c5),
94 pointer_default(unique)
95 ]
96 interface ITargetFramePriv : IUnknown
97 {
98 typedef [unique] ITargetFramePriv *LPTARGETFRAMEPRIV;
99
100 HRESULT FindFrameDownwards(
101 [in] LPCWSTR pszTargetName,
102 [in] DWORD dwFlags,
103 [out] IUnknown **ppunkTargetFrame);
104
105 HRESULT FindFrameInContext(
106 [in] LPCWSTR pszTargetName,
107 [in] IUnknown *punkContextFrame,
108 [in] DWORD dwFlags,
109 [out] IUnknown **ppunkTargetFrame);
110
111 HRESULT OnChildFrameActivate([in] IUnknown *pUnkChildFrame);
112 HRESULT OnChildFrameDeactivate([in] IUnknown *pUnkChildFrame);
113
114 HRESULT NavigateHack(
115 [in] DWORD grfHLNF,
116 [in, unique] LPBC pbc,
117 [in, unique] IBindStatusCallback *pibsc,
118 [in, unique] LPCWSTR pszTargetName,
119 [in] LPCWSTR pszUrl,
120 [in, unique] LPCWSTR pszLocation);
121
122 HRESULT FindBrowserByIndex(
123 [in] DWORD dwID,
124 [out] IUnknown **ppunkBrowser);
125 }
126
127 /*****************************************************************************
128 * ITargetFramePriv2 interface
129 */
130 [
131 object,
132 uuid(b2c867e6-69d6-46f2-a611-ded9a4bd7fef),
133 pointer_default(unique)
134 ]
135 interface ITargetFramePriv2 : ITargetFramePriv
136 {
137 typedef [unique] ITargetFramePriv2 *LPTARGETFRAMEPRIV2;
138
139 HRESULT AggregatedNavigation2(
140 [in] DWORD grfHLNF,
141 [in, unique] LPBC pbc,
142 [in, unique] IBindStatusCallback *pibsc,
143 [in, unique] LPCWSTR pszTargetName,
144 [in] IUri *pUri,
145 [in, unique] LPCWSTR pszLocation);
146 }