1 //------------------------------------------------------------------------
\r
3 // Copyright (c) 2005 Microsoft Corporation
\r
7 // IDL file for activex control
\r
10 //------------------------------------------------------------------------
\r
19 uuid(EE38D0F1-5AE3-408c-A6BF-8410E645F376),
\r
22 helpstring("IXcpObject Interface"),
\r
23 pointer_default(unique)
\r
25 interface IXcpObject : IDispatch
\r
32 uuid(1FB839CC-116C-4C9B-AE8E-3DBB6496E326),
\r
35 helpstring("IXcpControl Interface"),
\r
36 pointer_default(unique)
\r
38 interface IXcpControl : IDispatch
\r
40 [propget, bindable, requestedit]
\r
41 HRESULT Source([out, retval] BSTR *pstr);
\r
42 [propput, bindable, requestedit]
\r
43 HRESULT Source([in] BSTR str);
\r
45 [propget, bindable, requestedit]
\r
46 HRESULT IsLoaded([out, retval] VARIANT_BOOL *pb);
\r
49 [propget, bindable, requestedit]
\r
50 HRESULT Content([out, retval] IDispatch **ppContent);
\r
52 [propget, bindable, requestedit]
\r
53 HRESULT Settings([out, retval] IDispatch **ppSettings);
\r
55 [propget, bindable, requestedit]
\r
56 HRESULT OnLoad([out, retval] VARIANT* pVAR);
\r
57 [propput, bindable, requestedit]
\r
58 HRESULT OnLoad([in] VARIANT* pVAR);
\r
60 [propget, bindable, requestedit]
\r
61 HRESULT OnError([out, retval] VARIANT* pVAR);
\r
62 [propput, bindable, requestedit]
\r
63 HRESULT OnError([in] VARIANT* pVAR);
\r
65 HRESULT CreateObject([in] BSTR id, [out, retval] IXcpObject** ppDisp);
\r
67 HRESULT IsVersionSupported([in] BSTR v, [out, retval] VARIANT_BOOL *pb);
\r
69 [propget, bindable, requestedit]
\r
70 HRESULT InitParams([out, retval] BSTR * initparams);
\r
71 [propput, bindable, requestedit]
\r
72 HRESULT InitParams([in] BSTR initparams);
\r
77 uuid(1c3294f9-891f-49b1-bbae-492a68ba10cc),
\r
80 helpstring("IXcpControl2 Interface"),
\r
81 pointer_default(unique)
\r
83 interface IXcpControl2 : IXcpControl
\r
85 HRESULT LoadRuntime();
\r
87 [propget, bindable, requestedit]
\r
88 HRESULT SplashScreenSource([out, retval] BSTR *pstr);
\r
89 [propput, bindable, requestedit]
\r
90 HRESULT SplashScreenSource([in] BSTR str);
\r
92 [propget, bindable, requestedit]
\r
93 HRESULT OnSourceDownloadComplete([out, retval] VARIANT* pVAR);
\r
94 [propput, bindable, requestedit]
\r
95 HRESULT OnSourceDownloadComplete([in] VARIANT* pVAR);
\r
97 [propget, bindable, requestedit]
\r
98 HRESULT OnSourceDownloadProgressChanged([out, retval] VARIANT* pVAR);
\r
99 [propput, bindable, requestedit]
\r
100 HRESULT OnSourceDownloadProgressChanged([in] VARIANT* pVAR);
\r
105 uuid(2E340632-5D5A-427b-AC31-303F6E32B9E8),
\r
107 helpstring("IXcpControlDownloadCallback Interface"),
\r
108 pointer_default(unique)
\r
110 interface IXcpControlDownloadCallback : IUnknown
\r
112 HRESULT OnUrlDownloaded(HRESULT hr, IStream* pStream);
\r
117 uuid(1B36028E-B491-4bb2-8584-8A9E0A677D6E),
\r
119 helpstring("IXcpControlHost Interface"),
\r
120 pointer_default(unique)
\r
122 interface IXcpControlHost : IUnknown
\r
126 XcpHostOption_FreezeOnInitialFrame = 0x001,
\r
127 XcpHostOption_DisableFullScreen = 0x002,
\r
128 XcpHostOption_DisableManagedExecution = 0x008,
\r
129 XcpHostOption_EnableCrossDomainDownloads = 0x010,
\r
130 XcpHostOption_UseCustomAppDomain = 0x020,
\r
131 XcpHostOption_DisableNetworking = 0x040,
\r
132 XcpHostOption_DisableScriptCallouts = 0x080,
\r
133 XcpHostOption_EnableHtmlDomAccess = 0x100,
\r
134 XcpHostOption_EnableScriptableObjectAccess = 0x200,
\r
135 // Skipping a number so as not to conflict with mobile.
\r
136 XcpHostOption_EnableAssemblySharing = 0x800,
\r
137 XcpHostOption_HookGetComAutomationObject = 0x1000,
\r
138 XcpHostOption_EnableElevatedPermissions = 0x2000,
\r
139 XcpHostOption_EnableWindowlessAccessibility = 0x4000,
\r
142 HRESULT GetHostOptions([out, retval] DWORD* pdwOptions);
\r
144 HRESULT NotifyLoaded();
\r
146 HRESULT NotifyError([in] BSTR bstrError, [in] BSTR bstrSource, [in] long nLine, [in] long nColumn);
\r
148 HRESULT InvokeHandler([in] BSTR bstrName, [in] VARIANT varArg1, [in] VARIANT varArg2, [out, retval] VARIANT* pvarResult);
\r
150 HRESULT GetBaseUrl([out, retval] BSTR* pbstrUrl);
\r
152 HRESULT GetNamedSource([in] BSTR bstrSourceName, [out, retval] BSTR* pbstrSource);
\r
155 // Called by Silverlight to allow a host to provide content for a specified URI. This is useful in cases
\r
156 // where a resource would normally be loaded out of a XAP at runtime. At design time, no XAP exists, and
\r
157 // the host can provide content for that resource.
\r
159 // This method can work synchronously or asynchronously. If the pCallback parameter is NULL, the host must
\r
160 // do the work synchronously and return the result in ppStream. If the pCallback parameter is non-NULL, the host
\r
161 // may do the work synchronously or asynchronously, invoking callback methods as defined by the
\r
162 // IXcpControlDownloadCallback interface. If the host chooses to work asyncronously, the ppStream parameter is
\r
165 // The host should return S_FALSE if it cannot provide a resource for the requested URI, and S_OK on a
\r
166 // successful request.
\r
168 HRESULT DownloadUrl([in] BSTR bstrUrl, [in] IXcpControlDownloadCallback* pCallback, [out, retval] IStream** ppStream);
\r
174 uuid(fb3ed7c4-5797-4b44-8695-0c512ea27d8f),
\r
176 helpstring("IXcpControlHost2 Interface"),
\r
177 pointer_default(unique)
\r
179 interface IXcpControlHost2 : IXcpControlHost
\r
181 HRESULT GetCustomAppDomain([out, retval] IUnknown** ppAppDomain);
\r
183 HRESULT GetControlVersion([out] UINT *puMajorVersion, [out] UINT *puMinorVersion);
\r
188 uuid(9fb2ce5f-06ff-4058-befa-ddfab596b3d5),
\r
190 helpstring("IXcpControlHost3 Interface"),
\r
191 pointer_default(unique)
\r
193 interface IXcpControlHost3 : IXcpControlHost2
\r
195 HRESULT GetDefaultThemeXaml([in] BSTR assemblyName, [out, retval] LPBSTR pbstrXaml);
\r
197 HRESULT GetDefaultPortableUserInterfaceFontInfo([out, retval] LPBSTR pbstrCompositeFont);
\r
201 XcpHost_GetComAutomationObjectFlag_Get = 0x1,
\r
202 XcpHost_GetComAutomationObjectFlag_Create = 0x2
\r
203 } XcpHost_GetComAutomationObjectFlags;
\r
205 HRESULT GetComAutomationObject([in] BSTR bstrProgId, [in] DWORD dwFlags, [out, retval] IDispatch** ppDisp);
\r
209 uuid(283C8576-0726-4DBC-9609-3F855162009A),
\r
211 helpstring("AgControl 4.0 Type Library"),
\r
214 library XcpControlLib
\r
216 importlib("stdole2.tlb");
\r
218 uuid(DFEAF541-F3E1-4c24-ACAC-99C30715084A),
\r
219 helpstring("AgControl Class")
\r
223 [default] interface IXcpControl2;
\r
224 interface IXcpControl;
\r