mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-02-23 19:49:43 +01:00
update
This commit is contained in:
@@ -12,71 +12,63 @@ namespace Microsoft.CmdPal.Ext.Indexer.Indexer.SystemSearch;
|
||||
[Guid("AB310581-AC80-11D1-8DF3-00C04FB6EF50")]
|
||||
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
|
||||
[GeneratedComInterface]
|
||||
[System.Diagnostics.CodeAnalysis.SuppressMessage("StyleCop.CSharp.OrderingRules", "SA1212:Property accessors should follow order", Justification = "The order of the property accessors must match the order in which the methods were defined in the vtable")]
|
||||
[System.Diagnostics.CodeAnalysis.SuppressMessage("StyleCop.CSharp.NamingRules", "SA1300:Element should begin with upper-case letter", Justification = "Please do not change the function name")]
|
||||
public partial interface ISearchCatalogManager
|
||||
{
|
||||
[return: MarshalAs(UnmanagedType.LPWStr)]
|
||||
string GetName();
|
||||
[return: MarshalAs(UnmanagedType.BStr)]
|
||||
string get_Name();
|
||||
|
||||
IntPtr GetParameter([MarshalAs(UnmanagedType.LPWStr)] string pszName);
|
||||
|
||||
void SetParameter([MarshalAs(UnmanagedType.LPWStr)] string pszName, [MarshalAs(UnmanagedType.Interface)] ref object pValue);
|
||||
|
||||
void GetCatalogStatus([MarshalAs(UnmanagedType.Interface)] out object pStatus, [MarshalAs(UnmanagedType.Interface)] out object pPausedReason);
|
||||
void GetCatalogStatus(out uint pdwStatus, out uint pdwPausedReason);
|
||||
|
||||
void Reset();
|
||||
|
||||
void Reindex();
|
||||
|
||||
void ReindexMatchingURLs([MarshalAs(UnmanagedType.LPWStr)] string pszPattern);
|
||||
|
||||
void ReindexSearchRoot([MarshalAs(UnmanagedType.LPWStr)] string pszRoot);
|
||||
|
||||
[return: MarshalAs(UnmanagedType.LPWStr)]
|
||||
string GetConnectTimeout();
|
||||
IntPtr GetCrawlScopeManager();
|
||||
|
||||
[return: MarshalAs(UnmanagedType.LPWStr)]
|
||||
string GetDataTimeout();
|
||||
[return: MarshalAs(UnmanagedType.Interface)]
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
ISearchQueryHelper GetQueryHelper();
|
||||
|
||||
int NumberOfItems();
|
||||
uint NumberOfItems();
|
||||
|
||||
void NumberOfItemsToIndex(
|
||||
out int plIncrementalCount,
|
||||
out int plNotificationQueue,
|
||||
out int plHighPriorityQueue);
|
||||
uint NumberOfItemsToIndex();
|
||||
|
||||
[return: MarshalAs(UnmanagedType.LPWStr)]
|
||||
string URLBeingIndexed();
|
||||
|
||||
uint GetURLIndexingState([MarshalAs(UnmanagedType.LPWStr)] string psz);
|
||||
IntPtr GetItemsChangedSink();
|
||||
|
||||
[return: MarshalAs(UnmanagedType.Interface)]
|
||||
object GetPersistentItemsChangedSink();
|
||||
IntPtr GetPersistentItemsChangedSink();
|
||||
|
||||
void RegisterViewForNotification(
|
||||
[MarshalAs(UnmanagedType.LPWStr)] string pszView,
|
||||
[MarshalAs(UnmanagedType.Interface)] object pViewChangedSink,
|
||||
out uint pdwCookie);
|
||||
|
||||
void GetItemsChangedSink(
|
||||
[MarshalAs(UnmanagedType.Interface)] object pISearchNotifyInlineSite,
|
||||
ref Guid riid,
|
||||
out IntPtr ppv,
|
||||
out Guid pGUIDCatalogResetSignature,
|
||||
out Guid pGUIDCheckPointSignature,
|
||||
out uint pdwLastCheckPointNumber);
|
||||
void RegisterViewForNotification([MarshalAs(UnmanagedType.LPWStr)] string pszView, IntPtr pViewNotify, out uint pdwCookie);
|
||||
|
||||
void UnregisterViewForNotification(uint dwCookie);
|
||||
|
||||
void SetExtensionClusion([MarshalAs(UnmanagedType.LPWStr)] string pszExtension, int fExclude);
|
||||
void GetURLIndexingState([MarshalAs(UnmanagedType.LPWStr)] string pszURL, out uint pdwState);
|
||||
|
||||
[return: MarshalAs(UnmanagedType.Interface)]
|
||||
object EnumerateExcludedExtensions();
|
||||
uint get_DataTimeout();
|
||||
|
||||
ISearchQueryHelper GetQueryHelper();
|
||||
void put_DataTimeout(uint dwTimeout);
|
||||
|
||||
int GetDiacriticSensitivity();
|
||||
uint get_ConnectTimeout();
|
||||
|
||||
[return: MarshalAs(UnmanagedType.Interface)]
|
||||
object GetCrawlScopeManager();
|
||||
void put_ConnectTimeout(uint dwTimeout);
|
||||
|
||||
void EnumerateExcludedExtensions();
|
||||
|
||||
void SetExtensionClusion([MarshalAs(UnmanagedType.LPWStr)] string pszExtension, [MarshalAs(UnmanagedType.Bool)] bool fExclude);
|
||||
|
||||
[return: MarshalAs(UnmanagedType.Bool)]
|
||||
bool get_DiacriticSensitivity();
|
||||
|
||||
void put_DiacriticSensitivity([MarshalAs(UnmanagedType.Bool)] bool fDiacriticSensitive);
|
||||
|
||||
void GetParameter([MarshalAs(UnmanagedType.LPWStr)] string pszName, out IntPtr pValue);
|
||||
|
||||
void SetParameter([MarshalAs(UnmanagedType.LPWStr)] string pszName, ref IntPtr pValue);
|
||||
|
||||
void ReindexMatchingURLs([MarshalAs(UnmanagedType.LPWStr)] string pszPattern);
|
||||
}
|
||||
|
||||
@@ -10,40 +10,46 @@ using System.Runtime.InteropServices.Marshalling;
|
||||
namespace Microsoft.CmdPal.Ext.Indexer.Indexer.SystemSearch;
|
||||
|
||||
[Guid("AB310581-AC80-11D1-8DF3-00C04FB6EF69")]
|
||||
[InterfaceType(1)]
|
||||
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
|
||||
[GeneratedComInterface]
|
||||
[System.Diagnostics.CodeAnalysis.SuppressMessage("StyleCop.CSharp.NamingRules", "SA1300:Element should begin with upper-case letter", Justification = "Please do not change the function name")]
|
||||
public partial interface ISearchManager
|
||||
{
|
||||
void GetIndexerVersionStr([MarshalAs(UnmanagedType.LPWStr)] out string ppszVersionString);
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[return: MarshalAs(UnmanagedType.Interface)]
|
||||
ISearchCatalogManager GetCatalog([MarshalAs(UnmanagedType.LPWStr)] string pszCatalog);
|
||||
|
||||
void GetIndexerVersion(out uint pdwMajor, out uint pdwMinor);
|
||||
|
||||
IntPtr GetParameter([MarshalAs(UnmanagedType.LPWStr)] string pszName);
|
||||
[return: MarshalAs(UnmanagedType.BStr)]
|
||||
string GetIndexerVersionStr();
|
||||
|
||||
void SetParameter([MarshalAs(UnmanagedType.LPWStr)] string pszName, [MarshalAs(UnmanagedType.Interface)] ref object pValue);
|
||||
[return: MarshalAs(UnmanagedType.BStr)]
|
||||
string get_UserAgent();
|
||||
|
||||
[return: MarshalAs(UnmanagedType.LPWStr)]
|
||||
string GetProxyName();
|
||||
void put_UserAgent([MarshalAs(UnmanagedType.BStr)] string pszUserAgent);
|
||||
|
||||
[return: MarshalAs(UnmanagedType.LPWStr)]
|
||||
string GetBypassList();
|
||||
[return: MarshalAs(UnmanagedType.BStr)]
|
||||
string get_ProxyName();
|
||||
|
||||
uint get_PortNumber();
|
||||
|
||||
[return: MarshalAs(UnmanagedType.BStr)]
|
||||
string get_BypassList();
|
||||
|
||||
[return: MarshalAs(UnmanagedType.Bool)]
|
||||
bool get_UseProxy();
|
||||
|
||||
[return: MarshalAs(UnmanagedType.Bool)]
|
||||
bool get_LocalBypass();
|
||||
|
||||
void SetProxy(
|
||||
[MarshalAs(UnmanagedType.Interface)] object sUseProxy,
|
||||
int fLocalByPassProxy,
|
||||
uint dwPortNumber,
|
||||
[MarshalAs(UnmanagedType.LPWStr)] string pszProxyName,
|
||||
[MarshalAs(UnmanagedType.LPWStr)] string pszByPassList);
|
||||
[MarshalAs(UnmanagedType.BStr)] string pszProxyName,
|
||||
[MarshalAs(UnmanagedType.Bool)] bool fLocalBypass,
|
||||
[MarshalAs(UnmanagedType.BStr)] string pszBypassList,
|
||||
uint dwPortNumber);
|
||||
|
||||
ISearchCatalogManager GetCatalog([MarshalAs(UnmanagedType.LPWStr)] string pszCatalog);
|
||||
void GetParameter([MarshalAs(UnmanagedType.LPWStr)] string pszName, [MarshalAs(UnmanagedType.Struct)] out object pValue);
|
||||
|
||||
[return: MarshalAs(UnmanagedType.LPWStr)]
|
||||
string GetUserAgent();
|
||||
|
||||
[return: MarshalAs(UnmanagedType.Interface)]
|
||||
object GetUseProxy();
|
||||
|
||||
int GetLocalBypass();
|
||||
|
||||
uint GetPortNumber();
|
||||
void SetParameter([MarshalAs(UnmanagedType.LPWStr)] string pszName, [MarshalAs(UnmanagedType.Struct)] ref object pValue);
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ internal sealed partial class QueryStringBuilder
|
||||
|
||||
private static readonly Guid CLSIDSearchManager = new Guid("7D096C5F-AC08-4F1F-BEB7-5C22C517CE39");
|
||||
private static readonly Guid IIDISearchManager = new Guid("AB310581-AC80-11D1-8DF3-00C04FB6EF69");
|
||||
private const uint CLSCTXINPROCSERVER = 1;
|
||||
private const uint CLSCTXINPROCSERVER = 23;
|
||||
|
||||
public static string GenerateQuery(string searchText, uint whereId)
|
||||
{
|
||||
@@ -39,14 +39,28 @@ internal sealed partial class QueryStringBuilder
|
||||
var hr = NativeMethods.CoCreateInstance(CLSIDSearchManager, IntPtr.Zero, CLSCTXINPROCSERVER, IIDISearchManager, out var searchManagerPtr);
|
||||
if (hr != 0)
|
||||
{
|
||||
throw new ArgumentException("Failed to create SearchManager instance.");
|
||||
throw new ArgumentException($"Failed to create SearchManager instance. HR: 0x{hr:X}");
|
||||
}
|
||||
|
||||
var searchManager = (CSearchManager)cw.GetOrCreateObjectForComInstance(
|
||||
var searchManager = (ISearchManager)cw.GetOrCreateObjectForComInstance(
|
||||
searchManagerPtr, CreateObjectFlags.None);
|
||||
|
||||
if (searchManager == null)
|
||||
{
|
||||
throw new ArgumentException("Failed to get ISearchManager interface");
|
||||
}
|
||||
|
||||
ISearchCatalogManager catalogManager = searchManager.GetCatalog(SystemIndex);
|
||||
if (catalogManager == null)
|
||||
{
|
||||
throw new ArgumentException($"Failed to get catalog manager for {SystemIndex}");
|
||||
}
|
||||
|
||||
queryHelper = catalogManager.GetQueryHelper();
|
||||
if (queryHelper == null)
|
||||
{
|
||||
throw new ArgumentException("Failed to get query helper from catalog manager");
|
||||
}
|
||||
|
||||
queryHelper.SetQuerySelectColumns(Properties);
|
||||
queryHelper.SetQueryContentProperties("System.FileName");
|
||||
|
||||
Reference in New Issue
Block a user