PhotoThumbnail/ShellExtensions/PreviewHandlers/ManagedInitializationInterfaces.cs
2021-12-28 16:53:45 +08:00

42 lines
1.8 KiB
C#

#if PREVIEW_HANDLER
using System.IO;
namespace ShellExtensions
{
/// <summary>
/// This interface exposes the <see cref="Load"/> function for initializing the
/// Preview Handler with a <typeparamref name="Stream"/>.
/// This interface can be used in conjunction with the other intialization interfaces,
/// but only 1 will be accessed according to the priorities preset by the Windows Shell:
/// <typeparamref name="IPreviewFromStream"/>
/// <typeparamref name="IPreviewFromShellObject"/>
/// <typeparamref name="IPreviewFromFile"/>
/// </summary>
public interface IPreviewFromStream
{
/// <summary>
/// Provides the <typeparamref name="Stream"/> to the item from which a preview should be created.
/// </summary>
/// <param name="stream">Stream to the previewed file, this stream is only available in the scope of this method.</param>
void Load(Stream stream);
}
/// <summary>
/// This interface exposes the <see cref="Load"/> function for initializing the
/// Preview Handler with a <typeparamref name="FileInfo"/>.
/// This interface can be used in conjunction with the other intialization interfaces,
/// but only 1 will be accessed according to the priorities preset by the Windows Shell:
/// <typeparamref name="IPreviewFromStream"/>
/// <typeparamref name="IPreviewFromShellObject"/>
/// <typeparamref name="IPreviewFromFile"/>
/// </summary>
public interface IPreviewFromFile
{
/// <summary>
/// Provides the <typeparamref name="FileInfo"/> to the item from which a preview should be created.
/// </summary>
/// <param name="info">File information to the previewed file.</param>
void Load(FileInfo info);
}
}
#endif