' ########################################################################################
' Microsoft Windows
' File: HTIface.inc
' Copyright (c) 2011 Jos? Roca
' Portions Copyright (c) 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.
' ########################################################################################
#IF NOT %DEF(PBX_htiface_PBI)
#DEFINE PBX_htiface_PBI
%EQUATE `HTIFACE_INC = 1
'/* header files for imported files */
#INCLUDE ONCE "Legacy/COM/ObjIdl.inc"
#INCLUDE ONCE "Legacy/COM/OleIdl.inc"
#INCLUDE ONCE "Legacy/Network/UrlMon.inc"
'//--------------------------------------------------------------------------
'// OLE Hyperlinking ITargetFrame Interfaces.
#INCLUDE ONCE "Legacy/System/htiframe.inc"
' ########################################################################################
' Interface name = ITargetFrame
' IID = {86D52E11-94A8-11d0-82AF-00C04FD5AE38}
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%ITargetFrame_INTERFACE_DEFINED)
 %ITargetFrame_INTERFACE_DEFINED = 1
' NAVIGATEFRAME_FLAGS enum
%EQUATE `NAVIGATEFRAME_FL_RECORD = &H1
%EQUATE `NAVIGATEFRAME_FL_POST = &H2
%EQUATE `NAVIGATEFRAME_FL_NO_DOC_CACHE = &H4
%EQUATE `NAVIGATEFRAME_FL_NO_IMAGE_CACHE = &H8
%EQUATE `NAVIGATEFRAME_FL_AUTH_FAIL_CACHE_OK = &H10
%EQUATE `NAVIGATEFRAME_FL_SENDING_FROM_FORM = &H20
%EQUATE `NAVIGATEFRAME_FL_REALLY_SENDING_FROM_FORM = &H40
' // Size = 20 bytes
TYPE NAVIGATEDATA DWORD
 ulTarget AS DWORD ' ULONG ulTarget
 ulURL AS DWORD ' ULONG ulURL
 ulRefURL AS DWORD ' ULONG ulRefURL
 ulPostData AS DWORD ' ULONG ulPostData
 dwFlags AS DWORD ' DWORD dwFlags
