' ########################################################################################
' Microsoft Windows
' File: filterreg.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_filterreg_PBI)
#DEFINE PBX_filterreg_PBI
%EQUATE `FILTERREG_INC = 1
'/* header files for imported files */
#INCLUDE ONCE "Legacy/COM/OAIdl.inc"
#INCLUDE ONCE "Legacy/COM/OCIdl.inc"
#INCLUDE ONCE "Legacy/System/Filter.inc"
' ########################################################################################
' IUrlAccessor ILoadFilter
' IID = C7310722-AC80-11D1-8DF3-00C04FB6EF4F
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%ILoadFilter_INTERFACE_DEFINED)
 %ILoadFilter_INTERFACE_DEFINED = 1
' // Size = 16 bytes
TYPE FILTERED_DATA_SOURCES DWORD
 pwcsExtension AS WSTRINGZ PTR ' const WCHAR *
 pwcsMime AS WSTRINGZ PTR ' const WCHAR *
 pClsid AS GUID PTR ' const CLSID *
 pwcsOverride AS WSTRINGZ PTR ' const WCHAR *
END TYPE
$IID_ILoadFilter = GUID$("{C7310722-AC80-11D1-8DF3-00C04FB6EF4F}")
INTERFACE ILoadFilter $IID_ILoadFilter
 INHERIT IUnknown
 ' =====================================================================================
 METHOD LoadIFilter ( ' VTable offset = 12
 BYREF pwcsPath AS WSTRINGZ
 , BYREF pFilteredSources AS FILTERED_DATA_SOURCES
 , BYVAL pUnkOuter AS IUnknown
 , BYVAL fUseDefault AS LONG
 , BYREF pFilterClsid AS GUID
 , BYREF SearchDecSize AS LONG
 , BYREF pwcsSearchDesc AS WSTRINGZ
 , BYREF ppIFilt AS IFilter
 ) AS LONG
 ' =====================================================================================
 METHOD LoadIFilterFromStorage ( ' VTable offset = 12
 BYVAL pStg AS IStorage
 , BYVAL pUnkOuter AS IUnknown
 , BYREF pwcsOverride AS WSTRINGZ
 , BYVAL fUseDefault AS LONG
 , BYREF pFilterClsid AS GUID
 , BYREF SearchDecSize AS LONG
 , BYREF pwcsSearchDesc AS WSTRINGZ
 , BYREF ppIFilt AS IFilter
 ) AS LONG
 ' =====================================================================================
 METHOD LoadIFilterFromStream ( ' VTable offset = 12
 BYVAL pStm AS IStream
 , BYREF pFilteredSources AS FILTERED_DATA_SOURCES
 , BYVAL pUnkOuter AS IUnknown
 , BYVAL fUseDefault AS LONG
 , BYREF pFilterClsid AS GUID
 , BYREF SearchDecSize AS LONG
 , BYREF pwcsSearchDesc AS WSTRINGZ
 , BYREF ppIFilt AS IFilter
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __ILoadFilter_INTERFACE_DEFINED__ */
#ENDIF
