
# ISearchProvider interface

*No description yet.*

```csharp
public interface ISearchProvider
```

**Namespace:** DXP · **Assembly:** Altium.SDK.Interfaces

## Methods

| Method | Returns | Description |
| --- | --- | --- |
| [AddImageTo](#addimageto) | `int` |  |
| [Done](#done) | `void` |  |
| [ExtractData](#extractdata) | `void` |  |
| [Init](#init) | `void` |  |
| [JumpTo](#jumpto) | `void` |  |
| [Search](#search) | `void` |  |

### AddImageTo

*No description yet.*

```csharp
int AddImageTo(string argImageId, UIntPtr argImageListHandle);
int AddImageTo(string argImageId, object argImageListHandle);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argImageId` | `string` | value |
| `argImageListHandle` | `UIntPtr` | value |

**Returns:** `int`

The first overload is an extension method of `ISearchProviderHelper` (`using DXP;`) with typed parameters; the second is declared by the interface.

### Done

*No description yet.*

```csharp
void Done();
```

**Returns:** nothing (`void`)

### ExtractData

*No description yet.*

```csharp
void ExtractData(string argItemid, out string argDisplayString, out string argImageId);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argItemid` | `string` | value |
| `argDisplayString` | `string` | out |
| `argImageId` | `string` | out |

**Returns:** nothing (`void`)

### Init

*No description yet.*

```csharp
void Init();
```

**Returns:** nothing (`void`)

### JumpTo

*No description yet.*

```csharp
void JumpTo(string argItemid);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argItemid` | `string` | value |

**Returns:** nothing (`void`)

### Search

*No description yet.*

```csharp
void Search(string argQuery, ISearchResults argResults);
void Search(string argQuery, object argResults);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argQuery` | `string` | value |
| `argResults` | [ISearchResults](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/ISearchResults.md) | value |

**Returns:** nothing (`void`)

The first overload is an extension method of `ISearchProviderHelper` (`using DXP;`) with typed parameters; the second is declared by the interface.

## Accepted by

[ISearchManager.RegisterProvider](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/ISearchManager.md#registerprovider), [ISearchManager.UnRegisterProvider](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/ISearchManager.md#unregisterprovider)