END TYPE
$IID_ITargetFrame = GUID$("{D5F78C80-5252-11CF-90FA-00AA0042106E}")
INTERFACE ITargetFrame $IID_ITargetFrame
 INHERIT IUnknown
 ' =====================================================================================
 METHOD SetFrameName ( ' VTable offset = 12
 BYREF pszFrameName AS WSTRINGZ
 ) AS LONG
 ' =====================================================================================
 METHOD GetFrameName ( ' VTable offset = 16
 BYREF ppszFrameName AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD GetParentFrame ( ' VTable offset = 20
 BYREF ppunkParent AS IUnknown
 ) AS LONG
 ' =====================================================================================
 METHOD FindFrame ( ' VTable offset = 24
 BYREF pszTargetName AS WSTRINGZ
 , BYVAL ppunkContextFrame AS IUnknown
 , BYVAL dwFlags AS DWORD
 , BYREF ppunkTargetFrame AS IUnknown
 ) AS LONG
 ' =====================================================================================
 METHOD SetFrameSrc ( ' VTable offset = 28
 BYREF pszFrameSrc AS WSTRINGZ
 ) AS LONG
 ' =====================================================================================
 METHOD GetFrameSrc ( ' VTable offset = 32
 BYREF ppszFrameSrc AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD GetFramesContainer ( ' VTable offset = 36
 BYREF ppContainer AS IOleContainer
 ) AS LONG
 ' =====================================================================================
 METHOD SetFrameOptions ( ' VTable offset = 40
 BYVAL dwFlags AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD GetFrameOptions ( ' VTable offset = 44
 BYREF pdwFlags AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetFrameMargins ( ' VTable offset = 48
 BYVAL dwWidth AS DWORD
 , BYVAL dwHeight AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD GetFrameMargins ( ' VTable offset = 52
 BYREF pdwWidth AS DWORD
 , BYREF pdwHeight AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD RemoteNavigate ( ' VTable offset = 56
 BYVAL cLength AS DWORD
 , BYVAL pulData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD OnChildFrameActivate ( ' VTable offset = 60
 BYVAL pUnkChildFrame AS IUnknown
 ) AS LONG
 ' =====================================================================================
 METHOD OnChildFrameDeactivate ( ' VTable offset = 64
 BYVAL pUnkChildFrame AS IUnknown
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __ITargetFrame_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = ITargetEmbedding
' IID = {548793C0-9E74-11CF-9655-00A0C9034923}
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%ITargetEmbedding_INTERFACE_DEFINED)
 %ITargetEmbedding_INTERFACE_DEFINED = 1
$IID_ITargetEmbedding = GUID$("{548793C0-9E74-11CF-9655-00A0C9034923}")
INTERFACE ITargetEmbedding $IID_ITargetEmbedding
 INHERIT IUnknown
 ' =====================================================================================
 METHOD GetTargetFrame ( ' VTable offset = 12
 BYREF ppTargetFrame AS ITargetFrame
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __ITargetEmbedding_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = ITargetFramePriv
' IID = {9216E421-2BF5-11D0-82B4-00A0C90C29C5}
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%ITargetFramePriv_INTERFACE_DEFINED)
 %ITargetFramePriv_INTERFACE_DEFINED = 1
$IID_ITargetFramePriv = GUID$("{9216E421-2BF5-11D0-82B4-00A0C90C29C5}")
INTERFACE ITargetFramePriv $IID_ITargetFramePriv
 INHERIT IUnknown
 ' =====================================================================================
 METHOD FindFrameDownwards ( ' VTable offset = 12
 BYREF pszTargetName AS WSTRINGZ
 , BYVAL dwFlags AS DWORD
 , BYREF ppunkTargetFrame AS IUnknown
 ) AS LONG
 ' =====================================================================================
 METHOD FindFrameInContext ( ' VTable offset = 16
 BYREF pszTargetName AS WSTRINGZ
 , BYREF punkContextFrame AS IUnknown
 , BYVAL dwFlags AS DWORD
 , BYREF ppunkTargetFrame AS IUnknown
 ) AS LONG
 ' =====================================================================================
 METHOD OnChildFrameActivate ( ' VTable offset = 20
 BYVAL pUnkChildFrame AS IUnknown
 ) AS LONG
 ' =====================================================================================
 METHOD OnChildFrameDeactivate ( ' VTable offset = 24
 BYVAL pUnkChildFrame AS IUnknown
 ) AS LONG
 ' =====================================================================================
 METHOD NavigateHack ( ' VTable offset = 28
 BYVAL grfHLNF AS DWORD
 , BYVAL pbc AS IBindCtx
 , BYVAL pibsc AS IBindStatusCallback
 , BYREF pszTargetName AS WSTRINGZ
 , BYREF pszUrl AS WSTRINGZ
 , BYREF pszLocation AS WSTRINGZ
 ) AS LONG
 ' =====================================================================================
 METHOD FindBrowserByIndex ( ' VTable offset = 32
 BYVAL dwID AS DWORD
 , BYREF ppunkBrowser AS IUnknown
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __ITargetFramePriv_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = ITargetFramePriv2
' IID = {B2C867E6-69D6-46F2-A611-DED9A4BD7FEF}
' Inherited interface = ITargetFramePriv
' ########################################################################################
#IF NOT %DEF(%ITargetFramePriv2_INTERFACE_DEFINED)
 %ITargetFramePriv2_INTERFACE_DEFINED = 1
$IID_ITargetFramePriv2 = GUID$("{B2C867E6-69D6-46F2-A611-DED9A4BD7FEF}")
INTERFACE ITargetFramePriv2 $IID_ITargetFramePriv2
 INHERIT IUnknown
 ' =====================================================================================
 ' ITargetFramePriv methods
 ' =====================================================================================
 METHOD FindFrameDownwards ( ' VTable offset = 12
 BYREF pszTargetName AS WSTRINGZ
 , BYVAL dwFlags AS DWORD
 , BYREF ppunkTargetFrame AS IUnknown
 ) AS LONG
 ' =====================================================================================
 METHOD FindFrameInContext ( ' VTable offset = 16
 BYREF pszTargetName AS WSTRINGZ
 , BYREF punkContextFrame AS IUnknown
 , BYVAL dwFlags AS DWORD
 , BYREF ppunkTargetFrame AS IUnknown
 ) AS LONG
 ' =====================================================================================
 METHOD OnChildFrameActivate ( ' VTable offset = 20
 BYVAL pUnkChildFrame AS IUnknown
 ) AS LONG
 ' =====================================================================================
 METHOD OnChildFrameDeactivate ( ' VTable offset = 24
 BYVAL pUnkChildFrame AS IUnknown
 ) AS LONG
 ' =====================================================================================
 METHOD NavigateHack ( ' VTable offset = 28
 BYVAL grfHLNF AS DWORD
 , BYVAL pbc AS IBindCtx
 , BYVAL pibsc AS IBindStatusCallback
 , BYREF pszTargetName AS WSTRINGZ
 , BYREF pszUrl AS WSTRINGZ
 , BYREF pszLocation AS WSTRINGZ
 ) AS LONG
 ' =====================================================================================
 METHOD FindBrowserByIndex ( ' VTable offset = 32
 BYVAL dwID AS DWORD
 , BYREF ppunkBrowser AS IUnknown
 ) AS LONG
 ' =====================================================================================
 ' =====================================================================================
 ' ITargetFramePriv2 methods
 ' =====================================================================================
 METHOD AggregatedNavigation2 ( ' VTable offset = 36
 BYVAL grfHLNF AS DWORD
 , BYVAL pbc AS IBindCtx
 , BYVAL pibsc AS IBindStatusCallback
 , BYREF pszTargetName AS WSTRINGZ
 , BYVAL pUri AS IUri
 , BYREF pszLocation AS WSTRINGZ
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __ITargetFramePriv2_INTERFACE_DEFINED__ */
#ENDIF
