public Boolean RefreshThumbnail(uint iconSize, out WTS_CACHEFLAGS flags)
{
ISharedBitmap bmp = null;
WTS_CACHEFLAGS cacheFlags = WTS_CACHEFLAGS.WTS_DEFAULT;
WTS_THUMBNAILID thumbId = new WTS_THUMBNAILID();
Boolean result = false;
try
{
if (ThumbnailCache.GetThumbnail(this.shellItemNative, iconSize, WTS_FLAGS.WTS_FORCEEXTRACTION | WTS_FLAGS.WTS_SCALETOREQUESTEDSIZE, out bmp, cacheFlags, thumbId) != HResult.WTS_E_FAILEDEXTRACTION)
{
result = true;
}
}
finally
{
if (bmp != null) Marshal.ReleaseComObject(bmp);
}
flags = cacheFlags;
return result;
}
public HResult ExtractAndDrawThumbnail(IntPtr hdc, uint iconSize, out WTS_CACHEFLAGS flags, User32.RECT iconBounds, out bool retrieved, bool isHidden, bool isRefresh = false)