34#include "wine/unicode.h"
36#include "wine/rbtree.h"
43static const WCHAR friendlyname_valuename[] = {
'F',
'r',
'i',
'e',
'n',
'd',
'l',
'y',
'N',
'a',
'm',
'e',0};
44static const WCHAR pixelformats_keyname[] = {
'P',
'i',
'x',
'e',
'l',
'F',
'o',
'r',
'm',
'a',
't',
's',0};
46static const WCHAR containerformat_valuename[] = {
'C',
'o',
'n',
't',
'a',
'i',
'n',
'e',
'r',
'F',
'o',
'r',
'm',
'a',
't',0};
47static const WCHAR metadataformat_valuename[] = {
'M',
'e',
't',
'a',
'd',
'a',
't',
'a',
'F',
'o',
'r',
'm',
'a',
't',0};
50static const WCHAR specversion_valuename[] = {
'S',
'p',
'e',
'c',
'V',
'e',
'r',
's',
'i',
'o',
'n',0};
52static const WCHAR channelcount_valuename[] = {
'C',
'h',
'a',
'n',
'n',
'e',
'l',
'C',
'o',
'u',
'n',
't',0};
53static const WCHAR channelmasks_keyname[] = {
'C',
'h',
'a',
'n',
'n',
'e',
'l',
'M',
'a',
's',
'k',
's',0};
54static const WCHAR numericrepresentation_valuename[] = {
'N',
'u',
'm',
'e',
'r',
'i',
'c',
'R',
'e',
'p',
'r',
'e',
's',
'e',
'n',
't',
'a',
't',
'i',
'o',
'n',0};
55static const WCHAR supportstransparency_valuename[] = {
'S',
'u',
'p',
'p',
'o',
'r',
't',
's',
'T',
'r',
'a',
'n',
's',
'p',
'a',
'r',
'e',
'n',
'c',
'y',0};
56static const WCHAR requiresfullstream_valuename[] = {
'R',
'e',
'q',
'u',
'i',
'r',
'e',
's',
'F',
'u',
'l',
'l',
'S',
't',
'r',
'e',
'a',
'm',0};
57static const WCHAR supportspadding_valuename[] = {
'S',
'u',
'p',
'p',
'o',
'r',
't',
's',
'P',
'a',
'd',
'd',
'i',
'n',
'g',0};
58static const WCHAR fileextensions_valuename[] = {
'F',
'i',
'l',
'e',
'E',
'x',
't',
'e',
'n',
's',
'i',
'o',
'n',
's',0};
59static const WCHAR containers_keyname[] = {
'C',
'o',
'n',
't',
'a',
'i',
'n',
'e',
'r',
's',0};
87 *actual_size = cbdata/
sizeof(
WCHAR);
103 WCHAR guid_string[39];
104 DWORD cbdata =
sizeof(guid_string);
111 guid_string, &cbdata);
116 if (cbdata <
sizeof(guid_string))
118 ERR(
"incomplete GUID value\n");
154 WCHAR guid_string[39];
155 DWORD guid_string_size;
172 guid_string_size = 39;
173 while (items_returned < buffersize)
184 if (guid_string_size != 38)
195 guid_string_size = 39;
201 *actual_size = items_returned;
205 ret =
RegQueryInfoKeyW(subkey,
NULL,
NULL,
NULL, actual_size,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL);
241 *
ppv = &
This->base.IWICComponentInfo_iface;
258 TRACE(
"(%p) refcount=%u\n", iface,
ref);
268 TRACE(
"(%p) refcount=%u\n", iface,
ref);
283 TRACE(
"(%p,%p)\n", iface, pType);
292 TRACE(
"(%p,%p)\n", iface, pclsid);
297 *pclsid =
This->base.clsid;
312 TRACE(
"(%p,%u,%p,%p)\n", iface, cchAuthor, wzAuthor, pcchActual);
315 cchAuthor, wzAuthor, pcchActual);
322 TRACE(
"(%p,%p)\n", iface, pguidVendor);
332 TRACE(
"(%p,%u,%p,%p)\n", iface, cchVersion, wzVersion, pcchActual);
335 cchVersion, wzVersion, pcchActual);
343 TRACE(
"(%p,%u,%p,%p)\n", iface, cchSpecVersion, wzSpecVersion, pcchActual);
346 cchSpecVersion, wzSpecVersion, pcchActual);
354 TRACE(
"(%p,%u,%p,%p)\n", iface, cchFriendlyName, wzFriendlyName, pcchActual);
357 cchFriendlyName, wzFriendlyName, pcchActual);
361 GUID *pguidContainerFormat)
364 TRACE(
"(%p,%p)\n", iface, pguidContainerFormat);
372 TRACE(
"(%p,%u,%p,%p)\n", iface, cFormats, pguidPixelFormats, pcActual);
377 UINT cchColorManagementVersion,
WCHAR *wzColorManagementVersion,
UINT *pcchActual)
379 FIXME(
"(%p,%u,%p,%p): stub\n", iface, cchColorManagementVersion, wzColorManagementVersion, pcchActual);
384 UINT cchDeviceManufacturer,
WCHAR *wzDeviceManufacturer,
UINT *pcchActual)
386 FIXME(
"(%p,%u,%p,%p): stub\n", iface, cchDeviceManufacturer, wzDeviceManufacturer, pcchActual);
391 UINT cchDeviceModels,
WCHAR *wzDeviceModels,
UINT *pcchActual)
393 FIXME(
"(%p,%u,%p,%p): stub\n", iface, cchDeviceModels, wzDeviceModels, pcchActual);
402 TRACE(
"(%p,%u,%p,%p)\n", iface, cchMimeTypes, wzMimeTypes, pcchActual);
405 cchMimeTypes, wzMimeTypes, pcchActual);
409 UINT cchFileExtensions,
WCHAR *wzFileExtensions,
UINT *pcchActual)
413 TRACE(
"(%p,%u,%p,%p)\n", iface, cchFileExtensions, wzFileExtensions, pcchActual);
416 cchFileExtensions, wzFileExtensions, pcchActual);
420 BOOL *pfSupportAnimation)
422 FIXME(
"(%p,%p): stub\n", iface, pfSupportAnimation);
427 BOOL *pfSupportChromaKey)
429 FIXME(
"(%p,%p): stub\n", iface, pfSupportChromaKey);
434 BOOL *pfSupportLossless)
436 FIXME(
"(%p,%p): stub\n", iface, pfSupportLossless);
441 BOOL *pfSupportMultiframe)
443 FIXME(
"(%p,%p): stub\n", iface, pfSupportMultiframe);
459 TRACE(
"(%p,%i,%p,%p,%p)\n", iface, cbSizePatterns, pPatterns, pcPatterns, pcbPatternsActual);
461 if (!pcPatterns || !pcbPatternsActual)
return E_INVALIDARG;
463 *pcPatterns =
This->pattern_count;
464 *pcbPatternsActual =
This->patterns_size;
467 if (
This->patterns_size && cbSizePatterns < This->patterns_size)
486 TRACE(
"(%p,%p,%p)\n", iface, pIStream, pfMatches);
488 for (
i=0;
i <
This->pattern_count;
i++)
490 if (datasize < This->patterns[
i].
Length)
502 if (
This->patterns[
i].EndOfStream)
506 hr = IStream_Seek(pIStream, seekpos,
This->patterns[
i].EndOfStream ? STREAM_SEEK_END : STREAM_SEEK_SET,
NULL);
510 hr = IStream_Read(pIStream,
data,
This->patterns[
i].Length, &bytesread);
520 if (
pos ==
This->patterns[
i].Length)
528 if (
i ==
This->pattern_count)
543 TRACE(
"(%p,%p)\n", iface, ppIBitmapDecoder);
545 return create_instance(&
This->base.clsid, &IID_IWICBitmapDecoder, (
void**)ppIBitmapDecoder);
579 UINT pattern_count=0, patterns_size=0;
580 WCHAR subkeyname[11];
582 HKEY patternskey, patternkey;
583 static const WCHAR uintformatW[] = {
'%',
'u',0};
584 static const WCHAR patternsW[] = {
'P',
'a',
't',
't',
'e',
'r',
'n',
's',0};
585 static const WCHAR positionW[] = {
'P',
'o',
's',
'i',
't',
'i',
'o',
'n',0};
586 static const WCHAR lengthW[] = {
'L',
'e',
'n',
'g',
't',
'h',0};
587 static const WCHAR patternW[] = {
'P',
'a',
't',
't',
'e',
'r',
'n',0};
588 static const WCHAR maskW[] = {
'M',
'a',
's',
'k',0};
589 static const WCHAR endofstreamW[] = {
'E',
'n',
'd',
'O',
'f',
'S',
't',
'r',
'e',
'a',
'm',0};
598 res =
RegQueryInfoKeyW(patternskey,
NULL,
NULL,
NULL, &pattern_count,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL);
619 valuesize =
sizeof(
ULONG);
623 patterns_size +=
length*2;
626 valuesize =
sizeof(
BOOL);
628 &patterns[
i].EndOfStream, &valuesize);
647 patterns_ptr += pattern_count *
sizeof(*patterns);
659 patterns[
i].Pattern, &valuesize);
664 patterns[
i].
Mask = patterns_ptr;
667 patterns[
i].
Mask, &valuesize);
682 info->pattern_count = pattern_count;
683 info->patterns_size = patterns_size;
684 info->patterns = patterns;
700 This->classkey = classkey;
732 *
ppv = &
This->base.IWICComponentInfo_iface;
749 TRACE(
"(%p) refcount=%u\n", iface,
ref);
759 TRACE(
"(%p) refcount=%u\n", iface,
ref);
773 TRACE(
"(%p,%p)\n", iface, pType);
782 TRACE(
"(%p,%p)\n", iface, pclsid);
787 *pclsid =
This->base.clsid;
802 TRACE(
"(%p,%u,%p,%p)\n", iface, cchAuthor, wzAuthor, pcchActual);
805 cchAuthor, wzAuthor, pcchActual);
812 TRACE(
"(%p,%p)\n", iface, pguidVendor);
822 TRACE(
"(%p,%u,%p,%p)\n", iface, cchVersion, wzVersion, pcchActual);
825 cchVersion, wzVersion, pcchActual);
833 TRACE(
"(%p,%u,%p,%p)\n", iface, cchSpecVersion, wzSpecVersion, pcchActual);
836 cchSpecVersion, wzSpecVersion, pcchActual);
844 TRACE(
"(%p,%u,%p,%p)\n", iface, cchFriendlyName, wzFriendlyName, pcchActual);
847 cchFriendlyName, wzFriendlyName, pcchActual);
851 GUID *pguidContainerFormat)
854 TRACE(
"(%p,%p)\n", iface, pguidContainerFormat);
862 TRACE(
"(%p,%u,%p,%p)\n", iface, cFormats, pguidPixelFormats, pcActual);
867 UINT cchColorManagementVersion,
WCHAR *wzColorManagementVersion,
UINT *pcchActual)
869 FIXME(
"(%p,%u,%p,%p): stub\n", iface, cchColorManagementVersion, wzColorManagementVersion, pcchActual);
874 UINT cchDeviceManufacturer,
WCHAR *wzDeviceManufacturer,
UINT *pcchActual)
876 FIXME(
"(%p,%u,%p,%p): stub\n", iface, cchDeviceManufacturer, wzDeviceManufacturer, pcchActual);
881 UINT cchDeviceModels,
WCHAR *wzDeviceModels,
UINT *pcchActual)
883 FIXME(
"(%p,%u,%p,%p): stub\n", iface, cchDeviceModels, wzDeviceModels, pcchActual);
892 TRACE(
"(%p,%u,%p,%p)\n", iface, cchMimeTypes, wzMimeTypes, pcchActual);
895 cchMimeTypes, wzMimeTypes, pcchActual);
899 UINT cchFileExtensions,
WCHAR *wzFileExtensions,
UINT *pcchActual)
903 TRACE(
"(%p,%u,%p,%p)\n", iface, cchFileExtensions, wzFileExtensions, pcchActual);
906 cchFileExtensions, wzFileExtensions, pcchActual);
910 BOOL *pfSupportAnimation)
912 FIXME(
"(%p,%p): stub\n", iface, pfSupportAnimation);
917 BOOL *pfSupportChromaKey)
919 FIXME(
"(%p,%p): stub\n", iface, pfSupportChromaKey);
924 BOOL *pfSupportLossless)
926 FIXME(
"(%p,%p): stub\n", iface, pfSupportLossless);
931 BOOL *pfSupportMultiframe)
933 FIXME(
"(%p,%p): stub\n", iface, pfSupportMultiframe);
949 TRACE(
"(%p,%p)\n", iface, ppIBitmapEncoder);
951 return create_instance(&
This->base.clsid, &IID_IWICBitmapEncoder, (
void**)ppIBitmapEncoder);
994 This->classkey = classkey;
1021 IsEqualIID(&IID_IWICFormatConverterInfo ,iid))
1023 *
ppv = &
This->base.IWICComponentInfo_iface;
1040 TRACE(
"(%p) refcount=%u\n", iface,
ref);
1050 TRACE(
"(%p) refcount=%u\n", iface,
ref);
1064 TRACE(
"(%p,%p)\n", iface, pType);
1073 TRACE(
"(%p,%p)\n", iface, pclsid);
1078 *pclsid =
This->base.clsid;
1093 TRACE(
"(%p,%u,%p,%p)\n", iface, cchAuthor, wzAuthor, pcchActual);
1096 cchAuthor, wzAuthor, pcchActual);
1103 TRACE(
"(%p,%p)\n", iface, pguidVendor);
1113 TRACE(
"(%p,%u,%p,%p)\n", iface, cchVersion, wzVersion, pcchActual);
1116 cchVersion, wzVersion, pcchActual);
1124 TRACE(
"(%p,%u,%p,%p)\n", iface, cchSpecVersion, wzSpecVersion, pcchActual);
1127 cchSpecVersion, wzSpecVersion, pcchActual);
1131 WCHAR *wzFriendlyName,
UINT *pcchActual)
1135 TRACE(
"(%p,%u,%p,%p)\n", iface, cchFriendlyName, wzFriendlyName, pcchActual);
1138 cchFriendlyName, wzFriendlyName, pcchActual);
1142 UINT cFormats,
GUID *pguidPixelFormats,
UINT *pcActual)
1144 FIXME(
"(%p,%u,%p,%p): stub\n", iface, cFormats, pguidPixelFormats, pcActual);
1153 TRACE(
"(%p,%p)\n", iface, ppIFormatConverter);
1156 (
void**)ppIFormatConverter);
1163 HKEY formats_key, guid_key;
1208 This->classkey = classkey;
1238 *
ppv = &
This->base.IWICComponentInfo_iface;
1255 TRACE(
"(%p) refcount=%u\n", iface,
ref);
1265 TRACE(
"(%p) refcount=%u\n", iface,
ref);
1279 TRACE(
"(%p,%p)\n", iface, pType);
1288 TRACE(
"(%p,%p)\n", iface, pclsid);
1293 *pclsid =
This->base.clsid;
1315 TRACE(
"(%p,%u,%p,%p)\n", iface, cchAuthor, wzAuthor, pcchActual);
1318 cchAuthor, wzAuthor, pcchActual);
1325 TRACE(
"(%p,%p)\n", iface, pguidVendor);
1335 TRACE(
"(%p,%u,%p,%p)\n", iface, cchVersion, wzVersion, pcchActual);
1338 cchVersion, wzVersion, pcchActual);
1346 TRACE(
"(%p,%u,%p,%p)\n", iface, cchSpecVersion, wzSpecVersion, pcchActual);
1349 cchSpecVersion, wzSpecVersion, pcchActual);
1353 WCHAR *wzFriendlyName,
UINT *pcchActual)
1357 TRACE(
"(%p,%u,%p,%p)\n", iface, cchFriendlyName, wzFriendlyName, pcchActual);
1360 cchFriendlyName, wzFriendlyName, pcchActual);
1367 TRACE(
"(%p,%p)\n", iface, pFormat);
1372 *pFormat =
This->base.clsid;
1379 FIXME(
"(%p,%p): stub\n", iface, ppIColorContext);
1384 UINT *puiBitsPerPixel)
1388 TRACE(
"(%p,%p)\n", iface, puiBitsPerPixel);
1394 UINT *puiChannelCount)
1398 TRACE(
"(%p,%p)\n", iface, puiChannelCount);
1404 UINT uiChannelIndex,
UINT cbMaskBuffer,
BYTE *pbMaskBuffer,
UINT *pcbActual)
1406 static const WCHAR uintformatW[] = {
'%',
'u',0};
1411 WCHAR valuename[11];
1414 TRACE(
"(%p,%u,%u,%p,%p)\n", iface, uiChannelIndex, cbMaskBuffer, pbMaskBuffer, pcbActual);
1421 if (
SUCCEEDED(
hr) && uiChannelIndex >= channel_count)
1426 snprintfW(valuename, 11, uintformatW, uiChannelIndex);
1428 cbData = cbMaskBuffer;
1433 *pcbActual = cbData;
1445 BOOL *pfSupportsTransparency)
1449 TRACE(
"(%p,%p)\n", iface, pfSupportsTransparency);
1459 TRACE(
"(%p,%p)\n", iface, pNumericRepresentation);
1498 This->classkey = classkey;
1525 for (
i = 0;
i <
info->container_count;
i++)
1527 return info->containers +
i;
1551 *
ppv = &
This->base.IWICComponentInfo_iface;
1568 TRACE(
"(%p) refcount=%u\n", iface,
ref);
1577 TRACE(
"(%p) refcount=%u\n", iface,
ref);
1583 for (
i = 0;
i <
This->container_count;
i++)
1626 TRACE(
"(%p,%u,%p,%p)\n", iface,
length, author, actual_length);
1629 length, author, actual_length);
1693 *actual_length =
This->container_count;
1696 if (
This->container_count && length < This->container_count)
1706 FIXME(
"(%p,%u,%p,%p): stub\n", iface,
length, manufacturer, actual_length);
1713 FIXME(
"(%p,%u,%p,%p): stub\n", iface,
length, models, actual_length);
1746 TRACE(
"(%p,%s,%u,%p,%p,%p)\n", iface,
debugstr_guid(container_guid),
length,
patterns,
count, actual_length);
1748 if (!actual_length || !container_guid)
return E_INVALIDARG;
1754 *actual_length =
container->patterns_size;
1797 hr = IStream_Seek(
stream, seekpos, STREAM_SEEK_SET,
NULL);
1867 WCHAR subkeyname[11], guidkeyname[39];
1869 HKEY containers_key, guid_key, patternkey;
1870 static const WCHAR uintformatW[] = {
'%',
'u',0};
1871 static const WCHAR patternW[] = {
'P',
'a',
't',
't',
'e',
'r',
'n',0};
1872 static const WCHAR positionW[] = {
'P',
'o',
's',
'i',
't',
'i',
'o',
'n',0};
1873 static const WCHAR maskW[] = {
'M',
'a',
's',
'k',0};
1874 static const WCHAR dataoffsetW[] = {
'D',
'a',
't',
'a',
'O',
'f',
'f',
's',
'e',
't',0};
1998 info->container_count = format_count;
2007 for (
i = 0;
i < format_count;
i++)
2018 This = heap_alloc_zero(
sizeof(*
This));
2027 This->classkey = classkey;
2032 IWICComponentInfo_Release(&
This->base.IWICComponentInfo_iface);
2071 0, 0, { (
DWORD_PTR)(__FILE__
": component_info_cache") }
2083 WCHAR guidstring[39];
2095 IWICComponentInfo_AddRef(*ppIInfo = &
info->IWICComponentInfo_iface);
2149 IWICComponentInfo_AddRef(*ppIInfo = &
info->IWICComponentInfo_iface);
2159 IWICComponentInfo_Release(&
info->IWICComponentInfo_iface);
2170 hr = IWICComponentInfo_QueryInterface(compinfo, &IID_IWICBitmapDecoderInfo,
2173 IWICComponentInfo_Release(compinfo);
2209 *
ppv = &
This->IEnumUnknown_iface;
2226 TRACE(
"(%p) refcount=%u\n", iface,
ref);
2237 TRACE(
"(%p) refcount=%u\n", iface,
ref);
2243 IUnknown_Release(
cursor->unk);
2247 This->lock.DebugInfo->Spare[0] = 0;
2259 ULONG num_fetched=0;
2263 TRACE(
"(%p,%u,%p,%p)\n", iface, celt, rgelt, pceltFetched);
2266 while (num_fetched<celt)
2274 IUnknown_AddRef(
item->unk);
2275 rgelt[num_fetched] =
item->unk;
2281 *pceltFetched = num_fetched;
2291 TRACE(
"(%p,%u)\n", iface, celt);
2294 for (
i=0;
i<celt;
i++)
2311 TRACE(
"(%p)\n", iface);
2325 struct list *old_cursor;
2342 old_cursor =
This->cursor;
2353 new_item->
unk = old_item->
unk;
2355 IUnknown_AddRef(new_item->
unk);
2385 HKEY clsidkey, catidkey, instancekey;
2386 WCHAR guidstring[39];
2409 This->lock.DebugInfo->Spare[0] = (
DWORD_PTR)(__FILE__
": ComponentEnum.lock");
2424 DWORD guidstring_size = 39;
2456 IEnumUnknown_Reset(&
This->IEnumUnknown_iface);
2457 *ppIEnumUnknown = &
This->IEnumUnknown_iface;
2461 *ppIEnumUnknown =
NULL;
2462 IEnumUnknown_Release(&
This->IEnumUnknown_iface);
2482 WCHAR srcformatstr[39], dstformatstr[39];
2488 res = IWICBitmapSource_GetPixelFormat(pISrc, &srcFormat);
2493 IWICBitmapSource_AddRef(pISrc);
2506 res = IEnumUnknown_Next(enumconverters, 1, &unkconverterinfo, &num_fetched);
2510 res = IUnknown_QueryInterface(unkconverterinfo, &IID_IWICFormatConverterInfo, (
void**)&converterinfo);
2521 res = IWICFormatConverterInfo_CreateInstance(converterinfo, &converter);
2524 res = IWICFormatConverter_CanConvert(converter, &srcFormat, dstFormat, &canconvert);
2534 IWICFormatConverter_Release(converter);
2540 IWICFormatConverterInfo_Release(converterinfo);
2543 IUnknown_Release(unkconverterinfo);
2549 IEnumUnknown_Release(enumconverters);
2553 res = IWICFormatConverter_QueryInterface(converter, &IID_IWICBitmapSource, (
void **)ppIDst);
2554 IWICFormatConverter_Release(converter);
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
static void * heap_alloc(size_t len)
static BOOL heap_free(void *mem)
static void * heap_realloc(void *mem, size_t len)
#define InterlockedIncrement
#define InterlockedDecrement
static const WCHAR lengthW[]
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
static void list_remove(struct list_entry *entry)
static void list_add_tail(struct list_entry *head, struct list_entry *entry)
static void list_init(struct list_entry *head)
#define RegCloseKey(hKey)
HRESULT create_instance(CLSID *clsid, const IID *iid, void **ppv)
static const struct pixel_format_desc formats[]
LONG WINAPI RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult)
LSTATUS WINAPI RegGetValueW(HKEY hKey, LPCWSTR pszSubKey, LPCWSTR pszValue, DWORD dwFlags, LPDWORD pdwType, PVOID pvData, LPDWORD pcbData)
LONG WINAPI RegEnumKeyExW(_In_ HKEY hKey, _In_ DWORD dwIndex, _Out_ LPWSTR lpName, _Inout_ LPDWORD lpcbName, _Reserved_ LPDWORD lpReserved, _Out_opt_ LPWSTR lpClass, _Inout_opt_ LPDWORD lpcbClass, _Out_opt_ PFILETIME lpftLastWriteTime)
LONG WINAPI RegQueryInfoKeyW(HKEY hKey, LPWSTR lpClass, LPDWORD lpcClass, LPDWORD lpReserved, LPDWORD lpcSubKeys, LPDWORD lpcMaxSubKeyLen, LPDWORD lpcMaxClassLen, LPDWORD lpcValues, LPDWORD lpcMaxValueNameLen, LPDWORD lpcMaxValueLen, LPDWORD lpcbSecurityDescriptor, PFILETIME lpftLastWriteTime)
#define ERROR_NO_MORE_ITEMS
#define HeapFree(x, y, z)
static const WCHAR version[]
HRESULT WINAPI CLSIDFromString(LPCOLESTR idstr, LPCLSID id)
INT WINAPI StringFromGUID2(REFGUID id, LPOLESTR str, INT cmax)
#define RRF_RT_REG_BINARY
static HRESULT WINAPI MetadataReaderInfo_GetDeviceManufacturer(IWICMetadataReaderInfo *iface, UINT length, WCHAR *manufacturer, UINT *actual_length)
static HRESULT WINAPI BitmapEncoderInfo_GetAuthor(IWICBitmapEncoderInfo *iface, UINT cchAuthor, WCHAR *wzAuthor, UINT *pcchActual)
static HRESULT WINAPI BitmapDecoderInfo_DoesSupportLossless(IWICBitmapDecoderInfo *iface, BOOL *pfSupportLossless)
static HRESULT WINAPI PixelFormatInfo_QueryInterface(IWICPixelFormatInfo2 *iface, REFIID iid, void **ppv)
static HRESULT WINAPI MetadataReaderInfo_GetMetadataFormat(IWICMetadataReaderInfo *iface, GUID *format)
static HRESULT WINAPI BitmapDecoderInfo_GetFriendlyName(IWICBitmapDecoderInfo *iface, UINT cchFriendlyName, WCHAR *wzFriendlyName, UINT *pcchActual)
static struct wine_rb_tree component_info_cache
static const WCHAR bitsperpixel_valuename[]
static HRESULT WINAPI BitmapEncoderInfo_GetDeviceManufacturer(IWICBitmapEncoderInfo *iface, UINT cchDeviceManufacturer, WCHAR *wzDeviceManufacturer, UINT *pcchActual)
static HRESULT WINAPI BitmapEncoderInfo_DoesSupportLossless(IWICBitmapEncoderInfo *iface, BOOL *pfSupportLossless)
static HRESULT WINAPI BitmapDecoderInfo_QueryInterface(IWICBitmapDecoderInfo *iface, REFIID iid, void **ppv)
static HRESULT WINAPI FormatConverterInfo_GetComponentType(IWICFormatConverterInfo *iface, WICComponentType *pType)
static HRESULT WINAPI BitmapDecoderInfo_GetFileExtensions(IWICBitmapDecoderInfo *iface, UINT cchFileExtensions, WCHAR *wzFileExtensions, UINT *pcchActual)
static HRESULT ComponentInfo_GetGUIDValue(HKEY classkey, LPCWSTR value, GUID *result)
static HRESULT WINAPI MetadataReaderInfo_GetFriendlyName(IWICMetadataReaderInfo *iface, UINT length, WCHAR *name, UINT *actual_length)
static HRESULT PixelFormatInfo_Constructor(HKEY classkey, REFCLSID clsid, ComponentInfo **ret)
static HRESULT WINAPI BitmapDecoderInfo_GetDeviceModels(IWICBitmapDecoderInfo *iface, UINT cchDeviceModels, WCHAR *wzDeviceModels, UINT *pcchActual)
static HRESULT WINAPI ComponentEnum_Skip(IEnumUnknown *iface, ULONG celt)
static HRESULT WINAPI BitmapEncoderInfo_GetFileExtensions(IWICBitmapEncoderInfo *iface, UINT cchFileExtensions, WCHAR *wzFileExtensions, UINT *pcchActual)
static HRESULT WINAPI PixelFormatInfo_GetFriendlyName(IWICPixelFormatInfo2 *iface, UINT cchFriendlyName, WCHAR *wzFriendlyName, UINT *pcchActual)
static HRESULT WINAPI MetadataReaderInfo_GetVersion(IWICMetadataReaderInfo *iface, UINT length, WCHAR *version, UINT *actual_length)
static HRESULT MetadataReaderInfo_Constructor(HKEY classkey, REFCLSID clsid, ComponentInfo **info)
static HRESULT WINAPI BitmapDecoderInfo_GetColorManagementVersion(IWICBitmapDecoderInfo *iface, UINT cchColorManagementVersion, WCHAR *wzColorManagementVersion, UINT *pcchActual)
static ULONG WINAPI BitmapEncoderInfo_Release(IWICBitmapEncoderInfo *iface)
static const WCHAR instance_keyname[]
static BOOL read_metadata_info(MetadataReaderInfo *info)
HRESULT CreateComponentInfo(REFCLSID clsid, IWICComponentInfo **ppIInfo)
static HRESULT WINAPI BitmapDecoderInfo_GetAuthor(IWICBitmapDecoderInfo *iface, UINT cchAuthor, WCHAR *wzAuthor, UINT *pcchActual)
static HRESULT WINAPI PixelFormatInfo_SupportsTransparency(IWICPixelFormatInfo2 *iface, BOOL *pfSupportsTransparency)
static HRESULT WINAPI MetadataReaderInfo_GetContainerFormats(IWICMetadataReaderInfo *iface, UINT length, GUID *formats, UINT *actual_length)
static HRESULT WINAPI ComponentEnum_QueryInterface(IEnumUnknown *iface, REFIID iid, void **ppv)
static HRESULT WINAPI PixelFormatInfo_GetComponentType(IWICPixelFormatInfo2 *iface, WICComponentType *pType)
static ULONG WINAPI ComponentEnum_AddRef(IEnumUnknown *iface)
static HRESULT WINAPI ComponentEnum_Reset(IEnumUnknown *iface)
static HRESULT WINAPI BitmapEncoderInfo_DoesSupportAnimation(IWICBitmapEncoderInfo *iface, BOOL *pfSupportAnimation)
static HRESULT WINAPI PixelFormatInfo_GetChannelCount(IWICPixelFormatInfo2 *iface, UINT *puiChannelCount)
static ComponentEnum * impl_from_IEnumUnknown(IEnumUnknown *iface)
static HRESULT WINAPI BitmapDecoderInfo_GetCLSID(IWICBitmapDecoderInfo *iface, CLSID *pclsid)
static HRESULT WINAPI BitmapEncoderInfo_GetFriendlyName(IWICBitmapEncoderInfo *iface, UINT cchFriendlyName, WCHAR *wzFriendlyName, UINT *pcchActual)
static HRESULT WINAPI BitmapDecoderInfo_GetSpecVersion(IWICBitmapDecoderInfo *iface, UINT cchSpecVersion, WCHAR *wzSpecVersion, UINT *pcchActual)
static HRESULT WINAPI BitmapDecoderInfo_GetVendorGUID(IWICBitmapDecoderInfo *iface, GUID *pguidVendor)
static const WCHAR containerformat_valuename[]
static ULONG WINAPI BitmapDecoderInfo_AddRef(IWICBitmapDecoderInfo *iface)
static HRESULT WINAPI MetadataReaderInfo_DoesRequireFixedSize(IWICMetadataReaderInfo *iface, BOOL *param)
static const WCHAR numericrepresentation_valuename[]
static HRESULT WINAPI MetadataReaderInfo_DoesRequireFullStream(IWICMetadataReaderInfo *iface, BOOL *param)
static HRESULT WINAPI BitmapEncoderInfo_CreateInstance(IWICBitmapEncoderInfo *iface, IWICBitmapEncoder **ppIBitmapEncoder)
static HRESULT WINAPI BitmapEncoderInfo_DoesSupportChromaKey(IWICBitmapEncoderInfo *iface, BOOL *pfSupportChromaKey)
HRESULT get_decoder_info(REFCLSID clsid, IWICBitmapDecoderInfo **info)
static HRESULT WINAPI BitmapDecoderInfo_GetComponentType(IWICBitmapDecoderInfo *iface, WICComponentType *pType)
static HRESULT WINAPI MetadataReaderInfo_GetDeviceModels(IWICMetadataReaderInfo *iface, UINT length, WCHAR *models, UINT *actual_length)
static HRESULT WINAPI BitmapEncoderInfo_GetSpecVersion(IWICBitmapEncoderInfo *iface, UINT cchSpecVersion, WCHAR *wzSpecVersion, UINT *pcchActual)
static HRESULT WINAPI BitmapEncoderInfo_DoesSupportMultiframe(IWICBitmapEncoderInfo *iface, BOOL *pfSupportMultiframe)
static ULONG WINAPI ComponentEnum_Release(IEnumUnknown *iface)
static struct metadata_container * get_metadata_container(MetadataReaderInfo *info, const GUID *guid)
static HRESULT WINAPI PixelFormatInfo_GetColorContext(IWICPixelFormatInfo2 *iface, IWICColorContext **ppIColorContext)
static BOOL ConverterSupportsFormat(IWICFormatConverterInfo *iface, const WCHAR *formatguid)
static const WCHAR channelmasks_keyname[]
static const WCHAR author_valuename[]
static HRESULT ComponentInfo_GetStringValue(HKEY classkey, LPCWSTR value, UINT buffer_size, WCHAR *buffer, UINT *actual_size)
static ULONG WINAPI BitmapDecoderInfo_Release(IWICBitmapDecoderInfo *iface)
static HRESULT WINAPI MetadataReaderInfo_MatchesPattern(IWICMetadataReaderInfo *iface, REFGUID container_guid, IStream *stream, BOOL *matches)
static const IWICPixelFormatInfo2Vtbl PixelFormatInfo_Vtbl
static BOOL is_1bpp_format(const WICPixelFormatGUID *format)
static HRESULT WINAPI PixelFormatInfo_GetBitsPerPixel(IWICPixelFormatInfo2 *iface, UINT *puiBitsPerPixel)
static BitmapDecoderInfo * impl_from_IWICBitmapDecoderInfo(IWICBitmapDecoderInfo *iface)
static HRESULT WINAPI BitmapEncoderInfo_GetColorManagementVersion(IWICBitmapEncoderInfo *iface, UINT cchColorManagementVersion, WCHAR *wzColorManagementVersion, UINT *pcchActual)
static HRESULT WINAPI PixelFormatInfo_GetNumericRepresentation(IWICPixelFormatInfo2 *iface, WICPixelFormatNumericRepresentation *pNumericRepresentation)
static HRESULT WINAPI FormatConverterInfo_GetVendorGUID(IWICFormatConverterInfo *iface, GUID *pguidVendor)
static ULONG WINAPI BitmapEncoderInfo_AddRef(IWICBitmapEncoderInfo *iface)
static HRESULT WINAPI BitmapEncoderInfo_GetPixelFormats(IWICBitmapEncoderInfo *iface, UINT cFormats, GUID *pguidPixelFormats, UINT *pcActual)
static HRESULT WINAPI BitmapDecoderInfo_GetMimeTypes(IWICBitmapDecoderInfo *iface, UINT cchMimeTypes, WCHAR *wzMimeTypes, UINT *pcchActual)
static const IWICMetadataReaderInfoVtbl MetadataReaderInfo_Vtbl
static HRESULT WINAPI FormatConverterInfo_GetFriendlyName(IWICFormatConverterInfo *iface, UINT cchFriendlyName, WCHAR *wzFriendlyName, UINT *pcchActual)
static ULONG WINAPI FormatConverterInfo_Release(IWICFormatConverterInfo *iface)
static const IWICFormatConverterInfoVtbl FormatConverterInfo_Vtbl
static HRESULT BitmapEncoderInfo_Constructor(HKEY classkey, REFCLSID clsid, ComponentInfo **ret)
static HRESULT WINAPI PixelFormatInfo_GetVendorGUID(IWICPixelFormatInfo2 *iface, GUID *pguidVendor)
static HRESULT WINAPI PixelFormatInfo_GetCLSID(IWICPixelFormatInfo2 *iface, CLSID *pclsid)
static HRESULT WINAPI PixelFormatInfo_GetChannelMask(IWICPixelFormatInfo2 *iface, UINT uiChannelIndex, UINT cbMaskBuffer, BYTE *pbMaskBuffer, UINT *pcbActual)
static HRESULT FormatConverterInfo_Constructor(HKEY classkey, REFCLSID clsid, ComponentInfo **ret)
static const WCHAR formats_keyname[]
static HRESULT WINAPI BitmapEncoderInfo_GetDeviceModels(IWICBitmapEncoderInfo *iface, UINT cchDeviceModels, WCHAR *wzDeviceModels, UINT *pcchActual)
static HRESULT WINAPI MetadataReaderInfo_GetSpecVersion(IWICMetadataReaderInfo *iface, UINT length, WCHAR *version, UINT *actual_length)
static BitmapEncoderInfo * impl_from_IWICBitmapEncoderInfo(IWICBitmapEncoderInfo *iface)
static const WCHAR specversion_valuename[]
static ULONG WINAPI PixelFormatInfo_Release(IWICPixelFormatInfo2 *iface)
static HRESULT WINAPI MetadataReaderInfo_GetAuthor(IWICMetadataReaderInfo *iface, UINT length, WCHAR *author, UINT *actual_length)
static HRESULT WINAPI BitmapDecoderInfo_DoesSupportAnimation(IWICBitmapDecoderInfo *iface, BOOL *pfSupportAnimation)
static CRITICAL_SECTION component_info_cache_cs
static HRESULT WINAPI BitmapEncoderInfo_QueryInterface(IWICBitmapEncoderInfo *iface, REFIID iid, void **ppv)
static const WCHAR clsid_keyname[]
static ULONG WINAPI FormatConverterInfo_AddRef(IWICFormatConverterInfo *iface)
static void read_metadata_patterns(MetadataReaderInfo *info, GUID *container_guid, struct metadata_container *container)
static HRESULT WINAPI PixelFormatInfo_GetVersion(IWICPixelFormatInfo2 *iface, UINT cchVersion, WCHAR *wzVersion, UINT *pcchActual)
static HRESULT WINAPI BitmapDecoderInfo_MatchesPattern(IWICBitmapDecoderInfo *iface, IStream *pIStream, BOOL *pfMatches)
static const IEnumUnknownVtbl ComponentEnumVtbl
HRESULT CreateComponentEnumerator(DWORD componentTypes, DWORD options, IEnumUnknown **ppIEnumUnknown)
HRESULT WINAPI WICConvertBitmapSource(REFWICPixelFormatGUID dstFormat, IWICBitmapSource *pISrc, IWICBitmapSource **ppIDst)
static HRESULT WINAPI BitmapDecoderInfo_GetPixelFormats(IWICBitmapDecoderInfo *iface, UINT cFormats, GUID *pguidPixelFormats, UINT *pcActual)
static MetadataReaderInfo * impl_from_IWICMetadataReaderInfo(IWICMetadataReaderInfo *iface)
static const WCHAR vendor_valuename[]
static HRESULT WINAPI BitmapDecoderInfo_CreateInstance(IWICBitmapDecoderInfo *iface, IWICBitmapDecoder **ppIBitmapDecoder)
static HRESULT WINAPI MetadataReaderInfo_DoesSupportPadding(IWICMetadataReaderInfo *iface, BOOL *param)
static const WCHAR supportspadding_valuename[]
static HRESULT WINAPI FormatConverterInfo_GetSigningStatus(IWICFormatConverterInfo *iface, DWORD *pStatus)
static void read_bitmap_patterns(BitmapDecoderInfo *info)
static HRESULT WINAPI FormatConverterInfo_GetCLSID(IWICFormatConverterInfo *iface, CLSID *pclsid)
static HRESULT WINAPI BitmapDecoderInfo_DoesSupportMultiframe(IWICBitmapDecoderInfo *iface, BOOL *pfSupportMultiframe)
static HRESULT WINAPI FormatConverterInfo_GetAuthor(IWICFormatConverterInfo *iface, UINT cchAuthor, WCHAR *wzAuthor, UINT *pcchActual)
static HRESULT BitmapDecoderInfo_Constructor(HKEY classkey, REFCLSID clsid, ComponentInfo **ret)
static const WCHAR version_valuename[]
static HRESULT WINAPI BitmapEncoderInfo_GetMimeTypes(IWICBitmapEncoderInfo *iface, UINT cchMimeTypes, WCHAR *wzMimeTypes, UINT *pcchActual)
static HRESULT WINAPI MetadataReaderInfo_QueryInterface(IWICMetadataReaderInfo *iface, REFIID riid, void **ppv)
static const WCHAR fileextensions_valuename[]
static HRESULT WINAPI BitmapEncoderInfo_GetSigningStatus(IWICBitmapEncoderInfo *iface, DWORD *pStatus)
static HRESULT WINAPI BitmapDecoderInfo_DoesSupportChromaKey(IWICBitmapDecoderInfo *iface, BOOL *pfSupportChromaKey)
static HRESULT WINAPI BitmapDecoderInfo_GetPatterns(IWICBitmapDecoderInfo *iface, UINT cbSizePatterns, WICBitmapPattern *pPatterns, UINT *pcPatterns, UINT *pcbPatternsActual)
static HRESULT WINAPI MetadataReaderInfo_CreateInstance(IWICMetadataReaderInfo *iface, IWICMetadataReader **reader)
static HRESULT WINAPI BitmapDecoderInfo_GetDeviceManufacturer(IWICBitmapDecoderInfo *iface, UINT cchDeviceManufacturer, WCHAR *wzDeviceManufacturer, UINT *pcchActual)
static HRESULT WINAPI MetadataReaderInfo_GetCLSID(IWICMetadataReaderInfo *iface, CLSID *clsid)
static const IWICBitmapDecoderInfoVtbl BitmapDecoderInfo_Vtbl
void ReleaseComponentInfos(void)
static HRESULT ComponentInfo_GetDWORDValue(HKEY classkey, LPCWSTR value, DWORD *result)
static const IWICBitmapEncoderInfoVtbl BitmapEncoderInfo_Vtbl
static HRESULT WINAPI BitmapEncoderInfo_GetCLSID(IWICBitmapEncoderInfo *iface, CLSID *pclsid)
static HRESULT WINAPI FormatConverterInfo_QueryInterface(IWICFormatConverterInfo *iface, REFIID iid, void **ppv)
static HRESULT WINAPI BitmapEncoderInfo_MatchesMimeType(IWICBitmapEncoderInfo *iface, LPCWSTR wzMimeType, BOOL *pfMatches)
static int ComponentInfo_Compare(const void *key, const struct wine_rb_entry *entry)
static ULONG WINAPI PixelFormatInfo_AddRef(IWICPixelFormatInfo2 *iface)
static HRESULT WINAPI MetadataReaderInfo_GetSigningStatus(IWICMetadataReaderInfo *iface, DWORD *status)
static HRESULT WINAPI BitmapEncoderInfo_GetComponentType(IWICBitmapEncoderInfo *iface, WICComponentType *pType)
static const WCHAR containers_keyname[]
static HRESULT ComponentInfo_GetGuidList(HKEY classkey, LPCWSTR subkeyname, UINT buffersize, GUID *buffer, UINT *actual_size)
static HRESULT WINAPI FormatConverterInfo_GetVersion(IWICFormatConverterInfo *iface, UINT cchVersion, WCHAR *wzVersion, UINT *pcchActual)
static PixelFormatInfo * impl_from_IWICPixelFormatInfo2(IWICPixelFormatInfo2 *iface)
static ULONG WINAPI MetadataReaderInfo_AddRef(IWICMetadataReaderInfo *iface)
static HRESULT WINAPI BitmapEncoderInfo_GetVendorGUID(IWICBitmapEncoderInfo *iface, GUID *pguidVendor)
static HRESULT WINAPI PixelFormatInfo_GetFormatGUID(IWICPixelFormatInfo2 *iface, GUID *pFormat)
static HRESULT WINAPI BitmapDecoderInfo_MatchesMimeType(IWICBitmapDecoderInfo *iface, LPCWSTR wzMimeType, BOOL *pfMatches)
static HRESULT WINAPI FormatConverterInfo_GetSpecVersion(IWICFormatConverterInfo *iface, UINT cchSpecVersion, WCHAR *wzSpecVersion, UINT *pcchActual)
static ULONG WINAPI MetadataReaderInfo_Release(IWICMetadataReaderInfo *iface)
static HRESULT WINAPI MetadataReaderInfo_GetPatterns(IWICMetadataReaderInfo *iface, REFGUID container_guid, UINT length, WICMetadataPattern *patterns, UINT *count, UINT *actual_length)
static const WCHAR requiresfullstream_valuename[]
static HRESULT WINAPI PixelFormatInfo_GetSpecVersion(IWICPixelFormatInfo2 *iface, UINT cchSpecVersion, WCHAR *wzSpecVersion, UINT *pcchActual)
static const WCHAR metadataformat_valuename[]
static const WCHAR mimetypes_valuename[]
static HRESULT WINAPI MetadataReaderInfo_GetComponentType(IWICMetadataReaderInfo *iface, WICComponentType *type)
static CRITICAL_SECTION_DEBUG component_info_cache_cs_dbg
static const WCHAR friendlyname_valuename[]
static FormatConverterInfo * impl_from_IWICFormatConverterInfo(IWICFormatConverterInfo *iface)
static HRESULT WINAPI PixelFormatInfo_GetSigningStatus(IWICPixelFormatInfo2 *iface, DWORD *pStatus)
static HRESULT WINAPI BitmapEncoderInfo_GetVersion(IWICBitmapEncoderInfo *iface, UINT cchVersion, WCHAR *wzVersion, UINT *pcchActual)
static HRESULT WINAPI PixelFormatInfo_GetAuthor(IWICPixelFormatInfo2 *iface, UINT cchAuthor, WCHAR *wzAuthor, UINT *pcchActual)
static HRESULT WINAPI BitmapDecoderInfo_GetContainerFormat(IWICBitmapDecoderInfo *iface, GUID *pguidContainerFormat)
static HRESULT WINAPI FormatConverterInfo_CreateInstance(IWICFormatConverterInfo *iface, IWICFormatConverter **ppIFormatConverter)
static HRESULT WINAPI BitmapEncoderInfo_GetContainerFormat(IWICBitmapEncoderInfo *iface, GUID *pguidContainerFormat)
static HRESULT WINAPI MetadataReaderInfo_GetVendorGUID(IWICMetadataReaderInfo *iface, GUID *vendor)
static HRESULT WINAPI FormatConverterInfo_GetPixelFormats(IWICFormatConverterInfo *iface, UINT cFormats, GUID *pguidPixelFormats, UINT *pcActual)
static HRESULT WINAPI BitmapDecoderInfo_GetVersion(IWICBitmapDecoderInfo *iface, UINT cchVersion, WCHAR *wzVersion, UINT *pcchActual)
static HRESULT WINAPI ComponentEnum_Next(IEnumUnknown *iface, ULONG celt, IUnknown **rgelt, ULONG *pceltFetched)
static const WCHAR channelcount_valuename[]
static const WCHAR pixelformats_keyname[]
static HRESULT WINAPI ComponentEnum_Clone(IEnumUnknown *iface, IEnumUnknown **ppenum)
static HRESULT WINAPI BitmapDecoderInfo_GetSigningStatus(IWICBitmapDecoderInfo *iface, DWORD *pStatus)
static const WCHAR supportstransparency_valuename[]
__in WDFDMATRANSACTION __out NTSTATUS * pStatus
GLuint GLuint GLsizei GLenum type
GLuint GLuint GLsizei count
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLsizei GLenum * categories
GLuint GLsizei GLsizei * length
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
#define memcpy(s1, s2, n)
#define ERROR_FILE_NOT_FOUND
static const CLSID * objects[]
struct _ULARGE_INTEGER ULARGE_INTEGER
_In_ ULONG _In_ ULONG _In_ ULONG Length
const GUID IID_IEnumUnknown
#define IsEqualGUID(rguid1, rguid2)
#define IsEqualIID(riid1, riid2)
static __inline const char * wine_dbgstr_guid(const GUID *id)
static void * heap_calloc(SIZE_T count, SIZE_T size)
#define LIST_FOR_EACH_ENTRY(elem, list, type, field)
#define LIST_FOR_EACH_ENTRY_SAFE(cursor, cursor2, list, type, field)
__WINE_SERVER_LIST_INLINE struct list * list_next(const struct list *list, const struct list *elem)
#define WINE_RB_ENTRY_VALUE(element, type, field)
static struct wine_rb_entry * wine_rb_get(const struct wine_rb_tree *tree, const void *key)
#define WINE_RB_FOR_EACH_ENTRY_DESTRUCTOR(elem, elem2, tree, type, field)
static int wine_rb_put(struct wine_rb_tree *tree, const void *key, struct wine_rb_entry *entry)
WICBitmapPattern * patterns
IEnumUnknown IEnumUnknown_iface
IWICComponentInfo IWICComponentInfo_iface
DWORD_PTR Spare[8/sizeof(DWORD_PTR)]
LIST_ENTRY ProcessLocksList
PCRITICAL_SECTION_DEBUG DebugInfo
HRESULT(* constructor)(HKEY, REFCLSID, ComponentInfo **)
static void buffer_size(GLcontext *ctx, GLuint *width, GLuint *height)
VOID WINAPI InitializeCriticalSection(OUT LPCRITICAL_SECTION lpCriticalSection)
#define CONTAINING_RECORD(address, type, field)
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
void WINAPI DeleteCriticalSection(PCRITICAL_SECTION)
@ WICBitmapDitherTypeNone
WICPixelFormatNumericRepresentation
@ WICBitmapPaletteTypeMedianCut
@ WICPixelFormatConverter
#define WINCODEC_ERR_COMPONENTNOTFOUND
#define HRESULT_FROM_WIN32(x)
#define STG_E_INVALIDFUNCTION
#define WINCODEC_ERR_INSUFFICIENTBUFFER
#define HKEY_CLASSES_ROOT