0x00000000. Introduced in Windows 8. None of the following options are set.
Default. 0x00000000. Extract the thumbnail if it is not cached.
0x00000001. Only return the thumbnail if it is cached.
0x00000002. If not cached, only extract the thumbnail if it is embedded in EXIF format, typically 96x96.
0x00000004. Ignore cache and extract thumbnail from source file.
0x00000008. The thumbnail has an extended lifetime. Use for volumes that might go offline, like non-fixed disks.
0x00000020. Extract but do not add the thumbnail to the cache.
0x00000040. Introduced in Windows 7. If the specific thumbnail size requested in the cxyRequestedThumbSize parameter is not available, resize the thumbnail to the requested size. If possible, a larger bitmap is reduced in scale, preserving its aspect ratio, to the width and height required. If the only available cached thumbnail is smaller than the requested size, then it is scaled up using the nearest-neighbor algorithm.
0x00000080. Introduced in Windows 7. Do not extract a thumbnail embedded in the metadata of an EXIF image.
0x00000100. Introduced in Windows 7. Ensures that the thumbnail handler is loaded in the same process as the caller. When this flag is not specified, the handler is loaded into a surrogate process to protect the caller from unexpected crashes caused by the processing of the target file. Use this value when debugging thumbnail extractors.
0x00000200. Introduced in Windows 8. If necessary, crop the bitmap's dimensions so that is square. The length of the shortest side becomes the length of all sides.
0x00000400. Introduced in Windows 8. Create a surrogate for this instance of the cache rather than using the shared DLLHost surrogate.
0x00000800. Introduced in Windows 8. Require extractions to take place in the surrogate.