xpmgr/BuildTools/Include/msnlnamespacemgr.idl

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);
}