mirror of https://github.com/UMSKT/xpmgr.git
90 lines
3.0 KiB
Plaintext
90 lines
3.0 KiB
Plaintext
//+----------------------------------------------------------------------------
|
|
// defines SearchFolder data structure
|
|
//+----------------------------------------------------------------------------
|
|
typedef struct tagSearchFolder
|
|
{
|
|
BSTR bstrDisplayName; // Display name of this folder ex: "foo"
|
|
BSTR bstrPhysicalURL; // physical url ex: "mail://localhost/bar/blat/foo/"
|
|
BSTR bstrTooltipText; // Text to display in a folder picker dialog
|
|
DWORD dwAttributes; // SFGAOF flags
|
|
} DesktopSearchFolder;
|
|
|
|
|
|
//+----------------------------------------------------------------------------
|
|
//
|
|
// Interface: IEnumSearchFolder
|
|
//
|
|
// this defines an interface to return SearchFolder objects
|
|
//
|
|
//+----------------------------------------------------------------------------
|
|
[
|
|
object,
|
|
uuid(9C590DA1-8109-43cf-A2AF-2DB94A0EAF62),
|
|
pointer_default(unique)
|
|
]
|
|
interface IEnumSearchFolder : IUnknown
|
|
{
|
|
typedef [unique] IEnumSearchFolder *LPENUMFOLDERENTRY;
|
|
|
|
HRESULT Next([in] ULONG celt,
|
|
[out, size_is(celt), length_is(*pceltFetched)] DesktopSearchFolder *rgelt,
|
|
[out] ULONG *pceltFetched);
|
|
|
|
HRESULT Skip([in] ULONG celt);
|
|
|
|
HRESULT Reset();
|
|
|
|
HRESULT Clone( [out] IEnumSearchFolder **ppenum);
|
|
}
|
|
|
|
|
|
//+----------------------------------------------------------------------------
|
|
//
|
|
// Interface: ISearchProtocolOptions
|
|
//
|
|
// Comment: Defines information for a PH to interact with options page
|
|
//
|
|
//+----------------------------------------------------------------------------
|
|
cpp_quote("#define PRTH_E_NO_APPLICATION ((DWORD)PRTH_E_ACL_TOO_BIG+1)")
|
|
cpp_quote("#define PRTH_E_MIN_VERSION ((DWORD)PRTH_E_ACL_TOO_BIG+2)")
|
|
cpp_quote("#define PRTH_E_NOT_CONFIGURED ((DWORD)PRTH_E_ACL_TOO_BIG+3)")
|
|
|
|
[
|
|
object,
|
|
local,
|
|
uuid(3C158646-6AA0-4a43-B4F6-2419E05A7B4B),
|
|
helpstring("ISearchProtocolOptions interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface ISearchProtocolOptions : IUnknown
|
|
{
|
|
//
|
|
// return user-friendly localized description of requirements for this protocol handler
|
|
// example: "Microsoft Outlook 2000 or greater"
|
|
//
|
|
[helpstring("method GetRequirements")]
|
|
HRESULT GetRequirements([out, retval] BSTR *pbstrDescription);
|
|
|
|
// return if the requirements for using the protocol handler are met.
|
|
// this allows a options UI to blank out protocols which are not appropraite based
|
|
// on whatever resource the protocol handler needs
|
|
// return values:
|
|
// S_OK == everything OK
|
|
// PRTH_E_NO_APPLICATION = application is not installed
|
|
// PRTH_E_MIN_VERSION = version is earlier then minimum
|
|
//
|
|
[helpstring("method CheckRequirements")]
|
|
HRESULT CheckRequirements();
|
|
|
|
//
|
|
// EnumSearchFolder
|
|
//
|
|
// Enumerates the sub-folders off of the current item
|
|
// NOT USED YET
|
|
HRESULT EnumSearchFolder([in,string] LPCOLESTR pwszUrl,
|
|
[out,retval]IEnumSearchFolder **ppEnumSearchFolder);
|
|
|
|
HRESULT GetDefaultCrawlScope([in]ISearchCrawlScopeManager *pCrawlScopeManager);
|
|
}
|
|
|