source: cprs/branches/tmg-cprs/CPRS-Chart/TMG_Extra/HTMLEdit/IeConst.~pas@ 1176

Last change on this file since 1176 was 541, checked in by Kevin Toppenberg, 15 years ago

TMG Ver 1.1 Added HTML Support, better demographics editing

File size: 49.1 KB
Line 
1(*******************************
2 * IECONST 1.01 (Jan 7, 2001) *
3 *******************************)
4
5unit IeConst;
6
7interface
8
9uses ShlObj, Activex, Windows;
10
11
12const
13
14
15 STATURL_QUERYFLAG_ISCACHED = $00010000;
16 STATURL_QUERYFLAG_NOURL = $00020000;
17 STATURL_QUERYFLAG_NOTITLE = $00040000;
18 STATURL_QUERYFLAG_TOPLEVEL = $00080000;
19
20 STATURLFLAG_ISCACHED = $00000001;
21 STATURLFLAG_ISTOPLEVEL = $00000002;
22
23
24 IID_IEnumStatUrl: TGUID = (D1: $3C374A42; D2: $BAE4; D3: $11CF; D4: ($BF, $7D, $00, $AA, $00, $69, $46, $EE));
25 IID_IUrlHistoryStg: TGUID = (D1: $3C374A41; D2: $BAE4; D3: $11CF; D4: ($BF, $7D, $00, $AA, $00, $69, $46, $EE));
26 IID_IUrlHistoryStg2: TGUID = (D1: $AFA0DC11; D2: $C313; D3: $831A; D4: ($83, $1A, $00, $C0, $4F, $D5, $AE, $38));
27 IID_IUrlHistoryNotify: TGUID = (D1: $BC40BEC1; D2: $C493; D3: $11D0; D4: ($83, $1B, $00, $C0, $4F, $D5, $AE, $38));
28
29 SID_IEnumStatUrl = '{3C374A42-BAE4-11CF-BF7D-00AA006946EE}';
30 SID_IUrlHistoryStg = '{3C374A41-BAE4-11CF-BF7D-00AA006946EE}';
31 SID_IUrlHistoryStg2 = '{AFA0DC11-C313-11d0-831A-00C04FD5AE38}';
32 SID_IURLHistoryNotify = '{BC40BEC1-C493-11d0-831B-00C04FD5AE38}';
33 CLSID_CUrlHistory: TGUID = '{3C374A40-BAE4-11CF-BF7D-00AA006946EE}';
34
35
36 IID_IDocHostUIHandler: TGUID = '{bd3f23c0-d43e-11cf-893b-00aa00bdce1a}';
37 IID_IDocHostUIHandler2: TGUID = '{3050f6d0-98b5-11cf-bb82-00aa00bdce0b}';
38 IID_IDocHostShowUI: TGUID = '{c4d244b0-d43e-11cf-893b-00aa00bdce1a}';
39 GUID_TriEditCommandGroup: TGUID = '{2582F1C0-084E-11d1-9A0E-006097C9B344}';
40 CMDSETID_Forms3: TGUID = '{DE4BA900-59CA-11CF-9592-444553540000}';
41
42 IID_IQueryInfo: TGUID = (D1: $00021500; D2: $0000; D3: $0000; D4: ($C0, $00, $00, $00, $00, $00, $00, $46));
43
44 MSOCMDF_SUPPORTED = OLECMDF_SUPPORTED;
45 MSOCMDF_ENABLED = OLECMDF_ENABLED;
46
47 MSOCMDEXECOPT_PROMPTUSER = OLECMDEXECOPT_PROMPTUSER;
48 MSOCMDEXECOPT_DONTPROMPTUSER = OLECMDEXECOPT_DONTPROMPTUSER;
49
50 InchToMetric = 25.4;
51
52 NO_COMMAND = 0;
53 VIEW_COMMAND = 1;
54 EXPLORE_COMMAND = 2;
55 FIND_COMMAND = 3;
56
57 ISDigit = ['0'..'9', '-', '+'];
58
59 CONTEXT_MENU_DEFAULT = 0;
60 CONTEXT_MENU_IMAGE = 1;
61 CONTEXT_MENU_CONTROL = 2;
62 CONTEXT_MENU_TABLE = 3;
63// in browse mode
64 CONTEXT_MENU_TEXTSELECT = 4;
65 CONTEXT_MENU_ANCHOR = 5;
66 CONTEXT_MENU_UNKNOWN = 6;
67// These 2 are mapped to IMAGE for the public")
68 CONTEXT_MENU_IMGDYNSRC = 7;
69 CONTEXT_MENU_IMGART = 8;
70 CONTEXT_MENU_DEBUG = 9;
71 CONTEXT_MENU_VSCROLL = 10;
72 CONTEXT_MENU_HSCROLL = 11;
73
74 DISPID_AMBIENT_DLCONTROL = (-5512);
75 DISPID_AMBIENT_USERAGENT = (-5513);
76
77 HTMLID_FIND = 1;
78 HTMLID_VIEWSOURCE = 2;
79 HTMLID_OPTIONS = 3;
80
81 DOCHOSTUITYPE_BROWSE = 0;
82 DOCHOSTUITYPE_AUTHOR = 1;
83
84 DOCHOSTUIDBLCLK_DEFAULT = 0;
85 DOCHOSTUIDBLCLK_SHOWPROPERTIES = 1;
86 DOCHOSTUIDBLCLK_SHOWCODE = 2;
87
88 DOCHOSTUIFLAG_DIALOG = $0001;
89 DOCHOSTUIFLAG_DISABLE_HELP_MENU = $0002;
90 DOCHOSTUIFLAG_NO3DBORDER = $0004;
91 DOCHOSTUIFLAG_SCROLL_NO = $0008;
92 DOCHOSTUIFLAG_DISABLE_SCRIPT_INACTIVE = $0010;
93 DOCHOSTUIFLAG_OPENNEWWIN = $0020;
94 DOCHOSTUIFLAG_DISABLE_OFFSCREEN = $0040;
95 DOCHOSTUIFLAG_FLAT_SCROLLBAR = $0080;
96 DOCHOSTUIFLAG_DIV_BLOCKDEFAULT = $0100;
97 DOCHOSTUIFLAG_ACTIVATE_CLIENTHIT_ONLY = $0200;
98 DOCHOSTUIFLAG_OVERRIDEBEHAVIORFACTORY = $0400;
99 DOCHOSTUIFLAG_CODEPAGELINKEDFONTS = $0800;
100 DOCHOSTUIFLAG_URL_ENCODING_DISABLE_UTF8 = $1000;
101 DOCHOSTUIFLAG_URL_ENCODING_ENABLE_UTF8 = $2000;
102 DOCHOSTUIFLAG_ENABLE_FORMS_AUTOCOMPLETE = $4000;
103 DOCHOSTUIFLAG_ENABLE_INPLACE_NAVIGATION = $10000;
104 DOCHOSTUIFLAG_IME_ENABLE_RECONVERSION = $20000;
105
106 IDM_UNKNOWN = 0;
107 IDM_ALIGNBOTTOM = 1;
108 IDM_ALIGNHORIZONTALCENTERS = 2;
109 IDM_ALIGNLEFT = 3;
110 IDM_ALIGNRIGHT = 4;
111 IDM_ALIGNTOGRID = 5;
112 IDM_ALIGNTOP = 6;
113 IDM_ALIGNVERTICALCENTERS = 7;
114 IDM_ARRANGEBOTTOM = 8;
115 IDM_ARRANGERIGHT = 9;
116 IDM_BRINGFORWARD = 10;
117 IDM_BRINGTOFRONT = 11;
118 IDM_CENTERHORIZONTALLY = 12;
119 IDM_CENTERVERTICALLY = 13;
120 IDM_CODE = 14;
121 IDM_DELETE = 17;
122 IDM_FONTNAME = 18;
123 IDM_FONTSIZE = 19;
124 IDM_GROUP = 20;
125 IDM_HORIZSPACECONCATENATE = 21;
126 IDM_HORIZSPACEDECREASE = 22;
127 IDM_HORIZSPACEINCREASE = 23;
128 IDM_HORIZSPACEMAKEEQUAL = 24;
129 IDM_INSERTOBJECT = 25;
130 IDM_MULTILEVELREDO = 30;
131 IDM_SENDBACKWARD = 32;
132 IDM_SENDTOBACK = 33;
133 IDM_SHOWTABLE = 34;
134 IDM_SIZETOCONTROL = 35;
135 IDM_SIZETOCONTROLHEIGHT = 36;
136 IDM_SIZETOCONTROLWIDTH = 37;
137 IDM_SIZETOFIT = 38;
138 IDM_SIZETOGRID = 39;
139 IDM_SNAPTOGRID = 40;
140 IDM_TABORDER = 41;
141 IDM_TOOLBOX = 42;
142 IDM_MULTILEVELUNDO = 44;
143 IDM_UNGROUP = 45;
144 IDM_VERTSPACECONCATENATE = 46;
145 IDM_VERTSPACEDECREASE = 47;
146 IDM_VERTSPACEINCREASE = 48;
147 IDM_VERTSPACEMAKEEQUAL = 49;
148 IDM_JUSTIFYFULL = 50;
149 IDM_BACKCOLOR = 51;
150 IDM_BOLD = 52;
151 IDM_BORDERCOLOR = 53;
152 IDM_FLAT = 54;
153 IDM_FORECOLOR = 55;
154 IDM_ITALIC = 56;
155 IDM_JUSTIFYCENTER = 57;
156 IDM_JUSTIFYGENERAL = 58;
157 IDM_JUSTIFYLEFT = 59;
158 IDM_JUSTIFYRIGHT = 60;
159 IDM_RAISED = 61;
160 IDM_SUNKEN = 62;
161 IDM_UNDERLINE = 63;
162 IDM_CHISELED = 64;
163 IDM_ETCHED = 65;
164 IDM_SHADOWED = 66;
165 IDM_FIND = 67;
166 IDM_SHOWGRID = 69;
167 IDM_OBJECTVERBLIST0 = 72;
168 IDM_OBJECTVERBLIST1 = 73;
169 IDM_OBJECTVERBLIST2 = 74;
170 IDM_OBJECTVERBLIST3 = 75;
171 IDM_OBJECTVERBLIST4 = 76;
172 IDM_OBJECTVERBLIST5 = 77;
173 IDM_OBJECTVERBLIST6 = 78;
174 IDM_OBJECTVERBLIST7 = 79;
175 IDM_OBJECTVERBLIST8 = 80;
176 IDM_OBJECTVERBLIST9 = 81;
177 IDM_CONVERTOBJECT = 82;
178 IDM_CUSTOMCONTROL = 83;
179 IDM_CUSTOMIZEITEM = 84;
180 IDM_RENAME = 85;
181 IDM_IMPORT = 86;
182 IDM_NEWPAGE = 87;
183 IDM_MOVE = 88;
184 IDM_CANCEL = 89;
185 IDM_FONT = 90;
186 IDM_STRIKETHROUGH = 91;
187 IDM_DELETEWORD = 92;
188
189 IDM_FOLLOW_ANCHOR = 2008;
190
191 IDM_INSINPUTIMAGE = 2114;
192 IDM_INSINPUTBUTTON = 2115;
193 IDM_INSINPUTRESET = 2116;
194 IDM_INSINPUTSUBMIT = 2117;
195 IDM_INSINPUTUPLOAD = 2118;
196 IDM_INSFIELDSET = 2119;
197
198 IDM_PASTEINSERT = 2120;
199 IDM_REPLACE = 2121;
200 IDM_EDITSOURCE = 2122;
201 IDM_BOOKMARK = 2123;
202 IDM_HYPERLINK = 2124;
203 IDM_UNLINK = 2125;
204 IDM_BROWSEMODE = 2126;
205 IDM_EDITMODE = 2127;
206 IDM_UNBOOKMARK = 2128;
207
208 IDM_TOOLBARS = 2130;
209 IDM_STATUSBAR = 2131;
210 IDM_FORMATMARK = 2132;
211 IDM_TEXTONLY = 2133;
212 IDM_OPTIONS = 2135;
213 IDM_FOLLOWLINKC = 2136;
214 IDM_FOLLOWLINKN = 2137;
215 IDM_VIEWSOURCE = 2139;
216 IDM_ZOOMPOPUP = 2140;
217
218 // IDM_BASELINEFONT1, IDM_BASELINEFONT2, IDM_BASELINEFONT3, IDM_BASELINEFONT4,
219 // and IDM_BASELINEFONT5 should be consecutive integers;
220 //
221 IDM_BASELINEFONT1 = 2141;
222 IDM_BASELINEFONT2 = 2142;
223 IDM_BASELINEFONT3 = 2143;
224 IDM_BASELINEFONT4 = 2144;
225 IDM_BASELINEFONT5 = 2145;
226
227 IDM_HORIZONTALLINE = 2150;
228 IDM_LINEBREAKNORMAL = 2151;
229 IDM_LINEBREAKLEFT = 2152;
230 IDM_LINEBREAKRIGHT = 2153;
231 IDM_LINEBREAKBOTH = 2154;
232 IDM_NONBREAK = 2155;
233 IDM_SPECIALCHAR = 2156;
234 IDM_HTMLSOURCE = 2157;
235 IDM_IFRAME = 2158;
236 IDM_HTMLCONTAIN = 2159;
237 IDM_TEXTBOX = 2161;
238 IDM_TEXTAREA = 2162;
239 IDM_CHECKBOX = 2163;
240 IDM_RADIOBUTTON = 2164;
241 IDM_DROPDOWNBOX = 2165;
242 IDM_LISTBOX = 2166;
243 IDM_BUTTON = 2167;
244 IDM_IMAGE = 2168;
245 IDM_OBJECT = 2169;
246 IDM_1D = 2170;
247 IDM_IMAGEMAP = 2171;
248 IDM_FILE = 2172;
249 IDM_COMMENT = 2173;
250 IDM_SCRIPT = 2174;
251 IDM_JAVAAPPLET = 2175;
252 IDM_PLUGIN = 2176;
253 IDM_PAGEBREAK = 2177;
254
255 IDM_PARAGRAPH = 2180;
256 IDM_FORM = 2181;
257 IDM_MARQUEE = 2182;
258 IDM_LIST = 2183;
259 IDM_ORDERLIST = 2184;
260 IDM_UNORDERLIST = 2185;
261 IDM_INDENT = 2186;
262 IDM_OUTDENT = 2187;
263 IDM_PREFORMATTED = 2188;
264 IDM_ADDRESS = 2189;
265 IDM_BLINK = 2190;
266 IDM_DIV = 2191;
267
268 IDM_TABLEINSERT = 2200;
269 IDM_RCINSERT = 2201;
270 IDM_CELLINSERT = 2202;
271 IDM_CAPTIONINSERT = 2203;
272 IDM_CELLMERGE = 2204;
273 IDM_CELLSPLIT = 2205;
274 IDM_CELLSELECT = 2206;
275 IDM_ROWSELECT = 2207;
276 IDM_COLUMNSELECT = 2208;
277 IDM_TABLESELECT = 2209;
278 IDM_TABLEPROPERTIES = 2210;
279 IDM_CELLPROPERTIES = 2211;
280 IDM_ROWINSERT = 2212;
281 IDM_COLUMNINSERT = 2213;
282
283 IDM_HELP_CONTENT = 2220;
284 IDM_HELP_ABOUT = 2221;
285 IDM_HELP_README = 2222;
286
287 IDM_REMOVEFORMAT = 2230;
288 IDM_PAGEINFO = 2231;
289 IDM_TELETYPE = 2232;
290 IDM_GETBLOCKFMTS = 2233;
291 IDM_BLOCKFMT = 2234;
292 IDM_SHOWHIDE_CODE = 2235;
293 IDM_TABLE = 2236;
294
295 IDM_COPYFORMAT = 2237;
296 IDM_PASTEFORMAT = 2238;
297 IDM_GOTO = 2239;
298
299 IDM_CHANGEFONT = 2240;
300 IDM_CHANGEFONTSIZE = 2241;
301 IDM_INCFONTSIZE = 2242;
302 IDM_DECFONTSIZE = 2243;
303 IDM_INCFONTSIZE1PT = 2244;
304 IDM_DECFONTSIZE1PT = 2245;
305 IDM_CHANGECASE = 2246;
306 IDM_SUBSCRIPT = 2247;
307 IDM_SUPERSCRIPT = 2248;
308 IDM_SHOWSPECIALCHAR = 2249;
309
310 IDM_CENTERALIGNPARA = 2250;
311 IDM_LEFTALIGNPARA = 2251;
312 IDM_RIGHTALIGNPARA = 2252;
313 IDM_REMOVEPARAFORMAT = 2253;
314 IDM_APPLYNORMAL = 2254;
315 IDM_APPLYHEADING1 = 2255;
316 IDM_APPLYHEADING2 = 2256;
317 IDM_APPLYHEADING3 = 2257;
318
319 IDM_DOCPROPERTIES = 2260;
320 IDM_ADDFAVORITES = 2261;
321 IDM_COPYSHORTCUT = 2262;
322 IDM_SAVEBACKGROUND = 2263;
323 IDM_SETWALLPAPER = 2264;
324 IDM_COPYBACKGROUND = 2265;
325 IDM_CREATESHORTCUT = 2266;
326 IDM_PAGE = 2267;
327 IDM_SAVETARGET = 2268;
328 IDM_SHOWPICTURE = 2269;
329 IDM_SAVEPICTURE = 2270;
330 IDM_DYNSRCPLAY = 2271;
331 IDM_DYNSRCSTOP = 2272;
332 IDM_PRINTTARGET = 2273;
333 IDM_IMGARTPLAY = 2274;
334 IDM_IMGARTSTOP = 2275;
335 IDM_IMGARTREWIND = 2276;
336 IDM_PRINTQUERYJOBSPENDING = 2277;
337
338 IDM_CONTEXTMENU = 2280;
339 IDM_GOBACKWARD = 2282;
340 IDM_GOFORWARD = 2283;
341 IDM_PRESTOP = 2284;
342
343 IDM_CREATELINK = 2290;
344 IDM_COPYCONTENT = 2291;
345
346 IDM_LANGUAGE = 2292;
347
348 IDM_REFRESH = 2300;
349 IDM_STOPDOWNLOAD = 2301;
350
351 IDM_ENABLE_INTERACTION = 2302;
352
353 IDM_LAUNCHDEBUGGER = 2310;
354 IDM_BREAKATNEXT = 2311;
355
356 IDM_INSINPUTHIDDEN = 2312;
357 IDM_INSINPUTPASSWORD = 2313;
358
359 IDM_OVERWRITE = 2314;
360
361 IDM_PARSECOMPLETE = 2315;
362
363 IDM_HTMLEDITMODE = 2316;
364
365 IDM_REGISTRYREFRESH = 2317;
366 IDM_COMPOSESETTINGS = 2318;
367
368 IDM_SHOWALLTAGS = 2320;
369 IDM_SHOWALIGNEDSITETAGS = 2321;
370 IDM_SHOWSCRIPTTAGS = 2322;
371 IDM_SHOWSTYLETAGS = 2323;
372 IDM_SHOWCOMMENTTAGS = 2324;
373 IDM_SHOWAREATAGS = 2325;
374 IDM_SHOWUNKNOWNTAGS = 2326;
375 IDM_SHOWMISCTAGS = 2327;
376 IDM_SHOWZEROBORDERATDESIGNTIME = 2328;
377
378 IDM_AUTODETECT = 2329;
379
380 IDM_SCRIPTDEBUGGER = 2330;
381
382 IDM_GETBYTESDOWNLOADED = 2331;
383
384 IDM_NOACTIVATENORMALOLECONTROLS = 2332;
385 IDM_NOACTIVATEDESIGNTIMECONTROLS = 2333;
386 IDM_NOACTIVATEJAVAAPPLETS = 2334;
387
388 IDM_SHOWWBRTAGS = 2340;
389
390 IDM_PERSISTSTREAMSYNC = 2341;
391 IDM_SETDIRTY = 2342;
392
393
394 IDM_MIMECSET__FIRST__ = 3609;
395 IDM_MIMECSET__LAST__ = 3640;
396
397 IDM_MENUEXT_FIRST__ = 3700;
398 IDM_MENUEXT_LAST__ = 3732;
399 IDM_MENUEXT_COUNT = 3733;
400
401 ID_EDITMODE = 32801;
402
403 IDM_OPEN = 2000;
404 IDM_NEW = 2001;
405 IDM_SAVE = 70;
406 IDM_SAVEAS = 71;
407 IDM_SAVECOPYAS = 2002;
408 IDM_PRINTPREVIEW = 2003;
409 IDM_PRINT = 27;
410 IDM_PAGESETUP = 2004;
411 IDM_SPELL = 2005;
412 IDM_PASTESPECIAL = 2006;
413 IDM_CLEARSELECTION = 2007;
414 IDM_PROPERTIES = 28;
415 IDM_REDO = 29;
416 IDM_UNDO = 43;
417 IDM_SELECTALL = 31;
418 IDM_ZOOMPERCENT = 50;
419 IDM_GETZOOM = 68;
420 IDM_STOP = 2138;
421 IDM_COPY = 15;
422 IDM_CUT = 16;
423 IDM_PASTE = 26;
424
425 IDM_TRIED_IS_1D_ELEMENT = 0; //[out,VT_BOOL]
426 IDM_TRIED_IS_2D_ELEMENT = 1; //[out,VT_BOOL]
427 IDM_TRIED_NUDGE_ELEMENT = 2; //[in,VT_BYREF VARIANT.byref=LPPOINT]
428 IDM_TRIED_SET_ALIGNMENT = 3; //[in,VT_BYREF VARIANT.byref=LPPOINT]
429 IDM_TRIED_MAKE_ABSOLUTE = 4;
430 IDM_TRIED_LOCK_ELEMENT = 5;
431 IDM_TRIED_SEND_TO_BACK = 6;
432 IDM_TRIED_SEND_TO_FRONT = 7;
433 IDM_TRIED_SEND_BACKWARD = 8;
434 IDM_TRIED_SEND_FORWARD = 9;
435 IDM_TRIED_SEND_BEHIND_1D = 10;
436 IDM_TRIED_SEND_FRONT_1D = 11;
437 IDM_TRIED_CONSTRAIN = 12; //[in,VT_BOOL]
438 IDM_TRIED_SET_2D_DROP_MODE = 13; //[in,VT_BOOL]
439 IDM_TRIED_INSERTROW = 14;
440 IDM_TRIED_INSERTCOL = 15;
441 IDM_TRIED_DELETEROWS = 16;
442 IDM_TRIED_DELETECOLS = 17;
443 IDM_TRIED_MERGECELLS = 18;
444 IDM_TRIED_SPLITCELL = 19;
445 IDM_TRIED_INSERTCELL = 20;
446 IDM_TRIED_DELETECELLS = 21;
447 IDM_TRIED_INSERTTABLE = 22; //[in, VT_ARRAY]
448
449//WARNING WARNING WARNING!!! Don't forget to modify IDM_TRIED_LAST_CID
450//when you add new Command IDs
451
452 IDM_TRIED_LAST_CID = IDM_TRIED_INSERTTABLE;
453
454
455
456
457 CLSID_WebBrowser: TGUID = '{ED016940-BD5B-11cf-BA4E-00C04FD70816}';
458
459type
460
461 STATURL = record
462 cbSize: DWORD;
463 pwcsUrl: DWORD;
464 pwcsTitle: DWORD;
465 ftLastVisited: FILETIME;
466 ftLastUpdated: FILETIME;
467 ftExpires: FILETIME;
468 dwFlags: DWORD;
469 end;
470
471
472 IEnumSTATURL = interface(IUnknown)
473 ['{3C374A42-BAE4-11CF-BF7D-00AA006946EE}']
474 function Next(celt: Integer; out elt; pceltFetched: PLongint): HRESULT; stdcall;
475 function Skip(celt: Longint): HRESULT; stdcall;
476 function Reset: HResult; stdcall;
477 function Clone(out ppenum: IEnumSTATURL): HResult; stdcall;
478 function SetFilter(poszFilter: PWideChar; dwFlags: DWORD): HResult; stdcall;
479 end;
480
481 IUrlHistoryStg = interface(IUnknown)
482 ['{3C374A41-BAE4-11CF-BF7D-00AA006946EE}']
483 function AddUrl(pocsUrl: PWideChar; pocsTitle: PWideChar; dwFlags: Integer): HResult; stdcall;
484 function DeleteUrl(pocsUrl: PWideChar; dwFlags: Integer): HResult; stdcall;
485 function QueryUrl(pocsUrl: PWideChar; dwFlags: Integer; var lpSTATURL: STATURL): HResult; stdcall;
486 function BindToObject(pocsUrl: PWideChar; var riid: TIID; out ppvOut: Pointer): HResult; stdcall;
487 function EnumUrls(out ppenum: IEnumSTATURL): HResult; stdcall;
488 end;
489
490 IUrlHistoryStg2 = interface(IUrlHistoryStg)
491 ['{AFA0DC11-C313-11D0-831A-00C04FD5AE38}']
492 function AddUrlAndNotify(pocsUrl: PWideChar; pocsTitle: PWideChar; dwFlags: Integer;
493 fWriteHistory: Integer; var poctNotify: Pointer;
494 const punkISFolder: IUnknown): HResult; stdcall;
495 function ClearHistory: HResult; stdcall;
496 end;
497
498 IUrlHistoryNotify = interface(IOleCommandTarget)
499 ['{BC40BEC1-C493-11d0-831B-00C04FD5AE38}']
500 end;
501
502
503
504
505
506
507
508 PDOCHOSTUIINFO = ^TDOCHOSTUIINFO;
509 TDOCHOSTUIINFO = record
510 cbSize: ULONG;
511 dwFlags: DWORD;
512 dwDoubleClick: DWORD;
513 chHostCss: POLESTR;
514 chHostNS: POLESTR;
515 end;
516
517
518 IDocHostShowUI = interface(IUnknown)
519 ['{c4d244b0-d43e-11cf-893b-00aa00bdce1a}']
520 function ShowMessage(hwnd: THandle; lpstrText: POLESTR; lpstrCaption: POLESTR;
521 dwType: longint; lpstrHelpFile: POLESTR; dwHelpContext: longint;
522 var plResult: LRESULT): HRESULT; stdcall;
523 function ShowHelp(hwnd: THandle; pszHelpFile: POLESTR; uCommand: integer;
524 dwData: longint; ptMouse: TPoint;
525 var pDispatchObjectHit: IDispatch): HRESULT; stdcall;
526 end; // IDocHostShowUI
527
528
529 IDocHostUIHandler = interface(IUnknown)
530 ['{bd3f23c0-d43e-11cf-893b-00aa00bdce1a}']
531 function ShowContextMenu(const dwID: DWORD; const ppt: PPOINT;
532 const pcmdtReserved: IUnknown; const pdispReserved: IDispatch): HRESULT; stdcall;
533 function GetHostInfo(var pInfo: TDOCHOSTUIINFO): HRESULT; stdcall;
534 function ShowUI(const dwID: DWORD; const pActiveObject: IOleInPlaceActiveObject;
535 const pCommandTarget: IOleCommandTarget; const pFrame: IOleInPlaceFrame;
536 const pDoc: IOleInPlaceUIWindow): HRESULT; stdcall;
537 function HideUI: HRESULT; stdcall;
538 function UpdateUI: HRESULT; stdcall;
539 function EnableModeless(const fEnable: BOOL): HRESULT; stdcall;
540 function OnDocWindowActivate(const fActivate: BOOL): HRESULT; stdcall;
541 function OnFrameWindowActivate(const fActivate: BOOL): HRESULT; stdcall;
542 function ResizeBorder(const prcBorder: PRECT;
543 const pUIWindow: IOleInPlaceUIWindow;
544 const fRameWindow: BOOL): HRESULT; stdcall;
545 function TranslateAccelerator(const lpMsg: PMSG; const pguidCmdGroup: PGUID;
546 const nCmdID: DWORD): HRESULT; stdcall;
547 function GetOptionKeyPath(var pchKey: POLESTR; const dw: DWORD): HRESULT; stdcall;
548 function GetDropTarget(const pDropTarget: IDropTarget;
549 out ppDropTarget: IDropTarget): HRESULT; stdcall;
550 function GetExternal(out ppDispatch: IDispatch): HRESULT; stdcall;
551 function TranslateUrl(const dwTranslate: DWORD; const pchURLIn: POLESTR;
552 var ppchURLOut: POLESTR): HRESULT; stdcall;
553 function FilterDataObject(const pDO: IDataObject;
554 out ppDORet: IDataObject): HRESULT; stdcall;
555 end; // IDocHostUIHandler
556
557
558
559
560 IDocHostUIHandler2 = interface(IUnknown)
561 ['{3050f6d0-98b5-11cf-bb82-00aa00bdce0b}']
562 function GetOverrideKeyPath(pchKey: POLESTR; dw: DWORD): HRESULT; stdcall;
563 end;
564
565const
566 IID_IUniformResourceLocatorA: TGUID = (
567 D1:$FBF23B80; D2:$E3F0; D3:$101B; D4:($84,$88,$00,$AA,$00,$3E,$56,$F8));
568
569 IID_IUniformResourceLocatorW: TGUID = (
570 D1:$CABB0DA0; D2:$DA57; D3:$11CF; D4:($99,$74,$00,$20,$AF,$D7,$97,$62));
571
572
573{$IFDEF UNICODE}
574 IID_IUniformResourceLocator: TGUID = (
575 D1:$CABB0DA0; D2:$DA57; D3:$11CF; D4:($99,$74,$00,$20,$AF,$D7,$97,$62));
576{$ELSE}
577 IID_IUniformResourceLocator : TGUID = (
578 D1:$FBF23B80; D2:$E3F0; D3:$101B; D4:($84,$88,$00,$AA,$00,$3E,$56,$F8));
579{$ENDIF}
580
581
582const
583CLSID_InternetShortCut : TGUID = (
584 d1:$FBF23B40; D2:$E3F0; D3:$101B; D4:($84,$88,$00,$AA,$00,$3E,$56,$F8));
585
586 SID_IUniformResourceLocatorA = '{FBF23B80-E3F0-101B-8488-00AA003E56F8}';
587 SID_IUniformResourceLocatorW = '{CABB0DA0-DA57-11CF-9974-0020AFD79762}';
588{$IFDEF UNICODE}
589 SID_IUniformResourceLocator = SID_IUniformResourceLocatorW;
590{$ELSE}
591 SID_IUniformResourceLocator = SID_IUniformResourceLocatorA;
592{$ENDIF}
593
594
595
596 IURL_SETURL_FL_GUESS_PROTOCOL = $0001; // Guess protocol if missing
597 IURL_SETURL_FL_USE_DEFAULT_PROTOCOL = $0002; // Use default protocol if missing
598
599 IURL_INVOKECOMMAND_FL_ALLOW_UI = $0001;
600 IURL_INVOKECOMMAND_FL_USE_DEFAULT_VERB = $0002; // Ignore pcszVerb
601 IURL_INVOKECOMMAND_FL_DDEWAIT = $0004; // pass DDEWAIT to ShellExec
602
603 TRANSLATEURL_FL_GUESS_PROTOCOL = $0001; // Guess protocol if missing
604 TRANSLATEURL_FL_USE_DEFAULT_PROTOCOL = $0002; // Use default protocol if missing
605
606 URLASSOCDLG_FL_USE_DEFAULT_NAME = $0001;
607 URLASSOCDLG_FL_REGISTER_ASSOC = $0002;
608
609 MIMEASSOCDLG_FL_REGISTER_ASSOC = $0001;
610
611type
612
613PUrlInvokeCommandInfoA = ^TUrlInvokeCommandInfoA;
614
615TUrlInvokeCommandInfoA = record
616 dwcbSize : DWORD; // Size of structure
617 dwFlags : DWORD; // Bit field of IURL_INVOKECOMMAND_FLAGS
618 hwndParent : HWND; // Parent window. Valid only if IURL_INVOKECOMMAND_FL_ALLOW_UI is set.
619 pcszVerb : LPCSTR; // Verb to invoke. Ignored if IURL_INVOKECOMMAND_FL_USE_DEFAULT_VERB is set.
620end;
621
622
623
624PUrlInvokeCommandInfoW = ^TUrlInvokeCommandInfoW;
625TUrlInvokeCommandInfoW = record
626 dwcbSize : DWORD; // Size of structure
627 dwFlags : DWORD; // Bit field of IURL_INVOKECOMMAND_FLAGS
628 hwndParent : HWND; // Parent window. Valid only if IURL_INVOKECOMMAND_FL_ALLOW_UI is set.
629 pcszVerb : LPCWSTR; // Verb to invoke. Ignored if IURL_INVOKECOMMAND_FL_USE_DEFAULT_VERB is set.
630end;
631
632{$IFDEF UNICODE}
633PURLInvokeCommandInfo = ^TUrlInvokeCommandInfoW;
634TUrlInvokeCommandInfo = TUrlInvokeCOmmandInfoW;
635{$ELSE}
636PURLInvokeCommandInfo = ^TUrlInvokeCommandInfoA;
637TUrlInvokeCommandInfo = TUrlInvokeCOmmandInfoA;
638{$ENDIF}
639
640
641
642
643 IUniformResourceLocatorA = interface(IUnknown)
644 [SID_IUniformResourceLocatorA]
645 function SetURL(pcszURL : LpcStr; dwInFlags: DWORD): HRESULT; stdcall;
646 function GetURL(ppszURL : LpStr): HRESULT; stdcall;
647 function InvokeCommand(purlici : PURLINVOKECOMMANDINFOA): HRESULT; stdcall;
648
649 end;
650
651
652
653 IUniformResourceLocatorW = interface(IUnknown)
654 [SID_IUniformResourceLocatorW]
655 function SetURL(pcszURL : LpcWStr; dwInFlags: DWORD): HRESULT; stdcall;
656 function GetURL(ppszURL : LpWStr): HRESULT; stdcall;
657 function InvokeCommand(purlici : PURLINVOKECOMMANDINFOW): HRESULT; stdcall;
658 end;
659
660
661{$IFDEF UNICODE}
662 IUniformResourceLocator = IUniformResourceLocatorW;
663{$ELSE}
664 IUniformResourceLocator = IUniformResourceLocatorA;
665{$ENDIF}
666
667function TranslateURLA(pcszURL : LPCSTR;
668 dwInFlags : DWORD;
669 ppszTranslatedURL : LPSTR) : HRESULT; stdcall;
670
671
672function TranslateURLW(pcszURL : LPCWSTR;
673 dwInFlags : DWORD;
674 ppszTranslatedURL : LPWSTR) : HRESULT; stdcall;
675
676{$IFDEF UNICODE}
677function TranslateURL(pcszURL : LPCWSTR;
678 dwInFlags : DWORD;
679 ppszTranslatedURL : LPWSTR) : HRESULT; stdcall;
680{$ELSE}
681function TranslateURL(pcszURL : LPCSTR;
682 dwInFlags : DWORD;
683 ppszTranslatedURL : LPSTR) : HRESULT; stdcall;
684{$ENDIF}
685
686
687function URLAssociationDialogA(hwndParent : HWND;
688 dwInFlags : DWORD;
689 pcszFile : LPCSTR;
690 pcszURL : LPCSTR;
691 pszAppBuf : LPSTR;
692 ucAppBufLen : UINT) : HRESULT; stdcall;
693
694function URLAssociationDialogW(hwndParent : HWND;
695 dwInFlags : DWORD;
696 pcszFile : LPCWSTR;
697 pcszURL : LPCWSTR;
698 pszAppBuf : LPWSTR;
699 ucAppBufLen : UINT) : HRESULT; stdcall;
700
701{$IFDEF UNICODE}
702function URLAssociationDialog(hwndParent : HWND;
703 dwInFlags : DWORD;
704 pcszFile : LPCWSTR;
705 pcszURL : LPCWSTR;
706 pszAppBuf : LPWSTR;
707 ucAppBufLen : UINT) : HRESULT; stdcall;
708{$ELSE}
709function URLAssociationDialog(hwndParent : HWND;
710 dwInFlags : DWORD;
711 pcszFile : LPCSTR;
712 pcszURL : LPCSTR;
713 pszAppBuf : LPSTR;
714 ucAppBufLen : UINT) : HRESULT; stdcall;
715{$ENDIF}
716
717
718
719function MIMEAssociationDialogA(hwndParent : HWND;
720 dwInFlags : DWORD;
721 pcszFile : LPCSTR;
722 pcszMIMEContentType : LPCSTR;
723 pszAppBuf : LPSTR;
724 ucAppBufLen : UINT) : HRESULT; stdcall;
725
726
727function MIMEAssociationDialogW(hwndParent : HWND;
728 dwInFlags : DWORD;
729 pcszFile : LPCWSTR;
730 pcszMIMEContentType : LPCWSTR;
731 pszAppBuf : LPWSTR;
732 ucAppBufLen : UINT) : HRESULT; stdcall;
733
734{$IFDEF UNICODE}
735function MIMEAssociationDialog(hwndParent : HWND;
736 dwInFlags : DWORD;
737 pcszFile : LPCWSTR;
738 pcszMIMEContentType : LPCWSTR;
739 pszAppBuf : LPWSTR;
740 ucAppBufLen : UINT) : HRESULT; stdcall;
741{$ELSE}
742function MIMEAssociationDialog(hwndParent : HWND;
743 dwInFlags : DWORD;
744 pcszFile : LPCSTR;
745 pcszMIMEContentType : LPCSTR;
746 pszAppBuf : LPSTR;
747 ucAppBufLen : UINT) : HRESULT; stdcall;
748{$ENDIF}
749
750function InetIsOffline(dwFlags: DWORD): BOOL; stdcall;
751
752
753{$IFDEF VER120}
754
755const
756 IID_IInternetSession: TGUID = '{79eac9e7-baf9-11ce-8c82-00aa004ba90b}';
757 IID_IInternetSecurityMgrSite: TGUID = '{79eac9ed-baf9-11ce-8c82-00aa004ba90b}';
758 IID_IInternetSecurityManager: TGUID = '{79eac9ee-baf9-11ce-8c82-00aa004ba90b}';
759 IID_IInternetHostSecurityManager: TGUID = '{3af280b6-cb3f-11d0-891e-00c04fb6bfc4}';
760 SID_IInternetSecurityManager: TGUID = '{79eac9ee-baf9-11ce-8c82-00aa004ba90b}';
761 SID_IInternetHostSecurityManager: TGUID = '{3af280b6-cb3f-11d0-891e-00c04fb6bfc4}';
762 IID_IInternetZoneManager: TGUID = '{79eac9ef-baf9-11ce-8c82-00aa004ba90b}';
763
764
765type
766 TUrlZoneReg = ULONG;
767
768 PBindInfo = ^TBindInfo;
769 _tagBINDINFO = packed record
770 cbSize: ULONG;
771 szExtraInfo: LPWSTR;
772 stgmedData: TStgMedium;
773 grfBindInfoF: DWORD;
774 dwBindVerb: DWORD;
775 szCustomVerb: LPWSTR;
776 cbstgmedData: DWORD;
777 dwOptions: DWORD;
778 dwOptionsFlags: DWORD;
779 dwCodePage: DWORD;
780 securityAttributes: TSecurityAttributes;
781 iid: TGUID;
782 pUnk: IUnknown;
783 dwReserved: DWORD;
784 end;
785 TBindInfo = _tagBINDINFO;
786 BINDINFO = _tagBINDINFO;
787
788
789{$NODEFINE POLEStrArray}
790 POLEStrArray = ^TOLESTRArray;
791{$NODEFINE TOLEStrArray}
792 TOLEStrArray = array[0..MaxLongint div SizeOf(POLEStr) - 1] of POLEStr;
793
794{$EXTERNALSYM IInternetBindInfo}
795 IInternetBindInfo = interface
796 ['{79eac9e1-baf9-11ce-8c82-00aa004ba90b}']
797 function GetBindInfo(out grfBINDF: DWORD; var bindinfo: TBindInfo): HResult; stdcall;
798 function GetBindString(ulStringType: ULONG; wzStr: POLEStrArray; cEl: ULONG;
799 var cElFetched: ULONG): HResult; stdcall;
800 end;
801
802 PProtocolData = ^TProtocolData;
803{$EXTERNALSYM _tagPROTOCOLDATA}
804 _tagPROTOCOLDATA = packed record
805 grfFlags: DWORD;
806 dwState: DWORD;
807 pData: Pointer;
808 cbData: ULONG;
809 end;
810 TProtocolData = _tagPROTOCOLDATA;
811{$EXTERNALSYM _tagPROTOCOLDATA}
812 PROTOCOLDATA = _tagPROTOCOLDATA;
813
814{$EXTERNALSYM IInternetProtocolSink}
815 IInternetProtocolSink = interface; // forward
816
817{$EXTERNALSYM IInternetProtocolRoot}
818 IInternetProtocolRoot = interface
819 ['{79eac9e3-baf9-11ce-8c82-00aa004ba90b}']
820 function Start(szUrl: LPCWSTR; OIProtSink: IInternetProtocolSink;
821 OIBindInfo: IInternetBindInfo; grfPI, dwReserved: DWORD): HResult; stdcall;
822 function Continue(const ProtocolData: TProtocolData): HResult; stdcall;
823 function Abort(hrReason: HResult; dwOptions: DWORD): HResult; stdcall;
824 function Terminate(dwOptions: DWORD): HResult; stdcall;
825 function Suspend: HResult; stdcall;
826 function Resume: HResult; stdcall;
827 end;
828
829{$EXTERNALSYM IInternetProtocol}
830 IInternetProtocol = interface(IInternetProtocolRoot)
831 ['{79eac9e4-baf9-11ce-8c82-00aa004ba90b}']
832 function Read(pv: Pointer; cb: ULONG; out cbRead: ULONG): HResult; stdcall;
833 function Seek(dlibMove: LARGE_INTEGER; dwOrigin: DWORD; out libNewPosition: ULARGE_INTEGER): HResult; stdcall;
834 function LockRequest(dwOptions: DWORD): HResult; stdcall;
835 function UnlockRequest: HResult; stdcall;
836 end;
837
838{$EXTERNALSYM IInternetProtocolSink}
839 IInternetProtocolSink = interface
840 ['{79eac9e5-baf9-11ce-8c82-00aa004ba90b}']
841 function Switch(const ProtocolData: TProtocolData): HResult; stdcall;
842 function ReportProgress(ulStatusCode: ULONG; szStatusText: LPCWSTR): HResult; stdcall;
843 function ReportData(grfBSCF: DWORD; ulProgress, ulProgressMax: ULONG): HResult; stdcall;
844 function ReportResult(hrResult: HResult; dwError: DWORD; szResult: LPCWSTR): HResult; stdcall;
845 end;
846
847{$NODEFINE TLPCWSTRArray}
848 TLPCWSTRArray = array[0..MaxLongInt div SizeOf(LPCWSTR) - 1] of LPCWSTR;
849{$NODEFINE PLPCWSTRArray}
850 PLPCWSTRArray = ^TLPCWSTRArray;
851
852{$EXTERNALSYM IInternetSession}
853 IInternetSession = interface
854 ['{79eac9e7-baf9-11ce-8c82-00aa004ba90b}']
855 function RegisterNameSpace(CF: IClassFactory; const clsid: TCLSID; pwzProtocol: LPCWSTR;
856 cPatterns: ULONG; const pwzPatterns: PLPCWSTRArray; dwReserved: DWORD): HResult; stdcall;
857 function UnregisterNameSpace(CF: IClassFactory; pszProtocol: LPCWSTR): HResult; stdcall;
858 function RegisterMimeFilter(CF: IClassFactory; const rclsid: TCLSID;
859 pwzType: LPCWSTR): HResult; stdcall;
860 function UnregisterMimeFilter(CF: IClassFactory; pwzType: LPCWSTR): HResult; stdcall;
861 function CreateBinding(BC: IBindCtx; szUrl: LPCWSTR; UnkOuter: IUnknown; out Unk: IUnknown;
862 out OINetProt: IInternetProtocol; dwOption: DWORD): HResult; stdcall;
863 function SetSessionOption(dwOption: DWORD; pBuffer: Pointer; dwBufferLength: DWORD;
864 dwReserved: DWORD): HResult; stdcall;
865 function GetSessionOption(dwOption: DWORD; pBuffer: Pointer; var dwBufferLength: DWORD;
866 dwReserved: DWORD): HResult; stdcall;
867 end; // IInternetSession
868
869{$EXTERNALSYM CoInternetGetSession}
870function CoInternetGetSession(dwSessionMode: DWORD; var pIInternetSession: IInternetSession;
871 dwReserved: DWORD): HResult; stdcall;
872
873
874
875type
876{$EXTERNALSYM IInternetSecurityMgrSite}
877 IInternetSecurityMgrSite = interface
878 ['{79eac9ed-baf9-11ce-8c82-00aa004ba90b}']
879 function GetWindow(out hwnd: HWnd): HResult; stdcall;
880 function EnableModeless(fEnable: BOOL): HResult; stdcall;
881 end;
882
883const
884{$EXTERNALSYM MAX_SIZE_SECURITY_ID}
885 MAX_SIZE_SECURITY_ID = 512; // bytes;
886
887 // MapUrlToZone returns the zone index given a URL
888{$EXTERNALSYM PUAF_DEFAULT}
889 PUAF_DEFAULT = $00000000;
890{$EXTERNALSYM PUAF_NOUI}
891 PUAF_NOUI = $00000001;
892{$EXTERNALSYM PUAF_ISFILE}
893 PUAF_ISFILE = $00000002;
894{$EXTERNALSYM PUAF_WARN_IF_DENIED}
895 PUAF_WARN_IF_DENIED = $00000004;
896{$EXTERNALSYM PUAF_FORCEUI_FOREGROUND}
897 PUAF_FORCEUI_FOREGROUND = $00000008;
898{$EXTERNALSYM PUAF_CHECK_TIFS}
899 PUAF_CHECK_TIFS = $00000010;
900
901// This is the wrapper function that most clients will use.
902// It figures out the current Policy for the passed in Action,
903// and puts up UI if the current Policy indicates that the user
904// should be queried. It returns back the Policy which the caller
905// will use to determine if the action should be allowed
906// This is the wrapper function to conveniently read a custom policy.
907
908// SetZoneMapping
909// lpszPattern: string denoting a URL pattern
910// Examples of valid patterns:
911// *://*.msn.com
912// http://*.sony.co.jp
913// *://et.msn.com
914// ftp://157.54.23.41/
915// https://localsvr
916// file:\localsvr\share
917// *://157.54.100-200.*
918// Examples of invalid patterns:
919// http://*.lcs.mit.edu
920// ftp://*
921// dwFlags: SZM_FLAGS values
922
923{$EXTERNALSYM SZM_CREATE}
924 SZM_CREATE = $00000000;
925{$EXTERNALSYM SZM_DELETE}
926 SZM_DELETE = $00000001;
927
928type
929{$EXTERNALSYM IInternetSecurityManager}
930 IInternetSecurityManager = interface
931 ['{79eac9ee-baf9-11ce-8c82-00aa004ba90b}']
932 function SetSecuritySite(Site: IInternetSecurityMgrSite): HResult; stdcall;
933 function GetSecuritySite(out Site: IInternetSecurityMgrSite): HResult; stdcall;
934 function MapUrlToZone(pwszUrl: LPCWSTR; out dwZone: DWORD;
935 dwFlags: DWORD): HResult; stdcall;
936 function GetSecurityId(pwszUrl: LPCWSTR; pbSecurityId: Pointer;
937 var cbSecurityId: DWORD; dwReserved: DWORD): HResult; stdcall;
938 function ProcessUrlAction(pwszUrl: LPCWSTR; dwAction: DWORD;
939 pPolicy: Pointer; cbPolicy: DWORD; pContext: Pointer; cbContext: DWORD;
940 dwFlags, dwReserved: DWORD): HResult; stdcall;
941 function QueryCustomPolicy(pwszUrl: LPCWSTR; const guidKey: TGUID;
942 out pPolicy: Pointer; out cbPolicy: DWORD; pContext: Pointer; cbContext: DWORD;
943 dwReserved: DWORD): HResult; stdcall;
944 function SetZoneMapping(dwZone: DWORD; lpszPattern: LPCWSTR;
945 dwFlags: DWORD): HResult; stdcall;
946 function GetZoneMappings(dwZone: DWORD; out enumString: IEnumString;
947 dwFlags: DWORD): HResult; stdcall;
948 end;
949
950{$EXTERNALSYM IInternetHostSecurityManager}
951 IInternetHostSecurityManager = interface
952 ['{3af280b6-cb3f-11d0-891e-00c04fb6bfc4}']
953 function GetSecurityId(pbSecurityId: Pointer; var cbSecurityId: DWORD;
954 dwReserved: DWORD): HResult; stdcall;
955 function ProcessUrlAction(dwAction: DWORD; pPolicy: Pointer; cbPolicy: DWORD;
956 pContext: Pointer; cbContext, dwFlags, dwReserved: DWORD): HResult; stdcall;
957 function QueryCustomPolicy(const guidKey: TGUID; out pPolicy: Pointer; out cbPolicy: DWORD;
958 pContext: Pointer; cbContext, dwReserved: DWORD): HResult; stdcall;
959 end;
960
961const
962{$EXTERNALSYM URLACTION_MIN}
963 URLACTION_MIN = $00001000;
964
965{$EXTERNALSYM URLACTION_DOWNLOAD_MIN}
966 URLACTION_DOWNLOAD_MIN = $00001000;
967{$EXTERNALSYM URLACTION_DOWNLOAD_SIGNED_ACTIVEX}
968 URLACTION_DOWNLOAD_SIGNED_ACTIVEX = $00001001;
969{$EXTERNALSYM URLACTION_DOWNLOAD_UNSIGNED_ACTIVEX}
970 URLACTION_DOWNLOAD_UNSIGNED_ACTIVEX = $00001004;
971{$EXTERNALSYM URLACTION_DOWNLOAD_CURR_MAX}
972 URLACTION_DOWNLOAD_CURR_MAX = $00001004;
973{$EXTERNALSYM URLACTION_DOWNLOAD_MAX}
974 URLACTION_DOWNLOAD_MAX = $000011FF;
975
976{$EXTERNALSYM URLACTION_ACTIVEX_MIN}
977 URLACTION_ACTIVEX_MIN = $00001200;
978{$EXTERNALSYM URLACTION_ACTIVEX_RUN}
979 URLACTION_ACTIVEX_RUN = $00001200;
980{$EXTERNALSYM URLACTION_ACTIVEX_OVERRIDE_OBJECT_SAFETY}
981 URLACTION_ACTIVEX_OVERRIDE_OBJECT_SAFETY = $00001201; // aggregate next four
982{$EXTERNALSYM URLACTION_ACTIVEX_OVERRIDE_DATA_SAFETY}
983 URLACTION_ACTIVEX_OVERRIDE_DATA_SAFETY = $00001202; //
984{$EXTERNALSYM URLACTION_ACTIVEX_OVERRIDE_SCRIPT_SAFETY}
985 URLACTION_ACTIVEX_OVERRIDE_SCRIPT_SAFETY = $00001203; //
986{$EXTERNALSYM URLACTION_SCRIPT_OVERRIDE_SAFETY}
987 URLACTION_SCRIPT_OVERRIDE_SAFETY = $00001401; //
988{$EXTERNALSYM URLACTION_ACTIVEX_CONFIRM_NOOBJECTSAFETY}
989 URLACTION_ACTIVEX_CONFIRM_NOOBJECTSAFETY = $00001204; //
990{$EXTERNALSYM URLACTION_ACTIVEX_TREATASUNTRUSTED}
991 URLACTION_ACTIVEX_TREATASUNTRUSTED = $00001205;
992{$EXTERNALSYM URLACTION_ACTIVEX_CURR_MAX}
993 URLACTION_ACTIVEX_CURR_MAX = $00001205;
994{$EXTERNALSYM URLACTION_ACTIVEX_MAX}
995 URLACTION_ACTIVEX_MAX = $000013FF;
996
997{$EXTERNALSYM URLACTION_SCRIPT_MIN}
998 URLACTION_SCRIPT_MIN = $00001400;
999{$EXTERNALSYM URLACTION_SCRIPT_RUN}
1000 URLACTION_SCRIPT_RUN = $00001400;
1001{$EXTERNALSYM URLACTION_SCRIPT_JAVA_USE}
1002 URLACTION_SCRIPT_JAVA_USE = $00001402;
1003{$EXTERNALSYM URLACTION_SCRIPT_SAFE_ACTIVEX}
1004 URLACTION_SCRIPT_SAFE_ACTIVEX = $00001405;
1005{$EXTERNALSYM URLACTION_SCRIPT_CURR_MAX}
1006 URLACTION_SCRIPT_CURR_MAX = $00001405;
1007{$EXTERNALSYM URLACTION_SCRIPT_MAX}
1008 URLACTION_SCRIPT_MAX = $000015FF;
1009
1010{$EXTERNALSYM URLACTION_HTML_MIN}
1011 URLACTION_HTML_MIN = $00001600;
1012{$EXTERNALSYM URLACTION_HTML_SUBMIT_FORMS}
1013 URLACTION_HTML_SUBMIT_FORMS = $00001601; // aggregate next two
1014{$EXTERNALSYM URLACTION_HTML_SUBMIT_FORMS_FROM}
1015 URLACTION_HTML_SUBMIT_FORMS_FROM = $00001602; //
1016{$EXTERNALSYM URLACTION_HTML_SUBMIT_FORMS_TO}
1017 URLACTION_HTML_SUBMIT_FORMS_TO = $00001603; //
1018{$EXTERNALSYM URLACTION_HTML_FONT_DOWNLOAD}
1019 URLACTION_HTML_FONT_DOWNLOAD = $00001604;
1020{$EXTERNALSYM URLACTION_HTML_JAVA_RUN}
1021 URLACTION_HTML_JAVA_RUN = $00001605; // derive from Java custom policy;
1022{$EXTERNALSYM URLACTION_HTML_CURR_MAX}
1023 URLACTION_HTML_CURR_MAX = $00001605;
1024{$EXTERNALSYM URLACTION_HTML_MAX}
1025 URLACTION_HTML_MAX = $000017FF;
1026
1027{$EXTERNALSYM URLACTION_SHELL_MIN}
1028 URLACTION_SHELL_MIN = $00001800;
1029{$EXTERNALSYM URLACTION_SHELL_INSTALL_DTITEMS}
1030 URLACTION_SHELL_INSTALL_DTITEMS = $00001800;
1031{$EXTERNALSYM URLACTION_SHELL_MOVE_OR_COPY}
1032 URLACTION_SHELL_MOVE_OR_COPY = $00001802;
1033{$EXTERNALSYM URLACTION_SHELL_FILE_DOWNLOAD}
1034 URLACTION_SHELL_FILE_DOWNLOAD = $00001803;
1035{$EXTERNALSYM URLACTION_SHELL_VERB}
1036 URLACTION_SHELL_VERB = $00001804;
1037{$EXTERNALSYM URLACTION_SHELL_WEBVIEW_VERB}
1038 URLACTION_SHELL_WEBVIEW_VERB = $00001805;
1039{$EXTERNALSYM URLACTION_SHELL_CURR_MAX}
1040 URLACTION_SHELL_CURR_MAX = $00001805;
1041{$EXTERNALSYM URLACTION_SHELL_MAX}
1042 URLACTION_SHELL_MAX = $000019FF;
1043
1044{$EXTERNALSYM URLACTION_NETWORK_MIN}
1045 URLACTION_NETWORK_MIN = $00001A00;
1046
1047{$EXTERNALSYM URLACTION_CREDENTIALS_USE}
1048 URLACTION_CREDENTIALS_USE = $00001A00;
1049{$EXTERNALSYM URLPOLICY_CREDENTIALS_SILENT_LOGON_OK}
1050 URLPOLICY_CREDENTIALS_SILENT_LOGON_OK = $00000000;
1051{$EXTERNALSYM URLPOLICY_CREDENTIALS_MUST_PROMPT_USER}
1052 URLPOLICY_CREDENTIALS_MUST_PROMPT_USER = $00010000;
1053{$EXTERNALSYM URLPOLICY_CREDENTIALS_CONDITIONAL_PROMPT}
1054 URLPOLICY_CREDENTIALS_CONDITIONAL_PROMPT = $00020000;
1055{$EXTERNALSYM URLPOLICY_CREDENTIALS_ANONYMOUS_ONLY}
1056 URLPOLICY_CREDENTIALS_ANONYMOUS_ONLY = $00030000;
1057
1058{$EXTERNALSYM URLACTION_AUTHENTICATE_CLIENT}
1059 URLACTION_AUTHENTICATE_CLIENT = $00001A01;
1060{$EXTERNALSYM URLPOLICY_AUTHENTICATE_CLEARTEXT_OK}
1061 URLPOLICY_AUTHENTICATE_CLEARTEXT_OK = $00000000;
1062{$EXTERNALSYM URLPOLICY_AUTHENTICATE_CHALLENGE_RESPONSE}
1063 URLPOLICY_AUTHENTICATE_CHALLENGE_RESPONSE = $00010000;
1064{$EXTERNALSYM URLPOLICY_AUTHENTICATE_MUTUAL_ONLY}
1065 URLPOLICY_AUTHENTICATE_MUTUAL_ONLY = $00030000;
1066
1067{$EXTERNALSYM URLACTION_NETWORK_CURR_MAX}
1068 URLACTION_NETWORK_CURR_MAX = $00001A01;
1069{$EXTERNALSYM URLACTION_NETWORK_MAX}
1070 URLACTION_NETWORK_MAX = $00001BFF;
1071
1072{$EXTERNALSYM URLACTION_JAVA_MIN}
1073 URLACTION_JAVA_MIN = $00001C00;
1074{$EXTERNALSYM URLACTION_JAVA_PERMISSIONS}
1075 URLACTION_JAVA_PERMISSIONS = $00001C00;
1076{$EXTERNALSYM URLPOLICY_JAVA_PROHIBIT}
1077 URLPOLICY_JAVA_PROHIBIT = $00000000;
1078{$EXTERNALSYM URLPOLICY_JAVA_HIGH}
1079 URLPOLICY_JAVA_HIGH = $00010000;
1080{$EXTERNALSYM URLPOLICY_JAVA_MEDIUM}
1081 URLPOLICY_JAVA_MEDIUM = $00020000;
1082{$EXTERNALSYM URLPOLICY_JAVA_LOW}
1083 URLPOLICY_JAVA_LOW = $00030000;
1084{$EXTERNALSYM URLPOLICY_JAVA_CUSTOM}
1085 URLPOLICY_JAVA_CUSTOM = $00800000;
1086{$EXTERNALSYM URLACTION_JAVA_CURR_MAX}
1087 URLACTION_JAVA_CURR_MAX = $00001C00;
1088{$EXTERNALSYM URLACTION_JAVA_MAX}
1089 URLACTION_JAVA_MAX = $00001CFF;
1090
1091// The following Infodelivery actions should have no default policies
1092// in the registry. They assume that no default policy means fall
1093// back to the global restriction. If an admin sets a policy per
1094// zone, then it overrides the global restriction.
1095
1096{$EXTERNALSYM URLACTION_INFODELIVERY_MIN}
1097 URLACTION_INFODELIVERY_MIN = $00001D00;
1098{$EXTERNALSYM URLACTION_INFODELIVERY_NO_ADDING_CHANNELS}
1099 URLACTION_INFODELIVERY_NO_ADDING_CHANNELS = $00001D00;
1100{$EXTERNALSYM URLACTION_INFODELIVERY_NO_EDITING_CHANNELS}
1101 URLACTION_INFODELIVERY_NO_EDITING_CHANNELS = $00001D01;
1102{$EXTERNALSYM URLACTION_INFODELIVERY_NO_REMOVING_CHANNELS}
1103 URLACTION_INFODELIVERY_NO_REMOVING_CHANNELS = $00001D02;
1104{$EXTERNALSYM URLACTION_INFODELIVERY_NO_ADDING_SUBSCRIPTIONS}
1105 URLACTION_INFODELIVERY_NO_ADDING_SUBSCRIPTIONS = $00001D03;
1106{$EXTERNALSYM URLACTION_INFODELIVERY_NO_EDITING_SUBSCRIPTIONS}
1107 URLACTION_INFODELIVERY_NO_EDITING_SUBSCRIPTIONS = $00001D04;
1108{$EXTERNALSYM URLACTION_INFODELIVERY_NO_REMOVING_SUBSCRIPTIONS}
1109 URLACTION_INFODELIVERY_NO_REMOVING_SUBSCRIPTIONS = $00001D05;
1110{$EXTERNALSYM URLACTION_INFODELIVERY_NO_CHANNEL_LOGGING}
1111 URLACTION_INFODELIVERY_NO_CHANNEL_LOGGING = $00001D06;
1112{$EXTERNALSYM URLACTION_INFODELIVERY_CURR_MAX}
1113 URLACTION_INFODELIVERY_CURR_MAX = $00001D06;
1114{$EXTERNALSYM URLACTION_INFODELIVERY_MAX}
1115 URLACTION_INFODELIVERY_MAX = $00001DFF;
1116{$EXTERNALSYM URLACTION_CHANNEL_SOFTDIST_MIN}
1117 URLACTION_CHANNEL_SOFTDIST_MIN = $00001E00;
1118{$EXTERNALSYM URLACTION_CHANNEL_SOFTDIST_PERMISSIONS}
1119 URLACTION_CHANNEL_SOFTDIST_PERMISSIONS = $00001E05;
1120{$EXTERNALSYM URLPOLICY_CHANNEL_SOFTDIST_PROHIBIT}
1121 URLPOLICY_CHANNEL_SOFTDIST_PROHIBIT = $00010000;
1122{$EXTERNALSYM URLPOLICY_CHANNEL_SOFTDIST_PRECACHE}
1123 URLPOLICY_CHANNEL_SOFTDIST_PRECACHE = $00020000;
1124{$EXTERNALSYM URLPOLICY_CHANNEL_SOFTDIST_AUTOINSTALL}
1125 URLPOLICY_CHANNEL_SOFTDIST_AUTOINSTALL = $00030000;
1126{$EXTERNALSYM URLACTION_CHANNEL_SOFTDIST_MAX}
1127 URLACTION_CHANNEL_SOFTDIST_MAX = $00001EFF;
1128
1129// For each action specified above the system maintains
1130// a set of policies for the action.
1131// The only policies supported currently are permissions (i.e. is something allowed)
1132// and logging status.
1133// IMPORTANT: If you are defining your own policies don't overload the meaning of the
1134// loword of the policy. You can use the hiword to store any policy bits which are only
1135// meaningful to your action.
1136// For an example of how to do this look at the URLPOLICY_JAVA above
1137
1138// Permissions
1139{$EXTERNALSYM URLPOLICY_ALLOW}
1140 URLPOLICY_ALLOW = $00;
1141{$EXTERNALSYM URLPOLICY_QUERY}
1142 URLPOLICY_QUERY = $01;
1143{$EXTERNALSYM URLPOLICY_DISALLOW}
1144 URLPOLICY_DISALLOW = $03;
1145
1146// Notifications are not done when user already queried.
1147{$EXTERNALSYM URLPOLICY_NOTIFY_ON_ALLOW}
1148 URLPOLICY_NOTIFY_ON_ALLOW = $10;
1149{$EXTERNALSYM URLPOLICY_NOTIFY_ON_DISALLOW}
1150 URLPOLICY_NOTIFY_ON_DISALLOW = $20;
1151
1152// Logging is done regardless of whether user was queried.
1153{$EXTERNALSYM URLPOLICY_LOG_ON_ALLOW}
1154 URLPOLICY_LOG_ON_ALLOW = $40;
1155{$EXTERNALSYM URLPOLICY_LOG_ON_DISALLOW}
1156 URLPOLICY_LOG_ON_DISALLOW = $80;
1157
1158{$EXTERNALSYM URLPOLICY_MASK_PERMISSIONS}
1159 URLPOLICY_MASK_PERMISSIONS = $0F;
1160
1161
1162// The ordinal #'s that define the predefined zones internet explorer knows about.
1163// When we support user-defined zones their zone numbers should be between
1164// URLZONE_USER_MIN and URLZONE_USER_MAX
1165
1166const
1167{$EXTERNALSYM URLZONE_PREDEFINED_MIN}
1168 URLZONE_PREDEFINED_MIN = 0;
1169{$EXTERNALSYM URLZONE_LOCAL_MACHINE}
1170 URLZONE_LOCAL_MACHINE = 0;
1171{$EXTERNALSYM URLZONE_INTRANET}
1172 URLZONE_INTRANET = URLZONE_LOCAL_MACHINE + 1;
1173{$EXTERNALSYM URLZONE_TRUSTED}
1174 URLZONE_TRUSTED = URLZONE_INTRANET + 1;
1175{$EXTERNALSYM URLZONE_INTERNET}
1176 URLZONE_INTERNET = URLZONE_TRUSTED + 1;
1177{$EXTERNALSYM URLZONE_UNTRUSTED}
1178 URLZONE_UNTRUSTED = URLZONE_INTERNET + 1;
1179{$EXTERNALSYM URLZONE_PREDEFINED_MAX}
1180 URLZONE_PREDEFINED_MAX = 999;
1181{$EXTERNALSYM URLZONE_USER_MIN}
1182 URLZONE_USER_MIN = 1000;
1183{$EXTERNALSYM URLZONE_USER_MAX}
1184 URLZONE_USER_MAX = 10000;
1185
1186{$EXTERNALSYM URLTEMPLATE_CUSTOM}
1187 URLTEMPLATE_CUSTOM = $00000000;
1188{$EXTERNALSYM URLTEMPLATE_PREDEFINED_MIN}
1189 URLTEMPLATE_PREDEFINED_MIN = $00010000;
1190{$EXTERNALSYM URLTEMPLATE_LOW}
1191 URLTEMPLATE_LOW = $00010000;
1192{$EXTERNALSYM URLTEMPLATE_MEDIUM}
1193 URLTEMPLATE_MEDIUM = $00011000;
1194{$EXTERNALSYM URLTEMPLATE_HIGH}
1195 URLTEMPLATE_HIGH = $00012000;
1196{$EXTERNALSYM URLTEMPLATE_PREDEFINED_MAX}
1197 URLTEMPLATE_PREDEFINED_MAX = $00020000;
1198
1199{$EXTERNALSYM MAX_ZONE_PATH}
1200 MAX_ZONE_PATH = 260;
1201{$EXTERNALSYM MAX_ZONE_DESCRIPTION}
1202 MAX_ZONE_DESCRIPTION = 200;
1203
1204{$EXTERNALSYM ZAFLAGS_CUSTOM_EDIT}
1205 ZAFLAGS_CUSTOM_EDIT = $00000001;
1206{$EXTERNALSYM ZAFLAGS_ADD_SITES}
1207 ZAFLAGS_ADD_SITES = $00000002;
1208{$EXTERNALSYM ZAFLAGS_REQUIRE_VERIFICATION}
1209 ZAFLAGS_REQUIRE_VERIFICATION = $00000004;
1210{$EXTERNALSYM ZAFLAGS_INCLUDE_PROXY_OVERRIDE}
1211 ZAFLAGS_INCLUDE_PROXY_OVERRIDE = $00000008;
1212{$EXTERNALSYM ZAFLAGS_INCLUDE_INTRANET_SITES}
1213 ZAFLAGS_INCLUDE_INTRANET_SITES = $00000010;
1214{$EXTERNALSYM ZAFLAGS_NO_UI}
1215 ZAFLAGS_NO_UI = $00000020;
1216{$EXTERNALSYM ZAFLAGS_SUPPORTS_VERIFICATION}
1217 ZAFLAGS_SUPPORTS_VERIFICATION = $00000040;
1218{$EXTERNALSYM ZAFLAGS_UNC_AS_INTRANET}
1219 ZAFLAGS_UNC_AS_INTRANET = $00000080;
1220
1221type
1222 PZoneAttributes = ^TZoneAttributes;
1223{$EXTERNALSYM _ZONEATTRIBUTES}
1224 _ZONEATTRIBUTES = packed record
1225 cbSize: ULONG;
1226 szDisplayName: array[0..260 - 1] of WideChar;
1227 szDescription: array[0..200 - 1] of WideChar;
1228 szIconPath: array[0..260 - 1] of WideChar;
1229 dwTemplateMinLevel: DWORD;
1230 dwTemplateRecommended: DWORD;
1231 dwTemplateCurrentLevel: DWORD;
1232 dwFlags: DWORD;
1233 end;
1234 TZoneAttributes = _ZONEATTRIBUTES;
1235{$EXTERNALSYM ZONEATTRIBUTES}
1236 ZONEATTRIBUTES = _ZONEATTRIBUTES;
1237
1238// Gets the zone attributes (information in registry other than actual security
1239// policies associated with the zone). Zone attributes are fixed as:
1240// Sets the zone attributes (information in registry other than actual security
1241// policies associated with the zone). Zone attributes as above.
1242// Returns S_OK or ??? if failed to write the zone attributes.
1243{ Registry Flags
1244
1245 When reading, default behavior is:
1246 If HKLM allows override and HKCU value exists
1247 Then use HKCU value
1248 Else use HKLM value
1249 When writing, default behavior is same as HKCU
1250 If HKLM allows override
1251 Then Write to HKCU
1252 Else Fail
1253}
1254
1255const
1256{$EXTERNALSYM URLZONEREG_DEFAULT}
1257 URLZONEREG_DEFAULT = 0;
1258{$EXTERNALSYM URLZONEREG_HKLM}
1259 URLZONEREG_HKLM = URLZONEREG_DEFAULT + 1;
1260{$EXTERNALSYM URLZONEREG_HKCU}
1261 URLZONEREG_HKCU = URLZONEREG_HKLM + 1;
1262
1263// Gets a named custom policy associated with a zone;
1264// e.g. the Java VM settings can be defined with a unique key such as 'Java'.
1265// Custom policy support is intended to allow extensibility from the predefined
1266// set of policies that IE4 has built in.
1267//
1268// pwszKey is the string name designating the custom policy. Components are
1269// responsible for having unique names.
1270// ppPolicy is the callee allocated buffer for the policy byte blob; caller is
1271// responsible for freeing this buffer eventually.
1272// pcbPolicy is the size of the byte blob returned.
1273// dwRegFlags determines how registry is accessed (see above).
1274// Returns S_OK if key is found and buffer allocated; ??? if key is not found (no buffer alloced).
1275// Sets a named custom policy associated with a zone;
1276// e.g. the Java VM settings can be defined with a unique key such as 'Java'.
1277// Custom policy support is intended to allow extensibility from the predefined
1278// set of policies that IE4 has built in.
1279//
1280// pwszKey is the string name designating the custom policy. Components are
1281// responsible for having unique names.
1282// ppPolicy is the caller allocated buffer for the policy byte blob.
1283// pcbPolicy is the size of the byte blob to be set.
1284// dwRegFlags determines if HTCU or HKLM is set.
1285// Returns S_OK or ??? if failed to write the zone custom policy.
1286// Gets action policy associated with a zone, the builtin, fixed-length policies info.
1287
1288// dwAction is the action code for the action as defined above.
1289// pPolicy is the caller allocated buffer for the policy data.
1290// cbPolicy is the size of the caller allocated buffer.
1291// dwRegFlags determines how registry is accessed (see above).
1292// Returns S_OK if action is valid; ??? if action is not valid.
1293
1294type
1295{$EXTERNALSYM IInternetZoneManager}
1296 IInternetZoneManager = interface
1297 ['{79eac9ef-baf9-11ce-8c82-00aa004ba90b}']
1298
1299 // Gets the zone attributes (information in registry other than actual security
1300 // policies associated with the zone). Zone attributes are fixed as:
1301 function GetZoneAttributes(dwZone: DWORD;
1302 var ZoneAttributes: TZoneAttributes): HResult; stdcall;
1303
1304 // Sets the zone attributes (information in registry other than actual security
1305 // policies associated with the zone). Zone attributes as above.
1306 // Returns S_OK or ??? if failed to write the zone attributes.
1307 function SetZoneAttributes(dwZone: DWORD;
1308 const ZoneAttributes: TZoneAttributes): HResult; stdcall;
1309 function GetZoneCustomPolicy(dwZone: DWORD; const guidKey: TGUID; out pPolicy: Pointer;
1310 out cbPolicy: DWORD; urlZoneReg: TUrlZoneReg): HResult; stdcall;
1311 function SetZoneCustomPolicy(dwZone: DWORD; const guidKey: TGUID; pPolicy: Pointer;
1312 cbPolicy: DWORD; urlZoneReg: TUrlZoneReg): HResult; stdcall;
1313 function GetZoneActionPolicy(dwZone, dwAction: DWORD; pPolicy: Pointer;
1314 cbPolicy: DWORD; urlZoneReg: TUrlZoneReg): HResult; stdcall;
1315 function SetZoneActionPolicy(dwZone, dwAction: DWORD; pPolicy: Pointer;
1316 cbPolicy: DWORD; urlZoneReg: TUrlZoneReg): HResult; stdcall;
1317 function PromptAction(dwAction: DWORD; hwndParent: HWnd; pwszUrl, pwszText: LPCWSTR;
1318 dwPromptFlags: DWORD): HResult; stdcall;
1319 function LogAction(dwAction: DWORD; pwszUrl, pwszText: LPCWSTR;
1320 dwLogFlags: DWORD): HResult; stdcall;
1321 function CreateZoneEnumerator(out dwEnum, dwCount: DWORD;
1322 dwFlags: DWORD): HResult; stdcall;
1323 function GetZoneAt(dwEnum, dwIndex: DWORD; out dwZone: DWORD): HResult; stdcall;
1324 function DestroyZoneEnumerator(dwEnum: DWORD): HResult; stdcall;
1325 function CopyTemplatePoliciesToZone(dwTemplate, dwZone, dwReserved: DWORD): HResult; stdcall;
1326 end;
1327
1328// Creates the security manager object. The first argument is the Service provider
1329// to allow for delegation
1330{$EXTERNALSYM CoInternetCreateSecurityManager}
1331function CoInternetCreateSecurityManager(SP: IServiceProvider; var SM: IInternetSecurityManager;
1332 dwReserved: DWORD): HResult; stdcall;
1333{$EXTERNALSYM CoInternetCreateZoneManager}
1334function CoInternetCreateZoneManager(SP: IServiceProvider; var ZM: IInternetZoneManager;
1335 dwReserved: DWORD): HResult; stdcall;
1336
1337
1338
1339{$ENDIF}
1340
1341function SHLockShared(Handle: THandle; DWord: DWORD): Pointer; stdcall;
1342function SHUnlockShared(Pnt: Pointer): BOOL; stdcall;
1343function SHFreeShared(Handle: THandle; DWord: DWORD): Pointer; stdcall;
1344function Free(Pidl: PItemIDList): BOOL; stdcall;
1345function HtmlHelp(hwndCaller: HWND; pszFile: PChar; uCommand: Integer;
1346 dwData: DWORD): HWND; stdcall;
1347
1348
1349implementation
1350
1351const
1352urldll = 'url.dll';
1353
1354function InetIsOffline; external urldll name 'InetIsOffline';
1355
1356function MIMEAssociationDialogW; external urldll name 'MIMEAssociationDialogW';
1357function MIMEAssociationDialogA; external urldll name 'MIMEAssociationDialogA';
1358{$IFDEF UNICODE}
1359function MIMEAssociationDialog; external urldll name 'MIMEAssociationDialogW';
1360{$ELSE}
1361function MIMEAssociationDialog; external urldll name 'MIMEAssociationDialogA';
1362{$ENDIF}
1363
1364function URLAssociationDialogW; external urldll name 'URLAssociationDialogW';
1365function URLAssociationDialogA; external urldll name 'URLAssociationDialogA';
1366{$IFDEF UNICODE}
1367function URLAssociationDialog; external urldll name 'URLAssociationDialogW';
1368{$ELSE}
1369function URLAssociationDialog; external urldll name 'URLAssociationDialogA';
1370{$ENDIF}
1371
1372function TranslateURLA; external urldll name 'TranslateURLA';
1373function TranslateURLW; external urldll name 'TranslateURLW';
1374{$IFDEF UNICODE}
1375function TranslateURL; external urldll name 'TranslateURLW';
1376{$ELSE}
1377function TranslateURL; external urldll name 'TranslateURLA';
1378{$ENDIF}
1379
1380
1381
1382{$IFDEF VER120}
1383const
1384 UrlMonLib = 'URLMON.DLL';
1385function CoInternetGetSession; external UrlMonLib name 'CoInternetGetSession';
1386function CoInternetCreateSecurityManager; external UrlMonLib name 'CoInternetCreateSecurityManager';
1387function CoInternetCreateZoneManager; external UrlMonLib name 'CoInternetCreateZoneManager';
1388{$ENDIF}
1389
1390function HtmlHelp(hwndCaller: HWND; pszFile: PChar; uCommand: Integer;
1391 dwData: DWORD): HWND; stdcall; external 'hhctrl.ocx' name 'HtmlHelpA';
1392
1393
1394function SHLockShared; external 'shell32.dll' index 521;
1395function SHUnlockShared; external 'shell32.dll' index 522;
1396function SHFreeShared; external 'shell32.dll' index 523;
1397function Free; external 'comctl32.dll' index 73;
1398
1399
1400end.
1401
1402
Note: See TracBrowser for help on using the repository browser.