In This Article

IShellService Interface

Provides the requirements for an object that can create and manage shell objects and properties.

public interface IShellService : IDisposable

Properties

AreNamesCaseSensitive

Gets whether IShellObject names (like Name and ParsingName) are case-sensitive.

bool AreNamesCaseSensitive { get; }

Property Value

bool:

true if IShellObject names are case-sensitive; otherwise, false.

Methods

CompareObjectsUsingProperty(IShellObject, IShellObject, IShellProperty, Dictionary<IShellObject, object>)

Compares two IShellObject instances using the specified IShellProperty.

int CompareObjectsUsingProperty(IShellObject shellObject1, IShellObject shellObject2, IShellProperty shellProperty, Dictionary<IShellObject, object> shellPropertyValueCache)
Parameter Type Description
shellObject1 IShellObject

The first IShellObject.

shellObject2 IShellObject

The second IShellObject.

shellProperty IShellProperty

The IShellProperty to use for comparison.

shellPropertyValueCache Dictionary<IShellObject, object>

The optional cache dictionary to use for improving performance when repeatedly retrieving shell object property values.

Returns

int:

A value indicating whether one is less than, equal to or greater than the other.

CreateObjectChildren(IShellObject)

Creates the child IShellObject collection for the specified parent IShellObject.

IList<IShellObject> CreateObjectChildren(IShellObject parentShellObject)
Parameter Type Description
parentShellObject IShellObject

The parent IShellObject to examine.

Returns

IList<IShellObject>:

The child IShellObject collection for the specified parent IShellObject.

CreateObjectForParsingName(string)

Creates the IShellObject for the specified full parsing name (commonly the same as the file system path).

IShellObject CreateObjectForParsingName(string path)
Parameter Type Description
path string

The parsing name to examine.

Returns

IShellObject:

The IShellObject for the specified full parsing name.

CreateProperties(IList<IShellObject>, ShellPropertyRequestKind)

Creates a collection of IShellProperty objects.

ShellPropertyCollection CreateProperties(IList<IShellObject> shellObjects, ShellPropertyRequestKind kind)
Parameter Type Description
shellObjects IList<IShellObject>

One or more IShellObject objects to examine.

kind ShellPropertyRequestKind

The kind of properties to request.

Returns

ShellPropertyCollection:

A ShellPropertyCollection that contains the results.

GetFullPath(IShellObject, string)

Returns the full path of the specified IShellObject.

string GetFullPath(IShellObject shellObject, string pathSeparator)
Parameter Type Description
shellObject IShellObject

The IShellObject to examine.

pathSeparator string

The path separator.

Returns

string:

The full path of the specified IShellObject.

GetPropertyValue(IShellObject, IShellProperty)

Returns the property value on the specified IShellObject.

object GetPropertyValue(IShellObject shellObject, IShellProperty shellProperty)
Parameter Type Description
shellObject IShellObject

The IShellObject to examine.

shellProperty IShellProperty

The IShellProperty whose value should be returned.

Returns

object:

The property value on the specified IShellObject.

Inherited Members