mirror of
https://github.com/keymanapp/keyman.git
synced 2026-08-08 01:45:32 +00:00
3806 lines
No EOL
140 KiB
ObjectPascal
3806 lines
No EOL
140 KiB
ObjectPascal
{******************************************************************************}
|
|
{ }
|
|
{ URL Monikers Interface Unit for Object Pascal }
|
|
{ }
|
|
{ Portions created by Microsoft are Copyright (C) 1995-2005 Microsoft }
|
|
{ Corporation. All Rights Reserved. }
|
|
{ }
|
|
{ The initial developer of the original translation is Rudy Velthuis }
|
|
{ }
|
|
{ Portions created by Rudy Velthuis are Copyright (C) 2005-2008 }
|
|
{ All Rights Reserved. }
|
|
{ }
|
|
{ Adapted for JEDI API Library by Christian Wimmer }
|
|
{ }
|
|
{ Obtained through: Joint Endeavour of Delphi Innovators (Project JEDI) }
|
|
{ The original code is: urlmon.h, released 2005. }
|
|
{ }
|
|
{ You may retrieve the latest version of this file at the Project JEDI }
|
|
{ APILIB home page, located at http://jedi-apilib.sourceforge.net }
|
|
{ }
|
|
{ The contents of this file are used with permission, subject to the Mozilla }
|
|
{ Public License Version 1.1 (the "License"); you may not use this file except }
|
|
{ in compliance with the License. You may obtain a copy of the License at }
|
|
{ http://www.mozilla.org/MPL/MPL-1.1.html }
|
|
{ }
|
|
{ Software distributed under the License is distributed on an "AS IS" basis, }
|
|
{ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for }
|
|
{ the specific language governing rights and limitations under the License. }
|
|
{ }
|
|
{ Alternatively, the contents of this file may be used under the terms of the }
|
|
{ GNU Lesser General Public License (the "LGPL License"), in which case the }
|
|
{ provisions of the LGPL License are applicable instead of those above. }
|
|
{ If you wish to allow use of your version of this file only under the terms }
|
|
{ of the LGPL License and not to allow others to use your version of this file }
|
|
{ under the MPL, indicate your decision by deleting the provisions above and }
|
|
{ replace them with the notice and other provisions required by the LGPL }
|
|
{ License. If you do not delete the provisions above, a recipient may use }
|
|
{ your version of this file under either the MPL or the LGPL License. }
|
|
{ }
|
|
{ For more information about the LGPL: http://www.gnu.org/copyleft/lesser.html }
|
|
{ }
|
|
{ }
|
|
{******************************************************************************}
|
|
{$IFNDEF JWA_OMIT_SECTIONS}
|
|
unit JwaUrlMon;
|
|
|
|
{$I ..\Includes\JediAPILib.inc}
|
|
interface
|
|
|
|
uses
|
|
ActiveX,
|
|
{$IFNDEF DELPHI5}msxml,{$ENDIF}
|
|
JwaWinBase, JwaWinUser, JwaWinType, JwaActiveX;
|
|
|
|
{$IFDEF DELPHI6_UP}
|
|
{$ALIGN 8}
|
|
{$ELSE}
|
|
{$A+}
|
|
//Warning: Record alignment 4
|
|
{$ENDIF DELPHI6_UP}
|
|
|
|
|
|
{$HPPEMIT '//---------------------------------------------------------------------------'}
|
|
{$HPPEMIT '// if compilation errors occur while attempting to access structs, unions, or enums'}
|
|
{$HPPEMIT '// define NO_WIN32_LEAN_AND_MEAN so that the appropriate windows headers are included.'}
|
|
{$HPPEMIT '//---------------------------------------------------------------------------'}
|
|
{$HPPEMIT '#if defined(NO_WIN32_LEAN_AND_MEAN)'}
|
|
{$HPPEMIT '#include "rpc.h"'}
|
|
{$HPPEMIT '#include "rpcndr.h"'}
|
|
{$HPPEMIT '#include "urlmon.h"'}
|
|
{$HPPEMIT ' #ifndef COM_NO_WINDOWS_H'}
|
|
{$HPPEMIT ' #include "windows.h" '}
|
|
{$HPPEMIT ' #include "ole2.h"'}
|
|
{$HPPEMIT ' #endif'}
|
|
{$HPPEMIT '#endif'}
|
|
|
|
|
|
{$HPPEMIT 'interface DECLSPEC_UUID("79eac9c9-baf9-11ce-8c82-00aa004ba90b") IPersistMoniker;'}
|
|
{$HPPEMIT 'interface DECLSPEC_UUID("a5ca5f7f-1847-4d87-9c5b-918509f7511d") IMonikerProp;'}
|
|
{$HPPEMIT 'interface DECLSPEC_UUID("79eac9cd-baf9-11ce-8c82-00aa004ba90b") IBindProtocol;'}
|
|
{$HPPEMIT 'interface DECLSPEC_UUID("79eac9c0-baf9-11ce-8c82-00aa004ba90b") IBinding;'}
|
|
{$HPPEMIT 'interface DECLSPEC_UUID("79eac9c1-baf9-11ce-8c82-00aa004ba90b") IBindStatusCallback;'}
|
|
{$HPPEMIT 'interface DECLSPEC_UUID("79eac9d0-baf9-11ce-8c82-00aa004ba90b") IAuthenticate;'}
|
|
{$HPPEMIT 'interface DECLSPEC_UUID("79eac9d2-baf9-11ce-8c82-00aa004ba90b") IHttpNegotiate;'}
|
|
{$HPPEMIT 'interface DECLSPEC_UUID("4F9F9FCB-E0F4-48eb-B7AB-FA2EA9365CB4") IHttpNegotiate2;'}
|
|
{$HPPEMIT 'interface DECLSPEC_UUID("F134C4B7-B1F8-4e75-B886-74B90943BECB") IWinInetFileStream;'}
|
|
{$HPPEMIT 'interface DECLSPEC_UUID("79eac9d5-bafa-11ce-8c82-00aa004ba90b") IWindowForBindingUI;'}
|
|
{$HPPEMIT 'interface DECLSPEC_UUID("79eac9d1-baf9-11ce-8c82-00aa004ba90b") ICodeInstall;'}
|
|
{$HPPEMIT 'interface DECLSPEC_UUID("79eac9d6-bafa-11ce-8c82-00aa004ba90b") IWinInetInfo;'}
|
|
{$HPPEMIT 'interface DECLSPEC_UUID("79eac9d7-bafa-11ce-8c82-00aa004ba90b") IHttpSecurity;'}
|
|
{$HPPEMIT 'interface DECLSPEC_UUID("79eac9d8-bafa-11ce-8c82-00aa004ba90b") IWinInetHttpInfo;'}
|
|
{$HPPEMIT 'interface DECLSPEC_UUID("DD1EC3B3-8391-4fdb-A9E6-347C3CAAA7DD") IWinInetCacheHints;'}
|
|
{$HPPEMIT 'interface DECLSPEC_UUID("fc4801a1-2ba9-11cf-a229-00aa003d7352") IBindHost;'}
|
|
{$HPPEMIT 'interface DECLSPEC_UUID("79eac9e0-baf9-11ce-8c82-00aa004ba90b") IInternet;'}
|
|
{$HPPEMIT 'interface DECLSPEC_UUID("79eac9e1-baf9-11ce-8c82-00aa004ba90b") IInternetBindInfo;'}
|
|
{$HPPEMIT 'interface DECLSPEC_UUID("79eac9e3-baf9-11ce-8c82-00aa004ba90b") IInternetProtocolRoot;'}
|
|
{$HPPEMIT 'interface DECLSPEC_UUID("79eac9e4-baf9-11ce-8c82-00aa004ba90b") IInternetProtocol;'}
|
|
{$HPPEMIT 'interface DECLSPEC_UUID("79eac9e5-baf9-11ce-8c82-00aa004ba90b") IInternetProtocolSink;'}
|
|
{$HPPEMIT 'interface DECLSPEC_UUID("79eac9f0-baf9-11ce-8c82-00aa004ba90b") IInternetProtocolSinkStackable;'}
|
|
{$HPPEMIT 'interface DECLSPEC_UUID("79eac9e7-baf9-11ce-8c82-00aa004ba90b") IInternetSession;'}
|
|
{$HPPEMIT 'interface DECLSPEC_UUID("79eac9e8-baf9-11ce-8c82-00aa004ba90b") IInternetThreadSwitch;'}
|
|
{$HPPEMIT 'interface DECLSPEC_UUID("79eac9eb-baf9-11ce-8c82-00aa004ba90b") IInternetPriority;'}
|
|
{$HPPEMIT 'interface DECLSPEC_UUID("79eac9ec-baf9-11ce-8c82-00aa004ba90b") IInternetProtocolInfo;'}
|
|
{$HPPEMIT 'interface DECLSPEC_UUID("79eac9ed-baf9-11ce-8c82-00aa004ba90b") IInternetSecurityMgrSite;'}
|
|
{$HPPEMIT 'interface DECLSPEC_UUID("79eac9ee-baf9-11ce-8c82-00aa004ba90b") IInternetSecurityManager;'}
|
|
{$HPPEMIT 'interface DECLSPEC_UUID("F164EDF1-CC7C-4f0d-9A94-34222625C393") IInternetSecurityManagerEx;'}
|
|
{$HPPEMIT 'interface DECLSPEC_UUID("cd45f185-1b21-48e2-967b-ead743a8914e") IZoneIdentifier;'}
|
|
{$HPPEMIT 'interface DECLSPEC_UUID("3af280b6-cb3f-11d0-891e-00c04fb6bfc4") IInternetHostSecurityManager;'}
|
|
{$HPPEMIT 'interface DECLSPEC_UUID("79eac9ef-baf9-11ce-8c82-00aa004ba90b") IInternetZoneManager;'}
|
|
{$HPPEMIT 'interface DECLSPEC_UUID("A4C23339-8E06-431e-9BF4-7E711C085648") IInternetZoneManagerEx;'}
|
|
{$HPPEMIT 'interface DECLSPEC_UUID("B15B8DC1-C7E1-11d0-8680-00AA00BDCB71") ISoftDistExt;'}
|
|
{$HPPEMIT 'interface DECLSPEC_UUID("711C7600-6B48-11d1-B403-00AA00B92AF1") ICatalogFileInfo;'}
|
|
{$HPPEMIT 'interface DECLSPEC_UUID("69d14c80-c18e-11d0-a9ce-006097942311") IDataFilter;'}
|
|
{$HPPEMIT 'interface DECLSPEC_UUID("70bdde00-c18e-11d0-a9ce-006097942311") IEncodingFilterFactory;'}
|
|
{$HPPEMIT 'interface DECLSPEC_UUID("53c84785-8425-4dc5-971b-e58d9c19f9b6") IWrappedProtocol;'}
|
|
|
|
{$HPPEMIT 'typedef System::DelphiInterface<IPersistMoniker> _di_IPersistMoniker;'}
|
|
{$HPPEMIT 'typedef System::DelphiInterface<IMonikerProp> _di_IMonikerProp;'}
|
|
{$HPPEMIT 'typedef System::DelphiInterface<IBindProtocol> _di_IBindProtocol;'}
|
|
{$HPPEMIT 'typedef System::DelphiInterface<IBinding> _di_IBinding;'}
|
|
{$HPPEMIT 'typedef System::DelphiInterface<IBindStatusCallback> _di_IBindStatusCallback;'}
|
|
{$HPPEMIT 'typedef System::DelphiInterface<IAuthenticate> _di_IAuthenticate;'}
|
|
{$HPPEMIT 'typedef System::DelphiInterface<IHttpNegotiate> _di_IHttpNegotiate;'}
|
|
{$HPPEMIT 'typedef System::DelphiInterface<IHttpNegotiate2> _di_IHttpNegotiate2;'}
|
|
{$HPPEMIT 'typedef System::DelphiInterface<IWinInetFileStream> _di_IWinInetFileStream;'}
|
|
{$HPPEMIT 'typedef System::DelphiInterface<IWindowForBindingUI> _di_IWindowForBindingUI;'}
|
|
{$HPPEMIT 'typedef System::DelphiInterface<ICodeInstall> _di_ICodeInstall;'}
|
|
{$HPPEMIT 'typedef System::DelphiInterface<IWinInetInfo> _di_IWinInetInfo;'}
|
|
{$HPPEMIT 'typedef System::DelphiInterface<IHttpSecurity> _di_IHttpSecurity;'}
|
|
{$HPPEMIT 'typedef System::DelphiInterface<IWinInetHttpInfo> _di_IWinInetHttpInfo;'}
|
|
{$HPPEMIT 'typedef System::DelphiInterface<IWinInetCacheHints> _di_IWinInetCacheHints;'}
|
|
{$HPPEMIT 'typedef System::DelphiInterface<IBindHost> _di_IBindHost;'}
|
|
{$HPPEMIT 'typedef System::DelphiInterface<IInternet> _di_IInternet;'}
|
|
{$HPPEMIT 'typedef System::DelphiInterface<IInternetBindInfo> _di_IInternetBindInfo;'}
|
|
{$HPPEMIT 'typedef System::DelphiInterface<IInternetProtocolRoot> _di_IInternetProtocolRoot;'}
|
|
{$HPPEMIT 'typedef System::DelphiInterface<IInternetProtocol> _di_IInternetProtocol;'}
|
|
{$HPPEMIT 'typedef System::DelphiInterface<IInternetProtocolSink> _di_IInternetProtocolSink;'}
|
|
{$HPPEMIT 'typedef System::DelphiInterface<IInternetProtocolSinkStackable> _di_IInternetProtocolSinkStackable;'}
|
|
{$HPPEMIT 'typedef System::DelphiInterface<IInternetSession> _di_IInternetSession;'}
|
|
{$HPPEMIT 'typedef System::DelphiInterface<IInternetThreadSwitch> _di_IInternetThreadSwitch;'}
|
|
{$HPPEMIT 'typedef System::DelphiInterface<IInternetPriority> _di_IInternetPriority;'}
|
|
{$HPPEMIT 'typedef System::DelphiInterface<IInternetProtocolInfo> _di_IInternetProtocolInfo;'}
|
|
{$HPPEMIT 'typedef System::DelphiInterface<IInternetSecurityMgrSite> _di_IInternetSecurityMgrSite;'}
|
|
{$HPPEMIT 'typedef System::DelphiInterface<IInternetSecurityManager> _di_IInternetSecurityManager;'}
|
|
{$HPPEMIT 'typedef System::DelphiInterface<IInternetSecurityManagerEx> _di_IInternetSecurityManagerEx;'}
|
|
{$HPPEMIT 'typedef System::DelphiInterface<IZoneIdentifier> _di_IZoneIdentifier;'}
|
|
{$HPPEMIT 'typedef System::DelphiInterface<IInternetHostSecurityManager> _di_IInternetHostSecurityManager;'}
|
|
{$HPPEMIT 'typedef System::DelphiInterface<IInternetZoneManager> _di_IInternetZoneManager;'}
|
|
{$HPPEMIT 'typedef System::DelphiInterface<IInternetZoneManagerEx> _di_IInternetZoneManagerEx;'}
|
|
{$HPPEMIT 'typedef System::DelphiInterface<ISoftDistExt> _di_ISoftDistExt;'}
|
|
{$HPPEMIT 'typedef System::DelphiInterface<ICatalogFileInfo> _di_ICatalogFileInfo;'}
|
|
{$HPPEMIT 'typedef System::DelphiInterface<IDataFilter> _di_IDataFilter;'}
|
|
{$HPPEMIT 'typedef System::DelphiInterface<IEncodingFilterFactory> _di_IEncodingFilterFactory;'}
|
|
{$HPPEMIT 'typedef System::DelphiInterface<IWrappedProtocol> _di_IWrappedProtocol;'}
|
|
|
|
{$ENDIF JWA_OMIT_SECTIONS}
|
|
{$IFNDEF JWA_IMPLEMENTATIONSECTION}
|
|
|
|
const
|
|
{$EXTERNALSYM IID_IPersistMoniker}
|
|
IID_IPersistMoniker: TGUID = (
|
|
D1:$79EAC9C9; D2:$BAF9; D3:$11CE; D4:($8C,$82,$00,$AA,$00,$4B,$A9,$0B));
|
|
{$EXTERNALSYM IID_IMonikerProp}
|
|
IID_IMonikerProp: TGUID = (
|
|
D1:$A5CA5F7F; D2:$1847; D3:$4D87; D4:($9C,$5B,$91,$85,$09,$F7,$51,$1D));
|
|
{$EXTERNALSYM IID_IBindProtocol}
|
|
IID_IBindProtocol: TGUID = (
|
|
D1:$79EAC9CD; D2:$BAF9; D3:$11CE; D4:($8C,$82,$00,$AA,$00,$4B,$A9,$0B));
|
|
{$EXTERNALSYM IID_IBinding}
|
|
IID_IBinding: TGUID = (
|
|
D1:$79EAC9C0; D2:$BAF9; D3:$11CE; D4:($8C,$82,$00,$AA,$00,$4B,$A9,$0B));
|
|
{$EXTERNALSYM IID_IBindStatusCallback}
|
|
IID_IBindStatusCallback: TGUID = (
|
|
D1:$79EAC9C1; D2:$BAF9; D3:$11CE; D4:($8C,$82,$00,$AA,$00,$4B,$A9,$0B));
|
|
{$EXTERNALSYM IID_IAuthenticate}
|
|
IID_IAuthenticate: TGUID = (
|
|
D1:$79EAC9D0; D2:$BAF9; D3:$11CE; D4:($8C,$82,$00,$AA,$00,$4B,$A9,$0B));
|
|
{$EXTERNALSYM IID_IHttpNegotiate}
|
|
IID_IHttpNegotiate: TGUID = (
|
|
D1:$79EAC9D2; D2:$BAF9; D3:$11CE; D4:($8C,$82,$00,$AA,$00,$4B,$A9,$0B));
|
|
{$EXTERNALSYM IID_IHttpNegotiate2}
|
|
IID_IHttpNegotiate2: TGUID = (
|
|
D1:$4F9F9FCB; D2:$E0F4; D3:$48EB; D4:($B7,$AB,$FA,$2E,$A9,$36,$5C,$B4));
|
|
{$EXTERNALSYM IID_IWinInetFileStream}
|
|
IID_IWinInetFileStream: TGUID = (
|
|
D1:$F134C4B7; D2:$B1F8; D3:$4E75; D4:($B8,$86,$74,$B9,$09,$43,$BE,$CB));
|
|
{$EXTERNALSYM IID_IWindowForBindingUI}
|
|
IID_IWindowForBindingUI: TGUID = (
|
|
D1:$79EAC9D5; D2:$BAFA; D3:$11CE; D4:($8C,$82,$00,$AA,$00,$4B,$A9,$0B));
|
|
{$EXTERNALSYM IID_ICodeInstall}
|
|
IID_ICodeInstall: TGUID = (
|
|
D1:$79EAC9D1; D2:$BAF9; D3:$11CE; D4:($8C,$82,$00,$AA,$00,$4B,$A9,$0B));
|
|
{$EXTERNALSYM IID_IWinInetInfo}
|
|
IID_IWinInetInfo: TGUID = (
|
|
D1:$79EAC9D6; D2:$BAFA; D3:$11CE; D4:($8C,$82,$00,$AA,$00,$4B,$A9,$0B));
|
|
{$EXTERNALSYM IID_IHttpSecurity}
|
|
IID_IHttpSecurity: TGUID = (
|
|
D1:$79EAC9D7; D2:$BAFA; D3:$11CE; D4:($8C,$82,$00,$AA,$00,$4B,$A9,$0B));
|
|
{$EXTERNALSYM IID_IWinInetHttpInfo}
|
|
IID_IWinInetHttpInfo: TGUID = (
|
|
D1:$79EAC9D8; D2:$BAFA; D3:$11CE; D4:($8C,$82,$00,$AA,$00,$4B,$A9,$0B));
|
|
{$EXTERNALSYM IID_IWinInetCacheHints}
|
|
IID_IWinInetCacheHints: TGUID = (
|
|
D1:$DD1EC3B3; D2:$8391; D3:$4FDB; D4:($A9,$E6,$34,$7C,$3C,$AA,$A7,$DD));
|
|
{$EXTERNALSYM IID_IBindHost}
|
|
IID_IBindHost: TGUID = (
|
|
D1:$FC4801A1; D2:$2BA9; D3:$11CF; D4:($A2,$29,$00,$AA,$00,$3D,$73,$52));
|
|
{$EXTERNALSYM SID_IBindHost}
|
|
SID_IBindHost: TGUID = (
|
|
D1:$FC4801A1; D2:$2BA9; D3:$11CF; D4:($A2,$29,$00,$AA,$00,$3D,$73,$52));
|
|
{$EXTERNALSYM SID_SBindHost}
|
|
SID_SBindHost: TGUID = (
|
|
D1:$FC4801A1; D2:$2BA9; D3:$11CF; D4:($A2,$29,$00,$AA,$00,$3D,$73,$52));
|
|
{$EXTERNALSYM SID_BindHost}
|
|
SID_BindHost: TGUID = (
|
|
D1:$FC4801A1; D2:$2BA9; D3:$11CF; D4:($A2,$29,$00,$AA,$00,$3D,$73,$52));
|
|
{$EXTERNALSYM IID_IInternet}
|
|
IID_IInternet: TGUID = (
|
|
D1:$79EAC9E0; D2:$BAF9; D3:$11CE; D4:($8C,$82,$00,$AA,$00,$4B,$A9,$0B));
|
|
{$EXTERNALSYM IID_IInternetBindInfo}
|
|
IID_IInternetBindInfo: TGUID = (
|
|
D1:$79EAC9E1; D2:$BAF9; D3:$11CE; D4:($8C,$82,$00,$AA,$00,$4B,$A9,$0B));
|
|
{$EXTERNALSYM IID_IInternetProtocolRoot}
|
|
IID_IInternetProtocolRoot: TGUID = (
|
|
D1:$79EAC9E3; D2:$BAF9; D3:$11CE; D4:($8C,$82,$00,$AA,$00,$4B,$A9,$0B));
|
|
{$EXTERNALSYM IID_IInternetProtocol}
|
|
IID_IInternetProtocol: TGUID = (
|
|
D1:$79EAC9E4; D2:$BAF9; D3:$11CE; D4:($8C,$82,$00,$AA,$00,$4B,$A9,$0B));
|
|
{$EXTERNALSYM IID_IInternetProtocolSink}
|
|
IID_IInternetProtocolSink: TGUID = (
|
|
D1:$79EAC9E5; D2:$BAF9; D3:$11CE; D4:($8C,$82,$00,$AA,$00,$4B,$A9,$0B));
|
|
{$EXTERNALSYM IID_IInternetProtocolSinkStackable}
|
|
IID_IInternetProtocolSinkStackable: TGUID = (
|
|
D1:$79EAC9F0; D2:$BAF9; D3:$11CE; D4:($8C,$82,$00,$AA,$00,$4B,$A9,$0B));
|
|
{$EXTERNALSYM IID_IInternetSession}
|
|
IID_IInternetSession: TGUID = (
|
|
D1:$79EAC9E7; D2:$BAF9; D3:$11CE; D4:($8C,$82,$00,$AA,$00,$4B,$A9,$0B));
|
|
{$EXTERNALSYM IID_IInternetThreadSwitch}
|
|
IID_IInternetThreadSwitch: TGUID = (
|
|
D1:$79EAC9E8; D2:$BAF9; D3:$11CE; D4:($8C,$82,$00,$AA,$00,$4B,$A9,$0B));
|
|
{$EXTERNALSYM IID_IInternetPriority}
|
|
IID_IInternetPriority: TGUID = (
|
|
D1:$79EAC9EB; D2:$BAF9; D3:$11CE; D4:($8C,$82,$00,$AA,$00,$4B,$A9,$0B));
|
|
{$EXTERNALSYM IID_IInternetProtocolInfo}
|
|
IID_IInternetProtocolInfo: TGUID = (
|
|
D1:$79EAC9EC; D2:$BAF9; D3:$11CE; D4:($8C,$82,$00,$AA,$00,$4B,$A9,$0B));
|
|
{$EXTERNALSYM IID_IInternetSecurityMgrSite}
|
|
IID_IInternetSecurityMgrSite: TGUID = (
|
|
D1:$79EAC9ED; D2:$BAF9; D3:$11CE; D4:($8C,$82,$00,$AA,$00,$4B,$A9,$0B));
|
|
{$EXTERNALSYM IID_IInternetSecurityManager}
|
|
IID_IInternetSecurityManager: TGUID = (
|
|
D1:$79EAC9EE; D2:$BAF9; D3:$11CE; D4:($8C,$82,$00,$AA,$00,$4B,$A9,$0B));
|
|
{$EXTERNALSYM SID_SInternetSecurityManager}
|
|
SID_SInternetSecurityManager: TGUID = (
|
|
D1:$79EAC9EE; D2:$BAF9; D3:$11CE; D4:($8C,$82,$00,$AA,$00,$4B,$A9,$0B));
|
|
{$EXTERNALSYM IID_IInternetSecurityManagerEx}
|
|
IID_IInternetSecurityManagerEx: TGUID = (
|
|
D1:$F164EDF1; D2:$CC7C; D3:$4F0D; D4:($9A,$94,$34,$22,$26,$25,$C3,$93));
|
|
{$EXTERNALSYM SID_SInternetSecurityManagerEx}
|
|
SID_SInternetSecurityManagerEx: TGUID = (
|
|
D1:$F164EDF1; D2:$CC7C; D3:$4F0D; D4:($9A,$94,$34,$22,$26,$25,$C3,$93));
|
|
{$EXTERNALSYM IID_IZoneIdentifier}
|
|
IID_IZoneIdentifier: TGUID = (
|
|
D1:$CD45F185; D2:$1B21; D3:$48E2; D4:($96,$7B,$EA,$D7,$43,$A8,$91,$4E));
|
|
{$EXTERNALSYM IID_IInternetHostSecurityManager}
|
|
IID_IInternetHostSecurityManager: TGUID = (
|
|
D1:$3AF280B6; D2:$CB3F; D3:$11D0; D4:($89,$1E,$00,$C0,$4F,$B6,$BF,$C4));
|
|
{$EXTERNALSYM SID_SInternetHostSecurityManager}
|
|
SID_SInternetHostSecurityManager: TGUID = (
|
|
D1:$3AF280B6; D2:$CB3F; D3:$11D0; D4:($89,$1E,$00,$C0,$4F,$B6,$BF,$C4));
|
|
{$EXTERNALSYM IID_IInternetZoneManager}
|
|
IID_IInternetZoneManager: TGUID = (
|
|
D1:$79EAC9EF; D2:$BAF9; D3:$11CE; D4:($8C,$82,$00,$AA,$00,$4B,$A9,$0B));
|
|
{$EXTERNALSYM IID_IInternetZoneManagerEx}
|
|
IID_IInternetZoneManagerEx: TGUID = (
|
|
D1:$A4C23339; D2:$8E06; D3:$431E; D4:($9B,$F4,$7E,$71,$1C,$08,$56,$48));
|
|
{$EXTERNALSYM IID_ISoftDistExt}
|
|
IID_ISoftDistExt: TGUID = (
|
|
D1:$B15B8DC1; D2:$C7E1; D3:$11D0; D4:($86,$80,$00,$AA,$00,$BD,$CB,$71));
|
|
{$EXTERNALSYM IID_ICatalogFileInfo}
|
|
IID_ICatalogFileInfo: TGUID = (
|
|
D1:$711C7600; D2:$6B48; D3:$11D1; D4:($B4,$03,$00,$AA,$00,$B9,$2A,$F1));
|
|
{$EXTERNALSYM IID_IDataFilter}
|
|
IID_IDataFilter: TGUID = (
|
|
D1:$69D14C80; D2:$C18E; D3:$11D0; D4:($A9,$CE,$00,$60,$97,$94,$23,$11));
|
|
{$EXTERNALSYM IID_IEncodingFilterFactory}
|
|
IID_IEncodingFilterFactory: TGUID = (
|
|
D1:$70BDDE00; D2:$C18E; D3:$11D0; D4:($A9,$CE,$00,$60,$97,$94,$23,$11));
|
|
{$EXTERNALSYM IID_IWrappedProtocol}
|
|
IID_IWrappedProtocol: TGUID = (
|
|
D1:$53C84785; D2:$8425; D3:$4DC5; D4:($97,$1B,$E5,$8D,$9C,$19,$F9,$B6));
|
|
|
|
{$EXTERNALSYM IID_IOInet}
|
|
IID_IOInet: TGUID = (
|
|
D1:$79EAC9E0; D2:$BAF9; D3:$11CE; D4:($8C,$82,$00,$AA,$00,$4B,$A9,$0B));
|
|
{$EXTERNALSYM IID_IOInetBindInfo}
|
|
IID_IOInetBindInfo: TGUID = (
|
|
D1:$79EAC9E1; D2:$BAF9; D3:$11CE; D4:($8C,$82,$00,$AA,$00,$4B,$A9,$0B));
|
|
{$EXTERNALSYM IID_IOInetProtocolRoot}
|
|
IID_IOInetProtocolRoot: TGUID = (
|
|
D1:$79EAC9E3; D2:$BAF9; D3:$11CE; D4:($8C,$82,$00,$AA,$00,$4B,$A9,$0B));
|
|
{$EXTERNALSYM IID_IOInetProtocol}
|
|
IID_IOInetProtocol: TGUID = (
|
|
D1:$79EAC9E4; D2:$BAF9; D3:$11CE; D4:($8C,$82,$00,$AA,$00,$4B,$A9,$0B));
|
|
{$EXTERNALSYM IID_IOInetProtocolSink}
|
|
IID_IOInetProtocolSink: TGUID = (
|
|
D1:$79EAC9E5; D2:$BAF9; D3:$11CE; D4:($8C,$82,$00,$AA,$00,$4B,$A9,$0B));
|
|
{$EXTERNALSYM IID_IOInetProtocolInfo}
|
|
IID_IOInetProtocolInfo: TGUID = (
|
|
D1:$79EAC9EC; D2:$BAF9; D3:$11CE; D4:($8C,$82,$00,$AA,$00,$4B,$A9,$0B));
|
|
{$EXTERNALSYM IID_IOInetSession}
|
|
IID_IOInetSession: TGUID = (
|
|
D1:$79EAC9E7; D2:$BAF9; D3:$11CE; D4:($8C,$82,$00,$AA,$00,$4B,$A9,$0B));
|
|
{$EXTERNALSYM IID_IOInetPriority}
|
|
IID_IOInetPriority: TGUID = (
|
|
D1:$79EAC9EB; D2:$BAF9; D3:$11CE; D4:($8C,$82,$00,$AA,$00,$4B,$A9,$0B));
|
|
{$EXTERNALSYM IID_IOInetThreadSwitch}
|
|
IID_IOInetThreadSwitch: TGUID = (
|
|
D1:$79EAC9E8; D2:$BAF9; D3:$11CE; D4:($8C,$82,$00,$AA,$00,$4B,$A9,$0B));
|
|
{$EXTERNALSYM IID_IOInetProtocolSinkStackable}
|
|
IID_IOInetProtocolSinkStackable: TGUID = (
|
|
D1:$79EAC9F0; D2:$BAF9; D3:$11CE; D4:($8C,$82,$00,$AA,$00,$4B,$A9,$0B));
|
|
|
|
|
|
//=--------------------------------------------------------------------------=
|
|
// UrlMon.h
|
|
//=--------------------------------------------------------------------------=
|
|
// (C) Copyright 1995-1998 Microsoft Corporation. All Rights Reserved.
|
|
//
|
|
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
|
|
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
|
|
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
|
|
// PARTICULAR PURPOSE.
|
|
//=--------------------------------------------------------------------------=
|
|
|
|
const
|
|
{$EXTERNALSYM SZ_URLCONTEXT}
|
|
SZ_URLCONTEXT = 'URL Context';
|
|
{$EXTERNALSYM SZ_ASYNC_CALLEE}
|
|
SZ_ASYNC_CALLEE = 'AsyncCallee';
|
|
|
|
{$EXTERNALSYM MKSYS_URLMONIKER}
|
|
MKSYS_URLMONIKER = 6;
|
|
|
|
{$EXTERNALSYM URL_MK_LEGACY}
|
|
URL_MK_LEGACY = 0;
|
|
{$EXTERNALSYM URL_MK_UNIFORM}
|
|
URL_MK_UNIFORM = 1;
|
|
{$EXTERNALSYM URL_MK_NO_CANONICALIZE}
|
|
URL_MK_NO_CANONICALIZE = 2;
|
|
|
|
|
|
// flags for FaultInIEFeature
|
|
const
|
|
{$EXTERNALSYM FIEF_FLAG_FORCE_JITUI}
|
|
FIEF_FLAG_FORCE_JITUI = $1; // force JIT ui even if
|
|
// previoulsy rejected by
|
|
// user in this session or
|
|
// marked as Never Ask Again
|
|
{$EXTERNALSYM FIEF_FLAG_PEEK}
|
|
FIEF_FLAG_PEEK = $2; // just peek, don't faultin
|
|
{$EXTERNALSYM FIEF_FLAG_SKIP_INSTALLED_VERSION_CHECK}
|
|
FIEF_FLAG_SKIP_INSTALLED_VERSION_CHECK = $4; // force JIT without checking
|
|
// local version
|
|
|
|
|
|
const
|
|
{$EXTERNALSYM FMFD_DEFAULT}
|
|
FMFD_DEFAULT = $00000000;
|
|
{$EXTERNALSYM FMFD_URLASFILENAME}
|
|
FMFD_URLASFILENAME = $00000001;
|
|
{$EXTERNALSYM FMFD_ENABLEMIMESNIFFING}
|
|
FMFD_ENABLEMIMESNIFFING = $00000002;
|
|
{$EXTERNALSYM FMFD_IGNOREMIMETEXTPLAIN}
|
|
FMFD_IGNOREMIMETEXTPLAIN = $00000004;
|
|
|
|
// URLMON-specific defines for UrlMkSetSessionOption() above
|
|
{$EXTERNALSYM URLMON_OPTION_USERAGENT}
|
|
URLMON_OPTION_USERAGENT = $10000001;
|
|
{$EXTERNALSYM URLMON_OPTION_USERAGENT_REFRESH}
|
|
URLMON_OPTION_USERAGENT_REFRESH = $10000002;
|
|
{$EXTERNALSYM URLMON_OPTION_URL_ENCODING}
|
|
URLMON_OPTION_URL_ENCODING = $10000004;
|
|
{$EXTERNALSYM URLMON_OPTION_USE_BINDSTRINGCREDS}
|
|
URLMON_OPTION_USE_BINDSTRINGCREDS = $10000008;
|
|
|
|
const
|
|
{$EXTERNALSYM CF_NULL}
|
|
CF_NULL = 0;
|
|
{$EXTERNALSYM CFSTR_MIME_NULL}
|
|
CFSTR_MIME_NULL = nil;
|
|
{$EXTERNALSYM CFSTR_MIME_TEXT}
|
|
CFSTR_MIME_TEXT = 'text/plain';
|
|
{$EXTERNALSYM CFSTR_MIME_RICHTEXT}
|
|
CFSTR_MIME_RICHTEXT = 'text/richtext';
|
|
{$EXTERNALSYM CFSTR_MIME_X_BITMAP}
|
|
CFSTR_MIME_X_BITMAP = 'image/x-xbitmap';
|
|
{$EXTERNALSYM CFSTR_MIME_POSTSCRIPT}
|
|
CFSTR_MIME_POSTSCRIPT = 'application/postscript';
|
|
{$EXTERNALSYM CFSTR_MIME_AIFF}
|
|
CFSTR_MIME_AIFF = 'audio/aiff';
|
|
{$EXTERNALSYM CFSTR_MIME_BASICAUDIO}
|
|
CFSTR_MIME_BASICAUDIO = 'audio/basic';
|
|
{$EXTERNALSYM CFSTR_MIME_WAV}
|
|
CFSTR_MIME_WAV = 'audio/wav';
|
|
{$EXTERNALSYM CFSTR_MIME_X_WAV}
|
|
CFSTR_MIME_X_WAV = 'audio/x-wav';
|
|
{$EXTERNALSYM CFSTR_MIME_GIF}
|
|
CFSTR_MIME_GIF = 'image/gif';
|
|
{$EXTERNALSYM CFSTR_MIME_PJPEG}
|
|
CFSTR_MIME_PJPEG = 'image/pjpeg';
|
|
{$EXTERNALSYM CFSTR_MIME_JPEG}
|
|
CFSTR_MIME_JPEG = 'image/jpeg';
|
|
{$EXTERNALSYM CFSTR_MIME_TIFF}
|
|
CFSTR_MIME_TIFF = 'image/tiff';
|
|
{$EXTERNALSYM CFSTR_MIME_X_PNG}
|
|
CFSTR_MIME_X_PNG = 'image/x-png';
|
|
{$EXTERNALSYM CFSTR_MIME_BMP}
|
|
CFSTR_MIME_BMP = 'image/bmp';
|
|
{$EXTERNALSYM CFSTR_MIME_X_ART}
|
|
CFSTR_MIME_X_ART = 'image/x-jg';
|
|
{$EXTERNALSYM CFSTR_MIME_X_EMF}
|
|
CFSTR_MIME_X_EMF = 'image/x-emf';
|
|
{$EXTERNALSYM CFSTR_MIME_X_WMF}
|
|
CFSTR_MIME_X_WMF = 'image/x-wmf';
|
|
{$EXTERNALSYM CFSTR_MIME_AVI}
|
|
CFSTR_MIME_AVI = 'video/avi';
|
|
{$EXTERNALSYM CFSTR_MIME_MPEG}
|
|
CFSTR_MIME_MPEG = 'video/mpeg';
|
|
{$EXTERNALSYM CFSTR_MIME_FRACTALS}
|
|
CFSTR_MIME_FRACTALS = 'application/fractals';
|
|
{$EXTERNALSYM CFSTR_MIME_RAWDATA}
|
|
CFSTR_MIME_RAWDATA = 'application/octet-stream';
|
|
{$EXTERNALSYM CFSTR_MIME_RAWDATASTRM}
|
|
CFSTR_MIME_RAWDATASTRM = 'application/octet-stream';
|
|
{$EXTERNALSYM CFSTR_MIME_PDF}
|
|
CFSTR_MIME_PDF = 'application/pdf';
|
|
{$EXTERNALSYM CFSTR_MIME_HTA}
|
|
CFSTR_MIME_HTA = 'application/hta';
|
|
{$EXTERNALSYM CFSTR_MIME_X_AIFF}
|
|
CFSTR_MIME_X_AIFF = 'audio/x-aiff';
|
|
{$EXTERNALSYM CFSTR_MIME_X_REALAUDIO}
|
|
CFSTR_MIME_X_REALAUDIO = 'audio/x-pn-realaudio';
|
|
{$EXTERNALSYM CFSTR_MIME_XBM}
|
|
CFSTR_MIME_XBM = 'image/xbm';
|
|
{$EXTERNALSYM CFSTR_MIME_QUICKTIME}
|
|
CFSTR_MIME_QUICKTIME = 'video/quicktime';
|
|
{$EXTERNALSYM CFSTR_MIME_X_MSVIDEO}
|
|
CFSTR_MIME_X_MSVIDEO = 'video/x-msvideo';
|
|
{$EXTERNALSYM CFSTR_MIME_X_SGI_MOVIE}
|
|
CFSTR_MIME_X_SGI_MOVIE = 'video/x-sgi-movie';
|
|
{$EXTERNALSYM CFSTR_MIME_HTML}
|
|
CFSTR_MIME_HTML = 'text/html';
|
|
{$EXTERNALSYM CFSTR_MIME_XML}
|
|
CFSTR_MIME_XML = 'text/xml';
|
|
|
|
// MessageId: MK_S_ASYNCHRONOUS
|
|
// MessageText: Operation is successful, but will complete asynchronously.
|
|
//
|
|
{$EXTERNALSYM MK_S_ASYNCHRONOUS}
|
|
MK_S_ASYNCHRONOUS = HResult($000401E8);
|
|
{$EXTERNALSYM S_ASYNCHRONOUS}
|
|
S_ASYNCHRONOUS = MK_S_ASYNCHRONOUS;
|
|
|
|
{$IFNDEF JWA_INCLUDEMODE}
|
|
{$EXTERNALSYM E_PENDING}
|
|
E_PENDING = HResult($8000000A);
|
|
{$ENDIF JWA_INCLUDEMODE}
|
|
|
|
//
|
|
// WinINet and protocol specific errors are mapped to one of the following
|
|
// error which are returned in IBSC::OnStopBinding
|
|
//
|
|
// Note: FACILITY C is split into ranges of 1k
|
|
// C0000 - C03FF INET_E_ (URLMON's original hresult)
|
|
// C0400 - C07FF INET_E_CLIENT_xxx
|
|
// C0800 - C0BFF INET_E_SERVER_xxx
|
|
// C0C00 - C0FFF INET_E_????
|
|
// C1000 - C13FF INET_E_AGENT_xxx (info delivery agents)
|
|
|
|
const
|
|
{$EXTERNALSYM INET_E_INVALID_URL}
|
|
INET_E_INVALID_URL = HResult($800C0002);
|
|
{$EXTERNALSYM INET_E_NO_SESSION}
|
|
INET_E_NO_SESSION = HResult($800C0003);
|
|
{$EXTERNALSYM INET_E_CANNOT_CONNECT}
|
|
INET_E_CANNOT_CONNECT = HResult($800C0004);
|
|
{$EXTERNALSYM INET_E_RESOURCE_NOT_FOUND}
|
|
INET_E_RESOURCE_NOT_FOUND = HResult($800C0005);
|
|
{$EXTERNALSYM INET_E_OBJECT_NOT_FOUND}
|
|
INET_E_OBJECT_NOT_FOUND = HResult($800C0006);
|
|
{$EXTERNALSYM INET_E_DATA_NOT_AVAILABLE}
|
|
INET_E_DATA_NOT_AVAILABLE = HResult($800C0007);
|
|
{$EXTERNALSYM INET_E_DOWNLOAD_FAILURE}
|
|
INET_E_DOWNLOAD_FAILURE = HResult($800C0008);
|
|
{$EXTERNALSYM INET_E_AUTHENTICATION_REQUIRED}
|
|
INET_E_AUTHENTICATION_REQUIRED = HResult($800C0009);
|
|
{$EXTERNALSYM INET_E_NO_VALID_MEDIA}
|
|
INET_E_NO_VALID_MEDIA = HResult($800C000A);
|
|
{$EXTERNALSYM INET_E_CONNECTION_TIMEOUT}
|
|
INET_E_CONNECTION_TIMEOUT = HResult($800C000B);
|
|
{$EXTERNALSYM INET_E_INVALID_REQUEST}
|
|
INET_E_INVALID_REQUEST = HResult($800C000C);
|
|
{$EXTERNALSYM INET_E_UNKNOWN_PROTOCOL}
|
|
INET_E_UNKNOWN_PROTOCOL = HResult($800C000D);
|
|
{$EXTERNALSYM INET_E_SECURITY_PROBLEM}
|
|
INET_E_SECURITY_PROBLEM = HResult($800C000E);
|
|
{$EXTERNALSYM INET_E_CANNOT_LOAD_DATA}
|
|
INET_E_CANNOT_LOAD_DATA = HResult($800C000F);
|
|
{$EXTERNALSYM INET_E_CANNOT_INSTANTIATE_OBJECT}
|
|
INET_E_CANNOT_INSTANTIATE_OBJECT = HResult($800C0010);
|
|
{$EXTERNALSYM INET_E_REDIRECT_FAILED}
|
|
INET_E_REDIRECT_FAILED = HResult($800C0014);
|
|
{$EXTERNALSYM INET_E_REDIRECT_TO_DIR}
|
|
INET_E_REDIRECT_TO_DIR = HResult($800C0015);
|
|
{$EXTERNALSYM INET_E_CANNOT_LOCK_REQUEST}
|
|
INET_E_CANNOT_LOCK_REQUEST = HResult($800C0016);
|
|
{$EXTERNALSYM INET_E_USE_EXTEND_BINDING}
|
|
INET_E_USE_EXTEND_BINDING = HResult($800C0017);
|
|
{$EXTERNALSYM INET_E_TERMINATED_BIND}
|
|
INET_E_TERMINATED_BIND = HResult($800C0018);
|
|
{$EXTERNALSYM INET_E_ERROR_FIRST}
|
|
INET_E_ERROR_FIRST = HResult($800C0002);
|
|
{$EXTERNALSYM INET_E_CODE_DOWNLOAD_DECLINED}
|
|
INET_E_CODE_DOWNLOAD_DECLINED = HResult($800C0100);
|
|
{$EXTERNALSYM INET_E_RESULT_DISPATCHED}
|
|
INET_E_RESULT_DISPATCHED = HResult($800C0200);
|
|
{$EXTERNALSYM INET_E_CANNOT_REPLACE_SFP_FILE}
|
|
INET_E_CANNOT_REPLACE_SFP_FILE = HResult($800C0300);
|
|
{$EXTERNALSYM INET_E_CODE_INSTALL_SUPPRESSED}
|
|
INET_E_CODE_INSTALL_SUPPRESSED = HResult($800C0400);
|
|
{$EXTERNALSYM INET_E_ERROR_LAST}
|
|
INET_E_ERROR_LAST = INET_E_CANNOT_REPLACE_SFP_FILE;
|
|
|
|
type
|
|
{$EXTERNALSYM IPersistMoniker}
|
|
IPersistMoniker = interface(IUnknown)
|
|
['{79eac9c9-baf9-11ce-8c82-00aa004ba90b}']
|
|
function GetClassID(out pClassID: TCLSID): HResult; stdcall;
|
|
function IsDirty: HResult; stdcall;
|
|
function Load(fFullyAvailable: BOOL; pimkName: IMoniker; pibc:
|
|
IBindCtx; grfMode: DWORD): HResult; stdcall;
|
|
function Save(pimkName: IMoniker; pbc: IBindCtx; fRemember: BOOL): HResult; stdcall;
|
|
function SaveCompleted(pimkName: IMoniker; pibc: IBindCtx): HResult; stdcall;
|
|
function GetCurMoniker(out ppimkName: IMoniker): HResult; stdcall;
|
|
end;
|
|
|
|
{$EXTERNALSYM MONIKERPROPERTY}
|
|
MONIKERPROPERTY = DWORD;
|
|
TMonikerProperty = DWORD;
|
|
|
|
const
|
|
{$EXTERNALSYM MIMETYPEPROP}
|
|
MIMETYPEPROP = 0;
|
|
{$EXTERNALSYM USE_SRC_URL}
|
|
USE_SRC_URL = $1;
|
|
{$EXTERNALSYM CLASSIDPROP}
|
|
CLASSIDPROP = $2;
|
|
{$EXTERNALSYM TRUSTEDDOWNLOADPROP}
|
|
TRUSTEDDOWNLOADPROP = $3;
|
|
{$EXTERNALSYM POPUPLEVELPROP}
|
|
POPUPLEVELPROP = $4;
|
|
|
|
type
|
|
{$EXTERNALSYM IMonikerProp}
|
|
IMonikerProp = interface(IUnknown)
|
|
['{a5ca5f7f-1847-4d87-9c5b-918509f7511d}']
|
|
function PutProperty(mkp: TMonikerProperty;
|
|
val: PWideChar): HResult; stdcall;
|
|
end;
|
|
|
|
{$EXTERNALSYM IBinding}
|
|
IBinding = interface(IUnknown)
|
|
['{79eac9c0-baf9-11ce-8c82-00aa004ba90b}']
|
|
function Abort: HResult; stdcall;
|
|
function Suspend: HResult; stdcall;
|
|
function Resume: HResult; stdcall;
|
|
function SetPriority(nPriority: Longint): HResult; stdcall;
|
|
function GetPriority(out pnPriority: Longint): HResult; stdcall;
|
|
function GetBindResult(out pclsidProtocol: TCLSID; out pdwResult: DWORD;
|
|
out pszResult: POleStr; dwReserved: DWORD): HResult; stdcall;
|
|
end;
|
|
|
|
{$EXTERNALSYM IBindProtocol}
|
|
IBindProtocol = interface(IUnknown)
|
|
['{79eac9cd-baf9-11ce-8c82-00aa004ba90b}']
|
|
function CreateBinding(szUrl: PWideChar; pbc: IBindCtx;
|
|
out ppb: IBinding): HResult; stdcall;
|
|
end;
|
|
|
|
type
|
|
{$EXTERNALSYM BINDVERB}
|
|
BINDVERB = DWORD;
|
|
TBindVerb = BINDVERB;
|
|
|
|
const
|
|
{$EXTERNALSYM BINDVERB_GET}
|
|
BINDVERB_GET = 0;
|
|
{$EXTERNALSYM BINDVERB_POST}
|
|
BINDVERB_POST = $1;
|
|
{$EXTERNALSYM BINDVERB_PUT}
|
|
BINDVERB_PUT = $2;
|
|
{$EXTERNALSYM BINDVERB_CUSTOM}
|
|
BINDVERB_CUSTOM = $3;
|
|
|
|
type
|
|
{$EXTERNALSYM BINDINFOF}
|
|
BINDINFOF = DWORD;
|
|
TBindInfoF = BINDINFOF;
|
|
|
|
const
|
|
{$EXTERNALSYM BINDINFOF_URLENCODESTGMEDDATA}
|
|
BINDINFOF_URLENCODESTGMEDDATA = $1;
|
|
{$EXTERNALSYM BINDINFOF_URLENCODEDEXTRAINFO}
|
|
BINDINFOF_URLENCODEDEXTRAINFO = $2;
|
|
|
|
type
|
|
{$EXTERNALSYM BINDF}
|
|
BINDF = DWORD;
|
|
TBindF = DWORD;
|
|
|
|
const
|
|
{$EXTERNALSYM BINDF_ASYNCHRONOUS}
|
|
BINDF_ASYNCHRONOUS = $1;
|
|
{$EXTERNALSYM BINDF_ASYNCSTORAGE}
|
|
BINDF_ASYNCSTORAGE = $2;
|
|
{$EXTERNALSYM BINDF_NOPROGRESSIVERENDERING}
|
|
BINDF_NOPROGRESSIVERENDERING = $4;
|
|
{$EXTERNALSYM BINDF_OFFLINEOPERATION}
|
|
BINDF_OFFLINEOPERATION = $8;
|
|
{$EXTERNALSYM BINDF_GETNEWESTVERSION}
|
|
BINDF_GETNEWESTVERSION = $10;
|
|
{$EXTERNALSYM BINDF_NOWRITECACHE}
|
|
BINDF_NOWRITECACHE = $20;
|
|
{$EXTERNALSYM BINDF_NEEDFILE}
|
|
BINDF_NEEDFILE = $40;
|
|
{$EXTERNALSYM BINDF_PULLDATA}
|
|
BINDF_PULLDATA = $80;
|
|
{$EXTERNALSYM BINDF_IGNORESECURITYPROBLEM}
|
|
BINDF_IGNORESECURITYPROBLEM = $100;
|
|
{$EXTERNALSYM BINDF_RESYNCHRONIZE}
|
|
BINDF_RESYNCHRONIZE = $200;
|
|
{$EXTERNALSYM BINDF_HYPERLINK}
|
|
BINDF_HYPERLINK = $400;
|
|
{$EXTERNALSYM BINDF_NO_UI}
|
|
BINDF_NO_UI = $800;
|
|
{$EXTERNALSYM BINDF_SILENTOPERATION}
|
|
BINDF_SILENTOPERATION = $1000;
|
|
{$EXTERNALSYM BINDF_PRAGMA_NO_CACHE}
|
|
BINDF_PRAGMA_NO_CACHE = $2000;
|
|
{$EXTERNALSYM BINDF_GETCLASSOBJECT}
|
|
BINDF_GETCLASSOBJECT = $4000;
|
|
{$EXTERNALSYM BINDF_RESERVED_1}
|
|
BINDF_RESERVED_1 = $8000;
|
|
{$EXTERNALSYM BINDF_FREE_THREADED}
|
|
BINDF_FREE_THREADED = $10000;
|
|
{$EXTERNALSYM BINDF_DIRECT_READ}
|
|
BINDF_DIRECT_READ = $20000;
|
|
{$EXTERNALSYM BINDF_FORMS_SUBMIT}
|
|
BINDF_FORMS_SUBMIT = $40000;
|
|
{$EXTERNALSYM BINDF_GETFROMCACHE_IF_NET_FAIL}
|
|
BINDF_GETFROMCACHE_IF_NET_FAIL = $80000;
|
|
{$EXTERNALSYM BINDF_FROMURLMON}
|
|
BINDF_FROMURLMON = $100000;
|
|
{$EXTERNALSYM BINDF_FWD_BACK}
|
|
BINDF_FWD_BACK = $200000;
|
|
{$EXTERNALSYM BINDF_PREFERDEFAULTHANDLER}
|
|
BINDF_PREFERDEFAULTHANDLER = $400000;
|
|
{$EXTERNALSYM BINDF_ENFORCERESTRICTED}
|
|
BINDF_ENFORCERESTRICTED = $800000;
|
|
|
|
// Aliases
|
|
{$EXTERNALSYM BINDF_DONTUSECACHE}
|
|
BINDF_DONTUSECACHE = BINDF_GETNEWESTVERSION;
|
|
{$EXTERNALSYM BINDF_DONTPUTINCACHE}
|
|
BINDF_DONTPUTINCACHE = BINDF_NOWRITECACHE;
|
|
{$EXTERNALSYM BINDF_NOCOPYDATA}
|
|
BINDF_NOCOPYDATA = BINDF_PULLDATA;
|
|
|
|
type
|
|
{$EXTERNALSYM URL_ENCODING}
|
|
URL_ENCODING = DWORD;
|
|
TUrlEncoding = DWORD;
|
|
|
|
const
|
|
{$EXTERNALSYM URL_ENCODING_NONE}
|
|
URL_ENCODING_NONE = 0;
|
|
{$EXTERNALSYM URL_ENCODING_ENABLE_UTF8}
|
|
URL_ENCODING_ENABLE_UTF8 = $10000000;
|
|
{$EXTERNALSYM URL_ENCODING_DISABLE_UTF8}
|
|
URL_ENCODING_DISABLE_UTF8 = $20000000;
|
|
|
|
type
|
|
PBindInfo = ^TBindInfo;
|
|
{$EXTERNALSYM _tagBINDINFO}
|
|
_tagBINDINFO = record
|
|
cbSize: ULONG;
|
|
szExtraInfo: PWideChar;
|
|
stgmedData: TStgMedium;
|
|
grfBindInfoF: TBindInfoF;
|
|
dwBindVerb: TBindVerb;
|
|
szCustomVerb: PWideChar;
|
|
cbstgmedData: DWORD;
|
|
dwOptions: DWORD;
|
|
dwOptionsFlags: DWORD;
|
|
dwCodePage: DWORD;
|
|
securityAttributes: TSecurityAttributes;
|
|
iid: TIID;
|
|
pUnk: IUnknown;
|
|
dwReserved: DWORD;
|
|
end;
|
|
{$EXTERNALSYM BINDINFO}
|
|
BINDINFO = _tagBINDINFO;
|
|
TBindInfo = _tagBINDINFO;
|
|
|
|
PRemSecurityAttributes = ^TRemSecurityAttributes;
|
|
{$EXTERNALSYM _REMSECURITY_ATTRIBUTES}
|
|
_REMSECURITY_ATTRIBUTES = record
|
|
nLength: DWORD;
|
|
lpSecurityDescriptor: DWORD;
|
|
bInheritHandle: BOOL;
|
|
end;
|
|
{$EXTERNALSYM REMSECURITY_ATTRIBUTES}
|
|
REMSECURITY_ATTRIBUTES = _REMSECURITY_ATTRIBUTES;
|
|
TRemSecurityAttributes = _REMSECURITY_ATTRIBUTES;
|
|
|
|
PRemBindInfo = ^TRemBindInfo;
|
|
{$EXTERNALSYM _tagRemBINDINFO}
|
|
_tagRemBINDINFO = record
|
|
cbSize: ULONG;
|
|
szExtraInfo: PWideChar;
|
|
grfBindInfoF: TBindInfoF;
|
|
dwBindVerb: TBindVerb;
|
|
szCustomVerb: PWideChar;
|
|
cbstgmedData: DWORD;
|
|
dwOptions: DWORD;
|
|
dwOptionsFlags: DWORD;
|
|
dwCodePage: DWORD;
|
|
securityAttributes: TRemSecurityAttributes;
|
|
iid: TIID;
|
|
pUnk: IUnknown;
|
|
dwReserved: DWORD;
|
|
end;
|
|
{$EXTERNALSYM RemBINDINFO}
|
|
RemBINDINFO = _tagRemBINDINFO;
|
|
TRemBindInfo = _tagRemBINDINFO;
|
|
|
|
PRemFormatEtc = ^TRemFormatEtc;
|
|
{$EXTERNALSYM tagRemFORMATETC}
|
|
tagRemFORMATETC = record
|
|
cfFormat: DWORD;
|
|
ptd: DWORD;
|
|
dwAspect: DWORD;
|
|
lindex: Longint;
|
|
tymed: DWORD;
|
|
end;
|
|
{$EXTERNALSYM RemFORMATETC}
|
|
RemFORMATETC = tagRemFORMATETC;
|
|
TRemFormatEtc = tagRemFORMATETC;
|
|
|
|
{$EXTERNALSYM BINDINFO_OPTIONS}
|
|
BINDINFO_OPTIONS = DWORD;
|
|
TBindInfoOptions = BINDINFO_OPTIONS;
|
|
|
|
const
|
|
{$EXTERNALSYM BINDINFO_OPTIONS_WININETFLAG}
|
|
BINDINFO_OPTIONS_WININETFLAG = $10000;
|
|
{$EXTERNALSYM BINDINFO_OPTIONS_ENABLE_UTF8}
|
|
BINDINFO_OPTIONS_ENABLE_UTF8 = $20000;
|
|
{$EXTERNALSYM BINDINFO_OPTIONS_DISABLE_UTF8}
|
|
BINDINFO_OPTIONS_DISABLE_UTF8 = $40000;
|
|
{$EXTERNALSYM BINDINFO_OPTIONS_USE_IE_ENCODING}
|
|
BINDINFO_OPTIONS_USE_IE_ENCODING = $80000;
|
|
{$EXTERNALSYM BINDINFO_OPTIONS_BINDTOOBJECT}
|
|
BINDINFO_OPTIONS_BINDTOOBJECT = $100000;
|
|
{$EXTERNALSYM BINDINFO_OPTIONS_SECURITYOPTOUT}
|
|
BINDINFO_OPTIONS_SECURITYOPTOUT = $200000;
|
|
{$EXTERNALSYM BINDINFO_OPTIONS_IGNOREMIMETEXTPLAIN}
|
|
BINDINFO_OPTIONS_IGNOREMIMETEXTPLAIN = $400000;
|
|
{$EXTERNALSYM BINDINFO_OPTIONS_USEBINDSTRINGCREDS}
|
|
BINDINFO_OPTIONS_USEBINDSTRINGCREDS = $800000;
|
|
{$EXTERNALSYM BINDINFO_OPTIONS_IGNOREHTTPHTTPSREDIRECTS}
|
|
BINDINFO_OPTIONS_IGNOREHTTPHTTPSREDIRECTS = $1000000;
|
|
{$EXTERNALSYM BINDINFO_OPTIONS_SHDOCVW_NAVIGATE}
|
|
BINDINFO_OPTIONS_SHDOCVW_NAVIGATE = $80000000;
|
|
|
|
type
|
|
{$EXTERNALSYM BSCF}
|
|
BSCF = DWORD;
|
|
TBSCF = DWORD;
|
|
|
|
const
|
|
{$EXTERNALSYM BSCF_FIRSTDATANOTIFICATION}
|
|
BSCF_FIRSTDATANOTIFICATION = $1;
|
|
{$EXTERNALSYM BSCF_INTERMEDIATEDATANOTIFICATION}
|
|
BSCF_INTERMEDIATEDATANOTIFICATION = $2;
|
|
{$EXTERNALSYM BSCF_LASTDATANOTIFICATION}
|
|
BSCF_LASTDATANOTIFICATION = $4;
|
|
{$EXTERNALSYM BSCF_DATAFULLYAVAILABLE}
|
|
BSCF_DATAFULLYAVAILABLE = $8;
|
|
{$EXTERNALSYM BSCF_AVAILABLEDATASIZEUNKNOWN}
|
|
BSCF_AVAILABLEDATASIZEUNKNOWN = $10;
|
|
|
|
type
|
|
{$EXTERNALSYM tagBINDSTATUS}
|
|
tagBINDSTATUS = DWORD;
|
|
{$EXTERNALSYM BINDSTATUS}
|
|
BINDSTATUS = tagBINDSTATUS;
|
|
TBindStatus = tagBINDSTATUS;
|
|
|
|
const
|
|
{$EXTERNALSYM BINDSTATUS_FINDINGRESOURCE}
|
|
BINDSTATUS_FINDINGRESOURCE = 1;
|
|
{$EXTERNALSYM BINDSTATUS_CONNECTING}
|
|
BINDSTATUS_CONNECTING = BINDSTATUS_FINDINGRESOURCE + 1;
|
|
{$EXTERNALSYM BINDSTATUS_REDIRECTING}
|
|
BINDSTATUS_REDIRECTING = BINDSTATUS_CONNECTING + 1;
|
|
{$EXTERNALSYM BINDSTATUS_BEGINDOWNLOADDATA}
|
|
BINDSTATUS_BEGINDOWNLOADDATA = BINDSTATUS_REDIRECTING + 1;
|
|
{$EXTERNALSYM BINDSTATUS_DOWNLOADINGDATA}
|
|
BINDSTATUS_DOWNLOADINGDATA = BINDSTATUS_BEGINDOWNLOADDATA + 1;
|
|
{$EXTERNALSYM BINDSTATUS_ENDDOWNLOADDATA}
|
|
BINDSTATUS_ENDDOWNLOADDATA = BINDSTATUS_DOWNLOADINGDATA + 1;
|
|
{$EXTERNALSYM BINDSTATUS_BEGINDOWNLOADCOMPONENTS}
|
|
BINDSTATUS_BEGINDOWNLOADCOMPONENTS = BINDSTATUS_ENDDOWNLOADDATA + 1;
|
|
{$EXTERNALSYM BINDSTATUS_INSTALLINGCOMPONENTS}
|
|
BINDSTATUS_INSTALLINGCOMPONENTS = BINDSTATUS_BEGINDOWNLOADCOMPONENTS + 1;
|
|
{$EXTERNALSYM BINDSTATUS_ENDDOWNLOADCOMPONENTS}
|
|
BINDSTATUS_ENDDOWNLOADCOMPONENTS = BINDSTATUS_INSTALLINGCOMPONENTS + 1;
|
|
{$EXTERNALSYM BINDSTATUS_USINGCACHEDCOPY}
|
|
BINDSTATUS_USINGCACHEDCOPY = BINDSTATUS_ENDDOWNLOADCOMPONENTS + 1;
|
|
{$EXTERNALSYM BINDSTATUS_SENDINGREQUEST}
|
|
BINDSTATUS_SENDINGREQUEST = BINDSTATUS_USINGCACHEDCOPY + 1;
|
|
{$EXTERNALSYM BINDSTATUS_CLASSIDAVAILABLE}
|
|
BINDSTATUS_CLASSIDAVAILABLE = BINDSTATUS_SENDINGREQUEST + 1;
|
|
{$EXTERNALSYM BINDSTATUS_MIMETYPEAVAILABLE}
|
|
BINDSTATUS_MIMETYPEAVAILABLE = BINDSTATUS_CLASSIDAVAILABLE + 1;
|
|
{$EXTERNALSYM BINDSTATUS_CACHEFILENAMEAVAILABLE}
|
|
BINDSTATUS_CACHEFILENAMEAVAILABLE = BINDSTATUS_MIMETYPEAVAILABLE + 1;
|
|
{$EXTERNALSYM BINDSTATUS_BEGINSYNCOPERATION}
|
|
BINDSTATUS_BEGINSYNCOPERATION = BINDSTATUS_CACHEFILENAMEAVAILABLE + 1;
|
|
{$EXTERNALSYM BINDSTATUS_ENDSYNCOPERATION}
|
|
BINDSTATUS_ENDSYNCOPERATION = BINDSTATUS_BEGINSYNCOPERATION + 1;
|
|
{$EXTERNALSYM BINDSTATUS_BEGINUPLOADDATA}
|
|
BINDSTATUS_BEGINUPLOADDATA = BINDSTATUS_ENDSYNCOPERATION + 1;
|
|
{$EXTERNALSYM BINDSTATUS_UPLOADINGDATA}
|
|
BINDSTATUS_UPLOADINGDATA = BINDSTATUS_BEGINUPLOADDATA + 1;
|
|
{$EXTERNALSYM BINDSTATUS_ENDUPLOADDATA}
|
|
BINDSTATUS_ENDUPLOADDATA = BINDSTATUS_UPLOADINGDATA + 1;
|
|
{$EXTERNALSYM BINDSTATUS_PROTOCOLCLASSID}
|
|
BINDSTATUS_PROTOCOLCLASSID = BINDSTATUS_ENDUPLOADDATA + 1;
|
|
{$EXTERNALSYM BINDSTATUS_ENCODING}
|
|
BINDSTATUS_ENCODING = BINDSTATUS_PROTOCOLCLASSID + 1;
|
|
{$EXTERNALSYM BINDSTATUS_VERIFIEDMIMETYPEAVAILABLE}
|
|
BINDSTATUS_VERIFIEDMIMETYPEAVAILABLE = BINDSTATUS_ENCODING + 1;
|
|
{$EXTERNALSYM BINDSTATUS_CLASSINSTALLLOCATION}
|
|
BINDSTATUS_CLASSINSTALLLOCATION = BINDSTATUS_VERIFIEDMIMETYPEAVAILABLE + 1;
|
|
{$EXTERNALSYM BINDSTATUS_DECODING}
|
|
BINDSTATUS_DECODING = BINDSTATUS_CLASSINSTALLLOCATION + 1;
|
|
{$EXTERNALSYM BINDSTATUS_LOADINGMIMEHANDLER}
|
|
BINDSTATUS_LOADINGMIMEHANDLER = BINDSTATUS_DECODING + 1;
|
|
{$EXTERNALSYM BINDSTATUS_CONTENTDISPOSITIONATTACH}
|
|
BINDSTATUS_CONTENTDISPOSITIONATTACH = BINDSTATUS_LOADINGMIMEHANDLER + 1;
|
|
{$EXTERNALSYM BINDSTATUS_FILTERREPORTMIMETYPE}
|
|
BINDSTATUS_FILTERREPORTMIMETYPE = BINDSTATUS_CONTENTDISPOSITIONATTACH + 1;
|
|
{$EXTERNALSYM BINDSTATUS_CLSIDCANINSTANTIATE}
|
|
BINDSTATUS_CLSIDCANINSTANTIATE = BINDSTATUS_FILTERREPORTMIMETYPE + 1;
|
|
{$EXTERNALSYM BINDSTATUS_IUNKNOWNAVAILABLE}
|
|
BINDSTATUS_IUNKNOWNAVAILABLE = BINDSTATUS_CLSIDCANINSTANTIATE + 1;
|
|
{$EXTERNALSYM BINDSTATUS_DIRECTBIND}
|
|
BINDSTATUS_DIRECTBIND = BINDSTATUS_IUNKNOWNAVAILABLE + 1;
|
|
{$EXTERNALSYM BINDSTATUS_RAWMIMETYPE}
|
|
BINDSTATUS_RAWMIMETYPE = BINDSTATUS_DIRECTBIND + 1;
|
|
{$EXTERNALSYM BINDSTATUS_PROXYDETECTING}
|
|
BINDSTATUS_PROXYDETECTING = BINDSTATUS_RAWMIMETYPE + 1;
|
|
{$EXTERNALSYM BINDSTATUS_ACCEPTRANGES}
|
|
BINDSTATUS_ACCEPTRANGES = BINDSTATUS_PROXYDETECTING + 1;
|
|
{$EXTERNALSYM BINDSTATUS_COOKIE_SENT}
|
|
BINDSTATUS_COOKIE_SENT = BINDSTATUS_ACCEPTRANGES + 1;
|
|
{$EXTERNALSYM BINDSTATUS_COMPACT_POLICY_RECEIVED}
|
|
BINDSTATUS_COMPACT_POLICY_RECEIVED = BINDSTATUS_COOKIE_SENT + 1;
|
|
{$EXTERNALSYM BINDSTATUS_COOKIE_SUPPRESSED}
|
|
BINDSTATUS_COOKIE_SUPPRESSED = BINDSTATUS_COMPACT_POLICY_RECEIVED + 1;
|
|
{$EXTERNALSYM BINDSTATUS_COOKIE_STATE_UNKNOWN}
|
|
BINDSTATUS_COOKIE_STATE_UNKNOWN = BINDSTATUS_COOKIE_SUPPRESSED + 1;
|
|
{$EXTERNALSYM BINDSTATUS_COOKIE_STATE_ACCEPT}
|
|
BINDSTATUS_COOKIE_STATE_ACCEPT = BINDSTATUS_COOKIE_STATE_UNKNOWN + 1;
|
|
{$EXTERNALSYM BINDSTATUS_COOKIE_STATE_REJECT}
|
|
BINDSTATUS_COOKIE_STATE_REJECT = BINDSTATUS_COOKIE_STATE_ACCEPT + 1;
|
|
{$EXTERNALSYM BINDSTATUS_COOKIE_STATE_PROMPT}
|
|
BINDSTATUS_COOKIE_STATE_PROMPT = BINDSTATUS_COOKIE_STATE_REJECT + 1;
|
|
{$EXTERNALSYM BINDSTATUS_COOKIE_STATE_LEASH}
|
|
BINDSTATUS_COOKIE_STATE_LEASH = BINDSTATUS_COOKIE_STATE_PROMPT + 1;
|
|
{$EXTERNALSYM BINDSTATUS_COOKIE_STATE_DOWNGRADE}
|
|
BINDSTATUS_COOKIE_STATE_DOWNGRADE = BINDSTATUS_COOKIE_STATE_LEASH + 1;
|
|
{$EXTERNALSYM BINDSTATUS_POLICY_HREF}
|
|
BINDSTATUS_POLICY_HREF = BINDSTATUS_COOKIE_STATE_DOWNGRADE + 1;
|
|
{$EXTERNALSYM BINDSTATUS_P3P_HEADER}
|
|
BINDSTATUS_P3P_HEADER = BINDSTATUS_POLICY_HREF + 1;
|
|
{$EXTERNALSYM BINDSTATUS_SESSION_COOKIE_RECEIVED}
|
|
BINDSTATUS_SESSION_COOKIE_RECEIVED = BINDSTATUS_P3P_HEADER + 1;
|
|
{$EXTERNALSYM BINDSTATUS_PERSISTENT_COOKIE_RECEIVED}
|
|
BINDSTATUS_PERSISTENT_COOKIE_RECEIVED = BINDSTATUS_SESSION_COOKIE_RECEIVED + 1;
|
|
{$EXTERNALSYM BINDSTATUS_SESSION_COOKIES_ALLOWED}
|
|
BINDSTATUS_SESSION_COOKIES_ALLOWED = BINDSTATUS_PERSISTENT_COOKIE_RECEIVED + 1;
|
|
{$EXTERNALSYM BINDSTATUS_CACHECONTROL}
|
|
BINDSTATUS_CACHECONTROL = BINDSTATUS_SESSION_COOKIES_ALLOWED + 1;
|
|
{$EXTERNALSYM BINDSTATUS_CONTENTDISPOSITIONFILENAME}
|
|
BINDSTATUS_CONTENTDISPOSITIONFILENAME = BINDSTATUS_CACHECONTROL + 1;
|
|
{$EXTERNALSYM BINDSTATUS_MIMETEXTPLAINMISMATCH}
|
|
BINDSTATUS_MIMETEXTPLAINMISMATCH = BINDSTATUS_CONTENTDISPOSITIONFILENAME + 1;
|
|
{$EXTERNALSYM BINDSTATUS_PUBLISHERAVAILABLE}
|
|
BINDSTATUS_PUBLISHERAVAILABLE = BINDSTATUS_MIMETEXTPLAINMISMATCH + 1;
|
|
{$EXTERNALSYM BINDSTATUS_DISPLAYNAMEAVAILABLE}
|
|
BINDSTATUS_DISPLAYNAMEAVAILABLE = BINDSTATUS_PUBLISHERAVAILABLE + 1;
|
|
|
|
type
|
|
{$EXTERNALSYM IBindStatusCallback}
|
|
IBindStatusCallback = interface(IUnknown)
|
|
['{79eac9c1-baf9-11ce-8c82-00aa004ba90b}']
|
|
function OnStartBinding(dwReserved: DWORD; pib: IBinding): HResult; stdcall;
|
|
function GetPriority(out pnPriority: Longint): HResult; stdcall;
|
|
function OnLowResource(reserved: DWORD): HResult; stdcall;
|
|
function OnProgress(ulProgress: ULONG; ulProgressMax, ulStatusCode: ULONG;
|
|
szStatusText: PWideChar): HResult; stdcall;
|
|
function OnStopBinding(hresult: HResult;
|
|
szError: PWideChar): HResult; stdcall;
|
|
function GetBindInfo(out grfBINDF: TBindF;
|
|
var pbindinfo: TBindInfo): HResult; stdcall;
|
|
function OnDataAvailable(grfBSCF: TBSCF; dwSize: DWORD;
|
|
pformatetc: PFormatEtc; pstgmed: PStgMedium): HResult; stdcall;
|
|
function OnObjectAvailable(var riid: TIID;
|
|
punk: IUnknown): HResult; stdcall;
|
|
end;
|
|
|
|
{$EXTERNALSYM IAuthenticate}
|
|
IAuthenticate = interface(IUnknown)
|
|
['{79eac9d0-baf9-11ce-8c82-00aa004ba90b}']
|
|
function Authenticate(out phwnd: HWND;
|
|
out pszUsername, pszPassword: PWideChar): HResult; stdcall;
|
|
end;
|
|
|
|
{$EXTERNALSYM IHttpNegotiate}
|
|
IHttpNegotiate = interface(IUnknown)
|
|
['{79eac9d2-baf9-11ce-8c82-00aa004ba90b}']
|
|
function BeginningTransaction(szURL, szHeaders: PWideChar;
|
|
dwReserved: DWORD; out pszAdditionalHeaders: PWideChar): HResult; stdcall;
|
|
function OnResponse(dwResponseCode: DWORD;
|
|
szResponseHeaders, szRequestHeaders: PWideChar;
|
|
out pszAdditionalRequestHeaders: PWideChar): HResult; stdcall;
|
|
end;
|
|
|
|
const
|
|
{$EXTERNALSYM INVALID_P_ROOT_SECURITY_ID}
|
|
INVALID_P_ROOT_SECURITY_ID = PByte(-1);
|
|
|
|
type
|
|
{$EXTERNALSYM IHttpNegotiate2}
|
|
IHttpNegotiate2 = interface(IHttpNegotiate)
|
|
['{4F9F9FCB-E0F4-48eb-B7AB-FA2EA9365CB4}']
|
|
function GetRootSecurityId(pbSecurityId: PByte;
|
|
var pcbSecurityId: DWORD; dwReserved: DWORD): HResult; stdcall;
|
|
end;
|
|
|
|
{$EXTERNALSYM IWinInetFileStream}
|
|
IWinInetFileStream = interface(IUnknown)
|
|
['{F134C4B7-B1F8-4e75-B886-74B90943BECB}']
|
|
function SetHandleForUnlock(
|
|
hWinInetLockHandle, dwReserved: DWORD): HResult; stdcall;
|
|
function SetDeleteFile(dwReserved: DWORD): HResult; stdcall;
|
|
end;
|
|
|
|
{$EXTERNALSYM IWindowForBindingUI}
|
|
IWindowForBindingUI = interface(IUnknown)
|
|
['{79eac9d5-bafa-11ce-8c82-00aa004ba90b}']
|
|
function GetWindow(const rguidReason: TGUID;
|
|
out phwnd: HWND): HResult; stdcall;
|
|
end;
|
|
|
|
type
|
|
{$EXTERNALSYM CIP_STATUS}
|
|
CIP_STATUS = DWORD;
|
|
TCipStatus = DWORD;
|
|
|
|
const
|
|
{$EXTERNALSYM CIP_DISK_FULL}
|
|
CIP_DISK_FULL = 0;
|
|
{$EXTERNALSYM CIP_ACCESS_DENIED}
|
|
CIP_ACCESS_DENIED = CIP_DISK_FULL + 1;
|
|
{$EXTERNALSYM CIP_NEWER_VERSION_EXISTS}
|
|
CIP_NEWER_VERSION_EXISTS = CIP_ACCESS_DENIED + 1;
|
|
{$EXTERNALSYM CIP_OLDER_VERSION_EXISTS}
|
|
CIP_OLDER_VERSION_EXISTS = CIP_NEWER_VERSION_EXISTS + 1;
|
|
{$EXTERNALSYM CIP_NAME_CONFLICT}
|
|
CIP_NAME_CONFLICT = CIP_OLDER_VERSION_EXISTS + 1;
|
|
{$EXTERNALSYM CIP_TRUST_VERIFICATION_COMPONENT_MISSING}
|
|
CIP_TRUST_VERIFICATION_COMPONENT_MISSING = CIP_NAME_CONFLICT + 1;
|
|
{$EXTERNALSYM CIP_EXE_SELF_REGISTERATION_TIMEOUT}
|
|
CIP_EXE_SELF_REGISTERATION_TIMEOUT = CIP_TRUST_VERIFICATION_COMPONENT_MISSING + 1;
|
|
{$EXTERNALSYM CIP_UNSAFE_TO_ABORT}
|
|
CIP_UNSAFE_TO_ABORT = CIP_EXE_SELF_REGISTERATION_TIMEOUT + 1;
|
|
{$EXTERNALSYM CIP_NEED_REBOOT}
|
|
CIP_NEED_REBOOT = CIP_UNSAFE_TO_ABORT + 1;
|
|
{$EXTERNALSYM CIP_NEED_REBOOT_UI_PERMISSION}
|
|
CIP_NEED_REBOOT_UI_PERMISSION = CIP_NEED_REBOOT + 1;
|
|
|
|
type
|
|
{$EXTERNALSYM ICodeInstall}
|
|
ICodeInstall = interface(IWindowForBindingUI)
|
|
['{79eac9d1-baf9-11ce-8c82-00aa004ba90b}']
|
|
function OnCodeInstallProblem(ulStatusCode: ULONG;
|
|
szDestination, szSource: PWideChar; dwReserved: DWORD): HResult; stdcall;
|
|
end;
|
|
|
|
{$EXTERNALSYM IWinInetInfo}
|
|
IWinInetInfo = interface(IUnknown)
|
|
['{79eac9d6-bafa-11ce-8c82-00aa004ba90b}']
|
|
function QueryOption(dwOption: DWORD; pBuffer: Pointer;
|
|
var pcbBuf: DWORD): HResult; stdcall;
|
|
end;
|
|
|
|
const
|
|
{$EXTERNALSYM WININETINFO_OPTION_LOCK_HANDLE}
|
|
WININETINFO_OPTION_LOCK_HANDLE = 65534;
|
|
|
|
type
|
|
{$EXTERNALSYM IHttpSecurity}
|
|
IHttpSecurity = interface(IWindowForBindingUI)
|
|
['{79eac9d7-bafa-11ce-8c82-00aa004ba90b}']
|
|
function OnSecurityProblem(dwProblem: DWORD): HResult; stdcall;
|
|
end;
|
|
|
|
{$EXTERNALSYM IWinInetHttpInfo}
|
|
IWinInetHttpInfo = interface(IWinInetInfo)
|
|
['{79eac9d8-bafa-11ce-8c82-00aa004ba90b}']
|
|
function QueryInfo(dwOption: DWORD; pBuffer: Pointer;
|
|
var pcbBuf, pdwFlags: PDWORD; dwReserved: DWORD): HResult; stdcall;
|
|
end;
|
|
|
|
{$EXTERNALSYM IWinInetCacheHints}
|
|
IWinInetCacheHints = interface(IUnknown)
|
|
['{DD1EC3B3-8391-4fdb-A9E6-347C3CAAA7DD}']
|
|
function SetCacheExtension(pwzExt: PWideChar; pszCacheFile: Pointer;
|
|
var pcbCacheFile, pdwWinInetError: DWORD;
|
|
dwReserved: DWORD): HResult; stdcall;
|
|
end;
|
|
|
|
{$EXTERNALSYM IBindHost}
|
|
IBindHost = interface(IUnknown)
|
|
['{fc4801a1-2ba9-11cf-a229-00aa003d7352}']
|
|
function CreateMoniker(szName: POleStr; pBC: IBindCtx;
|
|
out ppmk: IMoniker; dwReserved: DWORD): HResult; stdcall;
|
|
function MonikerBindToStorage(pMk: IMoniker; pBC: IBindCtx;
|
|
pBSC: IBindStatusCallback; const riid: TIID;
|
|
out ppvObj: Pointer): HResult; stdcall;
|
|
function MonikerBindToObject(pMk: IMoniker; pBC: IBindCtx;
|
|
pBSC: IBindStatusCallback; const riid: TIID;
|
|
out ppvObj: Pointer): HResult; stdcall;
|
|
end;
|
|
|
|
// These are for backwards compatibility with previous URLMON versions
|
|
// Flags for the UrlDownloadToCacheFile
|
|
const
|
|
{$EXTERNALSYM URLOSTRM_USECACHEDCOPY_ONLY}
|
|
URLOSTRM_USECACHEDCOPY_ONLY = $1; // Only get from cache
|
|
{$EXTERNALSYM URLOSTRM_USECACHEDCOPY}
|
|
URLOSTRM_USECACHEDCOPY = $2; // Get from cache if available else download
|
|
{$EXTERNALSYM URLOSTRM_GETNEWESTVERSION}
|
|
URLOSTRM_GETNEWESTVERSION = $3; // Get new version only. But put it in cache too
|
|
|
|
type
|
|
{$EXTERNALSYM IInternet}
|
|
IInternet = interface(IUnknown)
|
|
['{79eac9e0-baf9-11ce-8c82-00aa004ba90b}']
|
|
end;
|
|
|
|
{$EXTERNALSYM tagBINDSTRING}
|
|
tagBINDSTRING = DWORD;
|
|
{$EXTERNALSYM BINDSTRING}
|
|
BINDSTRING = DWORD;
|
|
TBindString = DWORD;
|
|
|
|
const
|
|
{$EXTERNALSYM BINDSTRING_HEADERS}
|
|
BINDSTRING_HEADERS = 1;
|
|
{$EXTERNALSYM BINDSTRING_ACCEPT_MIMES}
|
|
BINDSTRING_ACCEPT_MIMES = BINDSTRING_HEADERS + 1;
|
|
{$EXTERNALSYM BINDSTRING_EXTRA_URL}
|
|
BINDSTRING_EXTRA_URL = BINDSTRING_ACCEPT_MIMES + 1;
|
|
{$EXTERNALSYM BINDSTRING_LANGUAGE}
|
|
BINDSTRING_LANGUAGE = BINDSTRING_EXTRA_URL + 1;
|
|
{$EXTERNALSYM BINDSTRING_USERNAME}
|
|
BINDSTRING_USERNAME = BINDSTRING_LANGUAGE + 1;
|
|
{$EXTERNALSYM BINDSTRING_PASSWORD}
|
|
BINDSTRING_PASSWORD = BINDSTRING_USERNAME + 1;
|
|
{$EXTERNALSYM BINDSTRING_UA_PIXELS}
|
|
BINDSTRING_UA_PIXELS = BINDSTRING_PASSWORD + 1;
|
|
{$EXTERNALSYM BINDSTRING_UA_COLOR}
|
|
BINDSTRING_UA_COLOR = BINDSTRING_UA_PIXELS + 1;
|
|
{$EXTERNALSYM BINDSTRING_OS}
|
|
BINDSTRING_OS = BINDSTRING_UA_COLOR + 1;
|
|
{$EXTERNALSYM BINDSTRING_USER_AGENT}
|
|
BINDSTRING_USER_AGENT = BINDSTRING_OS + 1;
|
|
{$EXTERNALSYM BINDSTRING_ACCEPT_ENCODINGS}
|
|
BINDSTRING_ACCEPT_ENCODINGS = BINDSTRING_USER_AGENT + 1;
|
|
{$EXTERNALSYM BINDSTRING_POST_COOKIE}
|
|
BINDSTRING_POST_COOKIE = BINDSTRING_ACCEPT_ENCODINGS + 1;
|
|
{$EXTERNALSYM BINDSTRING_POST_DATA_MIME}
|
|
BINDSTRING_POST_DATA_MIME = BINDSTRING_POST_COOKIE + 1;
|
|
{$EXTERNALSYM BINDSTRING_URL}
|
|
BINDSTRING_URL = BINDSTRING_POST_DATA_MIME + 1;
|
|
{$EXTERNALSYM BINDSTRING_IID}
|
|
BINDSTRING_IID = BINDSTRING_URL + 1;
|
|
{$EXTERNALSYM BINDSTRING_FLAG_BIND_TO_OBJECT}
|
|
BINDSTRING_FLAG_BIND_TO_OBJECT = BINDSTRING_IID + 1;
|
|
{$EXTERNALSYM BINDSTRING_PTR_BIND_CONTEXT}
|
|
BINDSTRING_PTR_BIND_CONTEXT = BINDSTRING_FLAG_BIND_TO_OBJECT + 1;
|
|
|
|
type
|
|
{$EXTERNALSYM IInternetBindInfo}
|
|
IInternetBindInfo = interface(IUnknown)
|
|
['{79eac9e1-baf9-11ce-8c82-00aa004ba90b}']
|
|
function GetBindInfo(out grfBINDF: TBindF;
|
|
var pbindinfo: TBindInfo): HResult; stdcall;
|
|
function GetBindString(ulStringType: ULONG; var ppwzStr: POleStr;
|
|
cEl: ULONG; var pcElFetched: ULONG): HResult; stdcall;
|
|
end;
|
|
|
|
type
|
|
{$EXTERNALSYM _tagPI_FLAGS}
|
|
_tagPI_FLAGS = DWORD;
|
|
{$EXTERNALSYM PI_FLAGS}
|
|
PI_FLAGS = DWORD;
|
|
TPiFlags = DWORD;
|
|
|
|
const
|
|
{$EXTERNALSYM PI_PARSE_URL}
|
|
PI_PARSE_URL = $1;
|
|
{$EXTERNALSYM PI_FILTER_MODE}
|
|
PI_FILTER_MODE = $2;
|
|
{$EXTERNALSYM PI_FORCE_ASYNC}
|
|
PI_FORCE_ASYNC = $4;
|
|
{$EXTERNALSYM PI_USE_WORKERTHREAD}
|
|
PI_USE_WORKERTHREAD = $8;
|
|
{$EXTERNALSYM PI_MIMEVERIFICATION}
|
|
PI_MIMEVERIFICATION = $10;
|
|
{$EXTERNALSYM PI_CLSIDLOOKUP}
|
|
PI_CLSIDLOOKUP = $20;
|
|
{$EXTERNALSYM PI_DATAPROGRESS}
|
|
PI_DATAPROGRESS = $40;
|
|
{$EXTERNALSYM PI_SYNCHRONOUS}
|
|
PI_SYNCHRONOUS = $80;
|
|
{$EXTERNALSYM PI_APARTMENTTHREADED}
|
|
PI_APARTMENTTHREADED = $100;
|
|
{$EXTERNALSYM PI_CLASSINSTALL}
|
|
PI_CLASSINSTALL = $200;
|
|
{$EXTERNALSYM PI_PASSONBINDCTX}
|
|
PI_PASSONBINDCTX = $2000;
|
|
{$EXTERNALSYM PI_NOMIMEHANDLER}
|
|
PI_NOMIMEHANDLER = $8000;
|
|
{$EXTERNALSYM PI_LOADAPPDIRECT}
|
|
PI_LOADAPPDIRECT = $4000;
|
|
{$EXTERNALSYM PD_FORCE_SWITCH}
|
|
PD_FORCE_SWITCH = $10000;
|
|
{$EXTERNALSYM PI_PREFERDEFAULTHANDLER}
|
|
PI_PREFERDEFAULTHANDLER = $20000;
|
|
|
|
{$EXTERNALSYM PI_DOCFILECLSIDLOOKUP}
|
|
PI_DOCFILECLSIDLOOKUP = PI_CLSIDLOOKUP;
|
|
|
|
type
|
|
PProtocolData = ^TProtocolData;
|
|
{$EXTERNALSYM _tagPROTOCOLDATA}
|
|
_tagPROTOCOLDATA = record
|
|
grfFlags: DWORD;
|
|
dwState: DWORD;
|
|
pData: Pointer;
|
|
cbData: ULONG;
|
|
end;
|
|
{$EXTERNALSYM PROTOCOLDATA}
|
|
PROTOCOLDATA = _tagPROTOCOLDATA;
|
|
TProtocolData = _tagPROTOCOLDATA;
|
|
|
|
PStartParam = ^TStartParam;
|
|
{$EXTERNALSYM _tagStartParam}
|
|
_tagStartParam = record
|
|
iid: TIID;
|
|
pIBindCtx: IBindCtx;
|
|
pItf: IUnknown;
|
|
end;
|
|
{$EXTERNALSYM StartParam}
|
|
StartParam = _tagStartParam;
|
|
TStartParam = _tagStartParam;
|
|
|
|
{$EXTERNALSYM IInternetProtocolSink}
|
|
IInternetProtocolSink = interface;
|
|
|
|
{$EXTERNALSYM IInternetProtocolRoot}
|
|
IInternetProtocolRoot = interface(IUnknown)
|
|
['{79eac9e3-baf9-11ce-8c82-00aa004ba90b}']
|
|
function Start(szUrl: PWideChar; pOIProtSink: IInternetProtocolSink;
|
|
pOIBindInfo: IInternetBindInfo; grfPI: TPiFlags;
|
|
dwReserved: THandle): HResult; stdcall;
|
|
function Continue(var pProtocolData: TProtocolData): HResult; stdcall;
|
|
function Abort(hrReason: HResult; dwOptions: DWORD): HResult; stdcall;
|
|
function Terminate(dwOptions: DWORD): HResult; stdcall;
|
|
function Suspend: HResult; stdcall;
|
|
function Resume: HResult; stdcall;
|
|
end;
|
|
|
|
{$EXTERNALSYM IInternetProtocol}
|
|
IInternetProtocol = interface(IInternetProtocolRoot)
|
|
['{79eac9e4-baf9-11ce-8c82-00aa004ba90b}']
|
|
function Read(pv: Pointer; cb: ULONG; out pcbRead: ULONG): HResult; stdcall;
|
|
function Seek(dlibMove: TLargeInteger; dwOrigin: DWORD;
|
|
out plibNewPosition: TULargeInteger): HResult; stdcall;
|
|
function LockRequest(dwOptions: DWORD): HResult; stdcall;
|
|
function UnlockRequest: HResult; stdcall;
|
|
end;
|
|
|
|
{$EXTERNALSYM IInternetProtocolSink}
|
|
IInternetProtocolSink = interface(IUnknown)
|
|
['{79eac9e5-baf9-11ce-8c82-00aa004ba90b}']
|
|
function Switch(var pProtocolData: TProtocolData): HResult; stdcall;
|
|
function ReportProgress(ulStatusCode: ULONG;
|
|
szStatusText: PWideChar): HResult; stdcall;
|
|
function ReportData(grfBSCF: DWORD;
|
|
ulProgress, ulProgressMax: ULONG): HResult; stdcall;
|
|
function ReportResult(hrResult: HResult; dwError: DWORD;
|
|
szResult: PWideChar): HResult; stdcall;
|
|
end;
|
|
|
|
{$EXTERNALSYM IInternetProtocolSinkStackable}
|
|
IInternetProtocolSinkStackable = interface(IUnknown)
|
|
['{79eac9f0-baf9-11ce-8c82-00aa004ba90b}']
|
|
function SwitchSink(pOIProtSink: IInternetProtocolSink): HResult; stdcall;
|
|
function CommitSwitch: HResult; stdcall;
|
|
function RollbackSwitch: HResult; stdcall;
|
|
end;
|
|
|
|
type
|
|
{$EXTERNALSYM _tagOIBDG_FLAGS}
|
|
_tagOIBDG_FLAGS = DWORD;
|
|
{$EXTERNALSYM OIBDG_FLAGS}
|
|
OIBDG_FLAGS = DWORD;
|
|
TOIBDGFlags = DWORD;
|
|
|
|
const
|
|
{$EXTERNALSYM OIBDG_APARTMENTTHREADED}
|
|
OIBDG_APARTMENTTHREADED = $0100;
|
|
{$EXTERNALSYM OIBDG_DATAONLY}
|
|
OIBDG_DATAONLY = $1000;
|
|
|
|
type
|
|
{$EXTERNALSYM IInternetSession}
|
|
IInternetSession = interface(IUnknown)
|
|
['{79eac9e7-baf9-11ce-8c82-00aa004ba90b}']
|
|
function RegisterNameSpace(pCF: IClassFactory; var rclsid: TCLSID;
|
|
pwzProtocol: PWideChar; cPatterns: ULONG; const ppwzPatterns: PPWideChar;
|
|
dwReserved: DWORD): HResult; stdcall;
|
|
function UnregisterNameSpace(pCF: IClassFactory;
|
|
pszProtocol: PWideChar): HResult; stdcall;
|
|
function RegisterMimeFilter(pCF: IClassFactory; var rclsid: TCLSID;
|
|
pwzType: PWideChar): HResult; stdcall;
|
|
function UnregisterMimeFilter(pCF: IClassFactory;
|
|
pwzType: PWideChar): HResult; stdcall;
|
|
function CreateBinding(pBC: IBindCtx; szUrl: PWideChar;
|
|
pUnkOuter: IUnknown; out ppUnk: IUnknown;
|
|
out ppOInetProt: IInternetProtocol; dwOption: DWORD): HResult; stdcall;
|
|
function SetSessionOption(dwOption: DWORD; pBuffer: Pointer;
|
|
dwBufferLength, dwReserved: DWORD): HResult; stdcall;
|
|
function GetSessionOption(dwOption: DWORD; pBuffer: Pointer;
|
|
var pdwBufferLength: DWORD; dwReserved: DWORD): HResult; stdcall;
|
|
end;
|
|
|
|
{$EXTERNALSYM IInternetThreadSwitch}
|
|
IInternetThreadSwitch = interface(IUnknown)
|
|
['{79eac9e8-baf9-11ce-8c82-00aa004ba90b}']
|
|
function Prepare: HResult; stdcall;
|
|
function Continue: HResult; stdcall;
|
|
end;
|
|
|
|
{$EXTERNALSYM IInternetPriority}
|
|
IInternetPriority = interface(IUnknown)
|
|
['{79eac9eb-baf9-11ce-8c82-00aa004ba90b}']
|
|
function SetPriority(nPriority: Longint): HResult; stdcall;
|
|
function GetPriority(out pnPriority: Longint): HResult; stdcall;
|
|
end;
|
|
|
|
|
|
type
|
|
{$EXTERNALSYM _tagPARSEACTION}
|
|
_tagPARSEACTION = DWORD;
|
|
{$EXTERNALSYM PARSEACTION}
|
|
PARSEACTION = _tagPARSEACTION;
|
|
TParseAction = _tagPARSEACTION;
|
|
|
|
const
|
|
{$EXTERNALSYM PARSE_CANONICALIZE}
|
|
PARSE_CANONICALIZE = 1;
|
|
{$EXTERNALSYM PARSE_FRIENDLY}
|
|
PARSE_FRIENDLY = PARSE_CANONICALIZE + 1;
|
|
{$EXTERNALSYM PARSE_SECURITY_URL}
|
|
PARSE_SECURITY_URL = PARSE_FRIENDLY + 1;
|
|
{$EXTERNALSYM PARSE_ROOTDOCUMENT}
|
|
PARSE_ROOTDOCUMENT = PARSE_SECURITY_URL + 1;
|
|
{$EXTERNALSYM PARSE_DOCUMENT}
|
|
PARSE_DOCUMENT = PARSE_ROOTDOCUMENT + 1;
|
|
{$EXTERNALSYM PARSE_ANCHOR}
|
|
PARSE_ANCHOR = PARSE_DOCUMENT + 1;
|
|
{$EXTERNALSYM PARSE_ENCODE}
|
|
PARSE_ENCODE = PARSE_ANCHOR + 1;
|
|
{$EXTERNALSYM PARSE_DECODE}
|
|
PARSE_DECODE = PARSE_ENCODE + 1;
|
|
{$EXTERNALSYM PARSE_PATH_FROM_URL}
|
|
PARSE_PATH_FROM_URL = PARSE_DECODE + 1;
|
|
{$EXTERNALSYM PARSE_URL_FROM_PATH}
|
|
PARSE_URL_FROM_PATH = PARSE_PATH_FROM_URL + 1;
|
|
{$EXTERNALSYM PARSE_MIME}
|
|
PARSE_MIME = PARSE_URL_FROM_PATH + 1;
|
|
{$EXTERNALSYM PARSE_SERVER}
|
|
PARSE_SERVER = PARSE_MIME + 1;
|
|
{$EXTERNALSYM PARSE_SCHEMA}
|
|
PARSE_SCHEMA = PARSE_SERVER + 1;
|
|
{$EXTERNALSYM PARSE_SITE}
|
|
PARSE_SITE = PARSE_SCHEMA + 1;
|
|
{$EXTERNALSYM PARSE_DOMAIN}
|
|
PARSE_DOMAIN = PARSE_SITE + 1;
|
|
{$EXTERNALSYM PARSE_LOCATION}
|
|
PARSE_LOCATION = PARSE_DOMAIN + 1;
|
|
{$EXTERNALSYM PARSE_SECURITY_DOMAIN}
|
|
PARSE_SECURITY_DOMAIN = PARSE_LOCATION + 1;
|
|
{$EXTERNALSYM PARSE_ESCAPE}
|
|
PARSE_ESCAPE = PARSE_SECURITY_DOMAIN + 1;
|
|
{$EXTERNALSYM PARSE_UNESCAPE}
|
|
PARSE_UNESCAPE = PARSE_ESCAPE + 1;
|
|
|
|
type
|
|
{$EXTERNALSYM _tagPSUACTION}
|
|
_tagPSUACTION = DWORD;
|
|
{$EXTERNALSYM _tagPSUACTION}
|
|
PSUACTION = _tagPSUACTION;
|
|
TPSUAction = _tagPSUACTION;
|
|
|
|
const
|
|
{$EXTERNALSYM PSU_DEFAULT}
|
|
PSU_DEFAULT = 1;
|
|
{$EXTERNALSYM PSU_SECURITY_URL_ONLY}
|
|
PSU_SECURITY_URL_ONLY = PSU_DEFAULT + 1;
|
|
|
|
type
|
|
{$EXTERNALSYM _tagQUERYOPTION}
|
|
_tagQUERYOPTION = DWORD;
|
|
{$EXTERNALSYM QUERYOPTION}
|
|
QUERYOPTION = _tagQUERYOPTION;
|
|
TQueryOption = _tagQUERYOPTION;
|
|
|
|
const
|
|
{$EXTERNALSYM QUERY_EXPIRATION_DATE}
|
|
QUERY_EXPIRATION_DATE = 1;
|
|
{$EXTERNALSYM QUERY_TIME_OF_LAST_CHANGE}
|
|
QUERY_TIME_OF_LAST_CHANGE = QUERY_EXPIRATION_DATE + 1;
|
|
{$EXTERNALSYM QUERY_CONTENT_ENCODING}
|
|
QUERY_CONTENT_ENCODING = QUERY_TIME_OF_LAST_CHANGE + 1;
|
|
{$EXTERNALSYM QUERY_CONTENT_TYPE}
|
|
QUERY_CONTENT_TYPE = QUERY_CONTENT_ENCODING + 1;
|
|
{$EXTERNALSYM QUERY_REFRESH}
|
|
QUERY_REFRESH = QUERY_CONTENT_TYPE + 1;
|
|
{$EXTERNALSYM QUERY_RECOMBINE}
|
|
QUERY_RECOMBINE = QUERY_REFRESH + 1;
|
|
{$EXTERNALSYM QUERY_CAN_NAVIGATE}
|
|
QUERY_CAN_NAVIGATE = QUERY_RECOMBINE + 1;
|
|
{$EXTERNALSYM QUERY_USES_NETWORK}
|
|
QUERY_USES_NETWORK = QUERY_CAN_NAVIGATE + 1;
|
|
{$EXTERNALSYM QUERY_IS_CACHED}
|
|
QUERY_IS_CACHED = QUERY_USES_NETWORK + 1;
|
|
{$EXTERNALSYM QUERY_IS_INSTALLEDENTRY}
|
|
QUERY_IS_INSTALLEDENTRY = QUERY_IS_CACHED + 1;
|
|
{$EXTERNALSYM QUERY_IS_CACHED_OR_MAPPED}
|
|
QUERY_IS_CACHED_OR_MAPPED = QUERY_IS_INSTALLEDENTRY + 1;
|
|
{$EXTERNALSYM QUERY_USES_CACHE}
|
|
QUERY_USES_CACHE = QUERY_IS_CACHED_OR_MAPPED + 1;
|
|
{$EXTERNALSYM QUERY_IS_SECURE}
|
|
QUERY_IS_SECURE = QUERY_USES_CACHE + 1;
|
|
{$EXTERNALSYM QUERY_IS_SAFE}
|
|
QUERY_IS_SAFE = QUERY_IS_SECURE + 1;
|
|
|
|
type
|
|
{$EXTERNALSYM IInternetProtocolInfo}
|
|
IInternetProtocolInfo = interface(IUnknown)
|
|
['{79eac9ec-baf9-11ce-8c82-00aa004ba90b}']
|
|
function ParseUrl(pwzUrl: PWideChar; ParseAction: TParseAction;
|
|
dwParseFlags: DWORD; pwzResult: PWideChar; ccHResult: DWORD;
|
|
out pccHResult: DWORD; dwReserved: DWORD): HResult; stdcall;
|
|
function CombineUrl(pwzBaseUrl, pwzRelativeUrl: PWideChar;
|
|
dwCombineFlags: DWORD; pwzResult: PWideChar; ccHResult: DWORD;
|
|
out pccHResult: DWORD; dwReserved: DWORD): HResult; stdcall;
|
|
function CompareUrl(pwzUrl1, pwzUrl2: PWideChar;
|
|
dwCompareFlags: DWORD): HResult; stdcall;
|
|
function QueryInfo(pwzUrl: PWideChar; QueryOption: TQueryOption;
|
|
dwQueryFlags: DWORD; pBuffer: Pointer; cbBuffer: DWORD;
|
|
var pcbBuf: DWORD; dwReserved: DWORD): HResult; stdcall;
|
|
end;
|
|
|
|
type
|
|
{$EXTERNALSYM IOInet}
|
|
IOInet = IInternet;
|
|
{$EXTERNALSYM IOInetBindInfo}
|
|
IOInetBindInfo = IInternetBindInfo;
|
|
{$EXTERNALSYM IOInetProtocolRoot}
|
|
IOInetProtocolRoot = IInternetProtocolRoot;
|
|
{$EXTERNALSYM IOInetProtocol}
|
|
IOInetProtocol = IInternetProtocol;
|
|
{$EXTERNALSYM IOInetProtocolSink}
|
|
IOInetProtocolSink = IInternetProtocolSink;
|
|
{$EXTERNALSYM IOInetProtocolInfo}
|
|
IOInetProtocolInfo = IInternetProtocolInfo;
|
|
{$EXTERNALSYM IOInetSession}
|
|
IOInetSession = IInternetSession;
|
|
{$EXTERNALSYM IOInetPriority}
|
|
IOInetPriority = IInternetPriority;
|
|
{$EXTERNALSYM IOInetThreadSwitch}
|
|
IOInetThreadSwitch = IInternetThreadSwitch;
|
|
{$EXTERNALSYM IOInetProtocolSinkStackable}
|
|
IOInetProtocolSinkStackable = IInternetProtocolSinkStackable;
|
|
|
|
type
|
|
{$EXTERNALSYM _tagINTERNETFEATURELIST}
|
|
_tagINTERNETFEATURELIST = DWORD;
|
|
{$EXTERNALSYM INTERNETFEATURELIST}
|
|
INTERNETFEATURELIST = _tagINTERNETFEATURELIST;
|
|
TInternetFeatureList = _tagINTERNETFEATURELIST;
|
|
|
|
const
|
|
{$EXTERNALSYM FEATURE_OBJECT_CACHING}
|
|
FEATURE_OBJECT_CACHING = 0;
|
|
{$EXTERNALSYM FEATURE_ZONE_ELEVATION}
|
|
FEATURE_ZONE_ELEVATION = FEATURE_OBJECT_CACHING + 1;
|
|
{$EXTERNALSYM FEATURE_MIME_HANDLING}
|
|
FEATURE_MIME_HANDLING = FEATURE_ZONE_ELEVATION + 1;
|
|
{$EXTERNALSYM FEATURE_MIME_SNIFFING}
|
|
FEATURE_MIME_SNIFFING = FEATURE_MIME_HANDLING + 1;
|
|
{$EXTERNALSYM FEATURE_WINDOW_RESTRICTIONS}
|
|
FEATURE_WINDOW_RESTRICTIONS = FEATURE_MIME_SNIFFING + 1;
|
|
{$EXTERNALSYM FEATURE_WEBOC_POPUPMANAGEMENT}
|
|
FEATURE_WEBOC_POPUPMANAGEMENT = FEATURE_WINDOW_RESTRICTIONS + 1;
|
|
{$EXTERNALSYM FEATURE_BEHAVIORS}
|
|
FEATURE_BEHAVIORS = FEATURE_WEBOC_POPUPMANAGEMENT + 1;
|
|
{$EXTERNALSYM FEATURE_DISABLE_MK_PROTOCOL}
|
|
FEATURE_DISABLE_MK_PROTOCOL = FEATURE_BEHAVIORS + 1;
|
|
{$EXTERNALSYM FEATURE_LOCALMACHINE_LOCKDOWN}
|
|
FEATURE_LOCALMACHINE_LOCKDOWN = FEATURE_DISABLE_MK_PROTOCOL + 1;
|
|
{$EXTERNALSYM FEATURE_SECURITYBAND}
|
|
FEATURE_SECURITYBAND = FEATURE_LOCALMACHINE_LOCKDOWN + 1;
|
|
{$EXTERNALSYM FEATURE_RESTRICT_ACTIVEXINSTALL}
|
|
FEATURE_RESTRICT_ACTIVEXINSTALL = FEATURE_SECURITYBAND + 1;
|
|
{$EXTERNALSYM FEATURE_VALIDATE_NAVIGATE_URL}
|
|
FEATURE_VALIDATE_NAVIGATE_URL = FEATURE_RESTRICT_ACTIVEXINSTALL + 1;
|
|
{$EXTERNALSYM FEATURE_RESTRICT_FILEDOWNLOAD}
|
|
FEATURE_RESTRICT_FILEDOWNLOAD = FEATURE_VALIDATE_NAVIGATE_URL + 1;
|
|
{$EXTERNALSYM FEATURE_ADDON_MANAGEMENT}
|
|
FEATURE_ADDON_MANAGEMENT = FEATURE_RESTRICT_FILEDOWNLOAD + 1;
|
|
{$EXTERNALSYM FEATURE_PROTOCOL_LOCKDOWN}
|
|
FEATURE_PROTOCOL_LOCKDOWN = FEATURE_ADDON_MANAGEMENT + 1;
|
|
{$EXTERNALSYM FEATURE_HTTP_USERNAME_PASSWORD_DISABLE}
|
|
FEATURE_HTTP_USERNAME_PASSWORD_DISABLE = FEATURE_PROTOCOL_LOCKDOWN + 1;
|
|
{$EXTERNALSYM FEATURE_SAFE_BINDTOOBJECT}
|
|
FEATURE_SAFE_BINDTOOBJECT = FEATURE_HTTP_USERNAME_PASSWORD_DISABLE + 1;
|
|
{$EXTERNALSYM FEATURE_UNC_SAVEDFILECHECK}
|
|
FEATURE_UNC_SAVEDFILECHECK = FEATURE_SAFE_BINDTOOBJECT + 1;
|
|
{$EXTERNALSYM FEATURE_GET_URL_DOM_FILEPATH_UNENCODED}
|
|
FEATURE_GET_URL_DOM_FILEPATH_UNENCODED = FEATURE_UNC_SAVEDFILECHECK + 1;
|
|
{$EXTERNALSYM FEATURE_ENTRY_COUNT}
|
|
FEATURE_ENTRY_COUNT = FEATURE_GET_URL_DOM_FILEPATH_UNENCODED + 1;
|
|
|
|
// CoInternetSetFeatureEnabled can be used to set/reset features.
|
|
// The following flags control where the feature is set
|
|
|
|
{$EXTERNALSYM SET_FEATURE_ON_THREAD}
|
|
SET_FEATURE_ON_THREAD = $00000001;
|
|
{$EXTERNALSYM SET_FEATURE_ON_PROCESS}
|
|
SET_FEATURE_ON_PROCESS = $00000002;
|
|
{$EXTERNALSYM SET_FEATURE_IN_REGISTRY}
|
|
SET_FEATURE_IN_REGISTRY = $00000004;
|
|
{$EXTERNALSYM SET_FEATURE_ON_THREAD_LOCALMACHINE}
|
|
SET_FEATURE_ON_THREAD_LOCALMACHINE = $00000008;
|
|
{$EXTERNALSYM SET_FEATURE_ON_THREAD_INTRANET}
|
|
SET_FEATURE_ON_THREAD_INTRANET = $00000010;
|
|
{$EXTERNALSYM SET_FEATURE_ON_THREAD_TRUSTED}
|
|
SET_FEATURE_ON_THREAD_TRUSTED = $00000020;
|
|
{$EXTERNALSYM SET_FEATURE_ON_THREAD_INTERNET}
|
|
SET_FEATURE_ON_THREAD_INTERNET = $00000040;
|
|
{$EXTERNALSYM SET_FEATURE_ON_THREAD_RESTRICTED}
|
|
SET_FEATURE_ON_THREAD_RESTRICTED = $00000080;
|
|
|
|
// CoInternetIsFeatureEnabled can be used to get features.
|
|
// The following flags control where the feature is obtained from
|
|
// default is from process
|
|
|
|
{$EXTERNALSYM GET_FEATURE_FROM_THREAD}
|
|
GET_FEATURE_FROM_THREAD = $00000001;
|
|
{$EXTERNALSYM GET_FEATURE_FROM_PROCESS}
|
|
GET_FEATURE_FROM_PROCESS = $00000002;
|
|
{$EXTERNALSYM GET_FEATURE_FROM_REGISTRY}
|
|
GET_FEATURE_FROM_REGISTRY = $00000004;
|
|
{$EXTERNALSYM GET_FEATURE_FROM_THREAD_LOCALMACHINE}
|
|
GET_FEATURE_FROM_THREAD_LOCALMACHINE = $00000008;
|
|
{$EXTERNALSYM GET_FEATURE_FROM_THREAD_INTRANET}
|
|
GET_FEATURE_FROM_THREAD_INTRANET = $00000010;
|
|
{$EXTERNALSYM GET_FEATURE_FROM_THREAD_TRUSTED}
|
|
GET_FEATURE_FROM_THREAD_TRUSTED = $00000020;
|
|
{$EXTERNALSYM GET_FEATURE_FROM_THREAD_INTERNET}
|
|
GET_FEATURE_FROM_THREAD_INTERNET = $00000040;
|
|
{$EXTERNALSYM GET_FEATURE_FROM_THREAD_RESTRICTED}
|
|
GET_FEATURE_FROM_THREAD_RESTRICTED = $00000080;
|
|
|
|
{$EXTERNALSYM INET_E_USE_DEFAULT_PROTOCOLHANDLER}
|
|
INET_E_USE_DEFAULT_PROTOCOLHANDLER = HResult($800C0011);
|
|
{$EXTERNALSYM INET_E_USE_DEFAULT_SETTING}
|
|
INET_E_USE_DEFAULT_SETTING = HResult($800C0012);
|
|
{$EXTERNALSYM INET_E_DEFAULT_ACTION}
|
|
INET_E_DEFAULT_ACTION = INET_E_USE_DEFAULT_PROTOCOLHANDLER;
|
|
{$EXTERNALSYM INET_E_QUERYOPTION_UNKNOWN}
|
|
INET_E_QUERYOPTION_UNKNOWN = HResult($800C0013);
|
|
{$EXTERNALSYM INET_E_REDIRECTING}
|
|
INET_E_REDIRECTING = HResult($800C0014);
|
|
|
|
//
|
|
// Static Protocol flags
|
|
//
|
|
PROTOCOLFLAG_NO_PICS_CHECK = $00000001;
|
|
|
|
(*
|
|
// Security manager CLSID's
|
|
EXTERN_C const IID CLSID_InternetSecurityManager;
|
|
EXTERN_C const IID CLSID_InternetZoneManager;
|
|
EXTERN_C const IID CLSID_PersistentZoneIdentifier;
|
|
*)
|
|
|
|
(*
|
|
// This service is used for delegation support on the Security Manager interface
|
|
#define SID_SInternetSecurityManager IID_IInternetSecurityManager
|
|
|
|
#define SID_SInternetSecurityManagerEx IID_IInternetSecurityManagerEx
|
|
|
|
#define SID_SInternetHostSecurityManager IID_IInternetHostSecurityManager
|
|
*)
|
|
|
|
type
|
|
{$EXTERNALSYM IInternetSecurityMgrSite}
|
|
IInternetSecurityMgrSite = interface(IUnknown)
|
|
['{79eac9ed-baf9-11ce-8c82-00aa004ba90b}']
|
|
function GetWindow(var phwnd: HWND): HResult; stdcall;
|
|
function EnableModeless(fEnable: BOOL): HResult; stdcall;
|
|
end;
|
|
|
|
const
|
|
{$EXTERNALSYM MUTZ_NOSAVEDFILECHECK}
|
|
MUTZ_NOSAVEDFILECHECK = $00000001; // don't check file: for saved file comment
|
|
{$EXTERNALSYM MUTZ_ISFILE}
|
|
MUTZ_ISFILE = $00000002; // Assume URL if File, url does not need file://
|
|
{$EXTERNALSYM MUTZ_ACCEPT_WILDCARD_SCHEME}
|
|
MUTZ_ACCEPT_WILDCARD_SCHEME = $00000080; // Accept a wildcard scheme
|
|
{$EXTERNALSYM MUTZ_ENFORCERESTRICTED}
|
|
MUTZ_ENFORCERESTRICTED = $00000100; // enforce restricted zone independent of URL
|
|
{$EXTERNALSYM MUTZ_REQUIRESAVEDFILECHECK}
|
|
MUTZ_REQUIRESAVEDFILECHECK = $00000400; // always check the file for MOTW (overriding FEATURE_UNC_SAVEDFILECHECK)
|
|
{$EXTERNALSYM MUTZ_DONT_UNESCAPE}
|
|
MUTZ_DONT_UNESCAPE = $00000800; // Do not unescape the url
|
|
// MapUrlToZone returns the zone index given a URL
|
|
{$EXTERNALSYM MAX_SIZE_SECURITY_ID}
|
|
MAX_SIZE_SECURITY_ID = 512; // bytes
|
|
|
|
type
|
|
{$EXTERNALSYM PUAF}
|
|
PUAF = DWORD;
|
|
TPUAF = DWORD;
|
|
|
|
const
|
|
{$EXTERNALSYM PUAF_DEFAULT}
|
|
PUAF_DEFAULT = 0;
|
|
{$EXTERNALSYM PUAF_NOUI}
|
|
PUAF_NOUI = $1;
|
|
{$EXTERNALSYM PUAF_ISFILE}
|
|
PUAF_ISFILE = $2;
|
|
{$EXTERNALSYM PUAF_WARN_IF_DENIED}
|
|
PUAF_WARN_IF_DENIED = $4;
|
|
{$EXTERNALSYM PUAF_FORCEUI_FOREGROUND}
|
|
PUAF_FORCEUI_FOREGROUND = $8;
|
|
{$EXTERNALSYM PUAF_CHECK_TIFS}
|
|
PUAF_CHECK_TIFS = $10;
|
|
{$EXTERNALSYM PUAF_DONTCHECKBOXINDIALOG}
|
|
PUAF_DONTCHECKBOXINDIALOG = $20;
|
|
{$EXTERNALSYM PUAF_TRUSTED}
|
|
PUAF_TRUSTED = $40;
|
|
{$EXTERNALSYM PUAF_ACCEPT_WILDCARD_SCHEME}
|
|
PUAF_ACCEPT_WILDCARD_SCHEME = $80;
|
|
{$EXTERNALSYM PUAF_ENFORCERESTRICTED}
|
|
PUAF_ENFORCERESTRICTED = $100;
|
|
{$EXTERNALSYM PUAF_NOSAVEDFILECHECK}
|
|
PUAF_NOSAVEDFILECHECK = $200;
|
|
{$EXTERNALSYM PUAF_REQUIRESAVEDFILECHECK}
|
|
PUAF_REQUIRESAVEDFILECHECK = $400;
|
|
{$EXTERNALSYM PUAF_LMZ_UNLOCKED}
|
|
PUAF_LMZ_UNLOCKED = $10000;
|
|
{$EXTERNALSYM PUAF_LMZ_LOCKED}
|
|
PUAF_LMZ_LOCKED = $20000;
|
|
{$EXTERNALSYM PUAF_DEFAULTZONEPOL}
|
|
PUAF_DEFAULTZONEPOL = $40000;
|
|
{$EXTERNALSYM PUAF_NPL_USE_LOCKED_IF_RESTRICTED}
|
|
PUAF_NPL_USE_LOCKED_IF_RESTRICTED = $80000;
|
|
{$EXTERNALSYM PUAF_NOUIIFLOCKED}
|
|
PUAF_NOUIIFLOCKED = $100000;
|
|
{$EXTERNALSYM PUAF_DRAGPROTOCOLCHECK}
|
|
PUAF_DRAGPROTOCOLCHECK = $200000;
|
|
|
|
type
|
|
{$EXTERNALSYM PUAFOUT}
|
|
PUAFOUT = DWORD;
|
|
TPUAFOut = DWORD;
|
|
|
|
const
|
|
{$EXTERNALSYM PUAFOUT_DEFAULT}
|
|
PUAFOUT_DEFAULT = 0;
|
|
{$EXTERNALSYM PUAFOUT_ISLOCKZONEPOLICY}
|
|
PUAFOUT_ISLOCKZONEPOLICY = $1;
|
|
|
|
// This is the wrapper function that most clients will use.
|
|
// It figures out the current Policy for the passed in Action,
|
|
// and puts up UI if the current Policy indicates that the user
|
|
// should be queried. It returns back the Policy which the caller
|
|
// will use to determine if the action should be allowed
|
|
// This is the wrapper function to conveniently read a custom policy.
|
|
|
|
type
|
|
{$EXTERNALSYM SZM_FLAGS}
|
|
SZM_FLAGS = DWORD;
|
|
TSzmFlags = DWORD;
|
|
|
|
const
|
|
{$EXTERNALSYM SZM_CREATE}
|
|
SZM_CREATE = 0;
|
|
{$EXTERNALSYM SZM_DELETE}
|
|
SZM_DELETE = $1;
|
|
|
|
|
|
// SetZoneMapping
|
|
// lpszPattern: string denoting a URL pattern
|
|
// Examples of valid patterns:
|
|
// *://*.msn.com
|
|
// http://*.sony.co.jp
|
|
// *://et.msn.com
|
|
// ftp://157.54.23.41/
|
|
// https://localsvr
|
|
// file:\localsvr\share
|
|
// *://157.54.100-200.*
|
|
// Examples of invalid patterns:
|
|
// http://*.lcs.mit.edu
|
|
// ftp://*
|
|
// dwFlags: SZM_FLAGS values
|
|
|
|
type
|
|
{$EXTERNALSYM IInternetSecurityManager}
|
|
IInternetSecurityManager = interface(IUnknown)
|
|
['{79eac9ee-baf9-11ce-8c82-00aa004ba90b}']
|
|
function SetSecuritySite(pSite: IInternetSecurityMgrSite): HResult; stdcall;
|
|
function GetSecuritySite(
|
|
out ppSite: IInternetSecurityMgrSite): HResult; stdcall;
|
|
function MapUrlToZone(pwszUrl: PWideChar; out pdwZone: DWORD;
|
|
dwFlags: DWORD): HResult; stdcall;
|
|
function GetSecurityId(pwszUrl: PWideChar; pbSecurityId: PByte;
|
|
var pcbSecurityId: DWORD; dwReserved: DWORD): HResult; stdcall;
|
|
function ProcessUrlAction(pwszUrl: PWideChar; dwAction: DWORD;
|
|
pPolicy: PByte; cbPolicy: DWORD; pContext: PByte; cbContext: DWORD;
|
|
dwFlags, dwReserved: DWORD): HResult; stdcall;
|
|
function QueryCustomPolicy(pwszUrl: PWideChar; const guidKey: TGUID;
|
|
out ppPolicy: PByte; out pcbPolicy: DWORD; pContext: PByte;
|
|
cbContext, dwReserved: DWORD): HResult; stdcall;
|
|
function SetZoneMapping(dwZone: DWORD; lpszPattern: PWideChar;
|
|
dwFlags: DWORD): HResult; stdcall;
|
|
function GetZoneMappings(dwZone: DWORD;out ppenumString: IEnumString;
|
|
dwFlags: DWORD): HResult; stdcall;
|
|
end;
|
|
|
|
// This is the wrapper function that most clients will use.
|
|
// It figures out the current Policy for the passed in Action,
|
|
// and puts up UI if the current Policy indicates that the user
|
|
// should be queried. It returns back the Policy which the caller
|
|
// will use to determine if the action should be allowed
|
|
|
|
{$EXTERNALSYM IInternetSecurityManagerEx}
|
|
IInternetSecurityManagerEx = interface(IInternetSecurityManager)
|
|
['{F164EDF1-CC7C-4f0d-9A94-34222625C393}']
|
|
function ProcessUrlActionEx(pwszUrl: PWideChar; dwAction: DWORD;
|
|
pPolicy: PByte; cbPolicy: DWORD; pContext: PByte; cbContext: DWORD;
|
|
dwFlags, dwReserved: DWORD; out pdwOutFlags: DWORD): HResult; stdcall;
|
|
end;
|
|
|
|
{$EXTERNALSYM IZoneIdentifier}
|
|
IZoneIdentifier = interface(IUnknown)
|
|
['{cd45f185-1b21-48e2-967b-ead743a8914e}']
|
|
function GetId(out pdwZone: DWORD): HResult; stdcall;
|
|
function SetId(dwZone: DWORD): HResult; stdcall;
|
|
function Remove: HResult; stdcall;
|
|
end;
|
|
|
|
//This is the interface MSHTML exposes to its clients
|
|
//The clients need not pass in a URL to these functions
|
|
//since MSHTML maintains the notion of the current URL
|
|
|
|
{$EXTERNALSYM IInternetHostSecurityManager}
|
|
IInternetHostSecurityManager = interface(IUnknown)
|
|
['{3af280b6-cb3f-11d0-891e-00c04fb6bfc4}']
|
|
function GetSecurityId(pbSecurityId: PByte; out pcbSecurityId: DWORD;
|
|
dwReserved: DWORD): HResult; stdcall;
|
|
function ProcessUrlAction(dwAction: DWORD; pPolicy: PByte; cbPolicy: DWORD;
|
|
pContext: PByte; cbContext, dwFlags, dwReserved: DWORD): HResult; stdcall;
|
|
function QueryCustomPolicy(const guidKey: TGUID; out ppPolicy: PByte;
|
|
out pcbPolicy: DWORD; pContext: PByte;
|
|
cbContext, dwReserved: DWORD): HResult; stdcall;
|
|
end;
|
|
|
|
// The zone manager maintains policies for a set of standard actions.
|
|
// These actions are identified by integral values (called action indexes)
|
|
// specified below.
|
|
|
|
// Minimum legal value for an action
|
|
const
|
|
{$EXTERNALSYM URLACTION_MIN}
|
|
URLACTION_MIN = $00001000;
|
|
|
|
{$EXTERNALSYM URLACTION_DOWNLOAD_MIN}
|
|
URLACTION_DOWNLOAD_MIN = $00001000;
|
|
{$EXTERNALSYM URLACTION_DOWNLOAD_SIGNED_ACTIVEX}
|
|
URLACTION_DOWNLOAD_SIGNED_ACTIVEX = $00001001;
|
|
{$EXTERNALSYM URLACTION_DOWNLOAD_UNSIGNED_ACTIVEX}
|
|
URLACTION_DOWNLOAD_UNSIGNED_ACTIVEX = $00001004;
|
|
{$EXTERNALSYM URLACTION_DOWNLOAD_CURR_MAX}
|
|
URLACTION_DOWNLOAD_CURR_MAX = $00001004;
|
|
{$EXTERNALSYM URLACTION_DOWNLOAD_MAX}
|
|
URLACTION_DOWNLOAD_MAX = $000011FF;
|
|
|
|
{$EXTERNALSYM URLACTION_ACTIVEX_MIN}
|
|
URLACTION_ACTIVEX_MIN = $00001200;
|
|
{$EXTERNALSYM URLACTION_ACTIVEX_RUN}
|
|
URLACTION_ACTIVEX_RUN = $00001200;
|
|
{$EXTERNALSYM URLPOLICY_ACTIVEX_CHECK_LIST}
|
|
URLPOLICY_ACTIVEX_CHECK_LIST = $00010000;
|
|
{$EXTERNALSYM URLACTION_ACTIVEX_OVERRIDE_OBJECT_SAFETY}
|
|
URLACTION_ACTIVEX_OVERRIDE_OBJECT_SAFETY = $00001201; // aggregate next four
|
|
{$EXTERNALSYM URLACTION_ACTIVEX_OVERRIDE_DATA_SAFETY}
|
|
URLACTION_ACTIVEX_OVERRIDE_DATA_SAFETY = $00001202; //
|
|
{$EXTERNALSYM URLACTION_ACTIVEX_OVERRIDE_SCRIPT_SAFETY}
|
|
URLACTION_ACTIVEX_OVERRIDE_SCRIPT_SAFETY = $00001203; //
|
|
{$EXTERNALSYM URLACTION_SCRIPT_OVERRIDE_SAFETY}
|
|
URLACTION_SCRIPT_OVERRIDE_SAFETY = $00001401; //
|
|
{$EXTERNALSYM URLACTION_ACTIVEX_CONFIRM_NOOBJECTSAFETY}
|
|
URLACTION_ACTIVEX_CONFIRM_NOOBJECTSAFETY = $00001204; //
|
|
{$EXTERNALSYM URLACTION_ACTIVEX_TREATASUNTRUSTED}
|
|
URLACTION_ACTIVEX_TREATASUNTRUSTED = $00001205;
|
|
{$EXTERNALSYM URLACTION_ACTIVEX_NO_WEBOC_SCRIPT}
|
|
URLACTION_ACTIVEX_NO_WEBOC_SCRIPT = $00001206;
|
|
{$EXTERNALSYM URLACTION_ACTIVEX_CURR_MAX}
|
|
URLACTION_ACTIVEX_CURR_MAX = $00001206;
|
|
{$EXTERNALSYM URLACTION_ACTIVEX_MAX}
|
|
URLACTION_ACTIVEX_MAX = $000013FF;
|
|
|
|
{$EXTERNALSYM URLACTION_SCRIPT_MIN}
|
|
URLACTION_SCRIPT_MIN = $00001400;
|
|
{$EXTERNALSYM URLACTION_SCRIPT_RUN}
|
|
URLACTION_SCRIPT_RUN = $00001400;
|
|
{$EXTERNALSYM URLACTION_SCRIPT_JAVA_USE}
|
|
URLACTION_SCRIPT_JAVA_USE = $00001402;
|
|
{$EXTERNALSYM URLACTION_SCRIPT_SAFE_ACTIVEX}
|
|
URLACTION_SCRIPT_SAFE_ACTIVEX = $00001405;
|
|
{$EXTERNALSYM URLACTION_CROSS_DOMAIN_DATA}
|
|
URLACTION_CROSS_DOMAIN_DATA = $00001406;
|
|
{$EXTERNALSYM URLACTION_SCRIPT_PASTE}
|
|
URLACTION_SCRIPT_PASTE = $00001407;
|
|
{$EXTERNALSYM URLACTION_SCRIPT_CURR_MAX}
|
|
URLACTION_SCRIPT_CURR_MAX = $00001407;
|
|
{$EXTERNALSYM URLACTION_SCRIPT_MAX}
|
|
URLACTION_SCRIPT_MAX = $000015FF;
|
|
|
|
{$EXTERNALSYM URLACTION_HTML_MIN}
|
|
URLACTION_HTML_MIN = $00001600;
|
|
{$EXTERNALSYM URLACTION_HTML_SUBMIT_FORMS}
|
|
URLACTION_HTML_SUBMIT_FORMS = $00001601; // aggregate next two
|
|
{$EXTERNALSYM URLACTION_HTML_SUBMIT_FORMS_FROM}
|
|
URLACTION_HTML_SUBMIT_FORMS_FROM = $00001602; //
|
|
{$EXTERNALSYM URLACTION_HTML_SUBMIT_FORMS_TO}
|
|
URLACTION_HTML_SUBMIT_FORMS_TO = $00001603; //
|
|
{$EXTERNALSYM URLACTION_HTML_FONT_DOWNLOAD}
|
|
URLACTION_HTML_FONT_DOWNLOAD = $00001604;
|
|
{$EXTERNALSYM URLACTION_HTML_JAVA_RUN}
|
|
URLACTION_HTML_JAVA_RUN = $00001605; // derive from Java custom policy
|
|
{$EXTERNALSYM URLACTION_HTML_USERDATA_SAVE}
|
|
URLACTION_HTML_USERDATA_SAVE = $00001606;
|
|
{$EXTERNALSYM URLACTION_HTML_SUBFRAME_NAVIGATE}
|
|
URLACTION_HTML_SUBFRAME_NAVIGATE = $00001607;
|
|
{$EXTERNALSYM URLACTION_HTML_META_REFRESH}
|
|
URLACTION_HTML_META_REFRESH = $00001608;
|
|
{$EXTERNALSYM URLACTION_HTML_MIXED_CONTENT}
|
|
URLACTION_HTML_MIXED_CONTENT = $00001609;
|
|
{$EXTERNALSYM URLACTION_HTML_MAX}
|
|
URLACTION_HTML_MAX = $000017FF;
|
|
|
|
{$EXTERNALSYM URLACTION_SHELL_MIN}
|
|
URLACTION_SHELL_MIN = $00001800;
|
|
{$EXTERNALSYM URLACTION_SHELL_INSTALL_DTITEMS}
|
|
URLACTION_SHELL_INSTALL_DTITEMS = $00001800;
|
|
{$EXTERNALSYM URLACTION_SHELL_MOVE_OR_COPY}
|
|
URLACTION_SHELL_MOVE_OR_COPY = $00001802;
|
|
{$EXTERNALSYM URLACTION_SHELL_FILE_DOWNLOAD}
|
|
URLACTION_SHELL_FILE_DOWNLOAD = $00001803;
|
|
{$EXTERNALSYM URLACTION_SHELL_VERB}
|
|
URLACTION_SHELL_VERB = $00001804;
|
|
{$EXTERNALSYM URLACTION_SHELL_WEBVIEW_VERB}
|
|
URLACTION_SHELL_WEBVIEW_VERB = $00001805;
|
|
{$EXTERNALSYM URLACTION_SHELL_SHELLEXECUTE}
|
|
URLACTION_SHELL_SHELLEXECUTE = $00001806;
|
|
{$EXTERNALSYM URLACTION_SHELL_EXECUTE_HIGHRISK}
|
|
URLACTION_SHELL_EXECUTE_HIGHRISK = $00001806;
|
|
{$EXTERNALSYM URLACTION_SHELL_EXECUTE_MODRISK}
|
|
URLACTION_SHELL_EXECUTE_MODRISK = $00001807;
|
|
{$EXTERNALSYM URLACTION_SHELL_EXECUTE_LOWRISK}
|
|
URLACTION_SHELL_EXECUTE_LOWRISK = $00001808;
|
|
{$EXTERNALSYM URLACTION_SHELL_POPUPMGR}
|
|
URLACTION_SHELL_POPUPMGR = $00001809;
|
|
{$EXTERNALSYM URLACTION_SHELL_RTF_OBJECTS_LOAD}
|
|
URLACTION_SHELL_RTF_OBJECTS_LOAD = $0000180A;
|
|
{$EXTERNALSYM URLACTION_SHELL_ENHANCED_DRAGDROP_SECURITY}
|
|
URLACTION_SHELL_ENHANCED_DRAGDROP_SECURITY = $0000180B;
|
|
{$EXTERNALSYM URLACTION_SHELL_CURR_MAX}
|
|
URLACTION_SHELL_CURR_MAX = $0000180B;
|
|
{$EXTERNALSYM URLACTION_SHELL_MAX}
|
|
URLACTION_SHELL_MAX = $000019FF;
|
|
|
|
{$EXTERNALSYM URLACTION_NETWORK_MIN}
|
|
URLACTION_NETWORK_MIN = $00001A00;
|
|
|
|
{$EXTERNALSYM URLACTION_CREDENTIALS_USE}
|
|
URLACTION_CREDENTIALS_USE = $00001A00;
|
|
{$EXTERNALSYM URLPOLICY_CREDENTIALS_SILENT_LOGON_OK}
|
|
URLPOLICY_CREDENTIALS_SILENT_LOGON_OK = $00000000;
|
|
{$EXTERNALSYM URLPOLICY_CREDENTIALS_MUST_PROMPT_USER}
|
|
URLPOLICY_CREDENTIALS_MUST_PROMPT_USER = $00010000;
|
|
{$EXTERNALSYM URLPOLICY_CREDENTIALS_CONDITIONAL_PROMPT}
|
|
URLPOLICY_CREDENTIALS_CONDITIONAL_PROMPT = $00020000;
|
|
{$EXTERNALSYM URLPOLICY_CREDENTIALS_ANONYMOUS_ONLY}
|
|
URLPOLICY_CREDENTIALS_ANONYMOUS_ONLY = $00030000;
|
|
|
|
{$EXTERNALSYM URLACTION_AUTHENTICATE_CLIENT}
|
|
URLACTION_AUTHENTICATE_CLIENT = $00001A01;
|
|
{$EXTERNALSYM URLPOLICY_AUTHENTICATE_CLEARTEXT_OK}
|
|
URLPOLICY_AUTHENTICATE_CLEARTEXT_OK = $00000000;
|
|
{$EXTERNALSYM URLPOLICY_AUTHENTICATE_CHALLENGE_RESPONSE}
|
|
URLPOLICY_AUTHENTICATE_CHALLENGE_RESPONSE = $00010000;
|
|
{$EXTERNALSYM URLPOLICY_AUTHENTICATE_MUTUAL_ONLY}
|
|
URLPOLICY_AUTHENTICATE_MUTUAL_ONLY = $00030000;
|
|
|
|
{$EXTERNALSYM URLACTION_COOKIES}
|
|
URLACTION_COOKIES = $00001A02;
|
|
{$EXTERNALSYM URLACTION_COOKIES_SESSION}
|
|
URLACTION_COOKIES_SESSION = $00001A03;
|
|
{$EXTERNALSYM URLACTION_CLIENT_CERT_PROMPT}
|
|
URLACTION_CLIENT_CERT_PROMPT = $00001A04;
|
|
{$EXTERNALSYM URLACTION_COOKIES_THIRD_PARTY}
|
|
URLACTION_COOKIES_THIRD_PARTY = $00001A05;
|
|
{$EXTERNALSYM URLACTION_COOKIES_SESSION_THIRD_PARTY}
|
|
URLACTION_COOKIES_SESSION_THIRD_PARTY = $00001A06;
|
|
{$EXTERNALSYM URLACTION_COOKIES_ENABLED}
|
|
URLACTION_COOKIES_ENABLED = $00001A10;
|
|
|
|
{$EXTERNALSYM URLACTION_NETWORK_CURR_MAX}
|
|
URLACTION_NETWORK_CURR_MAX = $00001A10;
|
|
{$EXTERNALSYM URLACTION_NETWORK_MAX}
|
|
URLACTION_NETWORK_MAX = $00001BFF;
|
|
|
|
{$EXTERNALSYM URLACTION_JAVA_MIN}
|
|
URLACTION_JAVA_MIN = $00001C00;
|
|
{$EXTERNALSYM URLACTION_JAVA_PERMISSIONS}
|
|
URLACTION_JAVA_PERMISSIONS = $00001C00;
|
|
{$EXTERNALSYM URLPOLICY_JAVA_PROHIBIT}
|
|
URLPOLICY_JAVA_PROHIBIT = $00000000;
|
|
{$EXTERNALSYM URLPOLICY_JAVA_HIGH}
|
|
URLPOLICY_JAVA_HIGH = $00010000;
|
|
{$EXTERNALSYM URLPOLICY_JAVA_MEDIUM}
|
|
URLPOLICY_JAVA_MEDIUM = $00020000;
|
|
{$EXTERNALSYM URLPOLICY_JAVA_LOW}
|
|
URLPOLICY_JAVA_LOW = $00030000;
|
|
{$EXTERNALSYM URLPOLICY_JAVA_CUSTOM}
|
|
URLPOLICY_JAVA_CUSTOM = $00800000;
|
|
{$EXTERNALSYM URLACTION_JAVA_CURR_MAX}
|
|
URLACTION_JAVA_CURR_MAX = $00001C00;
|
|
{$EXTERNALSYM URLACTION_JAVA_MAX}
|
|
URLACTION_JAVA_MAX = $00001CFF;
|
|
|
|
// The following Infodelivery actions should have no default policies
|
|
// in the registry. They assume that no default policy means fall
|
|
// back to the global restriction. If an admin sets a policy per
|
|
// zone, then it overrides the global restriction.
|
|
|
|
{$EXTERNALSYM URLACTION_INFODELIVERY_MIN}
|
|
URLACTION_INFODELIVERY_MIN = $00001D00;
|
|
{$EXTERNALSYM URLACTION_INFODELIVERY_NO_ADDING_CHANNELS}
|
|
URLACTION_INFODELIVERY_NO_ADDING_CHANNELS = $00001D00;
|
|
{$EXTERNALSYM URLACTION_INFODELIVERY_NO_EDITING_CHANNELS}
|
|
URLACTION_INFODELIVERY_NO_EDITING_CHANNELS = $00001D01;
|
|
{$EXTERNALSYM URLACTION_INFODELIVERY_NO_REMOVING_CHANNELS}
|
|
URLACTION_INFODELIVERY_NO_REMOVING_CHANNELS = $00001D02;
|
|
{$EXTERNALSYM URLACTION_INFODELIVERY_NO_ADDING_SUBSCRIPTIONS}
|
|
URLACTION_INFODELIVERY_NO_ADDING_SUBSCRIPTIONS = $00001D03;
|
|
{$EXTERNALSYM URLACTION_INFODELIVERY_NO_EDITING_SUBSCRIPTIONS}
|
|
URLACTION_INFODELIVERY_NO_EDITING_SUBSCRIPTIONS = $00001D04;
|
|
{$EXTERNALSYM URLACTION_INFODELIVERY_NO_REMOVING_SUBSCRIPTIONS}
|
|
URLACTION_INFODELIVERY_NO_REMOVING_SUBSCRIPTIONS = $00001D05;
|
|
{$EXTERNALSYM URLACTION_INFODELIVERY_NO_CHANNEL_LOGGING}
|
|
URLACTION_INFODELIVERY_NO_CHANNEL_LOGGING = $00001D06;
|
|
{$EXTERNALSYM URLACTION_INFODELIVERY_CURR_MAX}
|
|
URLACTION_INFODELIVERY_CURR_MAX = $00001D06;
|
|
{$EXTERNALSYM URLACTION_INFODELIVERY_MAX}
|
|
URLACTION_INFODELIVERY_MAX = $00001DFF;
|
|
|
|
{$EXTERNALSYM URLACTION_CHANNEL_SOFTDIST_MIN}
|
|
URLACTION_CHANNEL_SOFTDIST_MIN = $00001E00;
|
|
{$EXTERNALSYM URLACTION_CHANNEL_SOFTDIST_PERMISSIONS}
|
|
URLACTION_CHANNEL_SOFTDIST_PERMISSIONS = $00001E05;
|
|
{$EXTERNALSYM URLPOLICY_CHANNEL_SOFTDIST_PROHIBIT}
|
|
URLPOLICY_CHANNEL_SOFTDIST_PROHIBIT = $00010000;
|
|
{$EXTERNALSYM URLPOLICY_CHANNEL_SOFTDIST_PRECACHE}
|
|
URLPOLICY_CHANNEL_SOFTDIST_PRECACHE = $00020000;
|
|
{$EXTERNALSYM URLPOLICY_CHANNEL_SOFTDIST_AUTOINSTALL}
|
|
URLPOLICY_CHANNEL_SOFTDIST_AUTOINSTALL = $00030000;
|
|
{$EXTERNALSYM URLACTION_CHANNEL_SOFTDIST_MAX}
|
|
URLACTION_CHANNEL_SOFTDIST_MAX = $00001EFF;
|
|
|
|
{$EXTERNALSYM URLACTION_BEHAVIOR_MIN}
|
|
URLACTION_BEHAVIOR_MIN = $00002000;
|
|
{$EXTERNALSYM URLACTION_BEHAVIOR_RUN}
|
|
URLACTION_BEHAVIOR_RUN = $00002000;
|
|
{$EXTERNALSYM URLPOLICY_BEHAVIOR_CHECK_LIST}
|
|
URLPOLICY_BEHAVIOR_CHECK_LIST = $00010000;
|
|
|
|
// The following actions correspond to the Feature options above.
|
|
// However, they are NOT in the same order.
|
|
{$EXTERNALSYM URLACTION_FEATURE_MIN}
|
|
URLACTION_FEATURE_MIN = $00002100;
|
|
{$EXTERNALSYM URLACTION_FEATURE_MIME_SNIFFING}
|
|
URLACTION_FEATURE_MIME_SNIFFING = $00002100;
|
|
{$EXTERNALSYM URLACTION_FEATURE_ZONE_ELEVATION}
|
|
URLACTION_FEATURE_ZONE_ELEVATION = $00002101;
|
|
{$EXTERNALSYM URLACTION_FEATURE_WINDOW_RESTRICTIONS}
|
|
URLACTION_FEATURE_WINDOW_RESTRICTIONS = $00002102;
|
|
|
|
{$EXTERNALSYM URLACTION_AUTOMATIC_DOWNLOAD_UI_MIN}
|
|
URLACTION_AUTOMATIC_DOWNLOAD_UI_MIN = $00002200;
|
|
{$EXTERNALSYM URLACTION_AUTOMATIC_DOWNLOAD_UI}
|
|
URLACTION_AUTOMATIC_DOWNLOAD_UI = $00002200;
|
|
{$EXTERNALSYM URLACTION_AUTOMATIC_ACTIVEX_UI}
|
|
URLACTION_AUTOMATIC_ACTIVEX_UI = $00002201;
|
|
|
|
{$EXTERNALSYM URLACTION_ALLOW_RESTRICTEDPROTOCOLS}
|
|
URLACTION_ALLOW_RESTRICTEDPROTOCOLS = $00002300;
|
|
|
|
// For each action specified above the system maintains
|
|
// a set of policies for the action.
|
|
// The only policies supported currently are permissions (i.e. is something allowed)
|
|
// and logging status.
|
|
// IMPORTANT: If you are defining your own policies don't overload the meaning of the
|
|
// loword of the policy. You can use the hiword to store any policy bits which are only
|
|
// meaningful to your action.
|
|
// For an example of how to do this look at the URLPOLICY_JAVA above
|
|
|
|
// Permissions
|
|
{$EXTERNALSYM URLPOLICY_ALLOW}
|
|
URLPOLICY_ALLOW = $00;
|
|
{$EXTERNALSYM URLPOLICY_QUERY}
|
|
URLPOLICY_QUERY = $01;
|
|
{$EXTERNALSYM URLPOLICY_DISALLOW}
|
|
URLPOLICY_DISALLOW = $03;
|
|
|
|
// Notifications are not done when user already queried.
|
|
{$EXTERNALSYM URLPOLICY_NOTIFY_ON_ALLOW}
|
|
URLPOLICY_NOTIFY_ON_ALLOW = $10;
|
|
{$EXTERNALSYM URLPOLICY_NOTIFY_ON_DISALLOW}
|
|
URLPOLICY_NOTIFY_ON_DISALLOW = $20;
|
|
|
|
// Logging is done regardless of whether user was queried.
|
|
{$EXTERNALSYM URLPOLICY_LOG_ON_ALLOW}
|
|
URLPOLICY_LOG_ON_ALLOW = $40;
|
|
{$EXTERNALSYM URLPOLICY_LOG_ON_DISALLOW}
|
|
URLPOLICY_LOG_ON_DISALLOW = $80;
|
|
|
|
{$EXTERNALSYM URLPOLICY_MASK_PERMISSIONS}
|
|
URLPOLICY_MASK_PERMISSIONS = $0F;
|
|
|
|
{$EXTERNALSYM GetUrlPolicyPermissions}
|
|
function GetUrlPolicyPermissions(dw: DWORD): DWORD; {inline;}
|
|
{$EXTERNALSYM SetUrlPolicyPermissions}
|
|
procedure SetUrlPolicyPermissions(var dw: DWORD; dw2: DWORD); {inline;}
|
|
|
|
const
|
|
{$EXTERNALSYM URLPOLICY_DONTCHECKDLGBOX}
|
|
URLPOLICY_DONTCHECKDLGBOX = $100;
|
|
|
|
// The ordinal #'s that define the predefined zones internet explorer knows about.
|
|
// When we support user-defined zones their zone numbers should be between
|
|
// URLZONE_USER_MIN and URLZONE_USER_MAX
|
|
// Custom policy to query whether the local machine zone
|
|
// has been unlocked for current document.
|
|
|
|
type
|
|
{$EXTERNALSYM tagURLZONE}
|
|
tagURLZONE = DWORD;
|
|
{$EXTERNALSYM URLZONE}
|
|
URLZONE = tagURLZONE;
|
|
TUrlZone = tagURLZONE;
|
|
|
|
const
|
|
{$EXTERNALSYM URLZONE_PREDEFINED_MIN}
|
|
URLZONE_PREDEFINED_MIN = 0;
|
|
{$EXTERNALSYM URLZONE_LOCAL_MACHINE}
|
|
URLZONE_LOCAL_MACHINE = 0;
|
|
{$EXTERNALSYM URLZONE_INTRANET}
|
|
URLZONE_INTRANET = URLZONE_LOCAL_MACHINE + 1;
|
|
{$EXTERNALSYM URLZONE_TRUSTED}
|
|
URLZONE_TRUSTED = URLZONE_INTRANET + 1;
|
|
{$EXTERNALSYM URLZONE_INTERNET}
|
|
URLZONE_INTERNET = URLZONE_TRUSTED + 1;
|
|
{$EXTERNALSYM URLZONE_UNTRUSTED}
|
|
URLZONE_UNTRUSTED = URLZONE_INTERNET + 1;
|
|
{$EXTERNALSYM URLZONE_PREDEFINED_MAX}
|
|
URLZONE_PREDEFINED_MAX = 999;
|
|
{$EXTERNALSYM URLZONE_USER_MIN}
|
|
URLZONE_USER_MIN = 1000;
|
|
{$EXTERNALSYM URLZONE_USER_MAX}
|
|
URLZONE_USER_MAX = 10000;
|
|
|
|
// Enhanced Security Configuration zone mapping flag for IInternetSecurityManager::SetZoneMapping
|
|
type
|
|
{$EXTERNALSYM tagURLTEMPLATE}
|
|
tagURLTEMPLATE = DWORD;
|
|
{$EXTERNALSYM URLTEMPLATE}
|
|
URLTEMPLATE = tagURLTEMPLATE;
|
|
TUrlTemplate = URLTemplate;
|
|
|
|
const
|
|
{$EXTERNALSYM URLTEMPLATE_CUSTOM}
|
|
URLTEMPLATE_CUSTOM = 0;
|
|
{$EXTERNALSYM URLTEMPLATE_PREDEFINED_MIN}
|
|
URLTEMPLATE_PREDEFINED_MIN = $10000;
|
|
{$EXTERNALSYM URLTEMPLATE_LOW}
|
|
URLTEMPLATE_LOW = $10000;
|
|
{$EXTERNALSYM URLTEMPLATE_MEDLOW}
|
|
URLTEMPLATE_MEDLOW = $10500;
|
|
{$EXTERNALSYM URLTEMPLATE_MEDIUM}
|
|
URLTEMPLATE_MEDIUM = $11000;
|
|
{$EXTERNALSYM URLTEMPLATE_HIGH}
|
|
URLTEMPLATE_HIGH = $12000;
|
|
{$EXTERNALSYM URLTEMPLATE_PREDEFINED_MAX}
|
|
URLTEMPLATE_PREDEFINED_MAX = $20000;
|
|
|
|
{$EXTERNALSYM MAX_ZONE_PATH}
|
|
MAX_ZONE_PATH = 260;
|
|
{$EXTERNALSYM MAX_ZONE_DESCRIPTION}
|
|
MAX_ZONE_DESCRIPTION = 200;
|
|
|
|
type
|
|
{$EXTERNALSYM ZAFLAGS}
|
|
ZAFLAGS = DWORD;
|
|
TZAFlags = DWORD;
|
|
|
|
const
|
|
{$EXTERNALSYM ZAFLAGS_CUSTOM_EDIT}
|
|
ZAFLAGS_CUSTOM_EDIT = $1;
|
|
{$EXTERNALSYM ZAFLAGS_ADD_SITES}
|
|
ZAFLAGS_ADD_SITES = $2;
|
|
{$EXTERNALSYM ZAFLAGS_REQUIRE_VERIFICATION}
|
|
ZAFLAGS_REQUIRE_VERIFICATION = $4;
|
|
{$EXTERNALSYM ZAFLAGS_INCLUDE_PROXY_OVERRIDE}
|
|
ZAFLAGS_INCLUDE_PROXY_OVERRIDE = $8;
|
|
{$EXTERNALSYM ZAFLAGS_INCLUDE_INTRANET_SITES}
|
|
ZAFLAGS_INCLUDE_INTRANET_SITES = $10;
|
|
{$EXTERNALSYM ZAFLAGS_NO_UI}
|
|
ZAFLAGS_NO_UI = $20;
|
|
{$EXTERNALSYM ZAFLAGS_SUPPORTS_VERIFICATION}
|
|
ZAFLAGS_SUPPORTS_VERIFICATION = $40;
|
|
{$EXTERNALSYM ZAFLAGS_UNC_AS_INTRANET}
|
|
ZAFLAGS_UNC_AS_INTRANET = $80;
|
|
{$EXTERNALSYM ZAFLAGS_USE_LOCKED_ZONES}
|
|
ZAFLAGS_USE_LOCKED_ZONES = $10000;
|
|
|
|
type
|
|
PZoneAttributes = ^TZoneAttributes;
|
|
{$EXTERNALSYM _ZONEATTRIBUTES}
|
|
_ZONEATTRIBUTES = record
|
|
cbSize: ULONG;
|
|
szDisplayName: array[0..259] of WideChar;
|
|
szDescription: array[0..199] of WideChar;
|
|
szIconPath: array[0..259] of WideChar;
|
|
dwTemplateMinLevel: DWORD;
|
|
dwTemplateRecommended: DWORD;
|
|
dwTemplateCurrentLevel: DWORD;
|
|
dwFlags: DWORD;
|
|
end;
|
|
{$EXTERNALSYM ZONEATTRIBUTES}
|
|
ZONEATTRIBUTES = _ZONEATTRIBUTES;
|
|
TZoneAttributes = _ZONEATTRIBUTES;
|
|
|
|
// Gets the zone attributes (information in registry other than actual security
|
|
// policies associated with the zone). Zone attributes are fixed as:
|
|
// Sets the zone attributes (information in registry other than actual security
|
|
// policies associated with the zone). Zone attributes as above.
|
|
// Returns S_OK or ??? if failed to write the zone attributes.
|
|
(* Registry Flags
|
|
|
|
When reading, default behavior is:
|
|
If HKLM allows override and HKCU value exists
|
|
Then use HKCU value
|
|
Else use HKLM value
|
|
When writing, default behavior is same as HKCU
|
|
If HKLM allows override
|
|
Then Write to HKCU
|
|
Else Fail
|
|
*)
|
|
|
|
type
|
|
{$EXTERNALSYM _URLZONEREG}
|
|
_URLZONEREG = DWORD;
|
|
{$EXTERNALSYM URLZONEREG}
|
|
URLZONEREG = _URLZONEREG;
|
|
TUrlZoneReg = _URLZONEREG;
|
|
|
|
const
|
|
{$EXTERNALSYM URLZONEREG_DEFAULT}
|
|
URLZONEREG_DEFAULT = 0;
|
|
{$EXTERNALSYM URLZONEREG_HKLM}
|
|
URLZONEREG_HKLM = URLZONEREG_DEFAULT + 1;
|
|
{$EXTERNALSYM URLZONEREG_HKCU}
|
|
URLZONEREG_HKCU = URLZONEREG_HKLM + 1;
|
|
|
|
|
|
// Gets a named custom policy associated with a zone;
|
|
// e.g. the Java VM settings can be defined with a unique key such as 'Java'.
|
|
// Custom policy support is intended to allow extensibility from the predefined
|
|
// set of policies that IE4 has built in.
|
|
//
|
|
// pwszKey is the string name designating the custom policy. Components are
|
|
// responsible for having unique names.
|
|
// ppPolicy is the callee allocated buffer for the policy byte blob; caller is
|
|
// responsible for freeing this buffer eventually.
|
|
// pcbPolicy is the size of the byte blob returned.
|
|
// dwRegFlags determines how registry is accessed (see above).
|
|
// Returns S_OK if key is found and buffer allocated; ??? if key is not found (no buffer alloced).
|
|
// Sets a named custom policy associated with a zone;
|
|
// e.g. the Java VM settings can be defined with a unique key such as 'Java'.
|
|
// Custom policy support is intended to allow extensibility from the predefined
|
|
// set of policies that IE4 has built in.
|
|
//
|
|
// pwszKey is the string name designating the custom policy. Components are
|
|
// responsible for having unique names.
|
|
// ppPolicy is the caller allocated buffer for the policy byte blob.
|
|
// pcbPolicy is the size of the byte blob to be set.
|
|
// dwRegFlags determines if HTCU or HKLM is set.
|
|
// Returns S_OK or ??? if failed to write the zone custom policy.
|
|
// Gets action policy associated with a zone, the builtin, fixed-length policies info.
|
|
|
|
// dwAction is the action code for the action as defined above.
|
|
// pPolicy is the caller allocated buffer for the policy data.
|
|
// cbPolicy is the size of the caller allocated buffer.
|
|
// dwRegFlags determines how registry is accessed (see above).
|
|
// Returns S_OK if action is valid; ??? if action is not valid.
|
|
|
|
type
|
|
{$EXTERNALSYM IInternetZoneManager}
|
|
IInternetZoneManager = interface(IUnknown)
|
|
['{79eac9ef-baf9-11ce-8c82-00aa004ba90b}']
|
|
function GetZoneAttributes(dwZone: DWORD;
|
|
var pZoneAttributes: TZoneAttributes): HResult; stdcall;
|
|
function SetZoneAttributes(dwZone: DWORD;
|
|
var pZoneAttributes: TZoneAttributes): HResult; stdcall;
|
|
function GetZoneCustomPolicy(dwZone: DWORD; const guidKey: TGUID;
|
|
out ppPolicy: PByte; out pcbPolicy: DWORD;
|
|
urlZoneReg: TUrlZoneReg): HResult; stdcall;
|
|
function SetZoneCustomPolicy(dwZone: DWORD; const guidKey: TGUID;
|
|
pPolicy: PByte; cbPolicy: DWORD;
|
|
urlZoneReg: TUrlZoneReg): HResult; stdcall;
|
|
function GetZoneActionPolicy(dwZone, dwAction: DWORD; pPolicy: PByte;
|
|
cbPolicy: DWORD; urlZoneReg: TUrlZoneReg): HResult; stdcall;
|
|
function SetZoneActionPolicy(dwZone, dwAction: DWORD; pPolicy: PByte;
|
|
cbPolicy: DWORD; urlZoneReg: TUrlZoneReg): HResult; stdcall;
|
|
function PromptAction(dwAction: DWORD; hwndParent: HWND;
|
|
pwszUrl, pwszText: PWideChar; dwPromptFlags: DWORD): HResult; stdcall;
|
|
function LogAction(dwAction: DWORD; pwszUrl, pwszText: PWideChar;
|
|
dwLogFlags: DWORD): HResult; stdcall;
|
|
function CreateZoneEnumerator(out pdwEnum, pdwCount: DWORD;
|
|
dwFlags: DWORD): HResult; stdcall;
|
|
function GetZoneAt(dwEnum, dwIndex: DWORD;
|
|
out pdwZone: DWORD): HResult; stdcall;
|
|
function DestroyZoneEnumerator(dwEnum: DWORD): HResult; stdcall;
|
|
function CopyTemplatePoliciesToZone(
|
|
dwTemplate, dwZone, dwReserved: DWORD): HResult; stdcall;
|
|
end;
|
|
|
|
// Gets action policy associated with a zone, the builtin, fixed-length policies info.
|
|
|
|
// dwAction is the action code for the action as defined above.
|
|
// pPolicy is the caller allocated buffer for the policy data.
|
|
// cbPolicy is the size of the caller allocated buffer.
|
|
// dwRegFlags determines how registry is accessed (see above).
|
|
// dwFlags determine which registry policies are accessed (see above).
|
|
// Returns S_OK if action is valid; ??? if action is not valid.
|
|
|
|
{$EXTERNALSYM IInternetZoneManagerEx}
|
|
IInternetZoneManagerEx = interface(IInternetZoneManager)
|
|
['{A4C23339-8E06-431e-9BF4-7E711C085648}']
|
|
function GetZoneActionPolicyEx(dwZone, dwAction: DWORD; pPolicy: PByte;
|
|
cbPolicy: DWORD; urlZoneReg: TUrlZoneReg;
|
|
dwFlags: DWORD): HResult; stdcall;
|
|
function SetZoneActionPolicyEx(dwZone, dwAction: DWORD; pPolicy: PByte;
|
|
cbPolicy: DWORD; urlZoneReg: TUrlZoneReg;
|
|
dwFlags: DWORD): HResult; stdcall;
|
|
end;
|
|
|
|
const
|
|
{$EXTERNALSYM SOFTDIST_FLAG_USAGE_EMAIL}
|
|
SOFTDIST_FLAG_USAGE_EMAIL = $00000001;
|
|
{$EXTERNALSYM SOFTDIST_FLAG_USAGE_PRECACHE}
|
|
SOFTDIST_FLAG_USAGE_PRECACHE = $00000002;
|
|
{$EXTERNALSYM SOFTDIST_FLAG_USAGE_AUTOINSTALL}
|
|
SOFTDIST_FLAG_USAGE_AUTOINSTALL = $00000004;
|
|
{$EXTERNALSYM SOFTDIST_FLAG_DELETE_SUBSCRIPTION}
|
|
SOFTDIST_FLAG_DELETE_SUBSCRIPTION = $00000008;
|
|
|
|
{$EXTERNALSYM SOFTDIST_ADSTATE_NONE}
|
|
SOFTDIST_ADSTATE_NONE = $00000000;
|
|
{$EXTERNALSYM SOFTDIST_ADSTATE_AVAILABLE}
|
|
SOFTDIST_ADSTATE_AVAILABLE = $00000001;
|
|
{$EXTERNALSYM SOFTDIST_ADSTATE_DOWNLOADED}
|
|
SOFTDIST_ADSTATE_DOWNLOADED = $00000002;
|
|
{$EXTERNALSYM SOFTDIST_ADSTATE_INSTALLED}
|
|
SOFTDIST_ADSTATE_INSTALLED = $00000003;
|
|
|
|
type
|
|
PCodeBaseHold = ^TCodeBaseHold;
|
|
{$EXTERNALSYM _tagCODEBASEHOLD}
|
|
_tagCODEBASEHOLD = record
|
|
cbSize: ULONG;
|
|
szDistUnit: PWideChar;
|
|
szCodeBase: PWideChar;
|
|
dwVersionMS: DWORD;
|
|
dwVersionLS: DWORD;
|
|
dwStyle: DWORD;
|
|
end;
|
|
{$EXTERNALSYM CODEBASEHOLD}
|
|
CODEBASEHOLD = _tagCODEBASEHOLD;
|
|
TCodeBaseHold = _tagCODEBASEHOLD;
|
|
|
|
PSoftDistInfo = ^TSoftDistInfo;
|
|
{$EXTERNALSYM _tagSOFTDISTINFO}
|
|
_tagSOFTDISTINFO = record
|
|
cbSize: ULONG;
|
|
dwFlags: DWORD;
|
|
dwAdState: DWORD;
|
|
szTitle: PWideChar;
|
|
szAbstract: PWideChar;
|
|
szHREF: PWideChar;
|
|
dwInstalledVersionMS: DWORD;
|
|
dwInstalledVersionLS: DWORD;
|
|
dwUpdateVersionMS: DWORD;
|
|
dwUpdateVersionLS: DWORD;
|
|
dwAdvertisedVersionMS: DWORD;
|
|
dwAdvertisedVersionLS: DWORD;
|
|
dwReserved: DWORD;
|
|
end;
|
|
{$EXTERNALSYM SOFTDISTINFO}
|
|
SOFTDISTINFO = _tagSOFTDISTINFO;
|
|
TSoftDistInfo = _tagSOFTDISTINFO;
|
|
|
|
{$EXTERNALSYM ISoftDistExt}
|
|
ISoftDistExt = interface(IUnknown)
|
|
['{B15B8DC1-C7E1-11d0-8680-00AA00BDCB71}']
|
|
function ProcessSoftDist(szCDFURL: PWideChar; pSoftDistElement:
|
|
{TODO: Delphi 2010 doesn't support IXMLElement obviously.
|
|
Should be renamed when available.
|
|
}
|
|
(* {$IFDEF DELPHI5}Pointer{$ELSE}{$IFDEF } IXMLElement{$ENDIF};*)
|
|
Pointer;
|
|
var lpsdi: TSoftDistInfo): HResult; stdcall;
|
|
function GetFirstCodeBase(szCodeBase: PPWideChar;
|
|
var dwMaxSize: DWORD): HResult; stdcall;
|
|
function GetNextCodeBase(szCodeBase: PPWideChar;
|
|
var dwMaxSize: DWORD): HResult; stdcall;
|
|
function AsyncInstallDistributionUnit(pbc: IBindCtx; pvReserved: Pointer;
|
|
flags: DWORD; var lpcbh: TCodeBaseHold): HResult; stdcall;
|
|
end;
|
|
|
|
{$EXTERNALSYM ICatalogFileInfo}
|
|
ICatalogFileInfo = interface(IUnknown)
|
|
['{711C7600-6B48-11d1-B403-00AA00B92AF1}']
|
|
function GetCatalogFile(out ppszCatalogFile: PAnsiChar): HResult; stdcall;
|
|
function GetJavaTrust(out ppJavaTrust: Pointer): HResult; stdcall;
|
|
end;
|
|
|
|
{$EXTERNALSYM IDataFilter}
|
|
IDataFilter = interface(IUnknown)
|
|
['{69d14c80-c18e-11d0-a9ce-006097942311}']
|
|
function DoEncode(dwFlags: DWORD; lInBufferSize: Longint; pbInBuffer: PByte;
|
|
lOutBufferSize: Longint; pbOutBuffer: PByte; lInBytesAvailable: Longint;
|
|
out plInBytesRead, plOutBytesWritten: Longint;
|
|
dwReserved: DWORD): HResult; stdcall;
|
|
function DoDecode(dwFlags: DWORD; lInBufferSize: Longint; pbInBuffer: PByte;
|
|
lOutBufferSize: Longint; pbOutBuffer: PByte; lInBytesAvailable: Longint;
|
|
out plInBytesRead, plOutBytesWritten: Longint;
|
|
dwReserved: DWORD): HResult; stdcall;
|
|
function SetEncodingLevel(
|
|
dwEncLevel: DWORD): HResult; stdcall;
|
|
end;
|
|
|
|
PProtocolFilterData = ^TProtocolFilterData;
|
|
{$EXTERNALSYM _tagPROTOCOLFILTERDATA}
|
|
_tagPROTOCOLFILTERDATA = record
|
|
cbSize: DWORD;
|
|
pProtocolSink: IInternetProtocolSink;
|
|
pProtocol: IInternetProtocol;
|
|
pUnk: IUnknown;
|
|
dwFilterFlags: DWORD;
|
|
end;
|
|
{$EXTERNALSYM PROTOCOLFILTERDATA}
|
|
PROTOCOLFILTERDATA = _tagPROTOCOLFILTERDATA;
|
|
TProtocolFilterData = _tagPROTOCOLFILTERDATA;
|
|
|
|
PDataInfo = ^TDataInfo;
|
|
{$EXTERNALSYM _tagDATAINFO}
|
|
_tagDATAINFO = record
|
|
ulTotalSize: ULONG;
|
|
ulavrPacketSize: ULONG;
|
|
ulConnectSpeed: ULONG;
|
|
ulProcessorSpeed: ULONG;
|
|
end;
|
|
{$EXTERNALSYM DATAINFO}
|
|
DATAINFO = _tagDATAINFO;
|
|
TDataInfo = _tagDATAINFO;
|
|
|
|
{$EXTERNALSYM IEncodingFilterFactory}
|
|
IEncodingFilterFactory = interface(IUnknown)
|
|
['{70bdde00-c18e-11d0-a9ce-006097942311}']
|
|
function FindBestFilter(pwzCodeIn, pwzCodeOut: PWideChar; info: TDataInfo;
|
|
out ppDF: IDataFilter): HResult; stdcall;
|
|
function GetDefaultFilter(pwzCodeIn, pwzCodeOut: PWideChar;
|
|
out ppDF: IDataFilter): HResult; stdcall;
|
|
end;
|
|
|
|
PHitLoggingInfo = ^THitLoggingInfo;
|
|
{$EXTERNALSYM _tagHIT_LOGGING_INFO}
|
|
_tagHIT_LOGGING_INFO = record
|
|
dwStructSize: DWORD;
|
|
lpszLoggedUrlName: PAnsiChar;
|
|
StartTime: TSystemTime;
|
|
EndTime: TSystemTime;
|
|
lpszExtendedInfo: PAnsiChar;
|
|
end;
|
|
{$EXTERNALSYM HIT_LOGGING_INFO}
|
|
HIT_LOGGING_INFO = _tagHIT_LOGGING_INFO;
|
|
THitLoggingInfo = _tagHIT_LOGGING_INFO;
|
|
|
|
const
|
|
{$EXTERNALSYM CONFIRMSAFETYACTION_LOADOBJECT}
|
|
CONFIRMSAFETYACTION_LOADOBJECT = $00000001;
|
|
|
|
type
|
|
PConfirmSafety = ^TConfirmSafety;
|
|
{$EXTERNALSYM CONFIRMSAFETY}
|
|
CONFIRMSAFETY = record
|
|
clsid: TCLSID;
|
|
pUnk: IUnknown;
|
|
dwFlags: DWORD;
|
|
end;
|
|
TConfirmSafety = CONFIRMSAFETY;
|
|
|
|
{$EXTERNALSYM IWrappedProtocol}
|
|
IWrappedProtocol = interface(IUnknown)
|
|
['{53c84785-8425-4dc5-971b-e58d9c19f9b6}']
|
|
function GetWrapperCode(out pnCode: Longint;
|
|
dwReserved: DWORD): HResult; stdcall;
|
|
end;
|
|
|
|
// Functions
|
|
|
|
{$EXTERNALSYM CreateURLMoniker}
|
|
function CreateURLMoniker(pMkCtx: IMoniker; szURL: PWideChar;
|
|
out ppmk: IMoniker): HResult; stdcall;
|
|
{$EXTERNALSYM CreateURLMonikerEx}
|
|
function CreateURLMonikerEx(pMkCtx: IMoniker; szURL: PWideChar;
|
|
out ppmk: IMoniker; dwFlags: DWORD): HResult; stdcall;
|
|
{$EXTERNALSYM GetClassURL}
|
|
function GetClassURL(szURL: PWideChar; var pClsID: TCLSID): HResult; stdcall;
|
|
{$EXTERNALSYM CreateAsyncBindCtx}
|
|
function CreateAsyncBindCtx(reserved: DWORD; pBSCb: IBindStatusCallback;
|
|
pEFetc: IEnumFORMATETC; out ppBC: IBindCtx): HResult; stdcall;
|
|
{$EXTERNALSYM CreateAsyncBindCtxEx}
|
|
function CreateAsyncBindCtxEx(pbc: IBindCtx; dwOptions: DWORD;
|
|
pBSCb: IBindStatusCallback; pEnum: IEnumFORMATETC;
|
|
out ppBC: IBindCtx; reserved: DWORD): HResult; stdcall;
|
|
{$EXTERNALSYM MkParseDisplayNameEx}
|
|
function MkParseDisplayNameEx(pbc: IBindCtx; szDisplayName: PWideChar;
|
|
out pchEaten: ULONG; out ppmk: IMoniker): HResult; stdcall;
|
|
{$EXTERNALSYM RegisterBindStatusCallback}
|
|
function RegisterBindStatusCallback(pBC: IBindCtx; pBSCb: IBindStatusCallback;
|
|
out ppBSCBPrev: IBindStatusCallback; dwReserved: DWORD): HResult; stdcall;
|
|
{$EXTERNALSYM RevokeBindStatusCallback}
|
|
function RevokeBindStatusCallback(pBC: IBindCtx;
|
|
pBSCb: IBindStatusCallback): HResult; stdcall;
|
|
{$EXTERNALSYM GetClassFileOrMime}
|
|
function GetClassFileOrMime(pBC: IBindCtx; szFilename: PWideChar; pBuffer: Pointer;
|
|
cbSize: DWORD; szMime: PWideChar; dwReserved: DWORD;
|
|
var pclsid: TCLSID): HResult; stdcall;
|
|
{$EXTERNALSYM IsValidURL}
|
|
function IsValidURL(pBC: IBindCtx; szURL: PWideChar;
|
|
dwReserved: DWORD): HResult; stdcall;
|
|
{$EXTERNALSYM CoGetClassObjectFromURL}
|
|
function CoGetClassObjectFromURL(var rCLASSID: TCLSID;
|
|
szCODE: PWideChar; dwFileVersionMS, dwFileVersionLS: DWORD;
|
|
szTYPE: PWideChar; pBindCtx: IBindCtx; dwClsContext: DWORD;
|
|
pvReserved: Pointer; var riid: TIID;
|
|
var ppv): HResult; stdcall;
|
|
{$EXTERNALSYM FaultInIEFeature}
|
|
function FaultInIEFeature(hWnd: HWND; var pClassSpec {: uCLSSPEC};
|
|
var pQuery {: QUERYCONTEXT}; dwFlags: DWORD): HResult; stdcall;
|
|
{$EXTERNALSYM GetComponentIDFromCLSSPEC}
|
|
function GetComponentIDFromCLSSPEC(var pClassspec {: uCLSSPEC};
|
|
var ppszComponentID: PAnsiChar): HResult; stdcall;
|
|
|
|
//helper apis
|
|
{$EXTERNALSYM IsAsyncMoniker}
|
|
function IsAsyncMoniker(pmk: IMoniker): HResult; stdcall;
|
|
|
|
{$EXTERNALSYM CreateURLBinding}
|
|
function CreateURLBinding(lpszUrl: PWideChar; pbc: IBindCtx;
|
|
out ppBdg: IBinding): HResult stdcall;
|
|
|
|
{$EXTERNALSYM RegisterMediaTypes}
|
|
function RegisterMediaTypes(ctypes: UINT; const rgszTypes: PPAnsiChar;
|
|
out rgcfTypes: TClipFormat): HResult; stdcall;
|
|
{$EXTERNALSYM FindMediaType}
|
|
function FindMediaType(rgszTypes: PAnsiChar;
|
|
out rgcfTypes: TClipFormat): HResult; stdcall;
|
|
{$EXTERNALSYM CreateFormatEnumerator}
|
|
function CreateFormatEnumerator(cfmtetc: UINT; rgfmtetc: PFORMATETC;
|
|
out ppenumfmtetc: IEnumFORMATETC): HResult; stdcall;
|
|
{$EXTERNALSYM RegisterFormatEnumerator}
|
|
function RegisterFormatEnumerator(pBC: IBindCtx; pEFetc: IEnumFORMATETC;
|
|
reserved: DWORD): HResult; stdcall;
|
|
{$EXTERNALSYM RevokeFormatEnumerator}
|
|
function RevokeFormatEnumerator(pBC: IBindCtx;
|
|
pEFetc: IEnumFORMATETC): HResult; stdcall;
|
|
{$EXTERNALSYM RegisterMediaTypeClass}
|
|
function RegisterMediaTypeClass(pBC: IBindCtx; ctypes: UINT;
|
|
const rgszTypes: PPAnsiChar; rgclsID: PCLSID;
|
|
reserved: DWORD): HResult; stdcall;
|
|
{$EXTERNALSYM FindMediaTypeClass}
|
|
function FindMediaTypeClass(pBC: IBindCtx; szType: PAnsiChar;
|
|
out pclsID: TCLSID; reserved: DWORD): HResult; stdcall;
|
|
{$EXTERNALSYM UrlMkSetSessionOption}
|
|
function UrlMkSetSessionOption(dwOption: DWORD; pBuffer: Pointer;
|
|
dwBufferLength, dwReserved: DWORD): HResult; stdcall;
|
|
{$EXTERNALSYM UrlMkGetSessionOption}
|
|
function UrlMkGetSessionOption(dwOption: DWORD; pBuffer: Pointer;
|
|
dwBufferLength: DWORD; out pdwBufferLength: DWORD;
|
|
dwReserved: DWORD): HResult; stdcall;
|
|
{$EXTERNALSYM FindMimeFromData}
|
|
function FindMimeFromData(
|
|
pBC: IBindCtx; // bind context - can be NULL
|
|
pwzUrl: PWideChar; // url - can be null
|
|
pBuffer: Pointer; // buffer with data to sniff - can be null (pwzUrl must be valid)
|
|
cbSize: DWORD; // size of buffer
|
|
pwzMimeProposed: PWideChar; // proposed mime if - can be null
|
|
dwMimeFlags: DWORD; // will be defined
|
|
out ppwzMimeOut: PWideChar; // the suggested mime
|
|
dwReserved: DWORD // must be 0
|
|
): HResult; stdcall;
|
|
|
|
{$EXTERNALSYM ObtainUserAgentString}
|
|
function ObtainUserAgentString(dwOption: DWORD; pszUAOut: PAnsiChar;
|
|
out cbSize: DWORD): HResult; stdcall;
|
|
{$EXTERNALSYM CompareSecurityIds}
|
|
function CompareSecurityIds(pbSecurityId1: PByte; dwLen1: DWORD;
|
|
pbSecurityId2: PByte; dwLen2, dwReserved: DWORD): HResult; stdcall;
|
|
{$EXTERNALSYM CompatFlagsFromClsid}
|
|
function CompatFlagsFromClsid(var pclsid: TCLSID;
|
|
out pdwCompatFlags, pdwMiscStatusFlags: DWORD): HResult; stdcall;
|
|
|
|
{$EXTERNALSYM URLOpenStreamA}
|
|
function URLOpenStreamA(pCaller: IUnknown; szURL: PAnsiChar; dwReserved: DWORD;
|
|
lpfnCB: IBindStatusCallback): HResult; stdcall;
|
|
{$EXTERNALSYM URLOpenStreamW}
|
|
function URLOpenStreamW(pCaller: IUnknown; szURL: PWideChar; dwReserved: DWORD;
|
|
lpfnCB: IBindStatusCallback): HResult; stdcall;
|
|
{$EXTERNALSYM URLOpenStream}
|
|
function URLOpenStream(pCaller: IUnknown; szURL: PTSTR; dwReserved: DWORD;
|
|
lpfnCB: IBindStatusCallback): HResult; stdcall;
|
|
{$EXTERNALSYM URLOpenPullStreamA}
|
|
function URLOpenPullStreamA(pCaller: IUnknown; szURL: PAnsiChar;
|
|
dwReserved: DWORD; lpfnCB: IBindStatusCallback): HResult; stdcall;
|
|
{$EXTERNALSYM URLOpenPullStreamW}
|
|
function URLOpenPullStreamW(pCaller: IUnknown; szURL: PWideChar;
|
|
dwReserved: DWORD; lpfnCB: IBindStatusCallback): HResult; stdcall;
|
|
{$EXTERNALSYM URLOpenPullStream}
|
|
function URLOpenPullStream(pCaller: IUnknown; szURL: PTSTR; dwReserved: DWORD;
|
|
lpfnCB: IBindStatusCallback): HResult; stdcall;
|
|
{$EXTERNALSYM URLDownloadToFileA}
|
|
function URLDownloadToFileA(pCaller: IUnknown; szURL, szFileName: PAnsiChar;
|
|
dwReserved: DWORD; lpfnCB: IBindStatusCallback): HResult; stdcall;
|
|
{$EXTERNALSYM URLDownloadToFileW}
|
|
function URLDownloadToFileW(pCaller: IUnknown; szURL, szFileName: PWideChar;
|
|
dwReserved: DWORD; lpfnCB: IBindStatusCallback): HResult; stdcall;
|
|
{$EXTERNALSYM URLDownloadToFile}
|
|
function URLDownloadToFile(pCaller: IUnknown; szURL, szFileName: PTSTR;
|
|
dwReserved: DWORD; lpfnCB: IBindStatusCallback): HResult; stdcall;
|
|
{$EXTERNALSYM URLDownloadToCacheFileA}
|
|
function URLDownloadToCacheFileA(lpUnkCaller: IUnknown;
|
|
szURL, szFileName: PAnsiChar; dwBufLength, dwReserved: DWORD;
|
|
pBSC: IBindStatusCallback): HResult; stdcall;
|
|
{$EXTERNALSYM URLDownloadToCacheFileW}
|
|
function URLDownloadToCacheFileW(lpUnkCaller: IUnknown;
|
|
szURL, szFileName: PWideChar; dwBufLength, dwReserved: DWORD;
|
|
pBSC: IBindStatusCallback): HResult; stdcall;
|
|
{$EXTERNALSYM URLDownloadToCacheFile}
|
|
function URLDownloadToCacheFile(lpUnkCaller: IUnknown;
|
|
szURL, szFileName: PTSTR; dwBufLength, dwReserved: DWORD;
|
|
pBSC: IBindStatusCallback): HResult; stdcall;
|
|
{$EXTERNALSYM URLOpenBlockingStreamA}
|
|
function URLOpenBlockingStreamA(pCaller: IUnknown; szURL: PAnsiChar;
|
|
out ppStream: IStream; dwReserved: DWORD;
|
|
lpfnCB: IBindStatusCallback): HResult; stdcall;
|
|
{$EXTERNALSYM URLOpenBlockingStreamW}
|
|
function URLOpenBlockingStreamW(pCaller: IUnknown; szURL: PWideChar;
|
|
out ppStream: IStream; dwReserved: DWORD;
|
|
lpfnCB: IBindStatusCallback): HResult; stdcall;
|
|
{$EXTERNALSYM URLOpenBlockingStream}
|
|
function URLOpenBlockingStream(pCaller: IUnknown; szURL: PTSTR;
|
|
out ppStream: IStream; dwReserved: DWORD;
|
|
lpfnCB: IBindStatusCallback): HResult; stdcall;
|
|
|
|
{$EXTERNALSYM HlinkGoBack}
|
|
function HlinkGoBack(pUnk: IUnknown): HResult; stdcall;
|
|
{$EXTERNALSYM HlinkGoForward}
|
|
function HlinkGoForward(pUnk: IUnknown): HResult; stdcall;
|
|
{$EXTERNALSYM HlinkNavigateString}
|
|
function HlinkNavigateString(pUnk: IUnknown;
|
|
szTarget: PWideChar): HResult; stdcall;
|
|
{$EXTERNALSYM HlinkNavigateMoniker}
|
|
function HlinkNavigateMoniker(pUnk: IUnknown;
|
|
pmkTarget: IMoniker): HResult; stdcall;
|
|
|
|
{$EXTERNALSYM HlinkSimpleNavigateToString}
|
|
function HlinkSimpleNavigateToString(
|
|
szTarget, // required - target document - null if local jump w/in doc
|
|
szLocation, // optional, for navigation into middle of a doc
|
|
szTargetFrameName: PWideChar; // optional, for targeting frame-sets
|
|
pUnk: IUnknown; // required - we'll search this for other necessary interfaces
|
|
pbc: IBindCtx; // optional. caller may register an IBSC in this
|
|
pBSC: IBindStatusCallback;
|
|
grfHLNF, // flags
|
|
dwReserved: DWORD // for future use, must be NULL
|
|
): HResult; stdcall;
|
|
|
|
{$EXTERNALSYM HlinkSimpleNavigateToMoniker}
|
|
function HlinkSimpleNavigateToMoniker(
|
|
pmkTarget: IMoniker; // required - target document - (may be null
|
|
szLocation, // optional, for navigation into middle of a doc
|
|
szTargetFrameName: PWideChar; // optional, for targeting frame-sets
|
|
pUnk: IUnknown; // required - we'll search this for other necessary interfaces
|
|
pbc: IBindCtx; // optional. caller may register an IBSC in this
|
|
pBSC: IBindStatusCallback;
|
|
grfHLNF, // flags
|
|
dwReserved: DWORD // for future use, must be NULL
|
|
): HResult; stdcall;
|
|
|
|
{$EXTERNALSYM CoInternetParseUrl}
|
|
function CoInternetParseUrl(pwzUrl: PWideChar; ParseAction: TParseAction;
|
|
dwFlags: DWORD; pszResult: PWideChar; ccHResult: DWORD;
|
|
out pccHResult: DWORD; dwReserved: DWORD): HResult; stdcall;
|
|
{$EXTERNALSYM OInetParseUrl}
|
|
function OInetParseUrl(pwzUrl: PWideChar; ParseAction: TParseAction;
|
|
dwFlags: DWORD; pszResult: PWideChar; ccHResult: DWORD;
|
|
out pccHResult: DWORD; dwReserved: DWORD): HResult; stdcall;
|
|
{$EXTERNALSYM CoInternetCombineUrl}
|
|
function CoInternetCombineUrl(pwzBaseUrl: PWideChar; pwzRelativeUrl: PWideChar;
|
|
dwCombineFlags: DWORD; pszResult: PWideChar; ccHResult: DWORD;
|
|
out pccHResult: DWORD; dwReserved: DWORD): HResult; stdcall;
|
|
{$EXTERNALSYM OInetCombineUrl}
|
|
function OInetCombineUrl(pwzBaseUrl: PWideChar; pwzRelativeUrl: PWideChar;
|
|
dwCombineFlags: DWORD; pszResult: PWideChar; ccHResult: DWORD;
|
|
out pccHResult: DWORD; dwReserved: DWORD): HResult; stdcall;
|
|
{$EXTERNALSYM CoInternetCompareUrl}
|
|
function CoInternetCompareUrl(pwzUrl1, pwzUrl2: PWideChar;
|
|
dwFlags: DWORD): HResult; stdcall;
|
|
{$EXTERNALSYM OInetCompareUrl}
|
|
function OInetCompareUrl(pwzUrl1, pwzUrl2: PWideChar;
|
|
dwFlags: DWORD): HResult; stdcall;
|
|
{$EXTERNALSYM CoInternetGetProtocolFlags}
|
|
function CoInternetGetProtocolFlags(pwzUrl: PWideChar; var pdwFlags: DWORD;
|
|
dwReserved: DWORD): HResult; stdcall;
|
|
{$EXTERNALSYM CoInternetQueryInfo}
|
|
function CoInternetQueryInfo(pwzUrl: PWideChar; QueryOption: TQueryOption;
|
|
dwQueryFlags: DWORD; pvBuffer: Pointer; cbBuffer: DWORD;
|
|
var pcbBuffer: DWORD; dwReserved: DWORD): HResult; stdcall;
|
|
{$EXTERNALSYM OInetQueryInfo}
|
|
function OInetQueryInfo(pwzUrl: PWideChar; QueryOption: TQueryOption;
|
|
dwQueryFlags: DWORD; pvBuffer: Pointer; cbBuffer: DWORD;
|
|
var pcbBuffer: DWORD; dwReserved: DWORD): HResult; stdcall;
|
|
{$EXTERNALSYM CoInternetGetSession}
|
|
function CoInternetGetSession(dwSessionMode: DWORD;
|
|
out ppIInternetSession: IInternetSession;
|
|
dwReserved: DWORD): HResult; stdcall;
|
|
{$EXTERNALSYM OInetGetSession}
|
|
function OInetGetSession(dwSessionMode: DWORD;
|
|
out ppIInternetSession: IInternetSession;
|
|
dwReserved: DWORD): HResult; stdcall;
|
|
{$EXTERNALSYM CoInternetGetSecurityUrl}
|
|
function CoInternetGetSecurityUrl( pwzUrl: PWideChar; var ppwzSecUrl: PWideChar;
|
|
psuAction: TPSUAction; dwReserved: DWORD): HResult; stdcall;
|
|
{$EXTERNALSYM AsyncInstallDistributionUnit}
|
|
function AsyncInstallDistributionUnit(szDistUnit, szTYPE, szExt: PWideChar;
|
|
dwFileVersionMS, dwFileVersionLS: DWORD; szURL: PWideChar; pbc: IBindCtx;
|
|
pvReserved: Pointer; flags: DWORD): HResult; stdcall;
|
|
|
|
{$EXTERNALSYM CoInternetSetFeatureEnabled}
|
|
function CoInternetSetFeatureEnabled(FeatureEntry: TInternetFeatureList;
|
|
dwFlags: DWORD; fEnable: BOOL): HResult; stdcall;
|
|
{$EXTERNALSYM CoInternetIsFeatureEnabled}
|
|
function CoInternetIsFeatureEnabled(FeatureEntry: TInternetFeatureList;
|
|
dwFlags: DWORD): HResult; stdcall;
|
|
{$EXTERNALSYM CoInternetIsFeatureEnabledForUrl}
|
|
function CoInternetIsFeatureEnabledForUrl(FeatureEntry: TInternetFeatureList;
|
|
dwFlags: DWORD; szURL: PWideChar;
|
|
pSecMgr: IInternetSecurityManager): HResult; stdcall;
|
|
{$EXTERNALSYM CoInternetIsFeatureZoneElevationEnabled}
|
|
function CoInternetIsFeatureZoneElevationEnabled(szFromURL, szToURL: PWideChar;
|
|
pSecMgr: IInternetSecurityManager; dwFlags: DWORD): HResult; stdcall;
|
|
|
|
{$EXTERNALSYM CopyStgMedium}
|
|
function CopyStgMedium(const pcstgmedSrc: TStgMedium;
|
|
out pstgmedDest: TStgMedium): HResult; stdcall;
|
|
{$EXTERNALSYM CopyBindInfo}
|
|
function CopyBindInfo(const pcbiSrc: TBindInfo;
|
|
out pbiDest: TBindInfo ): HResult; stdcall;
|
|
{$EXTERNALSYM ReleaseBindInfo}
|
|
procedure ReleaseBindInfo(const pbindinfo: TBindInfo); stdcall;
|
|
|
|
// Creates the security manager object. The first argument is the Service provider
|
|
// to allow for delegation
|
|
{$EXTERNALSYM CoInternetCreateSecurityManager}
|
|
function CoInternetCreateSecurityManager(pSP: IServiceProvider;
|
|
out ppSM: IInternetSecurityManager; dwReserved: DWORD): HResult; stdcall;
|
|
|
|
{$EXTERNALSYM CoInternetCreateZoneManager}
|
|
function CoInternetCreateZoneManager(pSP: IServiceProvider;
|
|
out ppZM: IInternetZoneManager; dwReserved: DWORD): HResult; stdcall;
|
|
|
|
// Logging-specific apis
|
|
{$EXTERNALSYM IsLoggingEnabledA}
|
|
function IsLoggingEnabledA(pszUrl: PAnsiChar): BOOL; stdcall;
|
|
{$EXTERNALSYM IsLoggingEnabledW}
|
|
function IsLoggingEnabledW(pwszUrl: PWideChar): BOOL; stdcall;
|
|
{$EXTERNALSYM IsLoggingEnabled}
|
|
function IsLoggingEnabled(pszUrl: PTSTR): BOOL; stdcall;
|
|
|
|
{$EXTERNALSYM WriteHitLogging}
|
|
function WriteHitLogging(const lpLogginginfo: THitLoggingInfo): BOOL; stdcall;
|
|
|
|
{$EXTERNALSYM GetSoftwareUpdateInfo}
|
|
function GetSoftwareUpdateInfo(szDistUnit: PWideChar;
|
|
var psdi: TSoftDistInfo): HResult; stdcall;
|
|
{$EXTERNALSYM SetSoftwareUpdateAdvertisementState}
|
|
function SetSoftwareUpdateAdvertisementState(szDistUnit: PWideChar;
|
|
dwAdState, dwAdvertisedVersionMS,
|
|
dwAdvertisedVersionLS: DWORD): HResult; stdcall;
|
|
|
|
{$ENDIF JWA_IMPLEMENTATIONSECTION}
|
|
|
|
{$IFNDEF JWA_OMIT_SECTIONS}
|
|
implementation
|
|
uses JwaWinDLLNames;
|
|
{$ENDIF JWA_OMIT_SECTIONS}
|
|
|
|
{$IFNDEF JWA_INCLUDEMODE}
|
|
const
|
|
{$IFDEF UNICODE}
|
|
AWSuffix = 'W';
|
|
{$ELSE}
|
|
AWSuffix = 'A';
|
|
{$ENDIF UNICODE}
|
|
{$ENDIF JWA_INCLUDEMODE}
|
|
|
|
|
|
{$IFNDEF JWA_INTERFACESECTION}
|
|
|
|
// Macro functions
|
|
|
|
function GetUrlPolicyPermissions(dw: DWORD): DWORD;
|
|
begin
|
|
Result := dw and URLPOLICY_MASK_PERMISSIONS;
|
|
end;
|
|
|
|
procedure SetUrlPolicyPermissions(var dw: DWORD; dw2: DWORD);
|
|
begin
|
|
dw := (dw and not URLPOLICY_MASK_PERMISSIONS) or dw2;
|
|
end;
|
|
|
|
{$IFNDEF DYNAMIC_LINK}
|
|
function CreateURLMoniker; external UrlMonDll name 'CreateURLMoniker';
|
|
function CreateURLMonikerEx; external UrlMonDll name 'CreateURLMonikerEx';
|
|
function GetClassURL; external UrlMonDll name 'GetClassURL';
|
|
function CreateAsyncBindCtx; external UrlMonDll name 'CreateAsyncBindCtx';
|
|
function CreateAsyncBindCtxEx; external UrlMonDll name 'CreateAsyncBindCtxEx';
|
|
function MkParseDisplayNameEx; external UrlMonDll name 'MkParseDisplayNameEx';
|
|
function RegisterBindStatusCallback; external UrlMonDll name 'RegisterBindStatusCallback';
|
|
function RevokeBindStatusCallback; external UrlMonDll name 'RevokeBindStatusCallback';
|
|
function GetClassFileOrMime; external UrlMonDll name 'GetClassFileOrMime';
|
|
function IsValidURL; external UrlMonDll name 'IsValidURL';
|
|
function CoGetClassObjectFromURL; external UrlMonDll name 'CoGetClassObjectFromURL';
|
|
function FaultInIEFeature; external UrlMonDll name 'FaultInIEFeature';
|
|
function GetComponentIDFromCLSSPEC; external UrlMonDll name 'GetComponentIDFromCLSSPEC';
|
|
function IsAsyncMoniker; external UrlMonDll name 'IsAsyncMoniker';
|
|
function RegisterMediaTypes; external UrlMonDll name 'RegisterMediaTypes';
|
|
function FindMediaType; external UrlMonDll name 'FindMediaType';
|
|
function CreateFormatEnumerator; external UrlMonDll name 'CreateFormatEnumerator';
|
|
function RegisterFormatEnumerator; external UrlMonDll name 'RegisterFormatEnumerator';
|
|
function RevokeFormatEnumerator; external UrlMonDll name 'RevokeFormatEnumerator';
|
|
function RegisterMediaTypeClass; external UrlMonDll name 'RegisterMediaTypeClass';
|
|
function FindMediaTypeClass; external UrlMonDll name 'FindMediaTypeClass';
|
|
function UrlMkSetSessionOption; external UrlMonDll name 'UrlMkSetSessionOption';
|
|
function UrlMkGetSessionOption; external UrlMonDll name 'UrlMkGetSessionOption';
|
|
function FindMimeFromData; external UrlMonDll name 'FindMimeFromData';
|
|
function ObtainUserAgentString; external UrlMonDll name 'ObtainUserAgentString';
|
|
function CompareSecurityIds; external UrlMonDll name 'CompareSecurityIds';
|
|
function CompatFlagsFromClsid; external UrlMonDll name 'CompatFlagsFromClsid';
|
|
function URLOpenStreamA; external UrlMonDll name 'URLOpenStreamA';
|
|
function URLOpenStreamW; external UrlMonDll name 'URLOpenStreamW';
|
|
function URLOpenStream; external UrlMonDll name 'URLOpenStream'+AWSuffix;
|
|
function URLOpenPullStreamA; external UrlMonDll name 'URLOpenPullStreamA';
|
|
function URLOpenPullStreamW; external UrlMonDll name 'URLOpenPullStreamW';
|
|
function URLOpenPullStream; external UrlMonDll name 'URLOpenPullStream'+AWSuffix;
|
|
function URLDownloadToFileA; external UrlMonDll name 'URLDownloadToFileA';
|
|
function URLDownloadToFileW; external UrlMonDll name 'URLDownloadToFileW';
|
|
function URLDownloadToFile; external UrlMonDll name 'URLDownloadToFile'+AWSuffix;
|
|
function URLDownloadToCacheFileA; external UrlMonDll name 'URLDownloadToCacheFileA';
|
|
function URLDownloadToCacheFileW; external UrlMonDll name 'URLDownloadToCacheFileW';
|
|
function URLDownloadToCacheFile; external UrlMonDll name 'URLDownloadToCacheFile'+AWSuffix;
|
|
function URLOpenBlockingStreamA; external UrlMonDll name 'URLOpenBlockingStreamA';
|
|
function URLOpenBlockingStreamW; external UrlMonDll name 'URLOpenBlockingStreamW';
|
|
function URLOpenBlockingStream; external UrlMonDll name 'URLOpenBlockingStream'+AWSuffix;
|
|
function HlinkGoBack; external UrlMonDll name 'HlinkGoBack';
|
|
function HlinkGoForward; external UrlMonDll name 'HlinkGoForward';
|
|
function HlinkNavigateString; external UrlMonDll name 'HlinkNavigateString';
|
|
function HlinkNavigateMoniker; external UrlMonDll name 'HlinkNavigateMoniker';
|
|
function HlinkSimpleNavigateToString; external UrlMonDll name 'HlinkSimpleNavigateToString';
|
|
function HlinkSimpleNavigateToMoniker; external UrlMonDll name 'HlinkSimpleNavigateToMoniker';
|
|
function CoInternetParseUrl; external UrlMonDll name 'CoInternetParseUrl';
|
|
function CoInternetCombineUrl; external UrlMonDll name 'CoInternetCombineUrl';
|
|
function CoInternetCompareUrl; external UrlMonDll name 'CoInternetCompareUrl';
|
|
function CoInternetGetProtocolFlags; external UrlMonDll name 'CoInternetGetProtocolFlags';
|
|
function CoInternetQueryInfo; external UrlMonDll name 'CoInternetQueryInfo';
|
|
function CoInternetGetSession; external UrlMonDll name 'CoInternetGetSession';
|
|
function CoInternetGetSecurityUrl; external UrlMonDll name 'CoInternetGetSecurityUrl';
|
|
function AsyncInstallDistributionUnit; external UrlMonDll name 'AsyncInstallDistributionUnit';
|
|
function CoInternetSetFeatureEnabled; external UrlMonDll name 'CoInternetSetFeatureEnabled';
|
|
function CoInternetIsFeatureEnabled; external UrlMonDll name 'CoInternetIsFeatureEnabled';
|
|
function CoInternetIsFeatureEnabledForUrl; external UrlMonDll name 'CoInternetIsFeatureEnabledForUrl';
|
|
function CoInternetIsFeatureZoneElevationEnabled; external UrlMonDll name 'CoInternetIsFeatureZoneElevationEnabled';
|
|
function CopyStgMedium; external UrlMonDll name 'CopyStgMedium';
|
|
function CopyBindInfo; external UrlMonDll name 'CopyBindInfo';
|
|
procedure ReleaseBindInfo; external UrlMonDll name 'ReleaseBindInfo';
|
|
function CoInternetCreateSecurityManager; external UrlMonDll name 'CoInternetCreateSecurityManager';
|
|
function CoInternetCreateZoneManager; external UrlMonDll name 'CoInternetCreateZoneManager';
|
|
function OInetParseUrl; external UrlMonDll name 'CoInternetParseUrl';
|
|
function OInetCombineUrl; external UrlMonDll name 'CoInternetCombineUrl';
|
|
function OInetCompareUrl; external UrlMonDll name 'CoInternetCompareUrl';
|
|
function OInetQueryInfo; external UrlMonDll name 'CoInternetQueryInfo';
|
|
function OInetGetSession; external UrlMonDll name 'CoInternetGetSession';
|
|
function IsLoggingEnabledA; external UrlMonDll name 'IsLoggingEnabledA';
|
|
function IsLoggingEnabledW; external UrlMonDll name 'IsLoggingEnabledW';
|
|
function IsLoggingEnabled; external UrlMonDll name 'IsLoggingEnabled'+AWSuffix;
|
|
function WriteHitLogging; external UrlMonDll name 'WriteHitLogging';
|
|
function GetSoftwareUpdateInfo; external UrlMonDll name 'GetSoftwareUpdateInfo';
|
|
function SetSoftwareUpdateAdvertisementState; external UrlMonDll name 'SetSoftwareUpdateAdvertisementState';
|
|
function CreateURLBinding ; external UrlMonDll name 'CreateURLBinding';
|
|
{$ELSE}
|
|
|
|
var
|
|
_CreateURLMoniker: Pointer;
|
|
|
|
function CreateURLMoniker;
|
|
begin
|
|
GetProcedureAddress(_CreateURLMoniker, UrlMonDll, 'CreateURLMoniker');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_CreateURLMoniker]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_CreateURLMonikerEx: Pointer;
|
|
|
|
function CreateURLMonikerEx;
|
|
begin
|
|
GetProcedureAddress(_CreateURLMonikerEx, UrlMonDll, 'CreateURLMonikerEx');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_CreateURLMonikerEx]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_GetClassURL: Pointer;
|
|
|
|
function GetClassURL;
|
|
begin
|
|
GetProcedureAddress(_GetClassURL, UrlMonDll, 'GetClassURL');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_GetClassURL]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_CreateAsyncBindCtx: Pointer;
|
|
|
|
function CreateAsyncBindCtx;
|
|
begin
|
|
GetProcedureAddress(_CreateAsyncBindCtx, UrlMonDll, 'CreateAsyncBindCtx');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_CreateAsyncBindCtx]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_CreateAsyncBindCtxEx: Pointer;
|
|
|
|
function CreateAsyncBindCtxEx;
|
|
begin
|
|
GetProcedureAddress(_CreateAsyncBindCtxEx, UrlMonDll, 'CreateAsyncBindCtxEx');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_CreateAsyncBindCtxEx]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_MkParseDisplayNameEx: Pointer;
|
|
|
|
function MkParseDisplayNameEx;
|
|
begin
|
|
GetProcedureAddress(_MkParseDisplayNameEx, UrlMonDll, 'MkParseDisplayNameEx');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_MkParseDisplayNameEx]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_RegisterBindStatusCallback: Pointer;
|
|
|
|
function RegisterBindStatusCallback;
|
|
begin
|
|
GetProcedureAddress(_RegisterBindStatusCallback, UrlMonDll, 'RegisterBindStatusCallback');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_RegisterBindStatusCallback]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_RevokeBindStatusCallback: Pointer;
|
|
|
|
function RevokeBindStatusCallback;
|
|
begin
|
|
GetProcedureAddress(_RevokeBindStatusCallback, UrlMonDll, 'RevokeBindStatusCallback');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_RevokeBindStatusCallback]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_GetClassFileOrMime: Pointer;
|
|
|
|
function GetClassFileOrMime;
|
|
begin
|
|
GetProcedureAddress(_GetClassFileOrMime, UrlMonDll, 'GetClassFileOrMime');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_GetClassFileOrMime]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_IsValidURL: Pointer;
|
|
|
|
function IsValidURL;
|
|
begin
|
|
GetProcedureAddress(_IsValidURL, UrlMonDll, 'IsValidURL');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_IsValidURL]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_CoGetClassObjectFromURL: Pointer;
|
|
|
|
function CoGetClassObjectFromURL;
|
|
begin
|
|
GetProcedureAddress(_CoGetClassObjectFromURL, UrlMonDll, 'CoGetClassObjectFromURL');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_CoGetClassObjectFromURL]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_FaultInIEFeature: Pointer;
|
|
|
|
function FaultInIEFeature;
|
|
begin
|
|
GetProcedureAddress(_FaultInIEFeature, UrlMonDll, 'FaultInIEFeature');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_FaultInIEFeature]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_GetComponentIDFromCLSSPEC: Pointer;
|
|
|
|
function GetComponentIDFromCLSSPEC;
|
|
begin
|
|
GetProcedureAddress(_GetComponentIDFromCLSSPEC, UrlMonDll, 'GetComponentIDFromCLSSPEC');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_GetComponentIDFromCLSSPEC]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_IsAsyncMoniker: Pointer;
|
|
|
|
function IsAsyncMoniker;
|
|
begin
|
|
GetProcedureAddress(_IsAsyncMoniker, UrlMonDll, 'IsAsyncMoniker');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_IsAsyncMoniker]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_RegisterMediaTypes: Pointer;
|
|
|
|
function RegisterMediaTypes;
|
|
begin
|
|
GetProcedureAddress(_RegisterMediaTypes, UrlMonDll, 'RegisterMediaTypes');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_RegisterMediaTypes]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_FindMediaType: Pointer;
|
|
|
|
function FindMediaType;
|
|
begin
|
|
GetProcedureAddress(_FindMediaType, UrlMonDll, 'FindMediaType');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_FindMediaType]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_CreateFormatEnumerator: Pointer;
|
|
|
|
function CreateFormatEnumerator;
|
|
begin
|
|
GetProcedureAddress(_CreateFormatEnumerator, UrlMonDll, 'CreateFormatEnumerator');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_CreateFormatEnumerator]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_RegisterFormatEnumerator: Pointer;
|
|
|
|
function RegisterFormatEnumerator;
|
|
begin
|
|
GetProcedureAddress(_RegisterFormatEnumerator, UrlMonDll, 'RegisterFormatEnumerator');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_RegisterFormatEnumerator]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_RevokeFormatEnumerator: Pointer;
|
|
|
|
function RevokeFormatEnumerator;
|
|
begin
|
|
GetProcedureAddress(_RevokeFormatEnumerator, UrlMonDll, 'RevokeFormatEnumerator');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_RevokeFormatEnumerator]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_RegisterMediaTypeClass: Pointer;
|
|
|
|
function RegisterMediaTypeClass;
|
|
begin
|
|
GetProcedureAddress(_RegisterMediaTypeClass, UrlMonDll, 'RegisterMediaTypeClass');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_RegisterMediaTypeClass]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_FindMediaTypeClass: Pointer;
|
|
|
|
function FindMediaTypeClass;
|
|
begin
|
|
GetProcedureAddress(_FindMediaTypeClass, UrlMonDll, 'FindMediaTypeClass');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_FindMediaTypeClass]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_UrlMkSetSessionOption: Pointer;
|
|
|
|
function UrlMkSetSessionOption;
|
|
begin
|
|
GetProcedureAddress(_UrlMkSetSessionOption, UrlMonDll, 'UrlMkSetSessionOption');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_UrlMkSetSessionOption]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_UrlMkGetSessionOption: Pointer;
|
|
|
|
function UrlMkGetSessionOption;
|
|
begin
|
|
GetProcedureAddress(_UrlMkGetSessionOption, UrlMonDll, 'UrlMkGetSessionOption');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_UrlMkGetSessionOption]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_FindMimeFromData: Pointer;
|
|
|
|
function FindMimeFromData;
|
|
begin
|
|
GetProcedureAddress(_FindMimeFromData, UrlMonDll, 'FindMimeFromData');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_FindMimeFromData]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_ObtainUserAgentString: Pointer;
|
|
|
|
function ObtainUserAgentString;
|
|
begin
|
|
GetProcedureAddress(_ObtainUserAgentString, UrlMonDll, 'ObtainUserAgentString');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_ObtainUserAgentString]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_CompareSecurityIds: Pointer;
|
|
|
|
function CompareSecurityIds;
|
|
begin
|
|
GetProcedureAddress(_CompareSecurityIds, UrlMonDll, 'CompareSecurityIds');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_CompareSecurityIds]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_CompatFlagsFromClsid: Pointer;
|
|
|
|
function CompatFlagsFromClsid;
|
|
begin
|
|
GetProcedureAddress(_CompatFlagsFromClsid, UrlMonDll, 'CompatFlagsFromClsid');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_CompatFlagsFromClsid]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_URLOpenStreamA: Pointer;
|
|
|
|
function URLOpenStreamA;
|
|
begin
|
|
GetProcedureAddress(_URLOpenStreamA, UrlMonDll, 'URLOpenStreamA');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_URLOpenStreamA]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_URLOpenStreamW: Pointer;
|
|
|
|
function URLOpenStreamW;
|
|
begin
|
|
GetProcedureAddress(_URLOpenStreamW, UrlMonDll, 'URLOpenStreamW');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_URLOpenStreamW]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_URLOpenStream: Pointer;
|
|
|
|
function URLOpenStream;
|
|
begin
|
|
GetProcedureAddress(_URLOpenStream, UrlMonDll, 'URLOpenStream'+AWSuffix);
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_URLOpenStream]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_URLOpenPullStreamA: Pointer;
|
|
|
|
function URLOpenPullStreamA;
|
|
begin
|
|
GetProcedureAddress(_URLOpenPullStreamA, UrlMonDll, 'URLOpenPullStreamA');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_URLOpenPullStreamA]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_URLOpenPullStreamW: Pointer;
|
|
|
|
function URLOpenPullStreamW;
|
|
begin
|
|
GetProcedureAddress(_URLOpenPullStreamW, UrlMonDll, 'URLOpenPullStreamW');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_URLOpenPullStreamW]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_URLOpenPullStream: Pointer;
|
|
|
|
function URLOpenPullStream;
|
|
begin
|
|
GetProcedureAddress(_URLOpenPullStream, UrlMonDll, 'URLOpenPullStream'+AWSuffix);
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_URLOpenPullStream]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_URLDownloadToFileA: Pointer;
|
|
|
|
function URLDownloadToFileA;
|
|
begin
|
|
GetProcedureAddress(_URLDownloadToFileA, UrlMonDll, 'URLDownloadToFileA');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_URLDownloadToFileA]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_URLDownloadToFileW: Pointer;
|
|
|
|
function URLDownloadToFileW;
|
|
begin
|
|
GetProcedureAddress(_URLDownloadToFileW, UrlMonDll, 'URLDownloadToFileW');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_URLDownloadToFileW]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_URLDownloadToFile: Pointer;
|
|
|
|
function URLDownloadToFile;
|
|
begin
|
|
GetProcedureAddress(_URLDownloadToFile, UrlMonDll, 'URLDownloadToFile'+AWSuffix);
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_URLDownloadToFile]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_URLDownloadToCacheFileA: Pointer;
|
|
|
|
function URLDownloadToCacheFileA;
|
|
begin
|
|
GetProcedureAddress(_URLDownloadToCacheFileA, UrlMonDll, 'URLDownloadToCacheFileA');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_URLDownloadToCacheFileA]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_URLDownloadToCacheFileW: Pointer;
|
|
|
|
function URLDownloadToCacheFileW;
|
|
begin
|
|
GetProcedureAddress(_URLDownloadToCacheFileW, UrlMonDll, 'URLDownloadToCacheFileW');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_URLDownloadToCacheFileW]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_URLDownloadToCacheFile: Pointer;
|
|
|
|
function URLDownloadToCacheFile;
|
|
begin
|
|
GetProcedureAddress(_URLDownloadToCacheFile, UrlMonDll, 'URLDownloadToCacheFile'+AWSuffix);
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_URLDownloadToCacheFile]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_URLOpenBlockingStreamA: Pointer;
|
|
|
|
function URLOpenBlockingStreamA;
|
|
begin
|
|
GetProcedureAddress(_URLOpenBlockingStreamA, UrlMonDll, 'URLOpenBlockingStreamA');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_URLOpenBlockingStreamA]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_URLOpenBlockingStreamW: Pointer;
|
|
|
|
function URLOpenBlockingStreamW;
|
|
begin
|
|
GetProcedureAddress(_URLOpenBlockingStreamW, UrlMonDll, 'URLOpenBlockingStreamW');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_URLOpenBlockingStreamW]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_URLOpenBlockingStream: Pointer;
|
|
|
|
function URLOpenBlockingStream;
|
|
begin
|
|
GetProcedureAddress(_URLOpenBlockingStream, UrlMonDll, 'URLOpenBlockingStream'+AWSuffix);
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_URLOpenBlockingStream]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_HlinkGoBack: Pointer;
|
|
|
|
function HlinkGoBack;
|
|
begin
|
|
GetProcedureAddress(_HlinkGoBack, UrlMonDll, 'HlinkGoBack');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_HlinkGoBack]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_HlinkGoForward: Pointer;
|
|
|
|
function HlinkGoForward;
|
|
begin
|
|
GetProcedureAddress(_HlinkGoForward, UrlMonDll, 'HlinkGoForward');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_HlinkGoForward]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_HlinkNavigateString: Pointer;
|
|
|
|
function HlinkNavigateString;
|
|
begin
|
|
GetProcedureAddress(_HlinkNavigateString, UrlMonDll, 'HlinkNavigateString');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_HlinkNavigateString]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_HlinkNavigateMoniker: Pointer;
|
|
|
|
function HlinkNavigateMoniker;
|
|
begin
|
|
GetProcedureAddress(_HlinkNavigateMoniker, UrlMonDll, 'HlinkNavigateMoniker');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_HlinkNavigateMoniker]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_HlinkSimpleNavigateToString: Pointer;
|
|
|
|
function HlinkSimpleNavigateToString;
|
|
begin
|
|
GetProcedureAddress(_HlinkSimpleNavigateToString, UrlMonDll, 'HlinkSimpleNavigateToString');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_HlinkSimpleNavigateToString]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_HlinkSimpleNavigateToMoniker: Pointer;
|
|
|
|
function HlinkSimpleNavigateToMoniker;
|
|
begin
|
|
GetProcedureAddress(_HlinkSimpleNavigateToMoniker, UrlMonDll, 'HlinkSimpleNavigateToMoniker');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_HlinkSimpleNavigateToMoniker]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_CoInternetParseUrl: Pointer;
|
|
|
|
function CoInternetParseUrl;
|
|
begin
|
|
GetProcedureAddress(_CoInternetParseUrl, UrlMonDll, 'CoInternetParseUrl');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_CoInternetParseUrl]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_CoInternetCombineUrl: Pointer;
|
|
|
|
function CoInternetCombineUrl;
|
|
begin
|
|
GetProcedureAddress(_CoInternetCombineUrl, UrlMonDll, 'CoInternetCombineUrl');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_CoInternetCombineUrl]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_CoInternetCompareUrl: Pointer;
|
|
|
|
function CoInternetCompareUrl;
|
|
begin
|
|
GetProcedureAddress(_CoInternetCompareUrl, UrlMonDll, 'CoInternetCompareUrl');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_CoInternetCompareUrl]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_CoInternetGetProtocolFlags: Pointer;
|
|
|
|
function CoInternetGetProtocolFlags;
|
|
begin
|
|
GetProcedureAddress(_CoInternetGetProtocolFlags, UrlMonDll, 'CoInternetGetProtocolFlags');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_CoInternetGetProtocolFlags]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_CoInternetQueryInfo: Pointer;
|
|
|
|
function CoInternetQueryInfo;
|
|
begin
|
|
GetProcedureAddress(_CoInternetQueryInfo, UrlMonDll, 'CoInternetQueryInfo');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_CoInternetQueryInfo]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_CoInternetGetSession: Pointer;
|
|
|
|
function CoInternetGetSession;
|
|
begin
|
|
GetProcedureAddress(_CoInternetGetSession, UrlMonDll, 'CoInternetGetSession');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_CoInternetGetSession]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_CoInternetGetSecurityUrl: Pointer;
|
|
|
|
function CoInternetGetSecurityUrl;
|
|
begin
|
|
GetProcedureAddress(_CoInternetGetSecurityUrl, UrlMonDll, 'CoInternetGetSecurityUrl');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_CoInternetGetSecurityUrl]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_AsyncInstallDistributionUnit: Pointer;
|
|
|
|
function AsyncInstallDistributionUnit;
|
|
begin
|
|
GetProcedureAddress(_AsyncInstallDistributionUnit, UrlMonDll, 'AsyncInstallDistributionUnit');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_AsyncInstallDistributionUnit]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_CoInternetSetFeatureEnabled: Pointer;
|
|
|
|
function CoInternetSetFeatureEnabled;
|
|
begin
|
|
GetProcedureAddress(_CoInternetSetFeatureEnabled, UrlMonDll, 'CoInternetSetFeatureEnabled');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_CoInternetSetFeatureEnabled]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_CoInternetIsFeatureEnabled: Pointer;
|
|
|
|
function CoInternetIsFeatureEnabled;
|
|
begin
|
|
GetProcedureAddress(_CoInternetIsFeatureEnabled, UrlMonDll, 'CoInternetIsFeatureEnabled');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_CoInternetIsFeatureEnabled]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
//_CoInternetIsFeatureEnabledForUrl: Pointer;
|
|
_CoInternetIsFeatureEFU: Pointer;
|
|
|
|
function CoInternetIsFeatureEnabledForUrl;
|
|
begin
|
|
GetProcedureAddress(_CoInternetIsFeatureEFU, UrlMonDll, 'CoInternetIsFeatureEnabledForUrl');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_CoInternetIsFeatureEFU]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
//_CoInternetIsFeatureZoneElevationEnabled: Pointer;
|
|
_CoInternetIsFeatureZEE: Pointer;
|
|
|
|
function CoInternetIsFeatureZoneElevationEnabled;
|
|
begin
|
|
GetProcedureAddress(_CoInternetIsFeatureZEE, UrlMonDll, 'CoInternetIsFeatureZoneElevationEnabled');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_CoInternetIsFeatureZEE]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_CopyStgMedium: Pointer;
|
|
|
|
function CopyStgMedium;
|
|
begin
|
|
GetProcedureAddress(_CopyStgMedium, UrlMonDll, 'CopyStgMedium');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_CopyStgMedium]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_CopyBindInfo: Pointer;
|
|
|
|
function CopyBindInfo;
|
|
begin
|
|
GetProcedureAddress(_CopyBindInfo, UrlMonDll, 'CopyBindInfo');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_CopyBindInfo]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_ReleaseBindInfo: Pointer;
|
|
|
|
procedure ReleaseBindInfo;
|
|
begin
|
|
GetProcedureAddress(_ReleaseBindInfo, UrlMonDll, 'ReleaseBindInfo');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_ReleaseBindInfo]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_CoInternetCreateSecurityManager: Pointer;
|
|
|
|
function CoInternetCreateSecurityManager;
|
|
begin
|
|
GetProcedureAddress(_CoInternetCreateSecurityManager, UrlMonDll, 'CoInternetCreateSecurityManager');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_CoInternetCreateSecurityManager]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_CoInternetCreateZoneManager: Pointer;
|
|
|
|
function CoInternetCreateZoneManager;
|
|
begin
|
|
GetProcedureAddress(_CoInternetCreateZoneManager, UrlMonDll, 'CoInternetCreateZoneManager');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_CoInternetCreateZoneManager]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_OInetParseUrl: Pointer;
|
|
|
|
function OInetParseUrl;
|
|
begin
|
|
GetProcedureAddress(_OInetParseUrl, UrlMonDll, 'OInetParseUrl');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_OInetParseUrl]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_OInetCombineUrl: Pointer;
|
|
|
|
function OInetCombineUrl;
|
|
begin
|
|
GetProcedureAddress(_OInetCombineUrl, UrlMonDll, 'OInetCombineUrl');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_OInetCombineUrl]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_OInetCompareUrl: Pointer;
|
|
|
|
function OInetCompareUrl;
|
|
begin
|
|
GetProcedureAddress(_OInetCompareUrl, UrlMonDll, 'OInetCompareUrl');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_OInetCompareUrl]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_OInetQueryInfo: Pointer;
|
|
|
|
function OInetQueryInfo;
|
|
begin
|
|
GetProcedureAddress(_OInetQueryInfo, UrlMonDll, 'OInetQueryInfo');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_OInetQueryInfo]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_OInetGetSession: Pointer;
|
|
|
|
function OInetGetSession;
|
|
begin
|
|
GetProcedureAddress(_OInetGetSession, UrlMonDll, 'OInetGetSession');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_OInetGetSession]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_IsLoggingEnabledA: Pointer;
|
|
|
|
function IsLoggingEnabledA;
|
|
begin
|
|
GetProcedureAddress(_IsLoggingEnabledA, UrlMonDll, 'IsLoggingEnabledA');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_IsLoggingEnabledA]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_IsLoggingEnabledW: Pointer;
|
|
|
|
function IsLoggingEnabledW;
|
|
begin
|
|
GetProcedureAddress(_IsLoggingEnabledW, UrlMonDll, 'IsLoggingEnabledW');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_IsLoggingEnabledW]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_IsLoggingEnabled: Pointer;
|
|
|
|
function IsLoggingEnabled;
|
|
begin
|
|
GetProcedureAddress(_IsLoggingEnabled, UrlMonDll, 'IsLoggingEnabled'+AWSuffix);
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_IsLoggingEnabled]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_WriteHitLogging: Pointer;
|
|
|
|
function WriteHitLogging;
|
|
begin
|
|
GetProcedureAddress(_WriteHitLogging, UrlMonDll, 'WriteHitLogging');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_WriteHitLogging]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_GetSoftwareUpdateInfo: Pointer;
|
|
|
|
function GetSoftwareUpdateInfo;
|
|
begin
|
|
GetProcedureAddress(_GetSoftwareUpdateInfo, UrlMonDll, 'GetSoftwareUpdateInfo');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_GetSoftwareUpdateInfo]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
//_SetSoftwareUpdateAdvertisementState: Pointer;
|
|
_SetSoftwareUpdateAS: Pointer;
|
|
|
|
function SetSoftwareUpdateAdvertisementState;
|
|
begin
|
|
GetProcedureAddress(_SetSoftwareUpdateAS, UrlMonDll, 'SetSoftwareUpdateAdvertisementState');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_SetSoftwareUpdateAS]
|
|
end;
|
|
end;
|
|
|
|
var
|
|
_CreateURLBinding: Pointer;
|
|
|
|
function CreateURLBinding;
|
|
begin
|
|
GetProcedureAddress(_CreateURLBinding, UrlMonDll, 'CreateURLBinding');
|
|
asm
|
|
MOV ESP, EBP
|
|
POP EBP
|
|
JMP [_CreateURLBinding]
|
|
end;
|
|
end;
|
|
|
|
|
|
{$ENDIF DYNAMIC_LINK}
|
|
|
|
{$ENDIF JWA_INTERFACESECTION}
|
|
|
|
|
|
|
|
{$IFNDEF JWA_OMIT_SECTIONS}
|
|
end.
|
|
{$ENDIF JWA_OMIT_SECTIONS} |