1 #![allow(unused_variables, non_upper_case_globals, non_snake_case, unused_unsafe, non_camel_case_types, dead_code, clippy::all)]
2 pub const CATID_WICBitmapDecoders: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2128177207, 38640, 18450, [178, 17, 241, 60, 36, 17, 126, 211]);
3 pub const CATID_WICBitmapEncoders: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2893378198, 13602, 19985, [152, 98, 193, 123, 229, 161, 118, 126]);
4 pub const CATID_WICFormatConverters: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2016799464, 48916, 18897, [147, 206, 83, 58, 64, 123, 34, 72]);
5 pub const CATID_WICMetadataReader: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(95392984, 29044, 19666, [190, 74, 65, 36, 184, 14, 228, 184]);
6 pub const CATID_WICMetadataWriter: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2883828132, 9597, 19351, [189, 26, 41, 74, 244, 150, 34, 46]);
7 pub const CATID_WICPixelFormats: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(726066959, 52647, 18238, [137, 246, 220, 150, 48, 162, 57, 11]);
8 pub const CLSID_WIC8BIMIPTCDigestMetadataReader: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(41967390, 54698, 16731, [130, 197, 97, 192, 51, 169, 136, 166]);
9 pub const CLSID_WIC8BIMIPTCDigestMetadataWriter: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(766895659, 3431, 18783, [143, 157, 194, 240, 24, 134, 71, 172]);
10 pub const CLSID_WIC8BIMIPTCMetadataReader: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1074828, 2049, 19878, [164, 164, 130, 101, 34, 182, 210, 143]);
11 pub const CLSID_WIC8BIMIPTCMetadataWriter: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1081894, 60993, 17570, [158, 156, 75, 228, 213, 177, 210, 205]);
12 pub const CLSID_WIC8BIMResolutionInfoMetadataReader: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1476727674, 58184, 20348, [179, 204, 109, 185, 150, 90, 5, 153]);
13 pub const CLSID_WIC8BIMResolutionInfoMetadataWriter: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1341324814, 59210, 19313, [152, 196, 171, 125, 193, 103, 7, 186]);
14 pub const CLSID_WICAPEMetadataReader: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(392673594, 45089, 17642, [146, 15, 134, 60, 17, 244, 247, 104]);
15 pub const CLSID_WICAPEMetadataWriter: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3178160074, 10384, 18479, [178, 51, 141, 115, 57, 161, 207, 141]);
16 pub const CLSID_WICAdngDecoder: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2552075281, 37022, 17063, [143, 93, 167, 71, 255, 5, 46, 219]);
17 pub const CLSID_WICApp0MetadataReader: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1127369523, 42895, 18447, [145, 17, 150, 56, 170, 204, 200, 50]);
18 pub const CLSID_WICApp0MetadataWriter: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4089852834, 18120, 18830, [143, 187, 204, 111, 114, 27, 188, 222]);
19 pub const CLSID_WICApp13MetadataReader: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2860399696, 34380, 17924, [188, 4, 139, 11, 118, 230, 55, 246]);
20 pub const CLSID_WICApp13MetadataWriter: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2065279257, 43478, 18917, [189, 69, 2, 195, 78, 78, 76, 213]);
21 pub const CLSID_WICApp1MetadataReader: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3722654995, 30542, 19405, [174, 121, 2, 244, 173, 254, 98, 252]);
22 pub const CLSID_WICApp1MetadataWriter: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3996541033, 6194, 16911, [179, 129, 4, 121, 173, 6, 111, 25]);
23 pub const CLSID_WICBmpDecoder: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1799757922, 31935, 16397, [159, 219, 129, 61, 209, 15, 39, 120]);
24 pub const CLSID_WICBmpEncoder: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1774095284, 54893, 18376, [134, 90, 237, 21, 137, 67, 55, 130]);
25 pub const CLSID_WICDdsDecoder: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2421385631, 41793, 17053, [158, 144, 238, 67, 124, 248, 12, 115]);
26 pub const CLSID_WICDdsEncoder: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2786975380, 26318, 19137, [136, 27, 113, 104, 5, 136, 137, 94]);
27 pub const CLSID_WICDdsMetadataReader: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(661424330, 30003, 19078, [182, 118, 102, 179, 96, 128, 212, 132]);
28 pub const CLSID_WICDdsMetadataWriter: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4251487165, 12781, 19895, [167, 35, 147, 73, 39, 211, 131, 103]);
29 pub const CLSID_WICDefaultFormatConverter: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(440340956, 46356, 19223, [140, 95, 33, 84, 81, 56, 82, 241]);
30 pub const CLSID_WICExifMetadataReader: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3644864608, 10623, 19017, [191, 155, 119, 137, 129, 80, 164, 66]);
31 pub const CLSID_WICExifMetadataWriter: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3382791386, 49977, 17931, [144, 120, 212, 222, 188, 250, 190, 145]);
32 pub const CLSID_WICFormatConverterHighColor: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2893403220, 40759, 18680, [185, 114, 78, 25, 188, 133, 96, 17]);
33 pub const CLSID_WICFormatConverterNChannel: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3246173106, 54435, 18391, [165, 87, 51, 155, 46, 251, 212, 241]);
34 pub const CLSID_WICFormatConverterWMPhoto: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2629113643, 54784, 18106, [171, 119, 119, 187, 126, 58, 0, 217]);
35 pub const CLSID_WICGCEMetadataReader: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3106813021, 62765, 16883, [181, 98, 8, 27, 199, 114, 227, 185]);
36 pub const CLSID_WICGCEMetadataWriter: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2945834102, 5810, 18420, [179, 234, 60, 49, 121, 102, 147, 231]);
37 pub const CLSID_WICGifCommentMetadataReader: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(844463419, 27100, 20373, [131, 110, 245, 151, 43, 47, 97, 89]);
38 pub const CLSID_WICGifCommentMetadataWriter: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2686949372, 50350, 16780, [175, 149, 230, 55, 199, 234, 210, 161]);
39 pub const CLSID_WICGifDecoder: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(941480508, 40169, 18484, [162, 62, 31, 152, 248, 252, 82, 190]);
40 pub const CLSID_WICGifEncoder: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(290411928, 2850, 16544, [134, 161, 200, 62, 164, 149, 173, 189]);
41 pub const CLSID_WICGpsMetadataReader: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(915896587, 8763, 18510, [153, 37, 196, 134, 146, 24, 241, 122]);
42 pub const CLSID_WICGpsMetadataWriter: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3414954980, 25269, 19606, [164, 139, 107, 166, 172, 227, 156, 118]);
43 pub const CLSID_WICHeifDecoder: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3919882250, 17662, 19940, [137, 113, 113, 80, 177, 10, 81, 153]);
44 pub const CLSID_WICHeifEncoder: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(230608577, 40627, 18528, [156, 111, 221, 190, 134, 99, 69, 117]);
45 pub const CLSID_WICHeifHDRMetadataReader: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(607706685, 38105, 19432, [132, 168, 77, 233, 90, 87, 94, 117]);
46 pub const CLSID_WICHeifMetadataReader: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2900229183, 34284, 16828, [189, 239, 27, 194, 98, 228, 219, 5]);
47 pub const CLSID_WICHeifMetadataWriter: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(988044921, 16572, 17409, [172, 229, 221, 60, 177, 110, 106, 254]);
48 pub const CLSID_WICIMDMetadataReader: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1950851687, 21, 17096, [168, 241, 251, 59, 148, 198, 131, 97]);
49 pub const CLSID_WICIMDMetadataWriter: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2357790495, 17710, 20117, [150, 130, 157, 16, 36, 98, 113, 114]);
50 pub const CLSID_WICIPTCMetadataReader: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(50407769, 62710, 17623, [157, 9, 218, 160, 135, 169, 219, 87]);
51 pub const CLSID_WICIPTCMetadataWriter: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(306819596, 24016, 17662, [176, 179, 143, 146, 200, 230, 208, 128]);
52 pub const CLSID_WICIRBMetadataReader: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3571241943, 46274, 18393, [166, 191, 184, 155, 163, 150, 164, 163]);
53 pub const CLSID_WICIRBMetadataWriter: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1549539637, 565, 17460, [128, 188, 37, 27, 193, 236, 57, 198]);
54 pub const CLSID_WICIcoDecoder: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3323722975, 11791, 19117, [168, 215, 224, 107, 175, 235, 205, 254]);
55 pub const CLSID_WICIfdMetadataReader: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2408662614, 40202, 20146, [144, 25, 11, 249, 109, 138, 158, 230]);
56 pub const CLSID_WICIfdMetadataWriter: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2985032744, 51645, 18338, [141, 51, 185, 72, 118, 151, 119, 167]);
57 pub const CLSID_WICImagingCategories: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4209234816, 65188, 17955, [140, 117, 198, 182, 17, 16, 182, 129]);
58 pub const CLSID_WICImagingFactory: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3402297954, 37744, 17941, [161, 59, 159, 85, 57, 218, 76, 10]);
59 pub const CLSID_WICImagingFactory1: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3402297954, 37744, 17941, [161, 59, 159, 85, 57, 218, 76, 10]);
60 pub const CLSID_WICImagingFactory2: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(830277352, 24356, 17213, [189, 247, 121, 206, 104, 216, 171, 194]);
61 pub const CLSID_WICInteropMetadataReader: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3049830552, 116, 17823, [183, 0, 134, 13, 70, 81, 234, 20]);
62 pub const CLSID_WICInteropMetadataWriter: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(305055301, 52606, 17624, [177, 134, 44, 140, 32, 195, 181, 15]);
63 pub const CLSID_WICJpegChrominanceMetadataReader: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1353814091, 62095, 17780, [147, 244, 11, 173, 232, 44, 105, 233]);
64 pub const CLSID_WICJpegChrominanceMetadataWriter: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1073047280, 28267, 18900, [150, 230, 183, 136, 134, 105, 44, 98]);
65 pub const CLSID_WICJpegCommentMetadataReader: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2674275452, 24772, 19533, [171, 88, 210, 53, 134, 133, 246, 7]);
66 pub const CLSID_WICJpegCommentMetadataWriter: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3849528175, 21937, 20186, [129, 234, 159, 101, 219, 2, 144, 211]);
67 pub const CLSID_WICJpegDecoder: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2488706176, 59531, 17386, [158, 115, 11, 45, 155, 113, 177, 202]);
68 pub const CLSID_WICJpegEncoder: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(439678401, 19034, 18140, [182, 68, 31, 69, 103, 231, 166, 118]);
69 pub const CLSID_WICJpegLuminanceMetadataReader: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(896479112, 1446, 18216, [185, 164, 27, 251, 206, 4, 216, 56]);
70 pub const CLSID_WICJpegLuminanceMetadataWriter: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(492321468, 35342, 18007, [153, 130, 163, 128, 202, 88, 251, 75]);
71 pub const CLSID_WICJpegQualcommPhoneEncoder: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1760386146, 62772, 18809, [178, 179, 104, 106, 18, 178, 179, 76]);
72 pub const CLSID_WICLSDMetadataReader: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1090979731, 23012, 18330, [161, 247, 149, 74, 220, 46, 245, 252]);
73 pub const CLSID_WICLSDMetadataWriter: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1941977063, 58841, 18772, [135, 106, 109, 168, 29, 110, 87, 104]);
74 pub const CLSID_WICPlanarFormatConverter: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(406926008, 13048, 18308, [145, 49, 221, 114, 36, 178, 52, 56]);
75 pub const CLSID_WICPngBkgdMetadataReader: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(216507558, 1000, 19040, [157, 21, 40, 46, 243, 46, 231, 218]);
76 pub const CLSID_WICPngBkgdMetadataWriter: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1759769341, 12718, 17473, [187, 106, 253, 112, 71, 82, 95, 144]);
77 pub const CLSID_WICPngChrmMetadataReader: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4178272054, 13947, 16426, [157, 209, 188, 15, 213, 157, 143, 98]);
78 pub const CLSID_WICPngChrmMetadataWriter: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3795641323, 22024, 20099, [188, 239, 39, 177, 152, 126, 81, 215]);
79 pub const CLSID_WICPngDecoder: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(949920123, 20600, 19678, [182, 239, 37, 193, 81, 117, 199, 81]);
80 pub const CLSID_WICPngDecoder1: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(949920123, 20600, 19678, [182, 239, 37, 193, 81, 117, 199, 81]);
81 pub const CLSID_WICPngDecoder2: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3759707227, 43654, 16392, [155, 212, 103, 119, 161, 228, 12, 17]);
82 pub const CLSID_WICPngEncoder: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(664050025, 34666, 16855, [148, 71, 86, 143, 106, 53, 164, 220]);
83 pub const CLSID_WICPngGamaMetadataReader: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(915589689, 57474, 17232, [158, 31, 55, 4, 203, 8, 60, 213]);
84 pub const CLSID_WICPngGamaMetadataWriter: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4278414611, 23883, 18141, [177, 15, 16, 102, 147, 217, 254, 79]);
85 pub const CLSID_WICPngHistMetadataReader: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2272922551, 41747, 17553, [135, 181, 46, 109, 5, 148, 245, 32]);
86 pub const CLSID_WICPngHistMetadataWriter: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2315511625, 26414, 17518, [191, 31, 44, 17, 210, 51, 182, 255]);
87 pub const CLSID_WICPngIccpMetadataReader: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4124304955, 51983, 17960, [164, 120, 109, 130, 68, 190, 54, 177]);
88 pub const CLSID_WICPngIccpMetadataWriter: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(375856735, 3302, 19652, [151, 104, 232, 159, 229, 1, 138, 222]);
89 pub const CLSID_WICPngItxtMetadataReader: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2864689914, 15902, 19087, [137, 119, 85, 86, 251, 148, 234, 35]);
90 pub const CLSID_WICPngItxtMetadataWriter: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(830969625, 59217, 19960, [152, 29, 104, 223, 246, 119, 4, 237]);
91 pub const CLSID_WICPngSrgbMetadataReader: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4215289356, 21630, 18774, [163, 185, 212, 65, 136, 89, 186, 102]);
92 pub const CLSID_WICPngSrgbMetadataWriter: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2800629190, 34796, 18399, [159, 34, 29, 90, 173, 132, 12, 130]);
93 pub const CLSID_WICPngTextMetadataReader: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1264168908, 47299, 16522, [182, 112, 137, 229, 250, 182, 253, 167]);
94 pub const CLSID_WICPngTextMetadataWriter: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3052122041, 9534, 19058, [167, 68, 7, 98, 210, 104, 86, 131]);
95 pub const CLSID_WICPngTimeMetadataReader: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3645824770, 61413, 20237, [133, 200, 245, 166, 139, 48, 0, 177]);
96 pub const CLSID_WICPngTimeMetadataWriter: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(448234496, 46499, 19857, [138, 206, 51, 252, 209, 73, 155, 230]);
97 pub const CLSID_WICRAWDecoder: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1100240642, 33538, 17574, [148, 69, 172, 152, 232, 175, 160, 134]);
98 pub const CLSID_WICSubIfdMetadataReader: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1356082953, 60625, 19265, [182, 93, 218, 31, 218, 167, 86, 99]);
99 pub const CLSID_WICSubIfdMetadataWriter: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2329826182, 36507, 20300, [172, 242, 240, 0, 135, 6, 178, 56]);
100 pub const CLSID_WICThumbnailMetadataReader: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4211157337, 62710, 17623, [157, 9, 218, 160, 135, 169, 219, 87]);
101 pub const CLSID_WICThumbnailMetadataWriter: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3494490636, 24016, 17662, [176, 179, 143, 146, 200, 230, 208, 128]);
102 pub const CLSID_WICTiffDecoder: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3041822169, 65059, 18847, [139, 136, 106, 206, 167, 19, 117, 43]);
103 pub const CLSID_WICTiffEncoder: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(20037136, 8193, 19551, [169, 176, 204, 136, 250, 182, 76, 232]);
104 pub const CLSID_WICUnknownMetadataReader: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1771521474, 20582, 19330, [168, 227, 212, 4, 120, 219, 236, 140]);
105 pub const CLSID_WICUnknownMetadataWriter: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2694630022, 10170, 20281, [144, 83, 18, 31, 164, 220, 8, 252]);
106 pub const CLSID_WICWebpAnimMetadataReader: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(124754193, 41800, 18012, [168, 7, 162, 82, 243, 242, 211, 222]);
107 pub const CLSID_WICWebpAnmfMetadataReader: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2241923843, 51702, 17311, [190, 94, 192, 251, 239, 103, 128, 124]);
108 pub const CLSID_WICWebpDecoder: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1989404806, 20937, 16496, [132, 25, 159, 112, 115, 142, 200, 250]);
109 pub const CLSID_WICWmpDecoder: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2725047350, 9036, 18768, [174, 22, 227, 74, 172, 231, 29, 13]);
110 pub const CLSID_WICWmpEncoder: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2890720203, 57793, 17613, [130, 21, 90, 22, 101, 80, 158, 194]);
111 pub const CLSID_WICXMPAltMetadataReader: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2861882562, 47280, 18584, [184, 53, 0, 10, 171, 215, 67, 147]);
112 pub const CLSID_WICXMPAltMetadataWriter: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(124529260, 63375, 19526, [167, 35, 53, 131, 231, 8, 118, 234]);
113 pub const CLSID_WICXMPBagMetadataReader: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3890715184, 20268, 20395, [141, 0, 57, 79, 45, 107, 190, 190]);
114 pub const CLSID_WICXMPBagMetadataWriter: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3984731276, 54974, 17153, [166, 49, 14, 20, 22, 186, 210, 143]);
115 pub const CLSID_WICXMPMetadataReader: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1924539615, 44561, 18760, [166, 92, 53, 30, 176, 130, 148, 25]);
116 pub const CLSID_WICXMPMetadataWriter: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(392552782, 7124, 17966, [182, 177, 89, 11, 241, 38, 42, 198]);
117 pub const CLSID_WICXMPSeqMetadataReader: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2131945299, 64625, 17367, [165, 29, 146, 243, 89, 119, 171, 181]);
118 pub const CLSID_WICXMPSeqMetadataWriter: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1835586014, 54322, 19215, [146, 58, 9, 17, 131, 169, 189, 167]);
119 pub const CLSID_WICXMPStructMetadataReader: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(28904858, 33289, 18423, [156, 82, 225, 36, 75, 245, 12, 237]);
120 pub const CLSID_WICXMPStructMetadataWriter: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(583147411, 32219, 16668, [155, 23, 197, 183, 189, 6, 74, 188]);
121 pub const FACILITY_WINCODEC_ERR: u32 = 2200u32;
122 pub const GUID_ContainerFormatAdng: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4093603085, 14528, 16836, [177, 254, 31, 56, 36, 241, 123, 132]);
123 pub const GUID_ContainerFormatBmp: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(183621758, 64766, 16776, [189, 235, 167, 144, 100, 113, 203, 227]);
124 pub const GUID_ContainerFormatDds: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2573716373, 11909, 19144, [140, 162, 131, 215, 204, 212, 37, 201]);
125 pub const GUID_ContainerFormatGif: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(529159681, 32077, 19645, [156, 130, 27, 200, 212, 238, 185, 165]);
126 pub const GUID_ContainerFormatHeif: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3789956385, 26503, 16475, [163, 57, 80, 7, 21, 181, 118, 63]);
127 pub const GUID_ContainerFormatIco: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2745721028, 13199, 19479, [145, 154, 251, 164, 181, 98, 143, 33]);
128 pub const GUID_ContainerFormatJpeg: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(434415018, 22114, 20421, [160, 192, 23, 88, 2, 142, 16, 87]);
129 pub const GUID_ContainerFormatPng: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(461175540, 28991, 18236, [187, 205, 97, 55, 66, 95, 174, 175]);
130 pub const GUID_ContainerFormatRaw: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4271492704, 61852, 17212, [163, 174, 0, 172, 239, 169, 202, 33]);
131 pub const GUID_ContainerFormatTiff: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(373017648, 58089, 20235, [150, 29, 163, 233, 253, 183, 136, 163]);
132 pub const GUID_ContainerFormatWebp: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3767840994, 26610, 17843, [176, 234, 17, 83, 55, 202, 124, 243]);
133 pub const GUID_ContainerFormatWmp: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1470332074, 13946, 17728, [145, 107, 241, 131, 197, 9, 58, 75]);
134 pub const GUID_MetadataFormat8BIMIPTC: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1070732, 2130, 20074, [177, 145, 92, 51, 172, 91, 4, 48]);
135 pub const GUID_MetadataFormat8BIMIPTCDigest: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(480453253, 40141, 18310, [139, 216, 121, 83, 157, 182, 160, 6]);
136 pub const GUID_MetadataFormat8BIMResolutionInfo: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1939812445, 33243, 17355, [172, 94, 85, 1, 62, 249, 240, 3]);
137 pub const GUID_MetadataFormatAPE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(772029890, 51559, 19973, [135, 94, 97, 139, 246, 126, 133, 195]);
138 pub const GUID_MetadataFormatApp0: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2030071848, 9869, 17878, [163, 194, 53, 78, 106, 80, 75, 201]);
139 pub const GUID_MetadataFormatApp1: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2413027267, 63825, 18731, [129, 127, 105, 194, 230, 217, 165, 176]);
140 pub const GUID_MetadataFormatApp13: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(845502114, 62722, 17236, [156, 192, 142, 63, 72, 234, 246, 181]);
141 pub const GUID_MetadataFormatChunkbKGD: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3779933553, 27463, 19946, [182, 10, 135, 206, 10, 120, 223, 183]);
142 pub const GUID_MetadataFormatChunkcHRM: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2645779803, 10306, 17587, [128, 103, 18, 233, 179, 117, 85, 106]);
143 pub const GUID_MetadataFormatChunkgAMA: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4027135397, 7517, 19665, [129, 178, 147, 36, 215, 236, 167, 129]);
144 pub const GUID_MetadataFormatChunkhIST: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3315237594, 56180, 18596, [189, 106, 182, 156, 73, 49, 239, 149]);
145 pub const GUID_MetadataFormatChunkiCCP: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3947055531, 46725, 17679, [145, 181, 232, 2, 232, 146, 83, 108]);
146 pub const GUID_MetadataFormatChunkiTXt: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3267282729, 2920, 19319, [170, 14, 98, 149, 166, 172, 24, 20]);
147 pub const GUID_MetadataFormatChunksRGB: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3239443766, 52335, 20031, [131, 99, 82, 75, 135, 198, 176, 217]);
148 pub const GUID_MetadataFormatChunktEXt: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1452116278, 49321, 18723, [144, 93, 223, 43, 56, 35, 143, 188]);
149 pub const GUID_MetadataFormatChunktIME: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1795206701, 57931, 17930, [152, 182, 135, 139, 208, 48, 114, 253]);
150 pub const GUID_MetadataFormatDds: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1241925123, 35891, 20064, [156, 41, 19, 98, 49, 112, 45, 8]);
151 pub const GUID_MetadataFormatExif: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(473714589, 47178, 18045, [148, 147, 54, 207, 189, 89, 234, 87]);
152 pub const GUID_MetadataFormatGCE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(707119832, 57067, 19561, [167, 136, 14, 194, 38, 109, 202, 253]);
153 pub const GUID_MetadataFormatGifComment: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3300319456, 53172, 19155, [171, 51, 154, 173, 35, 85, 163, 74]);
154 pub const GUID_MetadataFormatGps: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1899277194, 37713, 17581, [175, 98, 68, 141, 182, 181, 2, 236]);
155 pub const GUID_MetadataFormatHeif: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2172580833, 4744, 17908, [168, 82, 38, 13, 158, 124, 206, 131]);
156 pub const GUID_MetadataFormatHeifHDR: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1451986314, 7781, 17292, [137, 104, 214, 14, 16, 18, 190, 185]);
157 pub const GUID_MetadataFormatIMD: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3173757062, 19794, 18653, [150, 119, 219, 72, 62, 133, 174, 143]);
158 pub const GUID_MetadataFormatIPTC: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1336609044, 57641, 16519, [161, 209, 188, 129, 45, 69, 167, 181]);
159 pub const GUID_MetadataFormatIRB: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(370150758, 34160, 19385, [185, 45, 253, 164, 178, 62, 206, 103]);
160 pub const GUID_MetadataFormatIfd: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1400084166, 11658, 19382, [155, 248, 47, 10, 142, 42, 58, 223]);
161 pub const GUID_MetadataFormatInterop: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3983044494, 26655, 19595, [189, 65, 168, 173, 219, 246, 179, 252]);
162 pub const GUID_MetadataFormatJpegChrominance: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4147973583, 52934, 20357, [155, 14, 28, 57, 86, 177, 190, 247]);
163 pub const GUID_MetadataFormatJpegComment: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(571367219, 45011, 18254, [157, 49, 125, 79, 231, 48, 245, 87]);
164 pub const GUID_MetadataFormatJpegLuminance: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2257616903, 60924, 18528, [141, 75, 78, 230, 232, 62, 96, 88]);
165 pub const GUID_MetadataFormatLSD: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3797287710, 25241, 18729, [185, 141, 90, 200, 132, 175, 186, 146]);
166 pub const GUID_MetadataFormatSubIfd: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1487069480, 11705, 20055, [187, 20, 81, 119, 137, 30, 211, 49]);
167 pub const GUID_MetadataFormatThumbnail: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(608030441, 34563, 16622, [142, 240, 34, 166, 0, 184, 5, 140]);
168 pub const GUID_MetadataFormatUnknown: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2757646639, 36984, 19068, [173, 181, 78, 220, 79, 214, 27, 31]);
169 pub const GUID_MetadataFormatWebpANIM: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1841626534, 30950, 16642, [174, 53, 188, 250, 30, 220, 199, 139]);
170 pub const GUID_MetadataFormatWebpANMF: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1136723438, 47419, 19131, [176, 3, 160, 140, 13, 135, 4, 113]);
171 pub const GUID_MetadataFormatXMP: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3143289912, 61974, 19692, [166, 197, 95, 110, 115, 151, 99, 169]);
172 pub const GUID_MetadataFormatXMPAlt: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2064164469, 37290, 18459, [167, 152, 77, 169, 73, 8, 97, 59]);
173 pub const GUID_MetadataFormatXMPBag: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2201799263, 56503, 17686, [128, 111, 101, 150, 171, 38, 220, 228]);
174 pub const GUID_MetadataFormatXMPSeq: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1676205826, 60268, 17772, [162, 36, 178, 94, 121, 79, 214, 72]);
175 pub const GUID_MetadataFormatXMPStruct: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(574110961, 60695, 20014, [175, 23, 216, 91, 143, 107, 48, 208]);
176 pub const GUID_VendorMicrosoft: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4041689546, 60911, 17801, [167, 58, 238, 14, 98, 106, 42, 43]);
177 pub const GUID_VendorMicrosoftBuiltIn: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(628764925, 1718, 17963, [174, 164, 99, 247, 11, 134, 229, 51]);
178 pub const GUID_WICPixelFormat112bpp6ChannelsAlpha: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 55]);
179 pub const GUID_WICPixelFormat112bpp7Channels: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 42]);
180 pub const GUID_WICPixelFormat128bpp7ChannelsAlpha: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 56]);
181 pub const GUID_WICPixelFormat128bpp8Channels: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 43]);
182 pub const GUID_WICPixelFormat128bppPRGBAFloat: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 26]);
183 pub const GUID_WICPixelFormat128bppRGBAFixedPoint: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 30]);
184 pub const GUID_WICPixelFormat128bppRGBAFloat: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 25]);
185 pub const GUID_WICPixelFormat128bppRGBFixedPoint: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 65]);
186 pub const GUID_WICPixelFormat128bppRGBFloat: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 27]);
187 pub const GUID_WICPixelFormat144bpp8ChannelsAlpha: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 57]);
188 pub const GUID_WICPixelFormat16bppBGR555: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 9]);
189 pub const GUID_WICPixelFormat16bppBGR565: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 10]);
190 pub const GUID_WICPixelFormat16bppBGRA5551: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(99384363, 61926, 18785, [173, 70, 225, 204, 129, 10, 135, 210]);
191 pub const GUID_WICPixelFormat16bppCbCr: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4288002670, 4576, 16995, [187, 69, 1, 114, 31, 52, 96, 164]);
192 pub const GUID_WICPixelFormat16bppCbQuantizedDctCoefficients: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3536125793, 22181, 18882, [139, 92, 76, 25, 37, 150, 72, 55]);
193 pub const GUID_WICPixelFormat16bppCrQuantizedDctCoefficients: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(803427568, 5760, 17112, [146, 49, 231, 60, 5, 101, 191, 193]);
194 pub const GUID_WICPixelFormat16bppGray: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 11]);
195 pub const GUID_WICPixelFormat16bppGrayFixedPoint: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 19]);
196 pub const GUID_WICPixelFormat16bppGrayHalf: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 62]);
197 pub const GUID_WICPixelFormat16bppYQuantizedDctCoefficients: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2740319283, 18664, 19010, [132, 216, 226, 170, 38, 202, 128, 164]);
198 pub const GUID_WICPixelFormat1bppIndexed: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 1]);
199 pub const GUID_WICPixelFormat24bpp3Channels: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 32]);
200 pub const GUID_WICPixelFormat24bppBGR: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 12]);
201 pub const GUID_WICPixelFormat24bppRGB: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 13]);
202 pub const GUID_WICPixelFormat2bppGray: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 6]);
203 pub const GUID_WICPixelFormat2bppIndexed: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 2]);
204 pub const GUID_WICPixelFormat32bpp3ChannelsAlpha: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 46]);
205 pub const GUID_WICPixelFormat32bpp4Channels: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 33]);
206 pub const GUID_WICPixelFormat32bppBGR: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 14]);
207 pub const GUID_WICPixelFormat32bppBGR101010: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 20]);
208 pub const GUID_WICPixelFormat32bppBGRA: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 15]);
209 pub const GUID_WICPixelFormat32bppCMYK: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 28]);
210 pub const GUID_WICPixelFormat32bppGrayFixedPoint: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 63]);
211 pub const GUID_WICPixelFormat32bppGrayFloat: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 17]);
212 pub const GUID_WICPixelFormat32bppPBGRA: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 16]);
213 pub const GUID_WICPixelFormat32bppPRGBA: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1019520592, 42279, 19767, [169, 22, 49, 66, 199, 235, 237, 186]);
214 pub const GUID_WICPixelFormat32bppR10G10B10A2: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1615731637, 35388, 19301, [177, 28, 188, 11, 141, 215, 91, 127]);
215 pub const GUID_WICPixelFormat32bppR10G10B10A2HDR10: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2619432029, 6860, 20238, [164, 188, 112, 251, 58, 232, 253, 40]);
216 pub const GUID_WICPixelFormat32bppRGB: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3649858453, 16126, 18390, [187, 37, 235, 23, 72, 171, 12, 241]);
217 pub const GUID_WICPixelFormat32bppRGBA: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4123503917, 27277, 17373, [167, 168, 162, 153, 53, 38, 26, 233]);
218 pub const GUID_WICPixelFormat32bppRGBA1010102: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(623086962, 64761, 17698, [181, 20, 85, 120, 229, 173, 85, 224]);
219 pub const GUID_WICPixelFormat32bppRGBA1010102XR: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(14576538, 49409, 17227, [181, 2, 208, 22, 94, 225, 18, 44]);
220 pub const GUID_WICPixelFormat32bppRGBE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 61]);
221 pub const GUID_WICPixelFormat40bpp4ChannelsAlpha: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 47]);
222 pub const GUID_WICPixelFormat40bpp5Channels: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 34]);
223 pub const GUID_WICPixelFormat40bppCMYKAlpha: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 44]);
224 pub const GUID_WICPixelFormat48bpp3Channels: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 38]);
225 pub const GUID_WICPixelFormat48bpp5ChannelsAlpha: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 48]);
226 pub const GUID_WICPixelFormat48bpp6Channels: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 35]);
227 pub const GUID_WICPixelFormat48bppBGR: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3859129220, 46184, 18126, [187, 46, 54, 241, 128, 230, 67, 19]);
228 pub const GUID_WICPixelFormat48bppBGRFixedPoint: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1237980174, 51894, 18747, [157, 223, 96, 24, 124, 55, 83, 42]);
229 pub const GUID_WICPixelFormat48bppRGB: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 21]);
230 pub const GUID_WICPixelFormat48bppRGBFixedPoint: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 18]);
231 pub const GUID_WICPixelFormat48bppRGBHalf: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 59]);
232 pub const GUID_WICPixelFormat4bppGray: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 7]);
233 pub const GUID_WICPixelFormat4bppIndexed: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 3]);
234 pub const GUID_WICPixelFormat56bpp6ChannelsAlpha: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 49]);
235 pub const GUID_WICPixelFormat56bpp7Channels: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 36]);
236 pub const GUID_WICPixelFormat64bpp3ChannelsAlpha: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 52]);
237 pub const GUID_WICPixelFormat64bpp4Channels: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 39]);
238 pub const GUID_WICPixelFormat64bpp7ChannelsAlpha: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 50]);
239 pub const GUID_WICPixelFormat64bpp8Channels: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 37]);
240 pub const GUID_WICPixelFormat64bppBGRA: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(358809468, 54098, 18169, [151, 158, 66, 151, 107, 121, 34, 70]);
241 pub const GUID_WICPixelFormat64bppBGRAFixedPoint: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(896394044, 21714, 18979, [187, 4, 155, 123, 249, 177, 212, 45]);
242 pub const GUID_WICPixelFormat64bppCMYK: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 31]);
243 pub const GUID_WICPixelFormat64bppPBGRA: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2354155150, 42220, 18059, [174, 112, 201, 163, 90, 156, 85, 48]);
244 pub const GUID_WICPixelFormat64bppPRGBA: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 23]);
245 pub const GUID_WICPixelFormat64bppPRGBAHalf: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1487742658, 50723, 19869, [179, 32, 56, 126, 73, 248, 196, 66]);
246 pub const GUID_WICPixelFormat64bppRGB: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2702713105, 6253, 19778, [188, 106, 156, 131, 3, 168, 223, 249]);
247 pub const GUID_WICPixelFormat64bppRGBA: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 22]);
248 pub const GUID_WICPixelFormat64bppRGBAFixedPoint: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 29]);
249 pub const GUID_WICPixelFormat64bppRGBAHalf: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 58]);
250 pub const GUID_WICPixelFormat64bppRGBFixedPoint: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 64]);
251 pub const GUID_WICPixelFormat64bppRGBHalf: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 66]);
252 pub const GUID_WICPixelFormat72bpp8ChannelsAlpha: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 51]);
253 pub const GUID_WICPixelFormat80bpp4ChannelsAlpha: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 53]);
254 pub const GUID_WICPixelFormat80bpp5Channels: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 40]);
255 pub const GUID_WICPixelFormat80bppCMYKAlpha: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 45]);
256 pub const GUID_WICPixelFormat8bppAlpha: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3872194838, 61114, 16737, [170, 133, 39, 221, 159, 179, 168, 149]);
257 pub const GUID_WICPixelFormat8bppCb: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(322564644, 27646, 19518, [147, 2, 228, 243, 166, 208, 202, 42]);
258 pub const GUID_WICPixelFormat8bppCr: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3088339027, 8470, 18928, [136, 53, 237, 132, 75, 32, 92, 81]);
259 pub const GUID_WICPixelFormat8bppGray: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 8]);
260 pub const GUID_WICPixelFormat8bppIndexed: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 4]);
261 pub const GUID_WICPixelFormat8bppY: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2444548948, 11769, 17136, [180, 73, 41, 9, 187, 61, 248, 142]);
262 pub const GUID_WICPixelFormat96bpp5ChannelsAlpha: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 54]);
263 pub const GUID_WICPixelFormat96bpp6Channels: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 41]);
264 pub const GUID_WICPixelFormat96bppRGBFixedPoint: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 24]);
265 pub const GUID_WICPixelFormat96bppRGBFloat: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3825129359, 59611, 19151, [132, 193, 233, 127, 97, 54, 179, 39]);
266 pub const GUID_WICPixelFormatBlackWhite: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 5]);
267 pub const GUID_WICPixelFormatDontCare: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876804388, 19971, 19454, [177, 133, 61, 119, 118, 141, 201, 0]);
268 #[repr(transparent)]
269 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
270 pub struct IWICBitmap(::windows::runtime::IUnknown);
271 impl IWICBitmap {
GetSize(&self, puiwidth: *mut u32, puiheight: *mut u32) -> ::windows::runtime::Result<()>272     pub unsafe fn GetSize(&self, puiwidth: *mut u32, puiheight: *mut u32) -> ::windows::runtime::Result<()> {
273         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(puiwidth), ::std::mem::transmute(puiheight)).ok()
274     }
GetPixelFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>275     pub unsafe fn GetPixelFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
276         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
277         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
278     }
GetResolution(&self, pdpix: *mut f64, pdpiy: *mut f64) -> ::windows::runtime::Result<()>279     pub unsafe fn GetResolution(&self, pdpix: *mut f64, pdpiy: *mut f64) -> ::windows::runtime::Result<()> {
280         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdpix), ::std::mem::transmute(pdpiy)).ok()
281     }
CopyPalette<'a, Param0: ::windows::runtime::IntoParam<'a, IWICPalette>>(&self, pipalette: Param0) -> ::windows::runtime::Result<()>282     pub unsafe fn CopyPalette<'a, Param0: ::windows::runtime::IntoParam<'a, IWICPalette>>(&self, pipalette: Param0) -> ::windows::runtime::Result<()> {
283         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), pipalette.into_param().abi()).ok()
284     }
CopyPixels(&self, prc: *const WICRect, cbstride: u32, cbbuffersize: u32, pbbuffer: *mut u8) -> ::windows::runtime::Result<()>285     pub unsafe fn CopyPixels(&self, prc: *const WICRect, cbstride: u32, cbbuffersize: u32, pbbuffer: *mut u8) -> ::windows::runtime::Result<()> {
286         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(prc), ::std::mem::transmute(cbstride), ::std::mem::transmute(cbbuffersize), ::std::mem::transmute(pbbuffer)).ok()
287     }
Lock(&self, prclock: *const WICRect, flags: u32) -> ::windows::runtime::Result<IWICBitmapLock>288     pub unsafe fn Lock(&self, prclock: *const WICRect, flags: u32) -> ::windows::runtime::Result<IWICBitmapLock> {
289         let mut result__: <IWICBitmapLock as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
290         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(prclock), ::std::mem::transmute(flags), &mut result__).from_abi::<IWICBitmapLock>(result__)
291     }
SetPalette<'a, Param0: ::windows::runtime::IntoParam<'a, IWICPalette>>(&self, pipalette: Param0) -> ::windows::runtime::Result<()>292     pub unsafe fn SetPalette<'a, Param0: ::windows::runtime::IntoParam<'a, IWICPalette>>(&self, pipalette: Param0) -> ::windows::runtime::Result<()> {
293         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), pipalette.into_param().abi()).ok()
294     }
SetResolution(&self, dpix: f64, dpiy: f64) -> ::windows::runtime::Result<()>295     pub unsafe fn SetResolution(&self, dpix: f64, dpiy: f64) -> ::windows::runtime::Result<()> {
296         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(dpix), ::std::mem::transmute(dpiy)).ok()
297     }
298 }
299 unsafe impl ::windows::runtime::Interface for IWICBitmap {
300     type Vtable = IWICBitmap_abi;
301     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(289, 43250, 18551, [186, 10, 253, 43, 102, 69, 251, 148]);
302 }
303 impl ::std::convert::From<IWICBitmap> for ::windows::runtime::IUnknown {
from(value: IWICBitmap) -> Self304     fn from(value: IWICBitmap) -> Self {
305         unsafe { ::std::mem::transmute(value) }
306     }
307 }
308 impl ::std::convert::From<&IWICBitmap> for ::windows::runtime::IUnknown {
from(value: &IWICBitmap) -> Self309     fn from(value: &IWICBitmap) -> Self {
310         ::std::convert::From::from(::std::clone::Clone::clone(value))
311     }
312 }
313 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICBitmap {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>314     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
315         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
316     }
317 }
318 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICBitmap {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>319     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
320         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
321     }
322 }
323 impl ::std::convert::From<IWICBitmap> for IWICBitmapSource {
from(value: IWICBitmap) -> Self324     fn from(value: IWICBitmap) -> Self {
325         unsafe { ::std::mem::transmute(value) }
326     }
327 }
328 impl ::std::convert::From<&IWICBitmap> for IWICBitmapSource {
from(value: &IWICBitmap) -> Self329     fn from(value: &IWICBitmap) -> Self {
330         ::std::convert::From::from(::std::clone::Clone::clone(value))
331     }
332 }
333 impl<'a> ::windows::runtime::IntoParam<'a, IWICBitmapSource> for IWICBitmap {
into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapSource>334     fn into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapSource> {
335         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICBitmapSource>::into(self))
336     }
337 }
338 impl<'a> ::windows::runtime::IntoParam<'a, IWICBitmapSource> for &IWICBitmap {
into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapSource>339     fn into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapSource> {
340         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICBitmapSource>::into(::std::clone::Clone::clone(self)))
341     }
342 }
343 #[repr(C)]
344 #[doc(hidden)]
345 pub struct IWICBitmap_abi(
346     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
347     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
348     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
349     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, puiwidth: *mut u32, puiheight: *mut u32) -> ::windows::runtime::HRESULT,
350     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppixelformat: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
351     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdpix: *mut f64, pdpiy: *mut f64) -> ::windows::runtime::HRESULT,
352     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pipalette: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
353     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, prc: *const WICRect, cbstride: u32, cbbuffersize: u32, pbbuffer: *mut u8) -> ::windows::runtime::HRESULT,
354     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, prclock: *const WICRect, flags: u32, ppilock: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
355     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pipalette: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
356     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dpix: f64, dpiy: f64) -> ::windows::runtime::HRESULT,
357 );
358 #[repr(transparent)]
359 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
360 pub struct IWICBitmapClipper(::windows::runtime::IUnknown);
361 impl IWICBitmapClipper {
GetSize(&self, puiwidth: *mut u32, puiheight: *mut u32) -> ::windows::runtime::Result<()>362     pub unsafe fn GetSize(&self, puiwidth: *mut u32, puiheight: *mut u32) -> ::windows::runtime::Result<()> {
363         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(puiwidth), ::std::mem::transmute(puiheight)).ok()
364     }
GetPixelFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>365     pub unsafe fn GetPixelFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
366         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
367         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
368     }
GetResolution(&self, pdpix: *mut f64, pdpiy: *mut f64) -> ::windows::runtime::Result<()>369     pub unsafe fn GetResolution(&self, pdpix: *mut f64, pdpiy: *mut f64) -> ::windows::runtime::Result<()> {
370         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdpix), ::std::mem::transmute(pdpiy)).ok()
371     }
CopyPalette<'a, Param0: ::windows::runtime::IntoParam<'a, IWICPalette>>(&self, pipalette: Param0) -> ::windows::runtime::Result<()>372     pub unsafe fn CopyPalette<'a, Param0: ::windows::runtime::IntoParam<'a, IWICPalette>>(&self, pipalette: Param0) -> ::windows::runtime::Result<()> {
373         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), pipalette.into_param().abi()).ok()
374     }
CopyPixels(&self, prc: *const WICRect, cbstride: u32, cbbuffersize: u32, pbbuffer: *mut u8) -> ::windows::runtime::Result<()>375     pub unsafe fn CopyPixels(&self, prc: *const WICRect, cbstride: u32, cbbuffersize: u32, pbbuffer: *mut u8) -> ::windows::runtime::Result<()> {
376         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(prc), ::std::mem::transmute(cbstride), ::std::mem::transmute(cbbuffersize), ::std::mem::transmute(pbbuffer)).ok()
377     }
Initialize<'a, Param0: ::windows::runtime::IntoParam<'a, IWICBitmapSource>>(&self, pisource: Param0, prc: *const WICRect) -> ::windows::runtime::Result<()>378     pub unsafe fn Initialize<'a, Param0: ::windows::runtime::IntoParam<'a, IWICBitmapSource>>(&self, pisource: Param0, prc: *const WICRect) -> ::windows::runtime::Result<()> {
379         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), pisource.into_param().abi(), ::std::mem::transmute(prc)).ok()
380     }
381 }
382 unsafe impl ::windows::runtime::Interface for IWICBitmapClipper {
383     type Vtable = IWICBitmapClipper_abi;
384     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3841707779, 8765, 20097, [147, 51, 214, 53, 85, 109, 209, 181]);
385 }
386 impl ::std::convert::From<IWICBitmapClipper> for ::windows::runtime::IUnknown {
from(value: IWICBitmapClipper) -> Self387     fn from(value: IWICBitmapClipper) -> Self {
388         unsafe { ::std::mem::transmute(value) }
389     }
390 }
391 impl ::std::convert::From<&IWICBitmapClipper> for ::windows::runtime::IUnknown {
from(value: &IWICBitmapClipper) -> Self392     fn from(value: &IWICBitmapClipper) -> Self {
393         ::std::convert::From::from(::std::clone::Clone::clone(value))
394     }
395 }
396 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICBitmapClipper {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>397     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
398         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
399     }
400 }
401 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICBitmapClipper {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>402     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
403         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
404     }
405 }
406 impl ::std::convert::From<IWICBitmapClipper> for IWICBitmapSource {
from(value: IWICBitmapClipper) -> Self407     fn from(value: IWICBitmapClipper) -> Self {
408         unsafe { ::std::mem::transmute(value) }
409     }
410 }
411 impl ::std::convert::From<&IWICBitmapClipper> for IWICBitmapSource {
from(value: &IWICBitmapClipper) -> Self412     fn from(value: &IWICBitmapClipper) -> Self {
413         ::std::convert::From::from(::std::clone::Clone::clone(value))
414     }
415 }
416 impl<'a> ::windows::runtime::IntoParam<'a, IWICBitmapSource> for IWICBitmapClipper {
into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapSource>417     fn into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapSource> {
418         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICBitmapSource>::into(self))
419     }
420 }
421 impl<'a> ::windows::runtime::IntoParam<'a, IWICBitmapSource> for &IWICBitmapClipper {
into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapSource>422     fn into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapSource> {
423         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICBitmapSource>::into(::std::clone::Clone::clone(self)))
424     }
425 }
426 #[repr(C)]
427 #[doc(hidden)]
428 pub struct IWICBitmapClipper_abi(
429     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
430     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
431     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
432     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, puiwidth: *mut u32, puiheight: *mut u32) -> ::windows::runtime::HRESULT,
433     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppixelformat: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
434     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdpix: *mut f64, pdpiy: *mut f64) -> ::windows::runtime::HRESULT,
435     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pipalette: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
436     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, prc: *const WICRect, cbstride: u32, cbbuffersize: u32, pbbuffer: *mut u8) -> ::windows::runtime::HRESULT,
437     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pisource: ::windows::runtime::RawPtr, prc: *const WICRect) -> ::windows::runtime::HRESULT,
438 );
439 #[repr(transparent)]
440 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
441 pub struct IWICBitmapCodecInfo(::windows::runtime::IUnknown);
442 impl IWICBitmapCodecInfo {
GetComponentType(&self) -> ::windows::runtime::Result<WICComponentType>443     pub unsafe fn GetComponentType(&self) -> ::windows::runtime::Result<WICComponentType> {
444         let mut result__: <WICComponentType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
445         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WICComponentType>(result__)
446     }
GetCLSID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>447     pub unsafe fn GetCLSID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
448         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
449         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
450     }
GetSigningStatus(&self) -> ::windows::runtime::Result<u32>451     pub unsafe fn GetSigningStatus(&self) -> ::windows::runtime::Result<u32> {
452         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
453         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
454     }
455     #[cfg(feature = "Win32_Foundation")]
GetAuthor<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchauthor: u32, wzauthor: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>456     pub unsafe fn GetAuthor<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchauthor: u32, wzauthor: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
457         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchauthor), wzauthor.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
458     }
GetVendorGUID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>459     pub unsafe fn GetVendorGUID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
460         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
461         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
462     }
463     #[cfg(feature = "Win32_Foundation")]
GetVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchversion: u32, wzversion: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>464     pub unsafe fn GetVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchversion: u32, wzversion: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
465         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchversion), wzversion.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
466     }
467     #[cfg(feature = "Win32_Foundation")]
GetSpecVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchspecversion: u32, wzspecversion: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>468     pub unsafe fn GetSpecVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchspecversion: u32, wzspecversion: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
469         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchspecversion), wzspecversion.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
470     }
471     #[cfg(feature = "Win32_Foundation")]
GetFriendlyName<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchfriendlyname: u32, wzfriendlyname: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>472     pub unsafe fn GetFriendlyName<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchfriendlyname: u32, wzfriendlyname: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
473         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchfriendlyname), wzfriendlyname.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
474     }
GetContainerFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>475     pub unsafe fn GetContainerFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
476         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
477         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
478     }
GetPixelFormats(&self, cformats: u32, pguidpixelformats: *mut ::windows::runtime::GUID, pcactual: *mut u32) -> ::windows::runtime::Result<()>479     pub unsafe fn GetPixelFormats(&self, cformats: u32, pguidpixelformats: *mut ::windows::runtime::GUID, pcactual: *mut u32) -> ::windows::runtime::Result<()> {
480         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(cformats), ::std::mem::transmute(pguidpixelformats), ::std::mem::transmute(pcactual)).ok()
481     }
482     #[cfg(feature = "Win32_Foundation")]
GetColorManagementVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchcolormanagementversion: u32, wzcolormanagementversion: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>483     pub unsafe fn GetColorManagementVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchcolormanagementversion: u32, wzcolormanagementversion: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
484         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchcolormanagementversion), wzcolormanagementversion.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
485     }
486     #[cfg(feature = "Win32_Foundation")]
GetDeviceManufacturer<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchdevicemanufacturer: u32, wzdevicemanufacturer: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>487     pub unsafe fn GetDeviceManufacturer<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchdevicemanufacturer: u32, wzdevicemanufacturer: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
488         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchdevicemanufacturer), wzdevicemanufacturer.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
489     }
490     #[cfg(feature = "Win32_Foundation")]
GetDeviceModels<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchdevicemodels: u32, wzdevicemodels: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>491     pub unsafe fn GetDeviceModels<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchdevicemodels: u32, wzdevicemodels: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
492         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchdevicemodels), wzdevicemodels.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
493     }
494     #[cfg(feature = "Win32_Foundation")]
GetMimeTypes<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchmimetypes: u32, wzmimetypes: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>495     pub unsafe fn GetMimeTypes<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchmimetypes: u32, wzmimetypes: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
496         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchmimetypes), wzmimetypes.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
497     }
498     #[cfg(feature = "Win32_Foundation")]
GetFileExtensions<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchfileextensions: u32, wzfileextensions: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>499     pub unsafe fn GetFileExtensions<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchfileextensions: u32, wzfileextensions: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
500         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchfileextensions), wzfileextensions.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
501     }
502     #[cfg(feature = "Win32_Foundation")]
DoesSupportAnimation(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>503     pub unsafe fn DoesSupportAnimation(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
504         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
505         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
506     }
507     #[cfg(feature = "Win32_Foundation")]
DoesSupportChromakey(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>508     pub unsafe fn DoesSupportChromakey(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
509         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
510         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
511     }
512     #[cfg(feature = "Win32_Foundation")]
DoesSupportLossless(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>513     pub unsafe fn DoesSupportLossless(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
514         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
515         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
516     }
517     #[cfg(feature = "Win32_Foundation")]
DoesSupportMultiframe(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>518     pub unsafe fn DoesSupportMultiframe(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
519         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
520         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
521     }
522     #[cfg(feature = "Win32_Foundation")]
MatchesMimeType<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, wzmimetype: Param0) -> ::windows::runtime::Result<super::super::Foundation::BOOL>523     pub unsafe fn MatchesMimeType<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, wzmimetype: Param0) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
524         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
525         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), wzmimetype.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
526     }
527 }
528 unsafe impl ::windows::runtime::Interface for IWICBitmapCodecInfo {
529     type Vtable = IWICBitmapCodecInfo_abi;
530     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3900327108, 46958, 19527, [139, 9, 41, 142, 177, 42, 39, 20]);
531 }
532 impl ::std::convert::From<IWICBitmapCodecInfo> for ::windows::runtime::IUnknown {
from(value: IWICBitmapCodecInfo) -> Self533     fn from(value: IWICBitmapCodecInfo) -> Self {
534         unsafe { ::std::mem::transmute(value) }
535     }
536 }
537 impl ::std::convert::From<&IWICBitmapCodecInfo> for ::windows::runtime::IUnknown {
from(value: &IWICBitmapCodecInfo) -> Self538     fn from(value: &IWICBitmapCodecInfo) -> Self {
539         ::std::convert::From::from(::std::clone::Clone::clone(value))
540     }
541 }
542 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICBitmapCodecInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>543     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
544         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
545     }
546 }
547 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICBitmapCodecInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>548     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
549         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
550     }
551 }
552 impl ::std::convert::From<IWICBitmapCodecInfo> for IWICComponentInfo {
from(value: IWICBitmapCodecInfo) -> Self553     fn from(value: IWICBitmapCodecInfo) -> Self {
554         unsafe { ::std::mem::transmute(value) }
555     }
556 }
557 impl ::std::convert::From<&IWICBitmapCodecInfo> for IWICComponentInfo {
from(value: &IWICBitmapCodecInfo) -> Self558     fn from(value: &IWICBitmapCodecInfo) -> Self {
559         ::std::convert::From::from(::std::clone::Clone::clone(value))
560     }
561 }
562 impl<'a> ::windows::runtime::IntoParam<'a, IWICComponentInfo> for IWICBitmapCodecInfo {
into_param(self) -> ::windows::runtime::Param<'a, IWICComponentInfo>563     fn into_param(self) -> ::windows::runtime::Param<'a, IWICComponentInfo> {
564         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICComponentInfo>::into(self))
565     }
566 }
567 impl<'a> ::windows::runtime::IntoParam<'a, IWICComponentInfo> for &IWICBitmapCodecInfo {
into_param(self) -> ::windows::runtime::Param<'a, IWICComponentInfo>568     fn into_param(self) -> ::windows::runtime::Param<'a, IWICComponentInfo> {
569         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICComponentInfo>::into(::std::clone::Clone::clone(self)))
570     }
571 }
572 #[repr(C)]
573 #[doc(hidden)]
574 pub struct IWICBitmapCodecInfo_abi(
575     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
576     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
577     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
578     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptype: *mut WICComponentType) -> ::windows::runtime::HRESULT,
579     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pclsid: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
580     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstatus: *mut u32) -> ::windows::runtime::HRESULT,
581     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchauthor: u32, wzauthor: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
582     #[cfg(not(feature = "Win32_Foundation"))] usize,
583     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pguidvendor: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
584     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchversion: u32, wzversion: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
585     #[cfg(not(feature = "Win32_Foundation"))] usize,
586     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchspecversion: u32, wzspecversion: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
587     #[cfg(not(feature = "Win32_Foundation"))] usize,
588     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchfriendlyname: u32, wzfriendlyname: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
589     #[cfg(not(feature = "Win32_Foundation"))] usize,
590     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pguidcontainerformat: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
591     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cformats: u32, pguidpixelformats: *mut ::windows::runtime::GUID, pcactual: *mut u32) -> ::windows::runtime::HRESULT,
592     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchcolormanagementversion: u32, wzcolormanagementversion: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
593     #[cfg(not(feature = "Win32_Foundation"))] usize,
594     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchdevicemanufacturer: u32, wzdevicemanufacturer: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
595     #[cfg(not(feature = "Win32_Foundation"))] usize,
596     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchdevicemodels: u32, wzdevicemodels: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
597     #[cfg(not(feature = "Win32_Foundation"))] usize,
598     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchmimetypes: u32, wzmimetypes: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
599     #[cfg(not(feature = "Win32_Foundation"))] usize,
600     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchfileextensions: u32, wzfileextensions: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
601     #[cfg(not(feature = "Win32_Foundation"))] usize,
602     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfsupportanimation: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
603     #[cfg(not(feature = "Win32_Foundation"))] usize,
604     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfsupportchromakey: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
605     #[cfg(not(feature = "Win32_Foundation"))] usize,
606     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfsupportlossless: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
607     #[cfg(not(feature = "Win32_Foundation"))] usize,
608     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfsupportmultiframe: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
609     #[cfg(not(feature = "Win32_Foundation"))] usize,
610     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, wzmimetype: super::super::Foundation::PWSTR, pfmatches: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
611     #[cfg(not(feature = "Win32_Foundation"))] usize,
612 );
613 #[repr(transparent)]
614 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
615 pub struct IWICBitmapCodecProgressNotification(::windows::runtime::IUnknown);
616 impl IWICBitmapCodecProgressNotification {
RegisterProgressNotification(&self, pfnprogressnotification: ::std::option::Option<PFNProgressNotification>, pvdata: *const ::std::ffi::c_void, dwprogressflags: u32) -> ::windows::runtime::Result<()>617     pub unsafe fn RegisterProgressNotification(&self, pfnprogressnotification: ::std::option::Option<PFNProgressNotification>, pvdata: *const ::std::ffi::c_void, dwprogressflags: u32) -> ::windows::runtime::Result<()> {
618         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pfnprogressnotification), ::std::mem::transmute(pvdata), ::std::mem::transmute(dwprogressflags)).ok()
619     }
620 }
621 unsafe impl ::windows::runtime::Interface for IWICBitmapCodecProgressNotification {
622     type Vtable = IWICBitmapCodecProgressNotification_abi;
623     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1690370638, 50127, 17506, [128, 120, 136, 194, 177, 28, 70, 217]);
624 }
625 impl ::std::convert::From<IWICBitmapCodecProgressNotification> for ::windows::runtime::IUnknown {
from(value: IWICBitmapCodecProgressNotification) -> Self626     fn from(value: IWICBitmapCodecProgressNotification) -> Self {
627         unsafe { ::std::mem::transmute(value) }
628     }
629 }
630 impl ::std::convert::From<&IWICBitmapCodecProgressNotification> for ::windows::runtime::IUnknown {
from(value: &IWICBitmapCodecProgressNotification) -> Self631     fn from(value: &IWICBitmapCodecProgressNotification) -> Self {
632         ::std::convert::From::from(::std::clone::Clone::clone(value))
633     }
634 }
635 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICBitmapCodecProgressNotification {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>636     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
637         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
638     }
639 }
640 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICBitmapCodecProgressNotification {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>641     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
642         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
643     }
644 }
645 #[repr(C)]
646 #[doc(hidden)]
647 pub struct IWICBitmapCodecProgressNotification_abi(
648     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
649     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
650     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
651     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfnprogressnotification: ::windows::runtime::RawPtr, pvdata: *const ::std::ffi::c_void, dwprogressflags: u32) -> ::windows::runtime::HRESULT,
652 );
653 #[repr(transparent)]
654 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
655 pub struct IWICBitmapDecoder(::windows::runtime::IUnknown);
656 impl IWICBitmapDecoder {
657     #[cfg(feature = "Win32_System_Com")]
QueryCapability<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, pistream: Param0) -> ::windows::runtime::Result<u32>658     pub unsafe fn QueryCapability<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, pistream: Param0) -> ::windows::runtime::Result<u32> {
659         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
660         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pistream.into_param().abi(), &mut result__).from_abi::<u32>(result__)
661     }
662     #[cfg(feature = "Win32_System_Com")]
Initialize<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, pistream: Param0, cacheoptions: WICDecodeOptions) -> ::windows::runtime::Result<()>663     pub unsafe fn Initialize<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, pistream: Param0, cacheoptions: WICDecodeOptions) -> ::windows::runtime::Result<()> {
664         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pistream.into_param().abi(), ::std::mem::transmute(cacheoptions)).ok()
665     }
GetContainerFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>666     pub unsafe fn GetContainerFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
667         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
668         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
669     }
GetDecoderInfo(&self) -> ::windows::runtime::Result<IWICBitmapDecoderInfo>670     pub unsafe fn GetDecoderInfo(&self) -> ::windows::runtime::Result<IWICBitmapDecoderInfo> {
671         let mut result__: <IWICBitmapDecoderInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
672         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICBitmapDecoderInfo>(result__)
673     }
CopyPalette<'a, Param0: ::windows::runtime::IntoParam<'a, IWICPalette>>(&self, pipalette: Param0) -> ::windows::runtime::Result<()>674     pub unsafe fn CopyPalette<'a, Param0: ::windows::runtime::IntoParam<'a, IWICPalette>>(&self, pipalette: Param0) -> ::windows::runtime::Result<()> {
675         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), pipalette.into_param().abi()).ok()
676     }
GetMetadataQueryReader(&self) -> ::windows::runtime::Result<IWICMetadataQueryReader>677     pub unsafe fn GetMetadataQueryReader(&self) -> ::windows::runtime::Result<IWICMetadataQueryReader> {
678         let mut result__: <IWICMetadataQueryReader as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
679         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICMetadataQueryReader>(result__)
680     }
GetPreview(&self) -> ::windows::runtime::Result<IWICBitmapSource>681     pub unsafe fn GetPreview(&self) -> ::windows::runtime::Result<IWICBitmapSource> {
682         let mut result__: <IWICBitmapSource as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
683         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICBitmapSource>(result__)
684     }
GetColorContexts(&self, ccount: u32, ppicolorcontexts: *mut ::std::option::Option<IWICColorContext>, pcactualcount: *mut u32) -> ::windows::runtime::Result<()>685     pub unsafe fn GetColorContexts(&self, ccount: u32, ppicolorcontexts: *mut ::std::option::Option<IWICColorContext>, pcactualcount: *mut u32) -> ::windows::runtime::Result<()> {
686         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(ccount), ::std::mem::transmute(ppicolorcontexts), ::std::mem::transmute(pcactualcount)).ok()
687     }
GetThumbnail(&self) -> ::windows::runtime::Result<IWICBitmapSource>688     pub unsafe fn GetThumbnail(&self) -> ::windows::runtime::Result<IWICBitmapSource> {
689         let mut result__: <IWICBitmapSource as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
690         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICBitmapSource>(result__)
691     }
GetFrameCount(&self) -> ::windows::runtime::Result<u32>692     pub unsafe fn GetFrameCount(&self) -> ::windows::runtime::Result<u32> {
693         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
694         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
695     }
GetFrame(&self, index: u32) -> ::windows::runtime::Result<IWICBitmapFrameDecode>696     pub unsafe fn GetFrame(&self, index: u32) -> ::windows::runtime::Result<IWICBitmapFrameDecode> {
697         let mut result__: <IWICBitmapFrameDecode as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
698         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(index), &mut result__).from_abi::<IWICBitmapFrameDecode>(result__)
699     }
700 }
701 unsafe impl ::windows::runtime::Interface for IWICBitmapDecoder {
702     type Vtable = IWICBitmapDecoder_abi;
703     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2665343463, 36334, 18410, [153, 223, 230, 250, 242, 237, 68, 191]);
704 }
705 impl ::std::convert::From<IWICBitmapDecoder> for ::windows::runtime::IUnknown {
from(value: IWICBitmapDecoder) -> Self706     fn from(value: IWICBitmapDecoder) -> Self {
707         unsafe { ::std::mem::transmute(value) }
708     }
709 }
710 impl ::std::convert::From<&IWICBitmapDecoder> for ::windows::runtime::IUnknown {
from(value: &IWICBitmapDecoder) -> Self711     fn from(value: &IWICBitmapDecoder) -> Self {
712         ::std::convert::From::from(::std::clone::Clone::clone(value))
713     }
714 }
715 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICBitmapDecoder {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>716     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
717         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
718     }
719 }
720 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICBitmapDecoder {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>721     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
722         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
723     }
724 }
725 #[repr(C)]
726 #[doc(hidden)]
727 pub struct IWICBitmapDecoder_abi(
728     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
729     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
730     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
731     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pistream: ::windows::runtime::RawPtr, pdwcapability: *mut u32) -> ::windows::runtime::HRESULT,
732     #[cfg(not(feature = "Win32_System_Com"))] usize,
733     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pistream: ::windows::runtime::RawPtr, cacheoptions: WICDecodeOptions) -> ::windows::runtime::HRESULT,
734     #[cfg(not(feature = "Win32_System_Com"))] usize,
735     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pguidcontainerformat: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
736     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppidecoderinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
737     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pipalette: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
738     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppimetadataqueryreader: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
739     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppibitmapsource: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
740     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ccount: u32, ppicolorcontexts: *mut ::windows::runtime::RawPtr, pcactualcount: *mut u32) -> ::windows::runtime::HRESULT,
741     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppithumbnail: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
742     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcount: *mut u32) -> ::windows::runtime::HRESULT,
743     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: u32, ppibitmapframe: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
744 );
745 #[repr(transparent)]
746 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
747 pub struct IWICBitmapDecoderInfo(::windows::runtime::IUnknown);
748 impl IWICBitmapDecoderInfo {
GetComponentType(&self) -> ::windows::runtime::Result<WICComponentType>749     pub unsafe fn GetComponentType(&self) -> ::windows::runtime::Result<WICComponentType> {
750         let mut result__: <WICComponentType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
751         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WICComponentType>(result__)
752     }
GetCLSID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>753     pub unsafe fn GetCLSID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
754         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
755         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
756     }
GetSigningStatus(&self) -> ::windows::runtime::Result<u32>757     pub unsafe fn GetSigningStatus(&self) -> ::windows::runtime::Result<u32> {
758         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
759         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
760     }
761     #[cfg(feature = "Win32_Foundation")]
GetAuthor<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchauthor: u32, wzauthor: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>762     pub unsafe fn GetAuthor<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchauthor: u32, wzauthor: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
763         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchauthor), wzauthor.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
764     }
GetVendorGUID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>765     pub unsafe fn GetVendorGUID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
766         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
767         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
768     }
769     #[cfg(feature = "Win32_Foundation")]
GetVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchversion: u32, wzversion: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>770     pub unsafe fn GetVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchversion: u32, wzversion: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
771         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchversion), wzversion.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
772     }
773     #[cfg(feature = "Win32_Foundation")]
GetSpecVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchspecversion: u32, wzspecversion: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>774     pub unsafe fn GetSpecVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchspecversion: u32, wzspecversion: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
775         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchspecversion), wzspecversion.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
776     }
777     #[cfg(feature = "Win32_Foundation")]
GetFriendlyName<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchfriendlyname: u32, wzfriendlyname: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>778     pub unsafe fn GetFriendlyName<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchfriendlyname: u32, wzfriendlyname: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
779         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchfriendlyname), wzfriendlyname.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
780     }
GetContainerFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>781     pub unsafe fn GetContainerFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
782         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
783         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
784     }
GetPixelFormats(&self, cformats: u32, pguidpixelformats: *mut ::windows::runtime::GUID, pcactual: *mut u32) -> ::windows::runtime::Result<()>785     pub unsafe fn GetPixelFormats(&self, cformats: u32, pguidpixelformats: *mut ::windows::runtime::GUID, pcactual: *mut u32) -> ::windows::runtime::Result<()> {
786         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(cformats), ::std::mem::transmute(pguidpixelformats), ::std::mem::transmute(pcactual)).ok()
787     }
788     #[cfg(feature = "Win32_Foundation")]
GetColorManagementVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchcolormanagementversion: u32, wzcolormanagementversion: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>789     pub unsafe fn GetColorManagementVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchcolormanagementversion: u32, wzcolormanagementversion: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
790         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchcolormanagementversion), wzcolormanagementversion.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
791     }
792     #[cfg(feature = "Win32_Foundation")]
GetDeviceManufacturer<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchdevicemanufacturer: u32, wzdevicemanufacturer: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>793     pub unsafe fn GetDeviceManufacturer<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchdevicemanufacturer: u32, wzdevicemanufacturer: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
794         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchdevicemanufacturer), wzdevicemanufacturer.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
795     }
796     #[cfg(feature = "Win32_Foundation")]
GetDeviceModels<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchdevicemodels: u32, wzdevicemodels: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>797     pub unsafe fn GetDeviceModels<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchdevicemodels: u32, wzdevicemodels: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
798         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchdevicemodels), wzdevicemodels.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
799     }
800     #[cfg(feature = "Win32_Foundation")]
GetMimeTypes<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchmimetypes: u32, wzmimetypes: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>801     pub unsafe fn GetMimeTypes<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchmimetypes: u32, wzmimetypes: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
802         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchmimetypes), wzmimetypes.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
803     }
804     #[cfg(feature = "Win32_Foundation")]
GetFileExtensions<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchfileextensions: u32, wzfileextensions: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>805     pub unsafe fn GetFileExtensions<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchfileextensions: u32, wzfileextensions: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
806         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchfileextensions), wzfileextensions.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
807     }
808     #[cfg(feature = "Win32_Foundation")]
DoesSupportAnimation(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>809     pub unsafe fn DoesSupportAnimation(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
810         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
811         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
812     }
813     #[cfg(feature = "Win32_Foundation")]
DoesSupportChromakey(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>814     pub unsafe fn DoesSupportChromakey(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
815         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
816         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
817     }
818     #[cfg(feature = "Win32_Foundation")]
DoesSupportLossless(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>819     pub unsafe fn DoesSupportLossless(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
820         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
821         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
822     }
823     #[cfg(feature = "Win32_Foundation")]
DoesSupportMultiframe(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>824     pub unsafe fn DoesSupportMultiframe(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
825         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
826         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
827     }
828     #[cfg(feature = "Win32_Foundation")]
MatchesMimeType<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, wzmimetype: Param0) -> ::windows::runtime::Result<super::super::Foundation::BOOL>829     pub unsafe fn MatchesMimeType<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, wzmimetype: Param0) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
830         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
831         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), wzmimetype.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
832     }
833     #[cfg(feature = "Win32_Foundation")]
GetPatterns(&self, cbsizepatterns: u32, ppatterns: *mut WICBitmapPattern, pcpatterns: *mut u32, pcbpatternsactual: *mut u32) -> ::windows::runtime::Result<()>834     pub unsafe fn GetPatterns(&self, cbsizepatterns: u32, ppatterns: *mut WICBitmapPattern, pcpatterns: *mut u32, pcbpatternsactual: *mut u32) -> ::windows::runtime::Result<()> {
835         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), ::std::mem::transmute(cbsizepatterns), ::std::mem::transmute(ppatterns), ::std::mem::transmute(pcpatterns), ::std::mem::transmute(pcbpatternsactual)).ok()
836     }
837     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
MatchesPattern<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, pistream: Param0) -> ::windows::runtime::Result<super::super::Foundation::BOOL>838     pub unsafe fn MatchesPattern<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, pistream: Param0) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
839         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
840         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), pistream.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
841     }
CreateInstance(&self) -> ::windows::runtime::Result<IWICBitmapDecoder>842     pub unsafe fn CreateInstance(&self) -> ::windows::runtime::Result<IWICBitmapDecoder> {
843         let mut result__: <IWICBitmapDecoder as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
844         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICBitmapDecoder>(result__)
845     }
846 }
847 unsafe impl ::windows::runtime::Interface for IWICBitmapDecoderInfo {
848     type Vtable = IWICBitmapDecoderInfo_abi;
849     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3637313663, 53391, 16785, [155, 252, 35, 110, 167, 240, 228, 181]);
850 }
851 impl ::std::convert::From<IWICBitmapDecoderInfo> for ::windows::runtime::IUnknown {
from(value: IWICBitmapDecoderInfo) -> Self852     fn from(value: IWICBitmapDecoderInfo) -> Self {
853         unsafe { ::std::mem::transmute(value) }
854     }
855 }
856 impl ::std::convert::From<&IWICBitmapDecoderInfo> for ::windows::runtime::IUnknown {
from(value: &IWICBitmapDecoderInfo) -> Self857     fn from(value: &IWICBitmapDecoderInfo) -> Self {
858         ::std::convert::From::from(::std::clone::Clone::clone(value))
859     }
860 }
861 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICBitmapDecoderInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>862     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
863         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
864     }
865 }
866 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICBitmapDecoderInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>867     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
868         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
869     }
870 }
871 impl ::std::convert::From<IWICBitmapDecoderInfo> for IWICBitmapCodecInfo {
from(value: IWICBitmapDecoderInfo) -> Self872     fn from(value: IWICBitmapDecoderInfo) -> Self {
873         unsafe { ::std::mem::transmute(value) }
874     }
875 }
876 impl ::std::convert::From<&IWICBitmapDecoderInfo> for IWICBitmapCodecInfo {
from(value: &IWICBitmapDecoderInfo) -> Self877     fn from(value: &IWICBitmapDecoderInfo) -> Self {
878         ::std::convert::From::from(::std::clone::Clone::clone(value))
879     }
880 }
881 impl<'a> ::windows::runtime::IntoParam<'a, IWICBitmapCodecInfo> for IWICBitmapDecoderInfo {
into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapCodecInfo>882     fn into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapCodecInfo> {
883         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICBitmapCodecInfo>::into(self))
884     }
885 }
886 impl<'a> ::windows::runtime::IntoParam<'a, IWICBitmapCodecInfo> for &IWICBitmapDecoderInfo {
into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapCodecInfo>887     fn into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapCodecInfo> {
888         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICBitmapCodecInfo>::into(::std::clone::Clone::clone(self)))
889     }
890 }
891 impl ::std::convert::From<IWICBitmapDecoderInfo> for IWICComponentInfo {
from(value: IWICBitmapDecoderInfo) -> Self892     fn from(value: IWICBitmapDecoderInfo) -> Self {
893         unsafe { ::std::mem::transmute(value) }
894     }
895 }
896 impl ::std::convert::From<&IWICBitmapDecoderInfo> for IWICComponentInfo {
from(value: &IWICBitmapDecoderInfo) -> Self897     fn from(value: &IWICBitmapDecoderInfo) -> Self {
898         ::std::convert::From::from(::std::clone::Clone::clone(value))
899     }
900 }
901 impl<'a> ::windows::runtime::IntoParam<'a, IWICComponentInfo> for IWICBitmapDecoderInfo {
into_param(self) -> ::windows::runtime::Param<'a, IWICComponentInfo>902     fn into_param(self) -> ::windows::runtime::Param<'a, IWICComponentInfo> {
903         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICComponentInfo>::into(self))
904     }
905 }
906 impl<'a> ::windows::runtime::IntoParam<'a, IWICComponentInfo> for &IWICBitmapDecoderInfo {
into_param(self) -> ::windows::runtime::Param<'a, IWICComponentInfo>907     fn into_param(self) -> ::windows::runtime::Param<'a, IWICComponentInfo> {
908         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICComponentInfo>::into(::std::clone::Clone::clone(self)))
909     }
910 }
911 #[repr(C)]
912 #[doc(hidden)]
913 pub struct IWICBitmapDecoderInfo_abi(
914     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
915     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
916     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
917     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptype: *mut WICComponentType) -> ::windows::runtime::HRESULT,
918     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pclsid: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
919     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstatus: *mut u32) -> ::windows::runtime::HRESULT,
920     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchauthor: u32, wzauthor: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
921     #[cfg(not(feature = "Win32_Foundation"))] usize,
922     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pguidvendor: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
923     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchversion: u32, wzversion: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
924     #[cfg(not(feature = "Win32_Foundation"))] usize,
925     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchspecversion: u32, wzspecversion: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
926     #[cfg(not(feature = "Win32_Foundation"))] usize,
927     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchfriendlyname: u32, wzfriendlyname: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
928     #[cfg(not(feature = "Win32_Foundation"))] usize,
929     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pguidcontainerformat: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
930     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cformats: u32, pguidpixelformats: *mut ::windows::runtime::GUID, pcactual: *mut u32) -> ::windows::runtime::HRESULT,
931     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchcolormanagementversion: u32, wzcolormanagementversion: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
932     #[cfg(not(feature = "Win32_Foundation"))] usize,
933     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchdevicemanufacturer: u32, wzdevicemanufacturer: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
934     #[cfg(not(feature = "Win32_Foundation"))] usize,
935     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchdevicemodels: u32, wzdevicemodels: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
936     #[cfg(not(feature = "Win32_Foundation"))] usize,
937     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchmimetypes: u32, wzmimetypes: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
938     #[cfg(not(feature = "Win32_Foundation"))] usize,
939     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchfileextensions: u32, wzfileextensions: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
940     #[cfg(not(feature = "Win32_Foundation"))] usize,
941     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfsupportanimation: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
942     #[cfg(not(feature = "Win32_Foundation"))] usize,
943     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfsupportchromakey: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
944     #[cfg(not(feature = "Win32_Foundation"))] usize,
945     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfsupportlossless: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
946     #[cfg(not(feature = "Win32_Foundation"))] usize,
947     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfsupportmultiframe: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
948     #[cfg(not(feature = "Win32_Foundation"))] usize,
949     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, wzmimetype: super::super::Foundation::PWSTR, pfmatches: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
950     #[cfg(not(feature = "Win32_Foundation"))] usize,
951     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cbsizepatterns: u32, ppatterns: *mut WICBitmapPattern, pcpatterns: *mut u32, pcbpatternsactual: *mut u32) -> ::windows::runtime::HRESULT,
952     #[cfg(not(feature = "Win32_Foundation"))] usize,
953     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pistream: ::windows::runtime::RawPtr, pfmatches: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
954     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
955     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppibitmapdecoder: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
956 );
957 #[repr(transparent)]
958 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
959 pub struct IWICBitmapEncoder(::windows::runtime::IUnknown);
960 impl IWICBitmapEncoder {
961     #[cfg(feature = "Win32_System_Com")]
Initialize<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, pistream: Param0, cacheoption: WICBitmapEncoderCacheOption) -> ::windows::runtime::Result<()>962     pub unsafe fn Initialize<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, pistream: Param0, cacheoption: WICBitmapEncoderCacheOption) -> ::windows::runtime::Result<()> {
963         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pistream.into_param().abi(), ::std::mem::transmute(cacheoption)).ok()
964     }
GetContainerFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>965     pub unsafe fn GetContainerFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
966         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
967         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
968     }
GetEncoderInfo(&self) -> ::windows::runtime::Result<IWICBitmapEncoderInfo>969     pub unsafe fn GetEncoderInfo(&self) -> ::windows::runtime::Result<IWICBitmapEncoderInfo> {
970         let mut result__: <IWICBitmapEncoderInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
971         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICBitmapEncoderInfo>(result__)
972     }
SetColorContexts(&self, ccount: u32, ppicolorcontext: *const ::std::option::Option<IWICColorContext>) -> ::windows::runtime::Result<()>973     pub unsafe fn SetColorContexts(&self, ccount: u32, ppicolorcontext: *const ::std::option::Option<IWICColorContext>) -> ::windows::runtime::Result<()> {
974         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(ccount), ::std::mem::transmute(ppicolorcontext)).ok()
975     }
SetPalette<'a, Param0: ::windows::runtime::IntoParam<'a, IWICPalette>>(&self, pipalette: Param0) -> ::windows::runtime::Result<()>976     pub unsafe fn SetPalette<'a, Param0: ::windows::runtime::IntoParam<'a, IWICPalette>>(&self, pipalette: Param0) -> ::windows::runtime::Result<()> {
977         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), pipalette.into_param().abi()).ok()
978     }
SetThumbnail<'a, Param0: ::windows::runtime::IntoParam<'a, IWICBitmapSource>>(&self, pithumbnail: Param0) -> ::windows::runtime::Result<()>979     pub unsafe fn SetThumbnail<'a, Param0: ::windows::runtime::IntoParam<'a, IWICBitmapSource>>(&self, pithumbnail: Param0) -> ::windows::runtime::Result<()> {
980         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), pithumbnail.into_param().abi()).ok()
981     }
SetPreview<'a, Param0: ::windows::runtime::IntoParam<'a, IWICBitmapSource>>(&self, pipreview: Param0) -> ::windows::runtime::Result<()>982     pub unsafe fn SetPreview<'a, Param0: ::windows::runtime::IntoParam<'a, IWICBitmapSource>>(&self, pipreview: Param0) -> ::windows::runtime::Result<()> {
983         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), pipreview.into_param().abi()).ok()
984     }
985     #[cfg(feature = "Win32_System_Ole")]
CreateNewFrame(&self, ppiframeencode: *mut ::std::option::Option<IWICBitmapFrameEncode>, ppiencoderoptions: *mut ::std::option::Option<super::super::System::Ole::IPropertyBag2>) -> ::windows::runtime::Result<()>986     pub unsafe fn CreateNewFrame(&self, ppiframeencode: *mut ::std::option::Option<IWICBitmapFrameEncode>, ppiencoderoptions: *mut ::std::option::Option<super::super::System::Ole::IPropertyBag2>) -> ::windows::runtime::Result<()> {
987         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(ppiframeencode), ::std::mem::transmute(ppiencoderoptions)).ok()
988     }
Commit(&self) -> ::windows::runtime::Result<()>989     pub unsafe fn Commit(&self) -> ::windows::runtime::Result<()> {
990         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)).ok()
991     }
GetMetadataQueryWriter(&self) -> ::windows::runtime::Result<IWICMetadataQueryWriter>992     pub unsafe fn GetMetadataQueryWriter(&self) -> ::windows::runtime::Result<IWICMetadataQueryWriter> {
993         let mut result__: <IWICMetadataQueryWriter as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
994         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICMetadataQueryWriter>(result__)
995     }
996 }
997 unsafe impl ::windows::runtime::Interface for IWICBitmapEncoder {
998     type Vtable = IWICBitmapEncoder_abi;
999     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(259, 43250, 18551, [186, 10, 253, 43, 102, 69, 251, 148]);
1000 }
1001 impl ::std::convert::From<IWICBitmapEncoder> for ::windows::runtime::IUnknown {
from(value: IWICBitmapEncoder) -> Self1002     fn from(value: IWICBitmapEncoder) -> Self {
1003         unsafe { ::std::mem::transmute(value) }
1004     }
1005 }
1006 impl ::std::convert::From<&IWICBitmapEncoder> for ::windows::runtime::IUnknown {
from(value: &IWICBitmapEncoder) -> Self1007     fn from(value: &IWICBitmapEncoder) -> Self {
1008         ::std::convert::From::from(::std::clone::Clone::clone(value))
1009     }
1010 }
1011 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICBitmapEncoder {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1012     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1013         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1014     }
1015 }
1016 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICBitmapEncoder {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1017     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1018         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1019     }
1020 }
1021 #[repr(C)]
1022 #[doc(hidden)]
1023 pub struct IWICBitmapEncoder_abi(
1024     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1025     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1026     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1027     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pistream: ::windows::runtime::RawPtr, cacheoption: WICBitmapEncoderCacheOption) -> ::windows::runtime::HRESULT,
1028     #[cfg(not(feature = "Win32_System_Com"))] usize,
1029     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pguidcontainerformat: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1030     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppiencoderinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1031     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ccount: u32, ppicolorcontext: *const ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1032     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pipalette: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1033     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pithumbnail: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1034     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pipreview: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1035     #[cfg(feature = "Win32_System_Ole")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppiframeencode: *mut ::windows::runtime::RawPtr, ppiencoderoptions: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1036     #[cfg(not(feature = "Win32_System_Ole"))] usize,
1037     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1038     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppimetadataquerywriter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1039 );
1040 #[repr(transparent)]
1041 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1042 pub struct IWICBitmapEncoderInfo(::windows::runtime::IUnknown);
1043 impl IWICBitmapEncoderInfo {
GetComponentType(&self) -> ::windows::runtime::Result<WICComponentType>1044     pub unsafe fn GetComponentType(&self) -> ::windows::runtime::Result<WICComponentType> {
1045         let mut result__: <WICComponentType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1046         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WICComponentType>(result__)
1047     }
GetCLSID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>1048     pub unsafe fn GetCLSID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
1049         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1050         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
1051     }
GetSigningStatus(&self) -> ::windows::runtime::Result<u32>1052     pub unsafe fn GetSigningStatus(&self) -> ::windows::runtime::Result<u32> {
1053         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1054         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
1055     }
1056     #[cfg(feature = "Win32_Foundation")]
GetAuthor<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchauthor: u32, wzauthor: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>1057     pub unsafe fn GetAuthor<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchauthor: u32, wzauthor: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
1058         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchauthor), wzauthor.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
1059     }
GetVendorGUID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>1060     pub unsafe fn GetVendorGUID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
1061         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1062         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
1063     }
1064     #[cfg(feature = "Win32_Foundation")]
GetVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchversion: u32, wzversion: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>1065     pub unsafe fn GetVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchversion: u32, wzversion: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
1066         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchversion), wzversion.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
1067     }
1068     #[cfg(feature = "Win32_Foundation")]
GetSpecVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchspecversion: u32, wzspecversion: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>1069     pub unsafe fn GetSpecVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchspecversion: u32, wzspecversion: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
1070         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchspecversion), wzspecversion.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
1071     }
1072     #[cfg(feature = "Win32_Foundation")]
GetFriendlyName<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchfriendlyname: u32, wzfriendlyname: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>1073     pub unsafe fn GetFriendlyName<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchfriendlyname: u32, wzfriendlyname: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
1074         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchfriendlyname), wzfriendlyname.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
1075     }
GetContainerFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>1076     pub unsafe fn GetContainerFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
1077         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1078         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
1079     }
GetPixelFormats(&self, cformats: u32, pguidpixelformats: *mut ::windows::runtime::GUID, pcactual: *mut u32) -> ::windows::runtime::Result<()>1080     pub unsafe fn GetPixelFormats(&self, cformats: u32, pguidpixelformats: *mut ::windows::runtime::GUID, pcactual: *mut u32) -> ::windows::runtime::Result<()> {
1081         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(cformats), ::std::mem::transmute(pguidpixelformats), ::std::mem::transmute(pcactual)).ok()
1082     }
1083     #[cfg(feature = "Win32_Foundation")]
GetColorManagementVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchcolormanagementversion: u32, wzcolormanagementversion: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>1084     pub unsafe fn GetColorManagementVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchcolormanagementversion: u32, wzcolormanagementversion: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
1085         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchcolormanagementversion), wzcolormanagementversion.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
1086     }
1087     #[cfg(feature = "Win32_Foundation")]
GetDeviceManufacturer<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchdevicemanufacturer: u32, wzdevicemanufacturer: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>1088     pub unsafe fn GetDeviceManufacturer<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchdevicemanufacturer: u32, wzdevicemanufacturer: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
1089         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchdevicemanufacturer), wzdevicemanufacturer.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
1090     }
1091     #[cfg(feature = "Win32_Foundation")]
GetDeviceModels<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchdevicemodels: u32, wzdevicemodels: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>1092     pub unsafe fn GetDeviceModels<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchdevicemodels: u32, wzdevicemodels: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
1093         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchdevicemodels), wzdevicemodels.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
1094     }
1095     #[cfg(feature = "Win32_Foundation")]
GetMimeTypes<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchmimetypes: u32, wzmimetypes: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>1096     pub unsafe fn GetMimeTypes<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchmimetypes: u32, wzmimetypes: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
1097         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchmimetypes), wzmimetypes.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
1098     }
1099     #[cfg(feature = "Win32_Foundation")]
GetFileExtensions<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchfileextensions: u32, wzfileextensions: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>1100     pub unsafe fn GetFileExtensions<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchfileextensions: u32, wzfileextensions: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
1101         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchfileextensions), wzfileextensions.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
1102     }
1103     #[cfg(feature = "Win32_Foundation")]
DoesSupportAnimation(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>1104     pub unsafe fn DoesSupportAnimation(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
1105         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1106         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
1107     }
1108     #[cfg(feature = "Win32_Foundation")]
DoesSupportChromakey(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>1109     pub unsafe fn DoesSupportChromakey(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
1110         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1111         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
1112     }
1113     #[cfg(feature = "Win32_Foundation")]
DoesSupportLossless(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>1114     pub unsafe fn DoesSupportLossless(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
1115         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1116         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
1117     }
1118     #[cfg(feature = "Win32_Foundation")]
DoesSupportMultiframe(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>1119     pub unsafe fn DoesSupportMultiframe(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
1120         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1121         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
1122     }
1123     #[cfg(feature = "Win32_Foundation")]
MatchesMimeType<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, wzmimetype: Param0) -> ::windows::runtime::Result<super::super::Foundation::BOOL>1124     pub unsafe fn MatchesMimeType<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, wzmimetype: Param0) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
1125         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1126         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), wzmimetype.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
1127     }
CreateInstance(&self) -> ::windows::runtime::Result<IWICBitmapEncoder>1128     pub unsafe fn CreateInstance(&self) -> ::windows::runtime::Result<IWICBitmapEncoder> {
1129         let mut result__: <IWICBitmapEncoder as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1130         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICBitmapEncoder>(result__)
1131     }
1132 }
1133 unsafe impl ::windows::runtime::Interface for IWICBitmapEncoderInfo {
1134     type Vtable = IWICBitmapEncoderInfo_abi;
1135     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2496247022, 41119, 20370, [138, 30, 74, 155, 206, 126, 118, 251]);
1136 }
1137 impl ::std::convert::From<IWICBitmapEncoderInfo> for ::windows::runtime::IUnknown {
from(value: IWICBitmapEncoderInfo) -> Self1138     fn from(value: IWICBitmapEncoderInfo) -> Self {
1139         unsafe { ::std::mem::transmute(value) }
1140     }
1141 }
1142 impl ::std::convert::From<&IWICBitmapEncoderInfo> for ::windows::runtime::IUnknown {
from(value: &IWICBitmapEncoderInfo) -> Self1143     fn from(value: &IWICBitmapEncoderInfo) -> Self {
1144         ::std::convert::From::from(::std::clone::Clone::clone(value))
1145     }
1146 }
1147 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICBitmapEncoderInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1148     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1149         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1150     }
1151 }
1152 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICBitmapEncoderInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1153     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1154         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1155     }
1156 }
1157 impl ::std::convert::From<IWICBitmapEncoderInfo> for IWICBitmapCodecInfo {
from(value: IWICBitmapEncoderInfo) -> Self1158     fn from(value: IWICBitmapEncoderInfo) -> Self {
1159         unsafe { ::std::mem::transmute(value) }
1160     }
1161 }
1162 impl ::std::convert::From<&IWICBitmapEncoderInfo> for IWICBitmapCodecInfo {
from(value: &IWICBitmapEncoderInfo) -> Self1163     fn from(value: &IWICBitmapEncoderInfo) -> Self {
1164         ::std::convert::From::from(::std::clone::Clone::clone(value))
1165     }
1166 }
1167 impl<'a> ::windows::runtime::IntoParam<'a, IWICBitmapCodecInfo> for IWICBitmapEncoderInfo {
into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapCodecInfo>1168     fn into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapCodecInfo> {
1169         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICBitmapCodecInfo>::into(self))
1170     }
1171 }
1172 impl<'a> ::windows::runtime::IntoParam<'a, IWICBitmapCodecInfo> for &IWICBitmapEncoderInfo {
into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapCodecInfo>1173     fn into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapCodecInfo> {
1174         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICBitmapCodecInfo>::into(::std::clone::Clone::clone(self)))
1175     }
1176 }
1177 impl ::std::convert::From<IWICBitmapEncoderInfo> for IWICComponentInfo {
from(value: IWICBitmapEncoderInfo) -> Self1178     fn from(value: IWICBitmapEncoderInfo) -> Self {
1179         unsafe { ::std::mem::transmute(value) }
1180     }
1181 }
1182 impl ::std::convert::From<&IWICBitmapEncoderInfo> for IWICComponentInfo {
from(value: &IWICBitmapEncoderInfo) -> Self1183     fn from(value: &IWICBitmapEncoderInfo) -> Self {
1184         ::std::convert::From::from(::std::clone::Clone::clone(value))
1185     }
1186 }
1187 impl<'a> ::windows::runtime::IntoParam<'a, IWICComponentInfo> for IWICBitmapEncoderInfo {
into_param(self) -> ::windows::runtime::Param<'a, IWICComponentInfo>1188     fn into_param(self) -> ::windows::runtime::Param<'a, IWICComponentInfo> {
1189         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICComponentInfo>::into(self))
1190     }
1191 }
1192 impl<'a> ::windows::runtime::IntoParam<'a, IWICComponentInfo> for &IWICBitmapEncoderInfo {
into_param(self) -> ::windows::runtime::Param<'a, IWICComponentInfo>1193     fn into_param(self) -> ::windows::runtime::Param<'a, IWICComponentInfo> {
1194         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICComponentInfo>::into(::std::clone::Clone::clone(self)))
1195     }
1196 }
1197 #[repr(C)]
1198 #[doc(hidden)]
1199 pub struct IWICBitmapEncoderInfo_abi(
1200     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1201     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1202     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1203     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptype: *mut WICComponentType) -> ::windows::runtime::HRESULT,
1204     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pclsid: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1205     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstatus: *mut u32) -> ::windows::runtime::HRESULT,
1206     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchauthor: u32, wzauthor: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
1207     #[cfg(not(feature = "Win32_Foundation"))] usize,
1208     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pguidvendor: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1209     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchversion: u32, wzversion: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
1210     #[cfg(not(feature = "Win32_Foundation"))] usize,
1211     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchspecversion: u32, wzspecversion: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
1212     #[cfg(not(feature = "Win32_Foundation"))] usize,
1213     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchfriendlyname: u32, wzfriendlyname: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
1214     #[cfg(not(feature = "Win32_Foundation"))] usize,
1215     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pguidcontainerformat: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1216     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cformats: u32, pguidpixelformats: *mut ::windows::runtime::GUID, pcactual: *mut u32) -> ::windows::runtime::HRESULT,
1217     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchcolormanagementversion: u32, wzcolormanagementversion: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
1218     #[cfg(not(feature = "Win32_Foundation"))] usize,
1219     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchdevicemanufacturer: u32, wzdevicemanufacturer: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
1220     #[cfg(not(feature = "Win32_Foundation"))] usize,
1221     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchdevicemodels: u32, wzdevicemodels: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
1222     #[cfg(not(feature = "Win32_Foundation"))] usize,
1223     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchmimetypes: u32, wzmimetypes: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
1224     #[cfg(not(feature = "Win32_Foundation"))] usize,
1225     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchfileextensions: u32, wzfileextensions: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
1226     #[cfg(not(feature = "Win32_Foundation"))] usize,
1227     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfsupportanimation: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1228     #[cfg(not(feature = "Win32_Foundation"))] usize,
1229     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfsupportchromakey: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1230     #[cfg(not(feature = "Win32_Foundation"))] usize,
1231     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfsupportlossless: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1232     #[cfg(not(feature = "Win32_Foundation"))] usize,
1233     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfsupportmultiframe: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1234     #[cfg(not(feature = "Win32_Foundation"))] usize,
1235     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, wzmimetype: super::super::Foundation::PWSTR, pfmatches: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1236     #[cfg(not(feature = "Win32_Foundation"))] usize,
1237     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppibitmapencoder: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1238 );
1239 #[repr(transparent)]
1240 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1241 pub struct IWICBitmapFlipRotator(::windows::runtime::IUnknown);
1242 impl IWICBitmapFlipRotator {
GetSize(&self, puiwidth: *mut u32, puiheight: *mut u32) -> ::windows::runtime::Result<()>1243     pub unsafe fn GetSize(&self, puiwidth: *mut u32, puiheight: *mut u32) -> ::windows::runtime::Result<()> {
1244         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(puiwidth), ::std::mem::transmute(puiheight)).ok()
1245     }
GetPixelFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>1246     pub unsafe fn GetPixelFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
1247         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1248         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
1249     }
GetResolution(&self, pdpix: *mut f64, pdpiy: *mut f64) -> ::windows::runtime::Result<()>1250     pub unsafe fn GetResolution(&self, pdpix: *mut f64, pdpiy: *mut f64) -> ::windows::runtime::Result<()> {
1251         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdpix), ::std::mem::transmute(pdpiy)).ok()
1252     }
CopyPalette<'a, Param0: ::windows::runtime::IntoParam<'a, IWICPalette>>(&self, pipalette: Param0) -> ::windows::runtime::Result<()>1253     pub unsafe fn CopyPalette<'a, Param0: ::windows::runtime::IntoParam<'a, IWICPalette>>(&self, pipalette: Param0) -> ::windows::runtime::Result<()> {
1254         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), pipalette.into_param().abi()).ok()
1255     }
CopyPixels(&self, prc: *const WICRect, cbstride: u32, cbbuffersize: u32, pbbuffer: *mut u8) -> ::windows::runtime::Result<()>1256     pub unsafe fn CopyPixels(&self, prc: *const WICRect, cbstride: u32, cbbuffersize: u32, pbbuffer: *mut u8) -> ::windows::runtime::Result<()> {
1257         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(prc), ::std::mem::transmute(cbstride), ::std::mem::transmute(cbbuffersize), ::std::mem::transmute(pbbuffer)).ok()
1258     }
Initialize<'a, Param0: ::windows::runtime::IntoParam<'a, IWICBitmapSource>>(&self, pisource: Param0, options: WICBitmapTransformOptions) -> ::windows::runtime::Result<()>1259     pub unsafe fn Initialize<'a, Param0: ::windows::runtime::IntoParam<'a, IWICBitmapSource>>(&self, pisource: Param0, options: WICBitmapTransformOptions) -> ::windows::runtime::Result<()> {
1260         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), pisource.into_param().abi(), ::std::mem::transmute(options)).ok()
1261     }
1262 }
1263 unsafe impl ::windows::runtime::Interface for IWICBitmapFlipRotator {
1264     type Vtable = IWICBitmapFlipRotator_abi;
1265     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1342800719, 11626, 16846, [158, 27, 23, 197, 175, 247, 167, 130]);
1266 }
1267 impl ::std::convert::From<IWICBitmapFlipRotator> for ::windows::runtime::IUnknown {
from(value: IWICBitmapFlipRotator) -> Self1268     fn from(value: IWICBitmapFlipRotator) -> Self {
1269         unsafe { ::std::mem::transmute(value) }
1270     }
1271 }
1272 impl ::std::convert::From<&IWICBitmapFlipRotator> for ::windows::runtime::IUnknown {
from(value: &IWICBitmapFlipRotator) -> Self1273     fn from(value: &IWICBitmapFlipRotator) -> Self {
1274         ::std::convert::From::from(::std::clone::Clone::clone(value))
1275     }
1276 }
1277 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICBitmapFlipRotator {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1278     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1279         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1280     }
1281 }
1282 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICBitmapFlipRotator {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1283     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1284         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1285     }
1286 }
1287 impl ::std::convert::From<IWICBitmapFlipRotator> for IWICBitmapSource {
from(value: IWICBitmapFlipRotator) -> Self1288     fn from(value: IWICBitmapFlipRotator) -> Self {
1289         unsafe { ::std::mem::transmute(value) }
1290     }
1291 }
1292 impl ::std::convert::From<&IWICBitmapFlipRotator> for IWICBitmapSource {
from(value: &IWICBitmapFlipRotator) -> Self1293     fn from(value: &IWICBitmapFlipRotator) -> Self {
1294         ::std::convert::From::from(::std::clone::Clone::clone(value))
1295     }
1296 }
1297 impl<'a> ::windows::runtime::IntoParam<'a, IWICBitmapSource> for IWICBitmapFlipRotator {
into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapSource>1298     fn into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapSource> {
1299         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICBitmapSource>::into(self))
1300     }
1301 }
1302 impl<'a> ::windows::runtime::IntoParam<'a, IWICBitmapSource> for &IWICBitmapFlipRotator {
into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapSource>1303     fn into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapSource> {
1304         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICBitmapSource>::into(::std::clone::Clone::clone(self)))
1305     }
1306 }
1307 #[repr(C)]
1308 #[doc(hidden)]
1309 pub struct IWICBitmapFlipRotator_abi(
1310     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1311     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1312     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1313     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, puiwidth: *mut u32, puiheight: *mut u32) -> ::windows::runtime::HRESULT,
1314     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppixelformat: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1315     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdpix: *mut f64, pdpiy: *mut f64) -> ::windows::runtime::HRESULT,
1316     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pipalette: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1317     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, prc: *const WICRect, cbstride: u32, cbbuffersize: u32, pbbuffer: *mut u8) -> ::windows::runtime::HRESULT,
1318     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pisource: ::windows::runtime::RawPtr, options: WICBitmapTransformOptions) -> ::windows::runtime::HRESULT,
1319 );
1320 #[repr(transparent)]
1321 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1322 pub struct IWICBitmapFrameDecode(::windows::runtime::IUnknown);
1323 impl IWICBitmapFrameDecode {
GetSize(&self, puiwidth: *mut u32, puiheight: *mut u32) -> ::windows::runtime::Result<()>1324     pub unsafe fn GetSize(&self, puiwidth: *mut u32, puiheight: *mut u32) -> ::windows::runtime::Result<()> {
1325         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(puiwidth), ::std::mem::transmute(puiheight)).ok()
1326     }
GetPixelFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>1327     pub unsafe fn GetPixelFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
1328         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1329         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
1330     }
GetResolution(&self, pdpix: *mut f64, pdpiy: *mut f64) -> ::windows::runtime::Result<()>1331     pub unsafe fn GetResolution(&self, pdpix: *mut f64, pdpiy: *mut f64) -> ::windows::runtime::Result<()> {
1332         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdpix), ::std::mem::transmute(pdpiy)).ok()
1333     }
CopyPalette<'a, Param0: ::windows::runtime::IntoParam<'a, IWICPalette>>(&self, pipalette: Param0) -> ::windows::runtime::Result<()>1334     pub unsafe fn CopyPalette<'a, Param0: ::windows::runtime::IntoParam<'a, IWICPalette>>(&self, pipalette: Param0) -> ::windows::runtime::Result<()> {
1335         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), pipalette.into_param().abi()).ok()
1336     }
CopyPixels(&self, prc: *const WICRect, cbstride: u32, cbbuffersize: u32, pbbuffer: *mut u8) -> ::windows::runtime::Result<()>1337     pub unsafe fn CopyPixels(&self, prc: *const WICRect, cbstride: u32, cbbuffersize: u32, pbbuffer: *mut u8) -> ::windows::runtime::Result<()> {
1338         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(prc), ::std::mem::transmute(cbstride), ::std::mem::transmute(cbbuffersize), ::std::mem::transmute(pbbuffer)).ok()
1339     }
GetMetadataQueryReader(&self) -> ::windows::runtime::Result<IWICMetadataQueryReader>1340     pub unsafe fn GetMetadataQueryReader(&self) -> ::windows::runtime::Result<IWICMetadataQueryReader> {
1341         let mut result__: <IWICMetadataQueryReader as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1342         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICMetadataQueryReader>(result__)
1343     }
GetColorContexts(&self, ccount: u32, ppicolorcontexts: *mut ::std::option::Option<IWICColorContext>, pcactualcount: *mut u32) -> ::windows::runtime::Result<()>1344     pub unsafe fn GetColorContexts(&self, ccount: u32, ppicolorcontexts: *mut ::std::option::Option<IWICColorContext>, pcactualcount: *mut u32) -> ::windows::runtime::Result<()> {
1345         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(ccount), ::std::mem::transmute(ppicolorcontexts), ::std::mem::transmute(pcactualcount)).ok()
1346     }
GetThumbnail(&self) -> ::windows::runtime::Result<IWICBitmapSource>1347     pub unsafe fn GetThumbnail(&self) -> ::windows::runtime::Result<IWICBitmapSource> {
1348         let mut result__: <IWICBitmapSource as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1349         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICBitmapSource>(result__)
1350     }
1351 }
1352 unsafe impl ::windows::runtime::Interface for IWICBitmapFrameDecode {
1353     type Vtable = IWICBitmapFrameDecode_abi;
1354     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(991330587, 27203, 20169, [168, 19, 61, 147, 12, 19, 185, 64]);
1355 }
1356 impl ::std::convert::From<IWICBitmapFrameDecode> for ::windows::runtime::IUnknown {
from(value: IWICBitmapFrameDecode) -> Self1357     fn from(value: IWICBitmapFrameDecode) -> Self {
1358         unsafe { ::std::mem::transmute(value) }
1359     }
1360 }
1361 impl ::std::convert::From<&IWICBitmapFrameDecode> for ::windows::runtime::IUnknown {
from(value: &IWICBitmapFrameDecode) -> Self1362     fn from(value: &IWICBitmapFrameDecode) -> Self {
1363         ::std::convert::From::from(::std::clone::Clone::clone(value))
1364     }
1365 }
1366 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICBitmapFrameDecode {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1367     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1368         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1369     }
1370 }
1371 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICBitmapFrameDecode {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1372     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1373         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1374     }
1375 }
1376 impl ::std::convert::From<IWICBitmapFrameDecode> for IWICBitmapSource {
from(value: IWICBitmapFrameDecode) -> Self1377     fn from(value: IWICBitmapFrameDecode) -> Self {
1378         unsafe { ::std::mem::transmute(value) }
1379     }
1380 }
1381 impl ::std::convert::From<&IWICBitmapFrameDecode> for IWICBitmapSource {
from(value: &IWICBitmapFrameDecode) -> Self1382     fn from(value: &IWICBitmapFrameDecode) -> Self {
1383         ::std::convert::From::from(::std::clone::Clone::clone(value))
1384     }
1385 }
1386 impl<'a> ::windows::runtime::IntoParam<'a, IWICBitmapSource> for IWICBitmapFrameDecode {
into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapSource>1387     fn into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapSource> {
1388         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICBitmapSource>::into(self))
1389     }
1390 }
1391 impl<'a> ::windows::runtime::IntoParam<'a, IWICBitmapSource> for &IWICBitmapFrameDecode {
into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapSource>1392     fn into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapSource> {
1393         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICBitmapSource>::into(::std::clone::Clone::clone(self)))
1394     }
1395 }
1396 #[repr(C)]
1397 #[doc(hidden)]
1398 pub struct IWICBitmapFrameDecode_abi(
1399     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1400     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1401     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1402     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, puiwidth: *mut u32, puiheight: *mut u32) -> ::windows::runtime::HRESULT,
1403     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppixelformat: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1404     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdpix: *mut f64, pdpiy: *mut f64) -> ::windows::runtime::HRESULT,
1405     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pipalette: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1406     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, prc: *const WICRect, cbstride: u32, cbbuffersize: u32, pbbuffer: *mut u8) -> ::windows::runtime::HRESULT,
1407     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppimetadataqueryreader: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1408     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ccount: u32, ppicolorcontexts: *mut ::windows::runtime::RawPtr, pcactualcount: *mut u32) -> ::windows::runtime::HRESULT,
1409     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppithumbnail: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1410 );
1411 #[repr(transparent)]
1412 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1413 pub struct IWICBitmapFrameEncode(::windows::runtime::IUnknown);
1414 impl IWICBitmapFrameEncode {
1415     #[cfg(feature = "Win32_System_Ole")]
Initialize<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Ole::IPropertyBag2>>(&self, piencoderoptions: Param0) -> ::windows::runtime::Result<()>1416     pub unsafe fn Initialize<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Ole::IPropertyBag2>>(&self, piencoderoptions: Param0) -> ::windows::runtime::Result<()> {
1417         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), piencoderoptions.into_param().abi()).ok()
1418     }
SetSize(&self, uiwidth: u32, uiheight: u32) -> ::windows::runtime::Result<()>1419     pub unsafe fn SetSize(&self, uiwidth: u32, uiheight: u32) -> ::windows::runtime::Result<()> {
1420         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(uiwidth), ::std::mem::transmute(uiheight)).ok()
1421     }
SetResolution(&self, dpix: f64, dpiy: f64) -> ::windows::runtime::Result<()>1422     pub unsafe fn SetResolution(&self, dpix: f64, dpiy: f64) -> ::windows::runtime::Result<()> {
1423         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(dpix), ::std::mem::transmute(dpiy)).ok()
1424     }
SetPixelFormat(&self, ppixelformat: *mut ::windows::runtime::GUID) -> ::windows::runtime::Result<()>1425     pub unsafe fn SetPixelFormat(&self, ppixelformat: *mut ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
1426         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(ppixelformat)).ok()
1427     }
SetColorContexts(&self, ccount: u32, ppicolorcontext: *const ::std::option::Option<IWICColorContext>) -> ::windows::runtime::Result<()>1428     pub unsafe fn SetColorContexts(&self, ccount: u32, ppicolorcontext: *const ::std::option::Option<IWICColorContext>) -> ::windows::runtime::Result<()> {
1429         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(ccount), ::std::mem::transmute(ppicolorcontext)).ok()
1430     }
SetPalette<'a, Param0: ::windows::runtime::IntoParam<'a, IWICPalette>>(&self, pipalette: Param0) -> ::windows::runtime::Result<()>1431     pub unsafe fn SetPalette<'a, Param0: ::windows::runtime::IntoParam<'a, IWICPalette>>(&self, pipalette: Param0) -> ::windows::runtime::Result<()> {
1432         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), pipalette.into_param().abi()).ok()
1433     }
SetThumbnail<'a, Param0: ::windows::runtime::IntoParam<'a, IWICBitmapSource>>(&self, pithumbnail: Param0) -> ::windows::runtime::Result<()>1434     pub unsafe fn SetThumbnail<'a, Param0: ::windows::runtime::IntoParam<'a, IWICBitmapSource>>(&self, pithumbnail: Param0) -> ::windows::runtime::Result<()> {
1435         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), pithumbnail.into_param().abi()).ok()
1436     }
WritePixels(&self, linecount: u32, cbstride: u32, cbbuffersize: u32, pbpixels: *const u8) -> ::windows::runtime::Result<()>1437     pub unsafe fn WritePixels(&self, linecount: u32, cbstride: u32, cbbuffersize: u32, pbpixels: *const u8) -> ::windows::runtime::Result<()> {
1438         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(linecount), ::std::mem::transmute(cbstride), ::std::mem::transmute(cbbuffersize), ::std::mem::transmute(pbpixels)).ok()
1439     }
WriteSource<'a, Param0: ::windows::runtime::IntoParam<'a, IWICBitmapSource>>(&self, pibitmapsource: Param0, prc: *const WICRect) -> ::windows::runtime::Result<()>1440     pub unsafe fn WriteSource<'a, Param0: ::windows::runtime::IntoParam<'a, IWICBitmapSource>>(&self, pibitmapsource: Param0, prc: *const WICRect) -> ::windows::runtime::Result<()> {
1441         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), pibitmapsource.into_param().abi(), ::std::mem::transmute(prc)).ok()
1442     }
Commit(&self) -> ::windows::runtime::Result<()>1443     pub unsafe fn Commit(&self) -> ::windows::runtime::Result<()> {
1444         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self)).ok()
1445     }
GetMetadataQueryWriter(&self) -> ::windows::runtime::Result<IWICMetadataQueryWriter>1446     pub unsafe fn GetMetadataQueryWriter(&self) -> ::windows::runtime::Result<IWICMetadataQueryWriter> {
1447         let mut result__: <IWICMetadataQueryWriter as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1448         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICMetadataQueryWriter>(result__)
1449     }
1450 }
1451 unsafe impl ::windows::runtime::Interface for IWICBitmapFrameEncode {
1452     type Vtable = IWICBitmapFrameEncode_abi;
1453     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(261, 43250, 18551, [186, 10, 253, 43, 102, 69, 251, 148]);
1454 }
1455 impl ::std::convert::From<IWICBitmapFrameEncode> for ::windows::runtime::IUnknown {
from(value: IWICBitmapFrameEncode) -> Self1456     fn from(value: IWICBitmapFrameEncode) -> Self {
1457         unsafe { ::std::mem::transmute(value) }
1458     }
1459 }
1460 impl ::std::convert::From<&IWICBitmapFrameEncode> for ::windows::runtime::IUnknown {
from(value: &IWICBitmapFrameEncode) -> Self1461     fn from(value: &IWICBitmapFrameEncode) -> Self {
1462         ::std::convert::From::from(::std::clone::Clone::clone(value))
1463     }
1464 }
1465 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICBitmapFrameEncode {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1466     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1467         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1468     }
1469 }
1470 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICBitmapFrameEncode {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1471     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1472         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1473     }
1474 }
1475 #[repr(C)]
1476 #[doc(hidden)]
1477 pub struct IWICBitmapFrameEncode_abi(
1478     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1479     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1480     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1481     #[cfg(feature = "Win32_System_Ole")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, piencoderoptions: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1482     #[cfg(not(feature = "Win32_System_Ole"))] usize,
1483     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uiwidth: u32, uiheight: u32) -> ::windows::runtime::HRESULT,
1484     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dpix: f64, dpiy: f64) -> ::windows::runtime::HRESULT,
1485     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppixelformat: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1486     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ccount: u32, ppicolorcontext: *const ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1487     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pipalette: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1488     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pithumbnail: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1489     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, linecount: u32, cbstride: u32, cbbuffersize: u32, pbpixels: *const u8) -> ::windows::runtime::HRESULT,
1490     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pibitmapsource: ::windows::runtime::RawPtr, prc: *const WICRect) -> ::windows::runtime::HRESULT,
1491     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1492     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppimetadataquerywriter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1493 );
1494 #[repr(transparent)]
1495 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1496 pub struct IWICBitmapLock(::windows::runtime::IUnknown);
1497 impl IWICBitmapLock {
GetSize(&self, puiwidth: *mut u32, puiheight: *mut u32) -> ::windows::runtime::Result<()>1498     pub unsafe fn GetSize(&self, puiwidth: *mut u32, puiheight: *mut u32) -> ::windows::runtime::Result<()> {
1499         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(puiwidth), ::std::mem::transmute(puiheight)).ok()
1500     }
GetStride(&self) -> ::windows::runtime::Result<u32>1501     pub unsafe fn GetStride(&self) -> ::windows::runtime::Result<u32> {
1502         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1503         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
1504     }
GetDataPointer(&self, pcbbuffersize: *mut u32, ppbdata: *mut *mut u8) -> ::windows::runtime::Result<()>1505     pub unsafe fn GetDataPointer(&self, pcbbuffersize: *mut u32, ppbdata: *mut *mut u8) -> ::windows::runtime::Result<()> {
1506         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(pcbbuffersize), ::std::mem::transmute(ppbdata)).ok()
1507     }
GetPixelFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>1508     pub unsafe fn GetPixelFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
1509         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1510         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
1511     }
1512 }
1513 unsafe impl ::windows::runtime::Interface for IWICBitmapLock {
1514     type Vtable = IWICBitmapLock_abi;
1515     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(291, 43250, 18551, [186, 10, 253, 43, 102, 69, 251, 148]);
1516 }
1517 impl ::std::convert::From<IWICBitmapLock> for ::windows::runtime::IUnknown {
from(value: IWICBitmapLock) -> Self1518     fn from(value: IWICBitmapLock) -> Self {
1519         unsafe { ::std::mem::transmute(value) }
1520     }
1521 }
1522 impl ::std::convert::From<&IWICBitmapLock> for ::windows::runtime::IUnknown {
from(value: &IWICBitmapLock) -> Self1523     fn from(value: &IWICBitmapLock) -> Self {
1524         ::std::convert::From::from(::std::clone::Clone::clone(value))
1525     }
1526 }
1527 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICBitmapLock {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1528     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1529         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1530     }
1531 }
1532 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICBitmapLock {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1533     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1534         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1535     }
1536 }
1537 #[repr(C)]
1538 #[doc(hidden)]
1539 pub struct IWICBitmapLock_abi(
1540     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1541     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1542     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1543     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, puiwidth: *mut u32, puiheight: *mut u32) -> ::windows::runtime::HRESULT,
1544     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcbstride: *mut u32) -> ::windows::runtime::HRESULT,
1545     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcbbuffersize: *mut u32, ppbdata: *mut *mut u8) -> ::windows::runtime::HRESULT,
1546     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppixelformat: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1547 );
1548 #[repr(transparent)]
1549 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1550 pub struct IWICBitmapScaler(::windows::runtime::IUnknown);
1551 impl IWICBitmapScaler {
GetSize(&self, puiwidth: *mut u32, puiheight: *mut u32) -> ::windows::runtime::Result<()>1552     pub unsafe fn GetSize(&self, puiwidth: *mut u32, puiheight: *mut u32) -> ::windows::runtime::Result<()> {
1553         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(puiwidth), ::std::mem::transmute(puiheight)).ok()
1554     }
GetPixelFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>1555     pub unsafe fn GetPixelFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
1556         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1557         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
1558     }
GetResolution(&self, pdpix: *mut f64, pdpiy: *mut f64) -> ::windows::runtime::Result<()>1559     pub unsafe fn GetResolution(&self, pdpix: *mut f64, pdpiy: *mut f64) -> ::windows::runtime::Result<()> {
1560         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdpix), ::std::mem::transmute(pdpiy)).ok()
1561     }
CopyPalette<'a, Param0: ::windows::runtime::IntoParam<'a, IWICPalette>>(&self, pipalette: Param0) -> ::windows::runtime::Result<()>1562     pub unsafe fn CopyPalette<'a, Param0: ::windows::runtime::IntoParam<'a, IWICPalette>>(&self, pipalette: Param0) -> ::windows::runtime::Result<()> {
1563         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), pipalette.into_param().abi()).ok()
1564     }
CopyPixels(&self, prc: *const WICRect, cbstride: u32, cbbuffersize: u32, pbbuffer: *mut u8) -> ::windows::runtime::Result<()>1565     pub unsafe fn CopyPixels(&self, prc: *const WICRect, cbstride: u32, cbbuffersize: u32, pbbuffer: *mut u8) -> ::windows::runtime::Result<()> {
1566         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(prc), ::std::mem::transmute(cbstride), ::std::mem::transmute(cbbuffersize), ::std::mem::transmute(pbbuffer)).ok()
1567     }
Initialize<'a, Param0: ::windows::runtime::IntoParam<'a, IWICBitmapSource>>(&self, pisource: Param0, uiwidth: u32, uiheight: u32, mode: WICBitmapInterpolationMode) -> ::windows::runtime::Result<()>1568     pub unsafe fn Initialize<'a, Param0: ::windows::runtime::IntoParam<'a, IWICBitmapSource>>(&self, pisource: Param0, uiwidth: u32, uiheight: u32, mode: WICBitmapInterpolationMode) -> ::windows::runtime::Result<()> {
1569         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), pisource.into_param().abi(), ::std::mem::transmute(uiwidth), ::std::mem::transmute(uiheight), ::std::mem::transmute(mode)).ok()
1570     }
1571 }
1572 unsafe impl ::windows::runtime::Interface for IWICBitmapScaler {
1573     type Vtable = IWICBitmapScaler_abi;
1574     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(770, 43250, 18551, [186, 10, 253, 43, 102, 69, 251, 148]);
1575 }
1576 impl ::std::convert::From<IWICBitmapScaler> for ::windows::runtime::IUnknown {
from(value: IWICBitmapScaler) -> Self1577     fn from(value: IWICBitmapScaler) -> Self {
1578         unsafe { ::std::mem::transmute(value) }
1579     }
1580 }
1581 impl ::std::convert::From<&IWICBitmapScaler> for ::windows::runtime::IUnknown {
from(value: &IWICBitmapScaler) -> Self1582     fn from(value: &IWICBitmapScaler) -> Self {
1583         ::std::convert::From::from(::std::clone::Clone::clone(value))
1584     }
1585 }
1586 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICBitmapScaler {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1587     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1588         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1589     }
1590 }
1591 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICBitmapScaler {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1592     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1593         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1594     }
1595 }
1596 impl ::std::convert::From<IWICBitmapScaler> for IWICBitmapSource {
from(value: IWICBitmapScaler) -> Self1597     fn from(value: IWICBitmapScaler) -> Self {
1598         unsafe { ::std::mem::transmute(value) }
1599     }
1600 }
1601 impl ::std::convert::From<&IWICBitmapScaler> for IWICBitmapSource {
from(value: &IWICBitmapScaler) -> Self1602     fn from(value: &IWICBitmapScaler) -> Self {
1603         ::std::convert::From::from(::std::clone::Clone::clone(value))
1604     }
1605 }
1606 impl<'a> ::windows::runtime::IntoParam<'a, IWICBitmapSource> for IWICBitmapScaler {
into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapSource>1607     fn into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapSource> {
1608         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICBitmapSource>::into(self))
1609     }
1610 }
1611 impl<'a> ::windows::runtime::IntoParam<'a, IWICBitmapSource> for &IWICBitmapScaler {
into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapSource>1612     fn into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapSource> {
1613         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICBitmapSource>::into(::std::clone::Clone::clone(self)))
1614     }
1615 }
1616 #[repr(C)]
1617 #[doc(hidden)]
1618 pub struct IWICBitmapScaler_abi(
1619     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1620     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1621     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1622     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, puiwidth: *mut u32, puiheight: *mut u32) -> ::windows::runtime::HRESULT,
1623     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppixelformat: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1624     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdpix: *mut f64, pdpiy: *mut f64) -> ::windows::runtime::HRESULT,
1625     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pipalette: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1626     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, prc: *const WICRect, cbstride: u32, cbbuffersize: u32, pbbuffer: *mut u8) -> ::windows::runtime::HRESULT,
1627     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pisource: ::windows::runtime::RawPtr, uiwidth: u32, uiheight: u32, mode: WICBitmapInterpolationMode) -> ::windows::runtime::HRESULT,
1628 );
1629 #[repr(transparent)]
1630 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1631 pub struct IWICBitmapSource(::windows::runtime::IUnknown);
1632 impl IWICBitmapSource {
GetSize(&self, puiwidth: *mut u32, puiheight: *mut u32) -> ::windows::runtime::Result<()>1633     pub unsafe fn GetSize(&self, puiwidth: *mut u32, puiheight: *mut u32) -> ::windows::runtime::Result<()> {
1634         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(puiwidth), ::std::mem::transmute(puiheight)).ok()
1635     }
GetPixelFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>1636     pub unsafe fn GetPixelFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
1637         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1638         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
1639     }
GetResolution(&self, pdpix: *mut f64, pdpiy: *mut f64) -> ::windows::runtime::Result<()>1640     pub unsafe fn GetResolution(&self, pdpix: *mut f64, pdpiy: *mut f64) -> ::windows::runtime::Result<()> {
1641         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdpix), ::std::mem::transmute(pdpiy)).ok()
1642     }
CopyPalette<'a, Param0: ::windows::runtime::IntoParam<'a, IWICPalette>>(&self, pipalette: Param0) -> ::windows::runtime::Result<()>1643     pub unsafe fn CopyPalette<'a, Param0: ::windows::runtime::IntoParam<'a, IWICPalette>>(&self, pipalette: Param0) -> ::windows::runtime::Result<()> {
1644         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), pipalette.into_param().abi()).ok()
1645     }
CopyPixels(&self, prc: *const WICRect, cbstride: u32, cbbuffersize: u32, pbbuffer: *mut u8) -> ::windows::runtime::Result<()>1646     pub unsafe fn CopyPixels(&self, prc: *const WICRect, cbstride: u32, cbbuffersize: u32, pbbuffer: *mut u8) -> ::windows::runtime::Result<()> {
1647         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(prc), ::std::mem::transmute(cbstride), ::std::mem::transmute(cbbuffersize), ::std::mem::transmute(pbbuffer)).ok()
1648     }
1649 }
1650 unsafe impl ::windows::runtime::Interface for IWICBitmapSource {
1651     type Vtable = IWICBitmapSource_abi;
1652     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(288, 43250, 18551, [186, 10, 253, 43, 102, 69, 251, 148]);
1653 }
1654 impl ::std::convert::From<IWICBitmapSource> for ::windows::runtime::IUnknown {
from(value: IWICBitmapSource) -> Self1655     fn from(value: IWICBitmapSource) -> Self {
1656         unsafe { ::std::mem::transmute(value) }
1657     }
1658 }
1659 impl ::std::convert::From<&IWICBitmapSource> for ::windows::runtime::IUnknown {
from(value: &IWICBitmapSource) -> Self1660     fn from(value: &IWICBitmapSource) -> Self {
1661         ::std::convert::From::from(::std::clone::Clone::clone(value))
1662     }
1663 }
1664 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICBitmapSource {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1665     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1666         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1667     }
1668 }
1669 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICBitmapSource {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1670     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1671         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1672     }
1673 }
1674 #[repr(C)]
1675 #[doc(hidden)]
1676 pub struct IWICBitmapSource_abi(
1677     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1678     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1679     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1680     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, puiwidth: *mut u32, puiheight: *mut u32) -> ::windows::runtime::HRESULT,
1681     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppixelformat: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1682     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdpix: *mut f64, pdpiy: *mut f64) -> ::windows::runtime::HRESULT,
1683     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pipalette: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1684     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, prc: *const WICRect, cbstride: u32, cbbuffersize: u32, pbbuffer: *mut u8) -> ::windows::runtime::HRESULT,
1685 );
1686 #[repr(transparent)]
1687 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1688 pub struct IWICBitmapSourceTransform(::windows::runtime::IUnknown);
1689 impl IWICBitmapSourceTransform {
CopyPixels(&self, prc: *const WICRect, uiwidth: u32, uiheight: u32, pguiddstformat: *const ::windows::runtime::GUID, dsttransform: WICBitmapTransformOptions, nstride: u32, cbbuffersize: u32, pbbuffer: *mut u8) -> ::windows::runtime::Result<()>1690     pub unsafe fn CopyPixels(&self, prc: *const WICRect, uiwidth: u32, uiheight: u32, pguiddstformat: *const ::windows::runtime::GUID, dsttransform: WICBitmapTransformOptions, nstride: u32, cbbuffersize: u32, pbbuffer: *mut u8) -> ::windows::runtime::Result<()> {
1691         (::windows::runtime::Interface::vtable(self).3)(
1692             ::std::mem::transmute_copy(self),
1693             ::std::mem::transmute(prc),
1694             ::std::mem::transmute(uiwidth),
1695             ::std::mem::transmute(uiheight),
1696             ::std::mem::transmute(pguiddstformat),
1697             ::std::mem::transmute(dsttransform),
1698             ::std::mem::transmute(nstride),
1699             ::std::mem::transmute(cbbuffersize),
1700             ::std::mem::transmute(pbbuffer),
1701         )
1702         .ok()
1703     }
GetClosestSize(&self, puiwidth: *mut u32, puiheight: *mut u32) -> ::windows::runtime::Result<()>1704     pub unsafe fn GetClosestSize(&self, puiwidth: *mut u32, puiheight: *mut u32) -> ::windows::runtime::Result<()> {
1705         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(puiwidth), ::std::mem::transmute(puiheight)).ok()
1706     }
GetClosestPixelFormat(&self, pguiddstformat: *mut ::windows::runtime::GUID) -> ::windows::runtime::Result<()>1707     pub unsafe fn GetClosestPixelFormat(&self, pguiddstformat: *mut ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
1708         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(pguiddstformat)).ok()
1709     }
1710     #[cfg(feature = "Win32_Foundation")]
DoesSupportTransform(&self, dsttransform: WICBitmapTransformOptions) -> ::windows::runtime::Result<super::super::Foundation::BOOL>1711     pub unsafe fn DoesSupportTransform(&self, dsttransform: WICBitmapTransformOptions) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
1712         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1713         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dsttransform), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
1714     }
1715 }
1716 unsafe impl ::windows::runtime::Interface for IWICBitmapSourceTransform {
1717     type Vtable = IWICBitmapSourceTransform_abi;
1718     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(991330587, 27203, 20169, [183, 19, 61, 90, 12, 19, 185, 64]);
1719 }
1720 impl ::std::convert::From<IWICBitmapSourceTransform> for ::windows::runtime::IUnknown {
from(value: IWICBitmapSourceTransform) -> Self1721     fn from(value: IWICBitmapSourceTransform) -> Self {
1722         unsafe { ::std::mem::transmute(value) }
1723     }
1724 }
1725 impl ::std::convert::From<&IWICBitmapSourceTransform> for ::windows::runtime::IUnknown {
from(value: &IWICBitmapSourceTransform) -> Self1726     fn from(value: &IWICBitmapSourceTransform) -> Self {
1727         ::std::convert::From::from(::std::clone::Clone::clone(value))
1728     }
1729 }
1730 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICBitmapSourceTransform {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1731     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1732         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1733     }
1734 }
1735 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICBitmapSourceTransform {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1736     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1737         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1738     }
1739 }
1740 #[repr(C)]
1741 #[doc(hidden)]
1742 pub struct IWICBitmapSourceTransform_abi(
1743     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1744     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1745     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1746     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, prc: *const WICRect, uiwidth: u32, uiheight: u32, pguiddstformat: *const ::windows::runtime::GUID, dsttransform: WICBitmapTransformOptions, nstride: u32, cbbuffersize: u32, pbbuffer: *mut u8) -> ::windows::runtime::HRESULT,
1747     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, puiwidth: *mut u32, puiheight: *mut u32) -> ::windows::runtime::HRESULT,
1748     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pguiddstformat: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1749     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dsttransform: WICBitmapTransformOptions, pfissupported: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1750     #[cfg(not(feature = "Win32_Foundation"))] usize,
1751 );
1752 #[repr(transparent)]
1753 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1754 pub struct IWICColorContext(::windows::runtime::IUnknown);
1755 impl IWICColorContext {
1756     #[cfg(feature = "Win32_Foundation")]
InitializeFromFilename<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, wzfilename: Param0) -> ::windows::runtime::Result<()>1757     pub unsafe fn InitializeFromFilename<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, wzfilename: Param0) -> ::windows::runtime::Result<()> {
1758         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), wzfilename.into_param().abi()).ok()
1759     }
InitializeFromMemory(&self, pbbuffer: *const u8, cbbuffersize: u32) -> ::windows::runtime::Result<()>1760     pub unsafe fn InitializeFromMemory(&self, pbbuffer: *const u8, cbbuffersize: u32) -> ::windows::runtime::Result<()> {
1761         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pbbuffer), ::std::mem::transmute(cbbuffersize)).ok()
1762     }
InitializeFromExifColorSpace(&self, value: u32) -> ::windows::runtime::Result<()>1763     pub unsafe fn InitializeFromExifColorSpace(&self, value: u32) -> ::windows::runtime::Result<()> {
1764         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(value)).ok()
1765     }
GetType(&self) -> ::windows::runtime::Result<WICColorContextType>1766     pub unsafe fn GetType(&self) -> ::windows::runtime::Result<WICColorContextType> {
1767         let mut result__: <WICColorContextType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1768         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WICColorContextType>(result__)
1769     }
GetProfileBytes(&self, cbbuffer: u32, pbbuffer: *mut u8, pcbactual: *mut u32) -> ::windows::runtime::Result<()>1770     pub unsafe fn GetProfileBytes(&self, cbbuffer: u32, pbbuffer: *mut u8, pcbactual: *mut u32) -> ::windows::runtime::Result<()> {
1771         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(cbbuffer), ::std::mem::transmute(pbbuffer), ::std::mem::transmute(pcbactual)).ok()
1772     }
GetExifColorSpace(&self) -> ::windows::runtime::Result<u32>1773     pub unsafe fn GetExifColorSpace(&self) -> ::windows::runtime::Result<u32> {
1774         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1775         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
1776     }
1777 }
1778 unsafe impl ::windows::runtime::Interface for IWICColorContext {
1779     type Vtable = IWICColorContext_abi;
1780     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1013004802, 13490, 17642, [154, 124, 69, 174, 169, 198, 253, 109]);
1781 }
1782 impl ::std::convert::From<IWICColorContext> for ::windows::runtime::IUnknown {
from(value: IWICColorContext) -> Self1783     fn from(value: IWICColorContext) -> Self {
1784         unsafe { ::std::mem::transmute(value) }
1785     }
1786 }
1787 impl ::std::convert::From<&IWICColorContext> for ::windows::runtime::IUnknown {
from(value: &IWICColorContext) -> Self1788     fn from(value: &IWICColorContext) -> Self {
1789         ::std::convert::From::from(::std::clone::Clone::clone(value))
1790     }
1791 }
1792 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICColorContext {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1793     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1794         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1795     }
1796 }
1797 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICColorContext {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1798     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1799         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1800     }
1801 }
1802 #[repr(C)]
1803 #[doc(hidden)]
1804 pub struct IWICColorContext_abi(
1805     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1806     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1807     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1808     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, wzfilename: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
1809     #[cfg(not(feature = "Win32_Foundation"))] usize,
1810     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbbuffer: *const u8, cbbuffersize: u32) -> ::windows::runtime::HRESULT,
1811     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: u32) -> ::windows::runtime::HRESULT,
1812     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptype: *mut WICColorContextType) -> ::windows::runtime::HRESULT,
1813     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cbbuffer: u32, pbbuffer: *mut u8, pcbactual: *mut u32) -> ::windows::runtime::HRESULT,
1814     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pvalue: *mut u32) -> ::windows::runtime::HRESULT,
1815 );
1816 #[repr(transparent)]
1817 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1818 pub struct IWICColorTransform(::windows::runtime::IUnknown);
1819 impl IWICColorTransform {
GetSize(&self, puiwidth: *mut u32, puiheight: *mut u32) -> ::windows::runtime::Result<()>1820     pub unsafe fn GetSize(&self, puiwidth: *mut u32, puiheight: *mut u32) -> ::windows::runtime::Result<()> {
1821         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(puiwidth), ::std::mem::transmute(puiheight)).ok()
1822     }
GetPixelFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>1823     pub unsafe fn GetPixelFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
1824         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1825         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
1826     }
GetResolution(&self, pdpix: *mut f64, pdpiy: *mut f64) -> ::windows::runtime::Result<()>1827     pub unsafe fn GetResolution(&self, pdpix: *mut f64, pdpiy: *mut f64) -> ::windows::runtime::Result<()> {
1828         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdpix), ::std::mem::transmute(pdpiy)).ok()
1829     }
CopyPalette<'a, Param0: ::windows::runtime::IntoParam<'a, IWICPalette>>(&self, pipalette: Param0) -> ::windows::runtime::Result<()>1830     pub unsafe fn CopyPalette<'a, Param0: ::windows::runtime::IntoParam<'a, IWICPalette>>(&self, pipalette: Param0) -> ::windows::runtime::Result<()> {
1831         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), pipalette.into_param().abi()).ok()
1832     }
CopyPixels(&self, prc: *const WICRect, cbstride: u32, cbbuffersize: u32, pbbuffer: *mut u8) -> ::windows::runtime::Result<()>1833     pub unsafe fn CopyPixels(&self, prc: *const WICRect, cbstride: u32, cbbuffersize: u32, pbbuffer: *mut u8) -> ::windows::runtime::Result<()> {
1834         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(prc), ::std::mem::transmute(cbstride), ::std::mem::transmute(cbbuffersize), ::std::mem::transmute(pbbuffer)).ok()
1835     }
Initialize<'a, Param0: ::windows::runtime::IntoParam<'a, IWICBitmapSource>, Param1: ::windows::runtime::IntoParam<'a, IWICColorContext>, Param2: ::windows::runtime::IntoParam<'a, IWICColorContext>>(&self, pibitmapsource: Param0, picontextsource: Param1, picontextdest: Param2, pixelfmtdest: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>1836     pub unsafe fn Initialize<'a, Param0: ::windows::runtime::IntoParam<'a, IWICBitmapSource>, Param1: ::windows::runtime::IntoParam<'a, IWICColorContext>, Param2: ::windows::runtime::IntoParam<'a, IWICColorContext>>(&self, pibitmapsource: Param0, picontextsource: Param1, picontextdest: Param2, pixelfmtdest: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
1837         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), pibitmapsource.into_param().abi(), picontextsource.into_param().abi(), picontextdest.into_param().abi(), ::std::mem::transmute(pixelfmtdest)).ok()
1838     }
1839 }
1840 unsafe impl ::windows::runtime::Interface for IWICColorTransform {
1841     type Vtable = IWICColorTransform_abi;
1842     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3060728655, 53474, 16555, [180, 54, 109, 227, 158, 50, 26, 148]);
1843 }
1844 impl ::std::convert::From<IWICColorTransform> for ::windows::runtime::IUnknown {
from(value: IWICColorTransform) -> Self1845     fn from(value: IWICColorTransform) -> Self {
1846         unsafe { ::std::mem::transmute(value) }
1847     }
1848 }
1849 impl ::std::convert::From<&IWICColorTransform> for ::windows::runtime::IUnknown {
from(value: &IWICColorTransform) -> Self1850     fn from(value: &IWICColorTransform) -> Self {
1851         ::std::convert::From::from(::std::clone::Clone::clone(value))
1852     }
1853 }
1854 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICColorTransform {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1855     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1856         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1857     }
1858 }
1859 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICColorTransform {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1860     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1861         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1862     }
1863 }
1864 impl ::std::convert::From<IWICColorTransform> for IWICBitmapSource {
from(value: IWICColorTransform) -> Self1865     fn from(value: IWICColorTransform) -> Self {
1866         unsafe { ::std::mem::transmute(value) }
1867     }
1868 }
1869 impl ::std::convert::From<&IWICColorTransform> for IWICBitmapSource {
from(value: &IWICColorTransform) -> Self1870     fn from(value: &IWICColorTransform) -> Self {
1871         ::std::convert::From::from(::std::clone::Clone::clone(value))
1872     }
1873 }
1874 impl<'a> ::windows::runtime::IntoParam<'a, IWICBitmapSource> for IWICColorTransform {
into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapSource>1875     fn into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapSource> {
1876         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICBitmapSource>::into(self))
1877     }
1878 }
1879 impl<'a> ::windows::runtime::IntoParam<'a, IWICBitmapSource> for &IWICColorTransform {
into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapSource>1880     fn into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapSource> {
1881         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICBitmapSource>::into(::std::clone::Clone::clone(self)))
1882     }
1883 }
1884 #[repr(C)]
1885 #[doc(hidden)]
1886 pub struct IWICColorTransform_abi(
1887     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1888     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1889     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1890     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, puiwidth: *mut u32, puiheight: *mut u32) -> ::windows::runtime::HRESULT,
1891     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppixelformat: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1892     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdpix: *mut f64, pdpiy: *mut f64) -> ::windows::runtime::HRESULT,
1893     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pipalette: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1894     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, prc: *const WICRect, cbstride: u32, cbbuffersize: u32, pbbuffer: *mut u8) -> ::windows::runtime::HRESULT,
1895     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pibitmapsource: ::windows::runtime::RawPtr, picontextsource: ::windows::runtime::RawPtr, picontextdest: ::windows::runtime::RawPtr, pixelfmtdest: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1896 );
1897 #[repr(transparent)]
1898 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1899 pub struct IWICComponentFactory(::windows::runtime::IUnknown);
1900 impl IWICComponentFactory {
1901     #[cfg(feature = "Win32_Foundation")]
CreateDecoderFromFilename<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, wzfilename: Param0, pguidvendor: *const ::windows::runtime::GUID, dwdesiredaccess: u32, metadataoptions: WICDecodeOptions) -> ::windows::runtime::Result<IWICBitmapDecoder>1902     pub unsafe fn CreateDecoderFromFilename<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, wzfilename: Param0, pguidvendor: *const ::windows::runtime::GUID, dwdesiredaccess: u32, metadataoptions: WICDecodeOptions) -> ::windows::runtime::Result<IWICBitmapDecoder> {
1903         let mut result__: <IWICBitmapDecoder as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1904         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), wzfilename.into_param().abi(), ::std::mem::transmute(pguidvendor), ::std::mem::transmute(dwdesiredaccess), ::std::mem::transmute(metadataoptions), &mut result__).from_abi::<IWICBitmapDecoder>(result__)
1905     }
1906     #[cfg(feature = "Win32_System_Com")]
CreateDecoderFromStream<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, pistream: Param0, pguidvendor: *const ::windows::runtime::GUID, metadataoptions: WICDecodeOptions) -> ::windows::runtime::Result<IWICBitmapDecoder>1907     pub unsafe fn CreateDecoderFromStream<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, pistream: Param0, pguidvendor: *const ::windows::runtime::GUID, metadataoptions: WICDecodeOptions) -> ::windows::runtime::Result<IWICBitmapDecoder> {
1908         let mut result__: <IWICBitmapDecoder as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1909         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pistream.into_param().abi(), ::std::mem::transmute(pguidvendor), ::std::mem::transmute(metadataoptions), &mut result__).from_abi::<IWICBitmapDecoder>(result__)
1910     }
CreateDecoderFromFileHandle(&self, hfile: usize, pguidvendor: *const ::windows::runtime::GUID, metadataoptions: WICDecodeOptions) -> ::windows::runtime::Result<IWICBitmapDecoder>1911     pub unsafe fn CreateDecoderFromFileHandle(&self, hfile: usize, pguidvendor: *const ::windows::runtime::GUID, metadataoptions: WICDecodeOptions) -> ::windows::runtime::Result<IWICBitmapDecoder> {
1912         let mut result__: <IWICBitmapDecoder as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1913         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(hfile), ::std::mem::transmute(pguidvendor), ::std::mem::transmute(metadataoptions), &mut result__).from_abi::<IWICBitmapDecoder>(result__)
1914     }
CreateComponentInfo(&self, clsidcomponent: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IWICComponentInfo>1915     pub unsafe fn CreateComponentInfo(&self, clsidcomponent: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IWICComponentInfo> {
1916         let mut result__: <IWICComponentInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1917         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(clsidcomponent), &mut result__).from_abi::<IWICComponentInfo>(result__)
1918     }
CreateDecoder(&self, guidcontainerformat: *const ::windows::runtime::GUID, pguidvendor: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IWICBitmapDecoder>1919     pub unsafe fn CreateDecoder(&self, guidcontainerformat: *const ::windows::runtime::GUID, pguidvendor: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IWICBitmapDecoder> {
1920         let mut result__: <IWICBitmapDecoder as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1921         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(guidcontainerformat), ::std::mem::transmute(pguidvendor), &mut result__).from_abi::<IWICBitmapDecoder>(result__)
1922     }
CreateEncoder(&self, guidcontainerformat: *const ::windows::runtime::GUID, pguidvendor: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IWICBitmapEncoder>1923     pub unsafe fn CreateEncoder(&self, guidcontainerformat: *const ::windows::runtime::GUID, pguidvendor: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IWICBitmapEncoder> {
1924         let mut result__: <IWICBitmapEncoder as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1925         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(guidcontainerformat), ::std::mem::transmute(pguidvendor), &mut result__).from_abi::<IWICBitmapEncoder>(result__)
1926     }
CreatePalette(&self) -> ::windows::runtime::Result<IWICPalette>1927     pub unsafe fn CreatePalette(&self) -> ::windows::runtime::Result<IWICPalette> {
1928         let mut result__: <IWICPalette as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1929         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICPalette>(result__)
1930     }
CreateFormatConverter(&self) -> ::windows::runtime::Result<IWICFormatConverter>1931     pub unsafe fn CreateFormatConverter(&self) -> ::windows::runtime::Result<IWICFormatConverter> {
1932         let mut result__: <IWICFormatConverter as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1933         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICFormatConverter>(result__)
1934     }
CreateBitmapScaler(&self) -> ::windows::runtime::Result<IWICBitmapScaler>1935     pub unsafe fn CreateBitmapScaler(&self) -> ::windows::runtime::Result<IWICBitmapScaler> {
1936         let mut result__: <IWICBitmapScaler as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1937         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICBitmapScaler>(result__)
1938     }
CreateBitmapClipper(&self) -> ::windows::runtime::Result<IWICBitmapClipper>1939     pub unsafe fn CreateBitmapClipper(&self) -> ::windows::runtime::Result<IWICBitmapClipper> {
1940         let mut result__: <IWICBitmapClipper as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1941         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICBitmapClipper>(result__)
1942     }
CreateBitmapFlipRotator(&self) -> ::windows::runtime::Result<IWICBitmapFlipRotator>1943     pub unsafe fn CreateBitmapFlipRotator(&self) -> ::windows::runtime::Result<IWICBitmapFlipRotator> {
1944         let mut result__: <IWICBitmapFlipRotator as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1945         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICBitmapFlipRotator>(result__)
1946     }
CreateStream(&self) -> ::windows::runtime::Result<IWICStream>1947     pub unsafe fn CreateStream(&self) -> ::windows::runtime::Result<IWICStream> {
1948         let mut result__: <IWICStream as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1949         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICStream>(result__)
1950     }
CreateColorContext(&self) -> ::windows::runtime::Result<IWICColorContext>1951     pub unsafe fn CreateColorContext(&self) -> ::windows::runtime::Result<IWICColorContext> {
1952         let mut result__: <IWICColorContext as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1953         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICColorContext>(result__)
1954     }
CreateColorTransformer(&self) -> ::windows::runtime::Result<IWICColorTransform>1955     pub unsafe fn CreateColorTransformer(&self) -> ::windows::runtime::Result<IWICColorTransform> {
1956         let mut result__: <IWICColorTransform as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1957         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICColorTransform>(result__)
1958     }
CreateBitmap(&self, uiwidth: u32, uiheight: u32, pixelformat: *const ::windows::runtime::GUID, option: WICBitmapCreateCacheOption) -> ::windows::runtime::Result<IWICBitmap>1959     pub unsafe fn CreateBitmap(&self, uiwidth: u32, uiheight: u32, pixelformat: *const ::windows::runtime::GUID, option: WICBitmapCreateCacheOption) -> ::windows::runtime::Result<IWICBitmap> {
1960         let mut result__: <IWICBitmap as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1961         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(uiwidth), ::std::mem::transmute(uiheight), ::std::mem::transmute(pixelformat), ::std::mem::transmute(option), &mut result__).from_abi::<IWICBitmap>(result__)
1962     }
CreateBitmapFromSource<'a, Param0: ::windows::runtime::IntoParam<'a, IWICBitmapSource>>(&self, pibitmapsource: Param0, option: WICBitmapCreateCacheOption) -> ::windows::runtime::Result<IWICBitmap>1963     pub unsafe fn CreateBitmapFromSource<'a, Param0: ::windows::runtime::IntoParam<'a, IWICBitmapSource>>(&self, pibitmapsource: Param0, option: WICBitmapCreateCacheOption) -> ::windows::runtime::Result<IWICBitmap> {
1964         let mut result__: <IWICBitmap as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1965         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), pibitmapsource.into_param().abi(), ::std::mem::transmute(option), &mut result__).from_abi::<IWICBitmap>(result__)
1966     }
CreateBitmapFromSourceRect<'a, Param0: ::windows::runtime::IntoParam<'a, IWICBitmapSource>>(&self, pibitmapsource: Param0, x: u32, y: u32, width: u32, height: u32) -> ::windows::runtime::Result<IWICBitmap>1967     pub unsafe fn CreateBitmapFromSourceRect<'a, Param0: ::windows::runtime::IntoParam<'a, IWICBitmapSource>>(&self, pibitmapsource: Param0, x: u32, y: u32, width: u32, height: u32) -> ::windows::runtime::Result<IWICBitmap> {
1968         let mut result__: <IWICBitmap as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1969         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), pibitmapsource.into_param().abi(), ::std::mem::transmute(x), ::std::mem::transmute(y), ::std::mem::transmute(width), ::std::mem::transmute(height), &mut result__).from_abi::<IWICBitmap>(result__)
1970     }
CreateBitmapFromMemory(&self, uiwidth: u32, uiheight: u32, pixelformat: *const ::windows::runtime::GUID, cbstride: u32, cbbuffersize: u32, pbbuffer: *const u8) -> ::windows::runtime::Result<IWICBitmap>1971     pub unsafe fn CreateBitmapFromMemory(&self, uiwidth: u32, uiheight: u32, pixelformat: *const ::windows::runtime::GUID, cbstride: u32, cbbuffersize: u32, pbbuffer: *const u8) -> ::windows::runtime::Result<IWICBitmap> {
1972         let mut result__: <IWICBitmap as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1973         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(uiwidth), ::std::mem::transmute(uiheight), ::std::mem::transmute(pixelformat), ::std::mem::transmute(cbstride), ::std::mem::transmute(cbbuffersize), ::std::mem::transmute(pbbuffer), &mut result__).from_abi::<IWICBitmap>(result__)
1974     }
1975     #[cfg(feature = "Win32_Graphics_Gdi")]
CreateBitmapFromHBITMAP<'a, Param0: ::windows::runtime::IntoParam<'a, super::Gdi::HBITMAP>, Param1: ::windows::runtime::IntoParam<'a, super::Gdi::HPALETTE>>(&self, hbitmap: Param0, hpalette: Param1, options: WICBitmapAlphaChannelOption) -> ::windows::runtime::Result<IWICBitmap>1976     pub unsafe fn CreateBitmapFromHBITMAP<'a, Param0: ::windows::runtime::IntoParam<'a, super::Gdi::HBITMAP>, Param1: ::windows::runtime::IntoParam<'a, super::Gdi::HPALETTE>>(&self, hbitmap: Param0, hpalette: Param1, options: WICBitmapAlphaChannelOption) -> ::windows::runtime::Result<IWICBitmap> {
1977         let mut result__: <IWICBitmap as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1978         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), hbitmap.into_param().abi(), hpalette.into_param().abi(), ::std::mem::transmute(options), &mut result__).from_abi::<IWICBitmap>(result__)
1979     }
1980     #[cfg(feature = "Win32_UI_WindowsAndMessaging")]
CreateBitmapFromHICON<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::UI::WindowsAndMessaging::HICON>>(&self, hicon: Param0) -> ::windows::runtime::Result<IWICBitmap>1981     pub unsafe fn CreateBitmapFromHICON<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::UI::WindowsAndMessaging::HICON>>(&self, hicon: Param0) -> ::windows::runtime::Result<IWICBitmap> {
1982         let mut result__: <IWICBitmap as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1983         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), hicon.into_param().abi(), &mut result__).from_abi::<IWICBitmap>(result__)
1984     }
1985     #[cfg(feature = "Win32_System_Com")]
CreateComponentEnumerator(&self, componenttypes: u32, options: u32) -> ::windows::runtime::Result<super::super::System::Com::IEnumUnknown>1986     pub unsafe fn CreateComponentEnumerator(&self, componenttypes: u32, options: u32) -> ::windows::runtime::Result<super::super::System::Com::IEnumUnknown> {
1987         let mut result__: <super::super::System::Com::IEnumUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1988         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), ::std::mem::transmute(componenttypes), ::std::mem::transmute(options), &mut result__).from_abi::<super::super::System::Com::IEnumUnknown>(result__)
1989     }
CreateFastMetadataEncoderFromDecoder<'a, Param0: ::windows::runtime::IntoParam<'a, IWICBitmapDecoder>>(&self, pidecoder: Param0) -> ::windows::runtime::Result<IWICFastMetadataEncoder>1990     pub unsafe fn CreateFastMetadataEncoderFromDecoder<'a, Param0: ::windows::runtime::IntoParam<'a, IWICBitmapDecoder>>(&self, pidecoder: Param0) -> ::windows::runtime::Result<IWICFastMetadataEncoder> {
1991         let mut result__: <IWICFastMetadataEncoder as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1992         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), pidecoder.into_param().abi(), &mut result__).from_abi::<IWICFastMetadataEncoder>(result__)
1993     }
CreateFastMetadataEncoderFromFrameDecode<'a, Param0: ::windows::runtime::IntoParam<'a, IWICBitmapFrameDecode>>(&self, piframedecoder: Param0) -> ::windows::runtime::Result<IWICFastMetadataEncoder>1994     pub unsafe fn CreateFastMetadataEncoderFromFrameDecode<'a, Param0: ::windows::runtime::IntoParam<'a, IWICBitmapFrameDecode>>(&self, piframedecoder: Param0) -> ::windows::runtime::Result<IWICFastMetadataEncoder> {
1995         let mut result__: <IWICFastMetadataEncoder as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1996         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), piframedecoder.into_param().abi(), &mut result__).from_abi::<IWICFastMetadataEncoder>(result__)
1997     }
CreateQueryWriter(&self, guidmetadataformat: *const ::windows::runtime::GUID, pguidvendor: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IWICMetadataQueryWriter>1998     pub unsafe fn CreateQueryWriter(&self, guidmetadataformat: *const ::windows::runtime::GUID, pguidvendor: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IWICMetadataQueryWriter> {
1999         let mut result__: <IWICMetadataQueryWriter as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2000         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), ::std::mem::transmute(guidmetadataformat), ::std::mem::transmute(pguidvendor), &mut result__).from_abi::<IWICMetadataQueryWriter>(result__)
2001     }
CreateQueryWriterFromReader<'a, Param0: ::windows::runtime::IntoParam<'a, IWICMetadataQueryReader>>(&self, piqueryreader: Param0, pguidvendor: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IWICMetadataQueryWriter>2002     pub unsafe fn CreateQueryWriterFromReader<'a, Param0: ::windows::runtime::IntoParam<'a, IWICMetadataQueryReader>>(&self, piqueryreader: Param0, pguidvendor: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IWICMetadataQueryWriter> {
2003         let mut result__: <IWICMetadataQueryWriter as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2004         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), piqueryreader.into_param().abi(), ::std::mem::transmute(pguidvendor), &mut result__).from_abi::<IWICMetadataQueryWriter>(result__)
2005     }
2006     #[cfg(feature = "Win32_System_Com")]
CreateMetadataReader<'a, Param3: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, guidmetadataformat: *const ::windows::runtime::GUID, pguidvendor: *const ::windows::runtime::GUID, dwoptions: u32, pistream: Param3) -> ::windows::runtime::Result<IWICMetadataReader>2007     pub unsafe fn CreateMetadataReader<'a, Param3: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, guidmetadataformat: *const ::windows::runtime::GUID, pguidvendor: *const ::windows::runtime::GUID, dwoptions: u32, pistream: Param3) -> ::windows::runtime::Result<IWICMetadataReader> {
2008         let mut result__: <IWICMetadataReader as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2009         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), ::std::mem::transmute(guidmetadataformat), ::std::mem::transmute(pguidvendor), ::std::mem::transmute(dwoptions), pistream.into_param().abi(), &mut result__).from_abi::<IWICMetadataReader>(result__)
2010     }
2011     #[cfg(feature = "Win32_System_Com")]
CreateMetadataReaderFromContainer<'a, Param3: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, guidcontainerformat: *const ::windows::runtime::GUID, pguidvendor: *const ::windows::runtime::GUID, dwoptions: u32, pistream: Param3) -> ::windows::runtime::Result<IWICMetadataReader>2012     pub unsafe fn CreateMetadataReaderFromContainer<'a, Param3: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, guidcontainerformat: *const ::windows::runtime::GUID, pguidvendor: *const ::windows::runtime::GUID, dwoptions: u32, pistream: Param3) -> ::windows::runtime::Result<IWICMetadataReader> {
2013         let mut result__: <IWICMetadataReader as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2014         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), ::std::mem::transmute(guidcontainerformat), ::std::mem::transmute(pguidvendor), ::std::mem::transmute(dwoptions), pistream.into_param().abi(), &mut result__).from_abi::<IWICMetadataReader>(result__)
2015     }
CreateMetadataWriter(&self, guidmetadataformat: *const ::windows::runtime::GUID, pguidvendor: *const ::windows::runtime::GUID, dwmetadataoptions: u32) -> ::windows::runtime::Result<IWICMetadataWriter>2016     pub unsafe fn CreateMetadataWriter(&self, guidmetadataformat: *const ::windows::runtime::GUID, pguidvendor: *const ::windows::runtime::GUID, dwmetadataoptions: u32) -> ::windows::runtime::Result<IWICMetadataWriter> {
2017         let mut result__: <IWICMetadataWriter as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2018         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), ::std::mem::transmute(guidmetadataformat), ::std::mem::transmute(pguidvendor), ::std::mem::transmute(dwmetadataoptions), &mut result__).from_abi::<IWICMetadataWriter>(result__)
2019     }
CreateMetadataWriterFromReader<'a, Param0: ::windows::runtime::IntoParam<'a, IWICMetadataReader>>(&self, pireader: Param0, pguidvendor: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IWICMetadataWriter>2020     pub unsafe fn CreateMetadataWriterFromReader<'a, Param0: ::windows::runtime::IntoParam<'a, IWICMetadataReader>>(&self, pireader: Param0, pguidvendor: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IWICMetadataWriter> {
2021         let mut result__: <IWICMetadataWriter as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2022         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), pireader.into_param().abi(), ::std::mem::transmute(pguidvendor), &mut result__).from_abi::<IWICMetadataWriter>(result__)
2023     }
CreateQueryReaderFromBlockReader<'a, Param0: ::windows::runtime::IntoParam<'a, IWICMetadataBlockReader>>(&self, piblockreader: Param0) -> ::windows::runtime::Result<IWICMetadataQueryReader>2024     pub unsafe fn CreateQueryReaderFromBlockReader<'a, Param0: ::windows::runtime::IntoParam<'a, IWICMetadataBlockReader>>(&self, piblockreader: Param0) -> ::windows::runtime::Result<IWICMetadataQueryReader> {
2025         let mut result__: <IWICMetadataQueryReader as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2026         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), piblockreader.into_param().abi(), &mut result__).from_abi::<IWICMetadataQueryReader>(result__)
2027     }
CreateQueryWriterFromBlockWriter<'a, Param0: ::windows::runtime::IntoParam<'a, IWICMetadataBlockWriter>>(&self, piblockwriter: Param0) -> ::windows::runtime::Result<IWICMetadataQueryWriter>2028     pub unsafe fn CreateQueryWriterFromBlockWriter<'a, Param0: ::windows::runtime::IntoParam<'a, IWICMetadataBlockWriter>>(&self, piblockwriter: Param0) -> ::windows::runtime::Result<IWICMetadataQueryWriter> {
2029         let mut result__: <IWICMetadataQueryWriter as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2030         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), piblockwriter.into_param().abi(), &mut result__).from_abi::<IWICMetadataQueryWriter>(result__)
2031     }
2032     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole"))]
CreateEncoderPropertyBag(&self, ppropoptions: *const super::super::System::Ole::PROPBAG2, ccount: u32) -> ::windows::runtime::Result<super::super::System::Ole::IPropertyBag2>2033     pub unsafe fn CreateEncoderPropertyBag(&self, ppropoptions: *const super::super::System::Ole::PROPBAG2, ccount: u32) -> ::windows::runtime::Result<super::super::System::Ole::IPropertyBag2> {
2034         let mut result__: <super::super::System::Ole::IPropertyBag2 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2035         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), ::std::mem::transmute(ppropoptions), ::std::mem::transmute(ccount), &mut result__).from_abi::<super::super::System::Ole::IPropertyBag2>(result__)
2036     }
2037 }
2038 unsafe impl ::windows::runtime::Interface for IWICComponentFactory {
2039     type Vtable = IWICComponentFactory_abi;
2040     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1093471290, 38480, 17658, [175, 91, 221, 42, 6, 200, 232, 251]);
2041 }
2042 impl ::std::convert::From<IWICComponentFactory> for ::windows::runtime::IUnknown {
from(value: IWICComponentFactory) -> Self2043     fn from(value: IWICComponentFactory) -> Self {
2044         unsafe { ::std::mem::transmute(value) }
2045     }
2046 }
2047 impl ::std::convert::From<&IWICComponentFactory> for ::windows::runtime::IUnknown {
from(value: &IWICComponentFactory) -> Self2048     fn from(value: &IWICComponentFactory) -> Self {
2049         ::std::convert::From::from(::std::clone::Clone::clone(value))
2050     }
2051 }
2052 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICComponentFactory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2053     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2054         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2055     }
2056 }
2057 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICComponentFactory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2058     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2059         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2060     }
2061 }
2062 impl ::std::convert::From<IWICComponentFactory> for IWICImagingFactory {
from(value: IWICComponentFactory) -> Self2063     fn from(value: IWICComponentFactory) -> Self {
2064         unsafe { ::std::mem::transmute(value) }
2065     }
2066 }
2067 impl ::std::convert::From<&IWICComponentFactory> for IWICImagingFactory {
from(value: &IWICComponentFactory) -> Self2068     fn from(value: &IWICComponentFactory) -> Self {
2069         ::std::convert::From::from(::std::clone::Clone::clone(value))
2070     }
2071 }
2072 impl<'a> ::windows::runtime::IntoParam<'a, IWICImagingFactory> for IWICComponentFactory {
into_param(self) -> ::windows::runtime::Param<'a, IWICImagingFactory>2073     fn into_param(self) -> ::windows::runtime::Param<'a, IWICImagingFactory> {
2074         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICImagingFactory>::into(self))
2075     }
2076 }
2077 impl<'a> ::windows::runtime::IntoParam<'a, IWICImagingFactory> for &IWICComponentFactory {
into_param(self) -> ::windows::runtime::Param<'a, IWICImagingFactory>2078     fn into_param(self) -> ::windows::runtime::Param<'a, IWICImagingFactory> {
2079         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICImagingFactory>::into(::std::clone::Clone::clone(self)))
2080     }
2081 }
2082 #[repr(C)]
2083 #[doc(hidden)]
2084 pub struct IWICComponentFactory_abi(
2085     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2086     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2087     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2088     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, wzfilename: super::super::Foundation::PWSTR, pguidvendor: *const ::windows::runtime::GUID, dwdesiredaccess: u32, metadataoptions: WICDecodeOptions, ppidecoder: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2089     #[cfg(not(feature = "Win32_Foundation"))] usize,
2090     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pistream: ::windows::runtime::RawPtr, pguidvendor: *const ::windows::runtime::GUID, metadataoptions: WICDecodeOptions, ppidecoder: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2091     #[cfg(not(feature = "Win32_System_Com"))] usize,
2092     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hfile: usize, pguidvendor: *const ::windows::runtime::GUID, metadataoptions: WICDecodeOptions, ppidecoder: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2093     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, clsidcomponent: *const ::windows::runtime::GUID, ppiinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2094     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guidcontainerformat: *const ::windows::runtime::GUID, pguidvendor: *const ::windows::runtime::GUID, ppidecoder: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2095     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guidcontainerformat: *const ::windows::runtime::GUID, pguidvendor: *const ::windows::runtime::GUID, ppiencoder: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2096     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppipalette: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2097     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppiformatconverter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2098     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppibitmapscaler: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2099     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppibitmapclipper: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2100     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppibitmapfliprotator: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2101     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppiwicstream: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2102     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppiwiccolorcontext: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2103     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppiwiccolortransform: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2104     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uiwidth: u32, uiheight: u32, pixelformat: *const ::windows::runtime::GUID, option: WICBitmapCreateCacheOption, ppibitmap: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2105     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pibitmapsource: ::windows::runtime::RawPtr, option: WICBitmapCreateCacheOption, ppibitmap: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2106     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pibitmapsource: ::windows::runtime::RawPtr, x: u32, y: u32, width: u32, height: u32, ppibitmap: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2107     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uiwidth: u32, uiheight: u32, pixelformat: *const ::windows::runtime::GUID, cbstride: u32, cbbuffersize: u32, pbbuffer: *const u8, ppibitmap: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2108     #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hbitmap: super::Gdi::HBITMAP, hpalette: super::Gdi::HPALETTE, options: WICBitmapAlphaChannelOption, ppibitmap: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2109     #[cfg(not(feature = "Win32_Graphics_Gdi"))] usize,
2110     #[cfg(feature = "Win32_UI_WindowsAndMessaging")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hicon: super::super::UI::WindowsAndMessaging::HICON, ppibitmap: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2111     #[cfg(not(feature = "Win32_UI_WindowsAndMessaging"))] usize,
2112     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, componenttypes: u32, options: u32, ppienumunknown: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2113     #[cfg(not(feature = "Win32_System_Com"))] usize,
2114     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pidecoder: ::windows::runtime::RawPtr, ppifastencoder: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2115     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, piframedecoder: ::windows::runtime::RawPtr, ppifastencoder: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2116     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guidmetadataformat: *const ::windows::runtime::GUID, pguidvendor: *const ::windows::runtime::GUID, ppiquerywriter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2117     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, piqueryreader: ::windows::runtime::RawPtr, pguidvendor: *const ::windows::runtime::GUID, ppiquerywriter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2118     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guidmetadataformat: *const ::windows::runtime::GUID, pguidvendor: *const ::windows::runtime::GUID, dwoptions: u32, pistream: ::windows::runtime::RawPtr, ppireader: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2119     #[cfg(not(feature = "Win32_System_Com"))] usize,
2120     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guidcontainerformat: *const ::windows::runtime::GUID, pguidvendor: *const ::windows::runtime::GUID, dwoptions: u32, pistream: ::windows::runtime::RawPtr, ppireader: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2121     #[cfg(not(feature = "Win32_System_Com"))] usize,
2122     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guidmetadataformat: *const ::windows::runtime::GUID, pguidvendor: *const ::windows::runtime::GUID, dwmetadataoptions: u32, ppiwriter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2123     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pireader: ::windows::runtime::RawPtr, pguidvendor: *const ::windows::runtime::GUID, ppiwriter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2124     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, piblockreader: ::windows::runtime::RawPtr, ppiqueryreader: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2125     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, piblockwriter: ::windows::runtime::RawPtr, ppiquerywriter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2126     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppropoptions: *const super::super::System::Ole::PROPBAG2, ccount: u32, ppipropertybag: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2127     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Ole")))] usize,
2128 );
2129 #[repr(transparent)]
2130 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2131 pub struct IWICComponentInfo(::windows::runtime::IUnknown);
2132 impl IWICComponentInfo {
GetComponentType(&self) -> ::windows::runtime::Result<WICComponentType>2133     pub unsafe fn GetComponentType(&self) -> ::windows::runtime::Result<WICComponentType> {
2134         let mut result__: <WICComponentType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2135         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WICComponentType>(result__)
2136     }
GetCLSID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>2137     pub unsafe fn GetCLSID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
2138         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2139         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
2140     }
GetSigningStatus(&self) -> ::windows::runtime::Result<u32>2141     pub unsafe fn GetSigningStatus(&self) -> ::windows::runtime::Result<u32> {
2142         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2143         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
2144     }
2145     #[cfg(feature = "Win32_Foundation")]
GetAuthor<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchauthor: u32, wzauthor: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>2146     pub unsafe fn GetAuthor<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchauthor: u32, wzauthor: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
2147         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchauthor), wzauthor.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
2148     }
GetVendorGUID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>2149     pub unsafe fn GetVendorGUID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
2150         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2151         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
2152     }
2153     #[cfg(feature = "Win32_Foundation")]
GetVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchversion: u32, wzversion: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>2154     pub unsafe fn GetVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchversion: u32, wzversion: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
2155         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchversion), wzversion.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
2156     }
2157     #[cfg(feature = "Win32_Foundation")]
GetSpecVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchspecversion: u32, wzspecversion: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>2158     pub unsafe fn GetSpecVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchspecversion: u32, wzspecversion: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
2159         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchspecversion), wzspecversion.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
2160     }
2161     #[cfg(feature = "Win32_Foundation")]
GetFriendlyName<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchfriendlyname: u32, wzfriendlyname: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>2162     pub unsafe fn GetFriendlyName<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchfriendlyname: u32, wzfriendlyname: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
2163         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchfriendlyname), wzfriendlyname.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
2164     }
2165 }
2166 unsafe impl ::windows::runtime::Interface for IWICComponentInfo {
2167     type Vtable = IWICComponentInfo_abi;
2168     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(599539466, 27019, 17239, [136, 107, 242, 77, 80, 103, 19, 52]);
2169 }
2170 impl ::std::convert::From<IWICComponentInfo> for ::windows::runtime::IUnknown {
from(value: IWICComponentInfo) -> Self2171     fn from(value: IWICComponentInfo) -> Self {
2172         unsafe { ::std::mem::transmute(value) }
2173     }
2174 }
2175 impl ::std::convert::From<&IWICComponentInfo> for ::windows::runtime::IUnknown {
from(value: &IWICComponentInfo) -> Self2176     fn from(value: &IWICComponentInfo) -> Self {
2177         ::std::convert::From::from(::std::clone::Clone::clone(value))
2178     }
2179 }
2180 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICComponentInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2181     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2182         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2183     }
2184 }
2185 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICComponentInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2186     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2187         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2188     }
2189 }
2190 #[repr(C)]
2191 #[doc(hidden)]
2192 pub struct IWICComponentInfo_abi(
2193     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2194     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2195     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2196     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptype: *mut WICComponentType) -> ::windows::runtime::HRESULT,
2197     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pclsid: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2198     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstatus: *mut u32) -> ::windows::runtime::HRESULT,
2199     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchauthor: u32, wzauthor: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
2200     #[cfg(not(feature = "Win32_Foundation"))] usize,
2201     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pguidvendor: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2202     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchversion: u32, wzversion: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
2203     #[cfg(not(feature = "Win32_Foundation"))] usize,
2204     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchspecversion: u32, wzspecversion: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
2205     #[cfg(not(feature = "Win32_Foundation"))] usize,
2206     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchfriendlyname: u32, wzfriendlyname: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
2207     #[cfg(not(feature = "Win32_Foundation"))] usize,
2208 );
2209 #[repr(transparent)]
2210 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2211 pub struct IWICDdsDecoder(::windows::runtime::IUnknown);
2212 impl IWICDdsDecoder {
2213     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetParameters(&self) -> ::windows::runtime::Result<WICDdsParameters>2214     pub unsafe fn GetParameters(&self) -> ::windows::runtime::Result<WICDdsParameters> {
2215         let mut result__: <WICDdsParameters as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2216         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WICDdsParameters>(result__)
2217     }
GetFrame(&self, arrayindex: u32, miplevel: u32, sliceindex: u32) -> ::windows::runtime::Result<IWICBitmapFrameDecode>2218     pub unsafe fn GetFrame(&self, arrayindex: u32, miplevel: u32, sliceindex: u32) -> ::windows::runtime::Result<IWICBitmapFrameDecode> {
2219         let mut result__: <IWICBitmapFrameDecode as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2220         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(arrayindex), ::std::mem::transmute(miplevel), ::std::mem::transmute(sliceindex), &mut result__).from_abi::<IWICBitmapFrameDecode>(result__)
2221     }
2222 }
2223 unsafe impl ::windows::runtime::Interface for IWICDdsDecoder {
2224     type Vtable = IWICDdsDecoder_abi;
2225     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1084020023, 34098, 16587, [151, 116, 226, 254, 178, 223, 78, 156]);
2226 }
2227 impl ::std::convert::From<IWICDdsDecoder> for ::windows::runtime::IUnknown {
from(value: IWICDdsDecoder) -> Self2228     fn from(value: IWICDdsDecoder) -> Self {
2229         unsafe { ::std::mem::transmute(value) }
2230     }
2231 }
2232 impl ::std::convert::From<&IWICDdsDecoder> for ::windows::runtime::IUnknown {
from(value: &IWICDdsDecoder) -> Self2233     fn from(value: &IWICDdsDecoder) -> Self {
2234         ::std::convert::From::from(::std::clone::Clone::clone(value))
2235     }
2236 }
2237 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICDdsDecoder {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2238     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2239         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2240     }
2241 }
2242 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICDdsDecoder {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2243     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2244         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2245     }
2246 }
2247 #[repr(C)]
2248 #[doc(hidden)]
2249 pub struct IWICDdsDecoder_abi(
2250     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2251     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2252     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2253     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pparameters: *mut WICDdsParameters) -> ::windows::runtime::HRESULT,
2254     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
2255     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, arrayindex: u32, miplevel: u32, sliceindex: u32, ppibitmapframe: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2256 );
2257 #[repr(transparent)]
2258 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2259 pub struct IWICDdsEncoder(::windows::runtime::IUnknown);
2260 impl IWICDdsEncoder {
2261     #[cfg(feature = "Win32_Graphics_Dxgi")]
SetParameters(&self, pparameters: *const WICDdsParameters) -> ::windows::runtime::Result<()>2262     pub unsafe fn SetParameters(&self, pparameters: *const WICDdsParameters) -> ::windows::runtime::Result<()> {
2263         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pparameters)).ok()
2264     }
2265     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetParameters(&self) -> ::windows::runtime::Result<WICDdsParameters>2266     pub unsafe fn GetParameters(&self) -> ::windows::runtime::Result<WICDdsParameters> {
2267         let mut result__: <WICDdsParameters as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2268         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WICDdsParameters>(result__)
2269     }
CreateNewFrame(&self, ppiframeencode: *mut ::std::option::Option<IWICBitmapFrameEncode>, parrayindex: *mut u32, pmiplevel: *mut u32, psliceindex: *mut u32) -> ::windows::runtime::Result<()>2270     pub unsafe fn CreateNewFrame(&self, ppiframeencode: *mut ::std::option::Option<IWICBitmapFrameEncode>, parrayindex: *mut u32, pmiplevel: *mut u32, psliceindex: *mut u32) -> ::windows::runtime::Result<()> {
2271         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(ppiframeencode), ::std::mem::transmute(parrayindex), ::std::mem::transmute(pmiplevel), ::std::mem::transmute(psliceindex)).ok()
2272     }
2273 }
2274 unsafe impl ::windows::runtime::Interface for IWICDdsEncoder {
2275     type Vtable = IWICDdsEncoder_abi;
2276     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1554832204, 16510, 16819, [185, 54, 208, 240, 16, 205, 103, 50]);
2277 }
2278 impl ::std::convert::From<IWICDdsEncoder> for ::windows::runtime::IUnknown {
from(value: IWICDdsEncoder) -> Self2279     fn from(value: IWICDdsEncoder) -> Self {
2280         unsafe { ::std::mem::transmute(value) }
2281     }
2282 }
2283 impl ::std::convert::From<&IWICDdsEncoder> for ::windows::runtime::IUnknown {
from(value: &IWICDdsEncoder) -> Self2284     fn from(value: &IWICDdsEncoder) -> Self {
2285         ::std::convert::From::from(::std::clone::Clone::clone(value))
2286     }
2287 }
2288 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICDdsEncoder {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2289     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2290         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2291     }
2292 }
2293 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICDdsEncoder {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2294     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2295         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2296     }
2297 }
2298 #[repr(C)]
2299 #[doc(hidden)]
2300 pub struct IWICDdsEncoder_abi(
2301     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2302     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2303     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2304     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pparameters: *const WICDdsParameters) -> ::windows::runtime::HRESULT,
2305     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
2306     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pparameters: *mut WICDdsParameters) -> ::windows::runtime::HRESULT,
2307     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
2308     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppiframeencode: *mut ::windows::runtime::RawPtr, parrayindex: *mut u32, pmiplevel: *mut u32, psliceindex: *mut u32) -> ::windows::runtime::HRESULT,
2309 );
2310 #[repr(transparent)]
2311 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2312 pub struct IWICDdsFrameDecode(::windows::runtime::IUnknown);
2313 impl IWICDdsFrameDecode {
GetSizeInBlocks(&self, pwidthinblocks: *mut u32, pheightinblocks: *mut u32) -> ::windows::runtime::Result<()>2314     pub unsafe fn GetSizeInBlocks(&self, pwidthinblocks: *mut u32, pheightinblocks: *mut u32) -> ::windows::runtime::Result<()> {
2315         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pwidthinblocks), ::std::mem::transmute(pheightinblocks)).ok()
2316     }
2317     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetFormatInfo(&self) -> ::windows::runtime::Result<WICDdsFormatInfo>2318     pub unsafe fn GetFormatInfo(&self) -> ::windows::runtime::Result<WICDdsFormatInfo> {
2319         let mut result__: <WICDdsFormatInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2320         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WICDdsFormatInfo>(result__)
2321     }
CopyBlocks(&self, prcboundsinblocks: *const WICRect, cbstride: u32, cbbuffersize: u32, pbbuffer: *mut u8) -> ::windows::runtime::Result<()>2322     pub unsafe fn CopyBlocks(&self, prcboundsinblocks: *const WICRect, cbstride: u32, cbbuffersize: u32, pbbuffer: *mut u8) -> ::windows::runtime::Result<()> {
2323         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(prcboundsinblocks), ::std::mem::transmute(cbstride), ::std::mem::transmute(cbbuffersize), ::std::mem::transmute(pbbuffer)).ok()
2324     }
2325 }
2326 unsafe impl ::windows::runtime::Interface for IWICDdsFrameDecode {
2327     type Vtable = IWICDdsFrameDecode_abi;
2328     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1028394081, 6308, 16868, [189, 128, 72, 26, 79, 201, 244, 100]);
2329 }
2330 impl ::std::convert::From<IWICDdsFrameDecode> for ::windows::runtime::IUnknown {
from(value: IWICDdsFrameDecode) -> Self2331     fn from(value: IWICDdsFrameDecode) -> Self {
2332         unsafe { ::std::mem::transmute(value) }
2333     }
2334 }
2335 impl ::std::convert::From<&IWICDdsFrameDecode> for ::windows::runtime::IUnknown {
from(value: &IWICDdsFrameDecode) -> Self2336     fn from(value: &IWICDdsFrameDecode) -> Self {
2337         ::std::convert::From::from(::std::clone::Clone::clone(value))
2338     }
2339 }
2340 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICDdsFrameDecode {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2341     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2342         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2343     }
2344 }
2345 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICDdsFrameDecode {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2346     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2347         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2348     }
2349 }
2350 #[repr(C)]
2351 #[doc(hidden)]
2352 pub struct IWICDdsFrameDecode_abi(
2353     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2354     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2355     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2356     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pwidthinblocks: *mut u32, pheightinblocks: *mut u32) -> ::windows::runtime::HRESULT,
2357     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pformatinfo: *mut WICDdsFormatInfo) -> ::windows::runtime::HRESULT,
2358     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
2359     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, prcboundsinblocks: *const WICRect, cbstride: u32, cbbuffersize: u32, pbbuffer: *mut u8) -> ::windows::runtime::HRESULT,
2360 );
2361 #[repr(transparent)]
2362 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2363 pub struct IWICDevelopRaw(::windows::runtime::IUnknown);
2364 impl IWICDevelopRaw {
GetSize(&self, puiwidth: *mut u32, puiheight: *mut u32) -> ::windows::runtime::Result<()>2365     pub unsafe fn GetSize(&self, puiwidth: *mut u32, puiheight: *mut u32) -> ::windows::runtime::Result<()> {
2366         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(puiwidth), ::std::mem::transmute(puiheight)).ok()
2367     }
GetPixelFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>2368     pub unsafe fn GetPixelFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
2369         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2370         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
2371     }
GetResolution(&self, pdpix: *mut f64, pdpiy: *mut f64) -> ::windows::runtime::Result<()>2372     pub unsafe fn GetResolution(&self, pdpix: *mut f64, pdpiy: *mut f64) -> ::windows::runtime::Result<()> {
2373         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdpix), ::std::mem::transmute(pdpiy)).ok()
2374     }
CopyPalette<'a, Param0: ::windows::runtime::IntoParam<'a, IWICPalette>>(&self, pipalette: Param0) -> ::windows::runtime::Result<()>2375     pub unsafe fn CopyPalette<'a, Param0: ::windows::runtime::IntoParam<'a, IWICPalette>>(&self, pipalette: Param0) -> ::windows::runtime::Result<()> {
2376         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), pipalette.into_param().abi()).ok()
2377     }
CopyPixels(&self, prc: *const WICRect, cbstride: u32, cbbuffersize: u32, pbbuffer: *mut u8) -> ::windows::runtime::Result<()>2378     pub unsafe fn CopyPixels(&self, prc: *const WICRect, cbstride: u32, cbbuffersize: u32, pbbuffer: *mut u8) -> ::windows::runtime::Result<()> {
2379         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(prc), ::std::mem::transmute(cbstride), ::std::mem::transmute(cbbuffersize), ::std::mem::transmute(pbbuffer)).ok()
2380     }
GetMetadataQueryReader(&self) -> ::windows::runtime::Result<IWICMetadataQueryReader>2381     pub unsafe fn GetMetadataQueryReader(&self) -> ::windows::runtime::Result<IWICMetadataQueryReader> {
2382         let mut result__: <IWICMetadataQueryReader as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2383         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICMetadataQueryReader>(result__)
2384     }
GetColorContexts(&self, ccount: u32, ppicolorcontexts: *mut ::std::option::Option<IWICColorContext>, pcactualcount: *mut u32) -> ::windows::runtime::Result<()>2385     pub unsafe fn GetColorContexts(&self, ccount: u32, ppicolorcontexts: *mut ::std::option::Option<IWICColorContext>, pcactualcount: *mut u32) -> ::windows::runtime::Result<()> {
2386         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(ccount), ::std::mem::transmute(ppicolorcontexts), ::std::mem::transmute(pcactualcount)).ok()
2387     }
GetThumbnail(&self) -> ::windows::runtime::Result<IWICBitmapSource>2388     pub unsafe fn GetThumbnail(&self) -> ::windows::runtime::Result<IWICBitmapSource> {
2389         let mut result__: <IWICBitmapSource as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2390         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICBitmapSource>(result__)
2391     }
QueryRawCapabilitiesInfo(&self, pinfo: *mut WICRawCapabilitiesInfo) -> ::windows::runtime::Result<()>2392     pub unsafe fn QueryRawCapabilitiesInfo(&self, pinfo: *mut WICRawCapabilitiesInfo) -> ::windows::runtime::Result<()> {
2393         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(pinfo)).ok()
2394     }
LoadParameterSet(&self, parameterset: WICRawParameterSet) -> ::windows::runtime::Result<()>2395     pub unsafe fn LoadParameterSet(&self, parameterset: WICRawParameterSet) -> ::windows::runtime::Result<()> {
2396         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(parameterset)).ok()
2397     }
2398     #[cfg(feature = "Win32_System_Ole")]
GetCurrentParameterSet(&self) -> ::windows::runtime::Result<super::super::System::Ole::IPropertyBag2>2399     pub unsafe fn GetCurrentParameterSet(&self) -> ::windows::runtime::Result<super::super::System::Ole::IPropertyBag2> {
2400         let mut result__: <super::super::System::Ole::IPropertyBag2 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2401         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Ole::IPropertyBag2>(result__)
2402     }
SetExposureCompensation(&self, ev: f64) -> ::windows::runtime::Result<()>2403     pub unsafe fn SetExposureCompensation(&self, ev: f64) -> ::windows::runtime::Result<()> {
2404         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(ev)).ok()
2405     }
GetExposureCompensation(&self) -> ::windows::runtime::Result<f64>2406     pub unsafe fn GetExposureCompensation(&self) -> ::windows::runtime::Result<f64> {
2407         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2408         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
2409     }
SetWhitePointRGB(&self, red: u32, green: u32, blue: u32) -> ::windows::runtime::Result<()>2410     pub unsafe fn SetWhitePointRGB(&self, red: u32, green: u32, blue: u32) -> ::windows::runtime::Result<()> {
2411         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(red), ::std::mem::transmute(green), ::std::mem::transmute(blue)).ok()
2412     }
GetWhitePointRGB(&self, pred: *mut u32, pgreen: *mut u32, pblue: *mut u32) -> ::windows::runtime::Result<()>2413     pub unsafe fn GetWhitePointRGB(&self, pred: *mut u32, pgreen: *mut u32, pblue: *mut u32) -> ::windows::runtime::Result<()> {
2414         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(pred), ::std::mem::transmute(pgreen), ::std::mem::transmute(pblue)).ok()
2415     }
SetNamedWhitePoint(&self, whitepoint: WICNamedWhitePoint) -> ::windows::runtime::Result<()>2416     pub unsafe fn SetNamedWhitePoint(&self, whitepoint: WICNamedWhitePoint) -> ::windows::runtime::Result<()> {
2417         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(whitepoint)).ok()
2418     }
GetNamedWhitePoint(&self) -> ::windows::runtime::Result<WICNamedWhitePoint>2419     pub unsafe fn GetNamedWhitePoint(&self) -> ::windows::runtime::Result<WICNamedWhitePoint> {
2420         let mut result__: <WICNamedWhitePoint as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2421         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WICNamedWhitePoint>(result__)
2422     }
SetWhitePointKelvin(&self, whitepointkelvin: u32) -> ::windows::runtime::Result<()>2423     pub unsafe fn SetWhitePointKelvin(&self, whitepointkelvin: u32) -> ::windows::runtime::Result<()> {
2424         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(whitepointkelvin)).ok()
2425     }
GetWhitePointKelvin(&self) -> ::windows::runtime::Result<u32>2426     pub unsafe fn GetWhitePointKelvin(&self) -> ::windows::runtime::Result<u32> {
2427         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2428         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
2429     }
GetKelvinRangeInfo(&self, pminkelvintemp: *mut u32, pmaxkelvintemp: *mut u32, pkelvintempstepvalue: *mut u32) -> ::windows::runtime::Result<()>2430     pub unsafe fn GetKelvinRangeInfo(&self, pminkelvintemp: *mut u32, pmaxkelvintemp: *mut u32, pkelvintempstepvalue: *mut u32) -> ::windows::runtime::Result<()> {
2431         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(pminkelvintemp), ::std::mem::transmute(pmaxkelvintemp), ::std::mem::transmute(pkelvintempstepvalue)).ok()
2432     }
SetContrast(&self, contrast: f64) -> ::windows::runtime::Result<()>2433     pub unsafe fn SetContrast(&self, contrast: f64) -> ::windows::runtime::Result<()> {
2434         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), ::std::mem::transmute(contrast)).ok()
2435     }
GetContrast(&self) -> ::windows::runtime::Result<f64>2436     pub unsafe fn GetContrast(&self) -> ::windows::runtime::Result<f64> {
2437         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2438         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
2439     }
SetGamma(&self, gamma: f64) -> ::windows::runtime::Result<()>2440     pub unsafe fn SetGamma(&self, gamma: f64) -> ::windows::runtime::Result<()> {
2441         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), ::std::mem::transmute(gamma)).ok()
2442     }
GetGamma(&self) -> ::windows::runtime::Result<f64>2443     pub unsafe fn GetGamma(&self) -> ::windows::runtime::Result<f64> {
2444         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2445         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
2446     }
SetSharpness(&self, sharpness: f64) -> ::windows::runtime::Result<()>2447     pub unsafe fn SetSharpness(&self, sharpness: f64) -> ::windows::runtime::Result<()> {
2448         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), ::std::mem::transmute(sharpness)).ok()
2449     }
GetSharpness(&self) -> ::windows::runtime::Result<f64>2450     pub unsafe fn GetSharpness(&self) -> ::windows::runtime::Result<f64> {
2451         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2452         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
2453     }
SetSaturation(&self, saturation: f64) -> ::windows::runtime::Result<()>2454     pub unsafe fn SetSaturation(&self, saturation: f64) -> ::windows::runtime::Result<()> {
2455         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), ::std::mem::transmute(saturation)).ok()
2456     }
GetSaturation(&self) -> ::windows::runtime::Result<f64>2457     pub unsafe fn GetSaturation(&self) -> ::windows::runtime::Result<f64> {
2458         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2459         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
2460     }
SetTint(&self, tint: f64) -> ::windows::runtime::Result<()>2461     pub unsafe fn SetTint(&self, tint: f64) -> ::windows::runtime::Result<()> {
2462         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), ::std::mem::transmute(tint)).ok()
2463     }
GetTint(&self) -> ::windows::runtime::Result<f64>2464     pub unsafe fn GetTint(&self) -> ::windows::runtime::Result<f64> {
2465         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2466         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
2467     }
SetNoiseReduction(&self, noisereduction: f64) -> ::windows::runtime::Result<()>2468     pub unsafe fn SetNoiseReduction(&self, noisereduction: f64) -> ::windows::runtime::Result<()> {
2469         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), ::std::mem::transmute(noisereduction)).ok()
2470     }
GetNoiseReduction(&self) -> ::windows::runtime::Result<f64>2471     pub unsafe fn GetNoiseReduction(&self) -> ::windows::runtime::Result<f64> {
2472         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2473         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
2474     }
SetDestinationColorContext<'a, Param0: ::windows::runtime::IntoParam<'a, IWICColorContext>>(&self, pcolorcontext: Param0) -> ::windows::runtime::Result<()>2475     pub unsafe fn SetDestinationColorContext<'a, Param0: ::windows::runtime::IntoParam<'a, IWICColorContext>>(&self, pcolorcontext: Param0) -> ::windows::runtime::Result<()> {
2476         (::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), pcolorcontext.into_param().abi()).ok()
2477     }
SetToneCurve(&self, cbtonecurvesize: u32, ptonecurve: *const WICRawToneCurve) -> ::windows::runtime::Result<()>2478     pub unsafe fn SetToneCurve(&self, cbtonecurvesize: u32, ptonecurve: *const WICRawToneCurve) -> ::windows::runtime::Result<()> {
2479         (::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), ::std::mem::transmute(cbtonecurvesize), ::std::mem::transmute(ptonecurve)).ok()
2480     }
GetToneCurve(&self, cbtonecurvebuffersize: u32, ptonecurve: *mut WICRawToneCurve, pcbactualtonecurvebuffersize: *mut u32) -> ::windows::runtime::Result<()>2481     pub unsafe fn GetToneCurve(&self, cbtonecurvebuffersize: u32, ptonecurve: *mut WICRawToneCurve, pcbactualtonecurvebuffersize: *mut u32) -> ::windows::runtime::Result<()> {
2482         (::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self), ::std::mem::transmute(cbtonecurvebuffersize), ::std::mem::transmute(ptonecurve), ::std::mem::transmute(pcbactualtonecurvebuffersize)).ok()
2483     }
SetRotation(&self, rotation: f64) -> ::windows::runtime::Result<()>2484     pub unsafe fn SetRotation(&self, rotation: f64) -> ::windows::runtime::Result<()> {
2485         (::windows::runtime::Interface::vtable(self).38)(::std::mem::transmute_copy(self), ::std::mem::transmute(rotation)).ok()
2486     }
GetRotation(&self) -> ::windows::runtime::Result<f64>2487     pub unsafe fn GetRotation(&self) -> ::windows::runtime::Result<f64> {
2488         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2489         (::windows::runtime::Interface::vtable(self).39)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
2490     }
SetRenderMode(&self, rendermode: WICRawRenderMode) -> ::windows::runtime::Result<()>2491     pub unsafe fn SetRenderMode(&self, rendermode: WICRawRenderMode) -> ::windows::runtime::Result<()> {
2492         (::windows::runtime::Interface::vtable(self).40)(::std::mem::transmute_copy(self), ::std::mem::transmute(rendermode)).ok()
2493     }
GetRenderMode(&self) -> ::windows::runtime::Result<WICRawRenderMode>2494     pub unsafe fn GetRenderMode(&self) -> ::windows::runtime::Result<WICRawRenderMode> {
2495         let mut result__: <WICRawRenderMode as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2496         (::windows::runtime::Interface::vtable(self).41)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WICRawRenderMode>(result__)
2497     }
SetNotificationCallback<'a, Param0: ::windows::runtime::IntoParam<'a, IWICDevelopRawNotificationCallback>>(&self, pcallback: Param0) -> ::windows::runtime::Result<()>2498     pub unsafe fn SetNotificationCallback<'a, Param0: ::windows::runtime::IntoParam<'a, IWICDevelopRawNotificationCallback>>(&self, pcallback: Param0) -> ::windows::runtime::Result<()> {
2499         (::windows::runtime::Interface::vtable(self).42)(::std::mem::transmute_copy(self), pcallback.into_param().abi()).ok()
2500     }
2501 }
2502 unsafe impl ::windows::runtime::Interface for IWICDevelopRaw {
2503     type Vtable = IWICDevelopRaw_abi;
2504     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4226571844, 63422, 19301, [183, 248, 192, 200, 31, 239, 2, 109]);
2505 }
2506 impl ::std::convert::From<IWICDevelopRaw> for ::windows::runtime::IUnknown {
from(value: IWICDevelopRaw) -> Self2507     fn from(value: IWICDevelopRaw) -> Self {
2508         unsafe { ::std::mem::transmute(value) }
2509     }
2510 }
2511 impl ::std::convert::From<&IWICDevelopRaw> for ::windows::runtime::IUnknown {
from(value: &IWICDevelopRaw) -> Self2512     fn from(value: &IWICDevelopRaw) -> Self {
2513         ::std::convert::From::from(::std::clone::Clone::clone(value))
2514     }
2515 }
2516 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICDevelopRaw {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2517     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2518         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2519     }
2520 }
2521 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICDevelopRaw {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2522     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2523         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2524     }
2525 }
2526 impl ::std::convert::From<IWICDevelopRaw> for IWICBitmapFrameDecode {
from(value: IWICDevelopRaw) -> Self2527     fn from(value: IWICDevelopRaw) -> Self {
2528         unsafe { ::std::mem::transmute(value) }
2529     }
2530 }
2531 impl ::std::convert::From<&IWICDevelopRaw> for IWICBitmapFrameDecode {
from(value: &IWICDevelopRaw) -> Self2532     fn from(value: &IWICDevelopRaw) -> Self {
2533         ::std::convert::From::from(::std::clone::Clone::clone(value))
2534     }
2535 }
2536 impl<'a> ::windows::runtime::IntoParam<'a, IWICBitmapFrameDecode> for IWICDevelopRaw {
into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapFrameDecode>2537     fn into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapFrameDecode> {
2538         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICBitmapFrameDecode>::into(self))
2539     }
2540 }
2541 impl<'a> ::windows::runtime::IntoParam<'a, IWICBitmapFrameDecode> for &IWICDevelopRaw {
into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapFrameDecode>2542     fn into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapFrameDecode> {
2543         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICBitmapFrameDecode>::into(::std::clone::Clone::clone(self)))
2544     }
2545 }
2546 impl ::std::convert::From<IWICDevelopRaw> for IWICBitmapSource {
from(value: IWICDevelopRaw) -> Self2547     fn from(value: IWICDevelopRaw) -> Self {
2548         unsafe { ::std::mem::transmute(value) }
2549     }
2550 }
2551 impl ::std::convert::From<&IWICDevelopRaw> for IWICBitmapSource {
from(value: &IWICDevelopRaw) -> Self2552     fn from(value: &IWICDevelopRaw) -> Self {
2553         ::std::convert::From::from(::std::clone::Clone::clone(value))
2554     }
2555 }
2556 impl<'a> ::windows::runtime::IntoParam<'a, IWICBitmapSource> for IWICDevelopRaw {
into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapSource>2557     fn into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapSource> {
2558         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICBitmapSource>::into(self))
2559     }
2560 }
2561 impl<'a> ::windows::runtime::IntoParam<'a, IWICBitmapSource> for &IWICDevelopRaw {
into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapSource>2562     fn into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapSource> {
2563         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICBitmapSource>::into(::std::clone::Clone::clone(self)))
2564     }
2565 }
2566 #[repr(C)]
2567 #[doc(hidden)]
2568 pub struct IWICDevelopRaw_abi(
2569     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2570     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2571     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2572     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, puiwidth: *mut u32, puiheight: *mut u32) -> ::windows::runtime::HRESULT,
2573     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppixelformat: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2574     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdpix: *mut f64, pdpiy: *mut f64) -> ::windows::runtime::HRESULT,
2575     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pipalette: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2576     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, prc: *const WICRect, cbstride: u32, cbbuffersize: u32, pbbuffer: *mut u8) -> ::windows::runtime::HRESULT,
2577     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppimetadataqueryreader: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2578     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ccount: u32, ppicolorcontexts: *mut ::windows::runtime::RawPtr, pcactualcount: *mut u32) -> ::windows::runtime::HRESULT,
2579     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppithumbnail: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2580     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pinfo: *mut WICRawCapabilitiesInfo) -> ::windows::runtime::HRESULT,
2581     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parameterset: WICRawParameterSet) -> ::windows::runtime::HRESULT,
2582     #[cfg(feature = "Win32_System_Ole")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcurrentparameterset: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2583     #[cfg(not(feature = "Win32_System_Ole"))] usize,
2584     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ev: f64) -> ::windows::runtime::HRESULT,
2585     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pev: *mut f64) -> ::windows::runtime::HRESULT,
2586     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, red: u32, green: u32, blue: u32) -> ::windows::runtime::HRESULT,
2587     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pred: *mut u32, pgreen: *mut u32, pblue: *mut u32) -> ::windows::runtime::HRESULT,
2588     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, whitepoint: WICNamedWhitePoint) -> ::windows::runtime::HRESULT,
2589     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pwhitepoint: *mut WICNamedWhitePoint) -> ::windows::runtime::HRESULT,
2590     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, whitepointkelvin: u32) -> ::windows::runtime::HRESULT,
2591     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pwhitepointkelvin: *mut u32) -> ::windows::runtime::HRESULT,
2592     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pminkelvintemp: *mut u32, pmaxkelvintemp: *mut u32, pkelvintempstepvalue: *mut u32) -> ::windows::runtime::HRESULT,
2593     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, contrast: f64) -> ::windows::runtime::HRESULT,
2594     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcontrast: *mut f64) -> ::windows::runtime::HRESULT,
2595     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, gamma: f64) -> ::windows::runtime::HRESULT,
2596     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pgamma: *mut f64) -> ::windows::runtime::HRESULT,
2597     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sharpness: f64) -> ::windows::runtime::HRESULT,
2598     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, psharpness: *mut f64) -> ::windows::runtime::HRESULT,
2599     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, saturation: f64) -> ::windows::runtime::HRESULT,
2600     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, psaturation: *mut f64) -> ::windows::runtime::HRESULT,
2601     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, tint: f64) -> ::windows::runtime::HRESULT,
2602     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptint: *mut f64) -> ::windows::runtime::HRESULT,
2603     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, noisereduction: f64) -> ::windows::runtime::HRESULT,
2604     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnoisereduction: *mut f64) -> ::windows::runtime::HRESULT,
2605     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcolorcontext: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2606     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cbtonecurvesize: u32, ptonecurve: *const WICRawToneCurve) -> ::windows::runtime::HRESULT,
2607     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cbtonecurvebuffersize: u32, ptonecurve: *mut WICRawToneCurve, pcbactualtonecurvebuffersize: *mut u32) -> ::windows::runtime::HRESULT,
2608     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rotation: f64) -> ::windows::runtime::HRESULT,
2609     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, protation: *mut f64) -> ::windows::runtime::HRESULT,
2610     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rendermode: WICRawRenderMode) -> ::windows::runtime::HRESULT,
2611     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, prendermode: *mut WICRawRenderMode) -> ::windows::runtime::HRESULT,
2612     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcallback: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2613 );
2614 #[repr(transparent)]
2615 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2616 pub struct IWICDevelopRawNotificationCallback(::windows::runtime::IUnknown);
2617 impl IWICDevelopRawNotificationCallback {
Notify(&self, notificationmask: u32) -> ::windows::runtime::Result<()>2618     pub unsafe fn Notify(&self, notificationmask: u32) -> ::windows::runtime::Result<()> {
2619         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(notificationmask)).ok()
2620     }
2621 }
2622 unsafe impl ::windows::runtime::Interface for IWICDevelopRawNotificationCallback {
2623     type Vtable = IWICDevelopRawNotificationCallback_abi;
2624     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2512869998, 16012, 20162, [133, 168, 174, 188, 197, 81, 229, 155]);
2625 }
2626 impl ::std::convert::From<IWICDevelopRawNotificationCallback> for ::windows::runtime::IUnknown {
from(value: IWICDevelopRawNotificationCallback) -> Self2627     fn from(value: IWICDevelopRawNotificationCallback) -> Self {
2628         unsafe { ::std::mem::transmute(value) }
2629     }
2630 }
2631 impl ::std::convert::From<&IWICDevelopRawNotificationCallback> for ::windows::runtime::IUnknown {
from(value: &IWICDevelopRawNotificationCallback) -> Self2632     fn from(value: &IWICDevelopRawNotificationCallback) -> Self {
2633         ::std::convert::From::from(::std::clone::Clone::clone(value))
2634     }
2635 }
2636 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICDevelopRawNotificationCallback {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2637     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2638         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2639     }
2640 }
2641 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICDevelopRawNotificationCallback {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2642     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2643         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2644     }
2645 }
2646 #[repr(C)]
2647 #[doc(hidden)]
2648 pub struct IWICDevelopRawNotificationCallback_abi(
2649     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2650     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2651     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2652     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, notificationmask: u32) -> ::windows::runtime::HRESULT,
2653 );
2654 #[repr(transparent)]
2655 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2656 pub struct IWICEnumMetadataItem(::windows::runtime::IUnknown);
2657 impl IWICEnumMetadataItem {
2658     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))]
Next(&self, celt: u32, rgeltschema: *mut super::super::System::Com::StructuredStorage::PROPVARIANT, rgeltid: *mut super::super::System::Com::StructuredStorage::PROPVARIANT, rgeltvalue: *mut super::super::System::Com::StructuredStorage::PROPVARIANT, pceltfetched: *mut u32) -> ::windows::runtime::Result<()>2659     pub unsafe fn Next(&self, celt: u32, rgeltschema: *mut super::super::System::Com::StructuredStorage::PROPVARIANT, rgeltid: *mut super::super::System::Com::StructuredStorage::PROPVARIANT, rgeltvalue: *mut super::super::System::Com::StructuredStorage::PROPVARIANT, pceltfetched: *mut u32) -> ::windows::runtime::Result<()> {
2660         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt), ::std::mem::transmute(rgeltschema), ::std::mem::transmute(rgeltid), ::std::mem::transmute(rgeltvalue), ::std::mem::transmute(pceltfetched)).ok()
2661     }
Skip(&self, celt: u32) -> ::windows::runtime::Result<()>2662     pub unsafe fn Skip(&self, celt: u32) -> ::windows::runtime::Result<()> {
2663         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt)).ok()
2664     }
Reset(&self) -> ::windows::runtime::Result<()>2665     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
2666         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
2667     }
Clone(&self) -> ::windows::runtime::Result<IWICEnumMetadataItem>2668     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IWICEnumMetadataItem> {
2669         let mut result__: <IWICEnumMetadataItem as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2670         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICEnumMetadataItem>(result__)
2671     }
2672 }
2673 unsafe impl ::windows::runtime::Interface for IWICEnumMetadataItem {
2674     type Vtable = IWICEnumMetadataItem_abi;
2675     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3693851757, 16135, 18462, [134, 37, 34, 12, 74, 237, 187, 51]);
2676 }
2677 impl ::std::convert::From<IWICEnumMetadataItem> for ::windows::runtime::IUnknown {
from(value: IWICEnumMetadataItem) -> Self2678     fn from(value: IWICEnumMetadataItem) -> Self {
2679         unsafe { ::std::mem::transmute(value) }
2680     }
2681 }
2682 impl ::std::convert::From<&IWICEnumMetadataItem> for ::windows::runtime::IUnknown {
from(value: &IWICEnumMetadataItem) -> Self2683     fn from(value: &IWICEnumMetadataItem) -> Self {
2684         ::std::convert::From::from(::std::clone::Clone::clone(value))
2685     }
2686 }
2687 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICEnumMetadataItem {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2688     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2689         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2690     }
2691 }
2692 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICEnumMetadataItem {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2693     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2694         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2695     }
2696 }
2697 #[repr(C)]
2698 #[doc(hidden)]
2699 pub struct IWICEnumMetadataItem_abi(
2700     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2701     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2702     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2703     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))]
2704     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32, rgeltschema: *mut ::std::mem::ManuallyDrop<super::super::System::Com::StructuredStorage::PROPVARIANT>, rgeltid: *mut ::std::mem::ManuallyDrop<super::super::System::Com::StructuredStorage::PROPVARIANT>, rgeltvalue: *mut ::std::mem::ManuallyDrop<super::super::System::Com::StructuredStorage::PROPVARIANT>, pceltfetched: *mut u32) -> ::windows::runtime::HRESULT,
2705     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation")))] usize,
2706     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32) -> ::windows::runtime::HRESULT,
2707     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2708     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppienummetadataitem: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2709 );
2710 #[repr(transparent)]
2711 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2712 pub struct IWICFastMetadataEncoder(::windows::runtime::IUnknown);
2713 impl IWICFastMetadataEncoder {
Commit(&self) -> ::windows::runtime::Result<()>2714     pub unsafe fn Commit(&self) -> ::windows::runtime::Result<()> {
2715         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
2716     }
GetMetadataQueryWriter(&self) -> ::windows::runtime::Result<IWICMetadataQueryWriter>2717     pub unsafe fn GetMetadataQueryWriter(&self) -> ::windows::runtime::Result<IWICMetadataQueryWriter> {
2718         let mut result__: <IWICMetadataQueryWriter as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2719         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICMetadataQueryWriter>(result__)
2720     }
2721 }
2722 unsafe impl ::windows::runtime::Interface for IWICFastMetadataEncoder {
2723     type Vtable = IWICFastMetadataEncoder_abi;
2724     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3092130825, 30921, 19140, [139, 211, 82, 74, 225, 102, 58, 47]);
2725 }
2726 impl ::std::convert::From<IWICFastMetadataEncoder> for ::windows::runtime::IUnknown {
from(value: IWICFastMetadataEncoder) -> Self2727     fn from(value: IWICFastMetadataEncoder) -> Self {
2728         unsafe { ::std::mem::transmute(value) }
2729     }
2730 }
2731 impl ::std::convert::From<&IWICFastMetadataEncoder> for ::windows::runtime::IUnknown {
from(value: &IWICFastMetadataEncoder) -> Self2732     fn from(value: &IWICFastMetadataEncoder) -> Self {
2733         ::std::convert::From::from(::std::clone::Clone::clone(value))
2734     }
2735 }
2736 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICFastMetadataEncoder {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2737     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2738         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2739     }
2740 }
2741 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICFastMetadataEncoder {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2742     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2743         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2744     }
2745 }
2746 #[repr(C)]
2747 #[doc(hidden)]
2748 pub struct IWICFastMetadataEncoder_abi(
2749     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2750     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2751     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2752     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2753     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppimetadataquerywriter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2754 );
2755 #[repr(transparent)]
2756 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2757 pub struct IWICFormatConverter(::windows::runtime::IUnknown);
2758 impl IWICFormatConverter {
GetSize(&self, puiwidth: *mut u32, puiheight: *mut u32) -> ::windows::runtime::Result<()>2759     pub unsafe fn GetSize(&self, puiwidth: *mut u32, puiheight: *mut u32) -> ::windows::runtime::Result<()> {
2760         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(puiwidth), ::std::mem::transmute(puiheight)).ok()
2761     }
GetPixelFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>2762     pub unsafe fn GetPixelFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
2763         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2764         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
2765     }
GetResolution(&self, pdpix: *mut f64, pdpiy: *mut f64) -> ::windows::runtime::Result<()>2766     pub unsafe fn GetResolution(&self, pdpix: *mut f64, pdpiy: *mut f64) -> ::windows::runtime::Result<()> {
2767         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdpix), ::std::mem::transmute(pdpiy)).ok()
2768     }
CopyPalette<'a, Param0: ::windows::runtime::IntoParam<'a, IWICPalette>>(&self, pipalette: Param0) -> ::windows::runtime::Result<()>2769     pub unsafe fn CopyPalette<'a, Param0: ::windows::runtime::IntoParam<'a, IWICPalette>>(&self, pipalette: Param0) -> ::windows::runtime::Result<()> {
2770         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), pipalette.into_param().abi()).ok()
2771     }
CopyPixels(&self, prc: *const WICRect, cbstride: u32, cbbuffersize: u32, pbbuffer: *mut u8) -> ::windows::runtime::Result<()>2772     pub unsafe fn CopyPixels(&self, prc: *const WICRect, cbstride: u32, cbbuffersize: u32, pbbuffer: *mut u8) -> ::windows::runtime::Result<()> {
2773         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(prc), ::std::mem::transmute(cbstride), ::std::mem::transmute(cbbuffersize), ::std::mem::transmute(pbbuffer)).ok()
2774     }
Initialize<'a, Param0: ::windows::runtime::IntoParam<'a, IWICBitmapSource>, Param3: ::windows::runtime::IntoParam<'a, IWICPalette>>(&self, pisource: Param0, dstformat: *const ::windows::runtime::GUID, dither: WICBitmapDitherType, pipalette: Param3, alphathresholdpercent: f64, palettetranslate: WICBitmapPaletteType) -> ::windows::runtime::Result<()>2775     pub unsafe fn Initialize<'a, Param0: ::windows::runtime::IntoParam<'a, IWICBitmapSource>, Param3: ::windows::runtime::IntoParam<'a, IWICPalette>>(&self, pisource: Param0, dstformat: *const ::windows::runtime::GUID, dither: WICBitmapDitherType, pipalette: Param3, alphathresholdpercent: f64, palettetranslate: WICBitmapPaletteType) -> ::windows::runtime::Result<()> {
2776         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), pisource.into_param().abi(), ::std::mem::transmute(dstformat), ::std::mem::transmute(dither), pipalette.into_param().abi(), ::std::mem::transmute(alphathresholdpercent), ::std::mem::transmute(palettetranslate)).ok()
2777     }
2778     #[cfg(feature = "Win32_Foundation")]
CanConvert(&self, srcpixelformat: *const ::windows::runtime::GUID, dstpixelformat: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<super::super::Foundation::BOOL>2779     pub unsafe fn CanConvert(&self, srcpixelformat: *const ::windows::runtime::GUID, dstpixelformat: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
2780         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2781         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(srcpixelformat), ::std::mem::transmute(dstpixelformat), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
2782     }
2783 }
2784 unsafe impl ::windows::runtime::Interface for IWICFormatConverter {
2785     type Vtable = IWICFormatConverter_abi;
2786     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(769, 43250, 18551, [186, 10, 253, 43, 102, 69, 251, 148]);
2787 }
2788 impl ::std::convert::From<IWICFormatConverter> for ::windows::runtime::IUnknown {
from(value: IWICFormatConverter) -> Self2789     fn from(value: IWICFormatConverter) -> Self {
2790         unsafe { ::std::mem::transmute(value) }
2791     }
2792 }
2793 impl ::std::convert::From<&IWICFormatConverter> for ::windows::runtime::IUnknown {
from(value: &IWICFormatConverter) -> Self2794     fn from(value: &IWICFormatConverter) -> Self {
2795         ::std::convert::From::from(::std::clone::Clone::clone(value))
2796     }
2797 }
2798 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICFormatConverter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2799     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2800         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2801     }
2802 }
2803 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICFormatConverter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2804     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2805         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2806     }
2807 }
2808 impl ::std::convert::From<IWICFormatConverter> for IWICBitmapSource {
from(value: IWICFormatConverter) -> Self2809     fn from(value: IWICFormatConverter) -> Self {
2810         unsafe { ::std::mem::transmute(value) }
2811     }
2812 }
2813 impl ::std::convert::From<&IWICFormatConverter> for IWICBitmapSource {
from(value: &IWICFormatConverter) -> Self2814     fn from(value: &IWICFormatConverter) -> Self {
2815         ::std::convert::From::from(::std::clone::Clone::clone(value))
2816     }
2817 }
2818 impl<'a> ::windows::runtime::IntoParam<'a, IWICBitmapSource> for IWICFormatConverter {
into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapSource>2819     fn into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapSource> {
2820         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICBitmapSource>::into(self))
2821     }
2822 }
2823 impl<'a> ::windows::runtime::IntoParam<'a, IWICBitmapSource> for &IWICFormatConverter {
into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapSource>2824     fn into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapSource> {
2825         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICBitmapSource>::into(::std::clone::Clone::clone(self)))
2826     }
2827 }
2828 #[repr(C)]
2829 #[doc(hidden)]
2830 pub struct IWICFormatConverter_abi(
2831     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2832     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2833     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2834     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, puiwidth: *mut u32, puiheight: *mut u32) -> ::windows::runtime::HRESULT,
2835     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppixelformat: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2836     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdpix: *mut f64, pdpiy: *mut f64) -> ::windows::runtime::HRESULT,
2837     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pipalette: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2838     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, prc: *const WICRect, cbstride: u32, cbbuffersize: u32, pbbuffer: *mut u8) -> ::windows::runtime::HRESULT,
2839     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pisource: ::windows::runtime::RawPtr, dstformat: *const ::windows::runtime::GUID, dither: WICBitmapDitherType, pipalette: ::windows::runtime::RawPtr, alphathresholdpercent: f64, palettetranslate: WICBitmapPaletteType) -> ::windows::runtime::HRESULT,
2840     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, srcpixelformat: *const ::windows::runtime::GUID, dstpixelformat: *const ::windows::runtime::GUID, pfcanconvert: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
2841     #[cfg(not(feature = "Win32_Foundation"))] usize,
2842 );
2843 #[repr(transparent)]
2844 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2845 pub struct IWICFormatConverterInfo(::windows::runtime::IUnknown);
2846 impl IWICFormatConverterInfo {
GetComponentType(&self) -> ::windows::runtime::Result<WICComponentType>2847     pub unsafe fn GetComponentType(&self) -> ::windows::runtime::Result<WICComponentType> {
2848         let mut result__: <WICComponentType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2849         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WICComponentType>(result__)
2850     }
GetCLSID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>2851     pub unsafe fn GetCLSID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
2852         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2853         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
2854     }
GetSigningStatus(&self) -> ::windows::runtime::Result<u32>2855     pub unsafe fn GetSigningStatus(&self) -> ::windows::runtime::Result<u32> {
2856         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2857         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
2858     }
2859     #[cfg(feature = "Win32_Foundation")]
GetAuthor<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchauthor: u32, wzauthor: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>2860     pub unsafe fn GetAuthor<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchauthor: u32, wzauthor: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
2861         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchauthor), wzauthor.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
2862     }
GetVendorGUID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>2863     pub unsafe fn GetVendorGUID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
2864         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2865         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
2866     }
2867     #[cfg(feature = "Win32_Foundation")]
GetVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchversion: u32, wzversion: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>2868     pub unsafe fn GetVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchversion: u32, wzversion: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
2869         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchversion), wzversion.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
2870     }
2871     #[cfg(feature = "Win32_Foundation")]
GetSpecVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchspecversion: u32, wzspecversion: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>2872     pub unsafe fn GetSpecVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchspecversion: u32, wzspecversion: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
2873         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchspecversion), wzspecversion.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
2874     }
2875     #[cfg(feature = "Win32_Foundation")]
GetFriendlyName<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchfriendlyname: u32, wzfriendlyname: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>2876     pub unsafe fn GetFriendlyName<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchfriendlyname: u32, wzfriendlyname: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
2877         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchfriendlyname), wzfriendlyname.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
2878     }
GetPixelFormats(&self, cformats: u32, ppixelformatguids: *mut ::windows::runtime::GUID, pcactual: *mut u32) -> ::windows::runtime::Result<()>2879     pub unsafe fn GetPixelFormats(&self, cformats: u32, ppixelformatguids: *mut ::windows::runtime::GUID, pcactual: *mut u32) -> ::windows::runtime::Result<()> {
2880         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(cformats), ::std::mem::transmute(ppixelformatguids), ::std::mem::transmute(pcactual)).ok()
2881     }
CreateInstance(&self) -> ::windows::runtime::Result<IWICFormatConverter>2882     pub unsafe fn CreateInstance(&self) -> ::windows::runtime::Result<IWICFormatConverter> {
2883         let mut result__: <IWICFormatConverter as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2884         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICFormatConverter>(result__)
2885     }
2886 }
2887 unsafe impl ::windows::runtime::Interface for IWICFormatConverterInfo {
2888     type Vtable = IWICFormatConverterInfo_abi;
2889     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2671049573, 5108, 20245, [188, 87, 55, 38, 181, 229, 61, 159]);
2890 }
2891 impl ::std::convert::From<IWICFormatConverterInfo> for ::windows::runtime::IUnknown {
from(value: IWICFormatConverterInfo) -> Self2892     fn from(value: IWICFormatConverterInfo) -> Self {
2893         unsafe { ::std::mem::transmute(value) }
2894     }
2895 }
2896 impl ::std::convert::From<&IWICFormatConverterInfo> for ::windows::runtime::IUnknown {
from(value: &IWICFormatConverterInfo) -> Self2897     fn from(value: &IWICFormatConverterInfo) -> Self {
2898         ::std::convert::From::from(::std::clone::Clone::clone(value))
2899     }
2900 }
2901 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICFormatConverterInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2902     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2903         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2904     }
2905 }
2906 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICFormatConverterInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2907     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2908         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2909     }
2910 }
2911 impl ::std::convert::From<IWICFormatConverterInfo> for IWICComponentInfo {
from(value: IWICFormatConverterInfo) -> Self2912     fn from(value: IWICFormatConverterInfo) -> Self {
2913         unsafe { ::std::mem::transmute(value) }
2914     }
2915 }
2916 impl ::std::convert::From<&IWICFormatConverterInfo> for IWICComponentInfo {
from(value: &IWICFormatConverterInfo) -> Self2917     fn from(value: &IWICFormatConverterInfo) -> Self {
2918         ::std::convert::From::from(::std::clone::Clone::clone(value))
2919     }
2920 }
2921 impl<'a> ::windows::runtime::IntoParam<'a, IWICComponentInfo> for IWICFormatConverterInfo {
into_param(self) -> ::windows::runtime::Param<'a, IWICComponentInfo>2922     fn into_param(self) -> ::windows::runtime::Param<'a, IWICComponentInfo> {
2923         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICComponentInfo>::into(self))
2924     }
2925 }
2926 impl<'a> ::windows::runtime::IntoParam<'a, IWICComponentInfo> for &IWICFormatConverterInfo {
into_param(self) -> ::windows::runtime::Param<'a, IWICComponentInfo>2927     fn into_param(self) -> ::windows::runtime::Param<'a, IWICComponentInfo> {
2928         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICComponentInfo>::into(::std::clone::Clone::clone(self)))
2929     }
2930 }
2931 #[repr(C)]
2932 #[doc(hidden)]
2933 pub struct IWICFormatConverterInfo_abi(
2934     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2935     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2936     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2937     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptype: *mut WICComponentType) -> ::windows::runtime::HRESULT,
2938     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pclsid: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2939     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstatus: *mut u32) -> ::windows::runtime::HRESULT,
2940     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchauthor: u32, wzauthor: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
2941     #[cfg(not(feature = "Win32_Foundation"))] usize,
2942     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pguidvendor: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2943     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchversion: u32, wzversion: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
2944     #[cfg(not(feature = "Win32_Foundation"))] usize,
2945     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchspecversion: u32, wzspecversion: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
2946     #[cfg(not(feature = "Win32_Foundation"))] usize,
2947     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchfriendlyname: u32, wzfriendlyname: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
2948     #[cfg(not(feature = "Win32_Foundation"))] usize,
2949     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cformats: u32, ppixelformatguids: *mut ::windows::runtime::GUID, pcactual: *mut u32) -> ::windows::runtime::HRESULT,
2950     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppiconverter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2951 );
2952 #[repr(transparent)]
2953 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2954 pub struct IWICImageEncoder(::windows::runtime::IUnknown);
2955 impl IWICImageEncoder {
2956     #[cfg(all(feature = "Win32_Graphics_Direct2D", feature = "Win32_Graphics_Dxgi"))]
WriteFrame<'a, Param0: ::windows::runtime::IntoParam<'a, super::Direct2D::ID2D1Image>, Param1: ::windows::runtime::IntoParam<'a, IWICBitmapFrameEncode>>(&self, pimage: Param0, pframeencode: Param1, pimageparameters: *const WICImageParameters) -> ::windows::runtime::Result<()>2957     pub unsafe fn WriteFrame<'a, Param0: ::windows::runtime::IntoParam<'a, super::Direct2D::ID2D1Image>, Param1: ::windows::runtime::IntoParam<'a, IWICBitmapFrameEncode>>(&self, pimage: Param0, pframeencode: Param1, pimageparameters: *const WICImageParameters) -> ::windows::runtime::Result<()> {
2958         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pimage.into_param().abi(), pframeencode.into_param().abi(), ::std::mem::transmute(pimageparameters)).ok()
2959     }
2960     #[cfg(all(feature = "Win32_Graphics_Direct2D", feature = "Win32_Graphics_Dxgi"))]
WriteFrameThumbnail<'a, Param0: ::windows::runtime::IntoParam<'a, super::Direct2D::ID2D1Image>, Param1: ::windows::runtime::IntoParam<'a, IWICBitmapFrameEncode>>(&self, pimage: Param0, pframeencode: Param1, pimageparameters: *const WICImageParameters) -> ::windows::runtime::Result<()>2961     pub unsafe fn WriteFrameThumbnail<'a, Param0: ::windows::runtime::IntoParam<'a, super::Direct2D::ID2D1Image>, Param1: ::windows::runtime::IntoParam<'a, IWICBitmapFrameEncode>>(&self, pimage: Param0, pframeencode: Param1, pimageparameters: *const WICImageParameters) -> ::windows::runtime::Result<()> {
2962         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pimage.into_param().abi(), pframeencode.into_param().abi(), ::std::mem::transmute(pimageparameters)).ok()
2963     }
2964     #[cfg(all(feature = "Win32_Graphics_Direct2D", feature = "Win32_Graphics_Dxgi"))]
WriteThumbnail<'a, Param0: ::windows::runtime::IntoParam<'a, super::Direct2D::ID2D1Image>, Param1: ::windows::runtime::IntoParam<'a, IWICBitmapEncoder>>(&self, pimage: Param0, pencoder: Param1, pimageparameters: *const WICImageParameters) -> ::windows::runtime::Result<()>2965     pub unsafe fn WriteThumbnail<'a, Param0: ::windows::runtime::IntoParam<'a, super::Direct2D::ID2D1Image>, Param1: ::windows::runtime::IntoParam<'a, IWICBitmapEncoder>>(&self, pimage: Param0, pencoder: Param1, pimageparameters: *const WICImageParameters) -> ::windows::runtime::Result<()> {
2966         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), pimage.into_param().abi(), pencoder.into_param().abi(), ::std::mem::transmute(pimageparameters)).ok()
2967     }
2968 }
2969 unsafe impl ::windows::runtime::Interface for IWICImageEncoder {
2970     type Vtable = IWICImageEncoder_abi;
2971     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(80174072, 15585, 18235, [172, 197, 60, 196, 245, 233, 73, 153]);
2972 }
2973 impl ::std::convert::From<IWICImageEncoder> for ::windows::runtime::IUnknown {
from(value: IWICImageEncoder) -> Self2974     fn from(value: IWICImageEncoder) -> Self {
2975         unsafe { ::std::mem::transmute(value) }
2976     }
2977 }
2978 impl ::std::convert::From<&IWICImageEncoder> for ::windows::runtime::IUnknown {
from(value: &IWICImageEncoder) -> Self2979     fn from(value: &IWICImageEncoder) -> Self {
2980         ::std::convert::From::from(::std::clone::Clone::clone(value))
2981     }
2982 }
2983 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICImageEncoder {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2984     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2985         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2986     }
2987 }
2988 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICImageEncoder {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2989     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2990         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2991     }
2992 }
2993 #[repr(C)]
2994 #[doc(hidden)]
2995 pub struct IWICImageEncoder_abi(
2996     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2997     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2998     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2999     #[cfg(all(feature = "Win32_Graphics_Direct2D", feature = "Win32_Graphics_Dxgi"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pimage: ::windows::runtime::RawPtr, pframeencode: ::windows::runtime::RawPtr, pimageparameters: *const WICImageParameters) -> ::windows::runtime::HRESULT,
3000     #[cfg(not(all(feature = "Win32_Graphics_Direct2D", feature = "Win32_Graphics_Dxgi")))] usize,
3001     #[cfg(all(feature = "Win32_Graphics_Direct2D", feature = "Win32_Graphics_Dxgi"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pimage: ::windows::runtime::RawPtr, pframeencode: ::windows::runtime::RawPtr, pimageparameters: *const WICImageParameters) -> ::windows::runtime::HRESULT,
3002     #[cfg(not(all(feature = "Win32_Graphics_Direct2D", feature = "Win32_Graphics_Dxgi")))] usize,
3003     #[cfg(all(feature = "Win32_Graphics_Direct2D", feature = "Win32_Graphics_Dxgi"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pimage: ::windows::runtime::RawPtr, pencoder: ::windows::runtime::RawPtr, pimageparameters: *const WICImageParameters) -> ::windows::runtime::HRESULT,
3004     #[cfg(not(all(feature = "Win32_Graphics_Direct2D", feature = "Win32_Graphics_Dxgi")))] usize,
3005 );
3006 #[repr(transparent)]
3007 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3008 pub struct IWICImagingFactory(::windows::runtime::IUnknown);
3009 impl IWICImagingFactory {
3010     #[cfg(feature = "Win32_Foundation")]
CreateDecoderFromFilename<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, wzfilename: Param0, pguidvendor: *const ::windows::runtime::GUID, dwdesiredaccess: u32, metadataoptions: WICDecodeOptions) -> ::windows::runtime::Result<IWICBitmapDecoder>3011     pub unsafe fn CreateDecoderFromFilename<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, wzfilename: Param0, pguidvendor: *const ::windows::runtime::GUID, dwdesiredaccess: u32, metadataoptions: WICDecodeOptions) -> ::windows::runtime::Result<IWICBitmapDecoder> {
3012         let mut result__: <IWICBitmapDecoder as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3013         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), wzfilename.into_param().abi(), ::std::mem::transmute(pguidvendor), ::std::mem::transmute(dwdesiredaccess), ::std::mem::transmute(metadataoptions), &mut result__).from_abi::<IWICBitmapDecoder>(result__)
3014     }
3015     #[cfg(feature = "Win32_System_Com")]
CreateDecoderFromStream<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, pistream: Param0, pguidvendor: *const ::windows::runtime::GUID, metadataoptions: WICDecodeOptions) -> ::windows::runtime::Result<IWICBitmapDecoder>3016     pub unsafe fn CreateDecoderFromStream<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, pistream: Param0, pguidvendor: *const ::windows::runtime::GUID, metadataoptions: WICDecodeOptions) -> ::windows::runtime::Result<IWICBitmapDecoder> {
3017         let mut result__: <IWICBitmapDecoder as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3018         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pistream.into_param().abi(), ::std::mem::transmute(pguidvendor), ::std::mem::transmute(metadataoptions), &mut result__).from_abi::<IWICBitmapDecoder>(result__)
3019     }
CreateDecoderFromFileHandle(&self, hfile: usize, pguidvendor: *const ::windows::runtime::GUID, metadataoptions: WICDecodeOptions) -> ::windows::runtime::Result<IWICBitmapDecoder>3020     pub unsafe fn CreateDecoderFromFileHandle(&self, hfile: usize, pguidvendor: *const ::windows::runtime::GUID, metadataoptions: WICDecodeOptions) -> ::windows::runtime::Result<IWICBitmapDecoder> {
3021         let mut result__: <IWICBitmapDecoder as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3022         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(hfile), ::std::mem::transmute(pguidvendor), ::std::mem::transmute(metadataoptions), &mut result__).from_abi::<IWICBitmapDecoder>(result__)
3023     }
CreateComponentInfo(&self, clsidcomponent: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IWICComponentInfo>3024     pub unsafe fn CreateComponentInfo(&self, clsidcomponent: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IWICComponentInfo> {
3025         let mut result__: <IWICComponentInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3026         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(clsidcomponent), &mut result__).from_abi::<IWICComponentInfo>(result__)
3027     }
CreateDecoder(&self, guidcontainerformat: *const ::windows::runtime::GUID, pguidvendor: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IWICBitmapDecoder>3028     pub unsafe fn CreateDecoder(&self, guidcontainerformat: *const ::windows::runtime::GUID, pguidvendor: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IWICBitmapDecoder> {
3029         let mut result__: <IWICBitmapDecoder as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3030         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(guidcontainerformat), ::std::mem::transmute(pguidvendor), &mut result__).from_abi::<IWICBitmapDecoder>(result__)
3031     }
CreateEncoder(&self, guidcontainerformat: *const ::windows::runtime::GUID, pguidvendor: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IWICBitmapEncoder>3032     pub unsafe fn CreateEncoder(&self, guidcontainerformat: *const ::windows::runtime::GUID, pguidvendor: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IWICBitmapEncoder> {
3033         let mut result__: <IWICBitmapEncoder as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3034         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(guidcontainerformat), ::std::mem::transmute(pguidvendor), &mut result__).from_abi::<IWICBitmapEncoder>(result__)
3035     }
CreatePalette(&self) -> ::windows::runtime::Result<IWICPalette>3036     pub unsafe fn CreatePalette(&self) -> ::windows::runtime::Result<IWICPalette> {
3037         let mut result__: <IWICPalette as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3038         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICPalette>(result__)
3039     }
CreateFormatConverter(&self) -> ::windows::runtime::Result<IWICFormatConverter>3040     pub unsafe fn CreateFormatConverter(&self) -> ::windows::runtime::Result<IWICFormatConverter> {
3041         let mut result__: <IWICFormatConverter as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3042         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICFormatConverter>(result__)
3043     }
CreateBitmapScaler(&self) -> ::windows::runtime::Result<IWICBitmapScaler>3044     pub unsafe fn CreateBitmapScaler(&self) -> ::windows::runtime::Result<IWICBitmapScaler> {
3045         let mut result__: <IWICBitmapScaler as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3046         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICBitmapScaler>(result__)
3047     }
CreateBitmapClipper(&self) -> ::windows::runtime::Result<IWICBitmapClipper>3048     pub unsafe fn CreateBitmapClipper(&self) -> ::windows::runtime::Result<IWICBitmapClipper> {
3049         let mut result__: <IWICBitmapClipper as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3050         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICBitmapClipper>(result__)
3051     }
CreateBitmapFlipRotator(&self) -> ::windows::runtime::Result<IWICBitmapFlipRotator>3052     pub unsafe fn CreateBitmapFlipRotator(&self) -> ::windows::runtime::Result<IWICBitmapFlipRotator> {
3053         let mut result__: <IWICBitmapFlipRotator as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3054         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICBitmapFlipRotator>(result__)
3055     }
CreateStream(&self) -> ::windows::runtime::Result<IWICStream>3056     pub unsafe fn CreateStream(&self) -> ::windows::runtime::Result<IWICStream> {
3057         let mut result__: <IWICStream as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3058         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICStream>(result__)
3059     }
CreateColorContext(&self) -> ::windows::runtime::Result<IWICColorContext>3060     pub unsafe fn CreateColorContext(&self) -> ::windows::runtime::Result<IWICColorContext> {
3061         let mut result__: <IWICColorContext as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3062         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICColorContext>(result__)
3063     }
CreateColorTransformer(&self) -> ::windows::runtime::Result<IWICColorTransform>3064     pub unsafe fn CreateColorTransformer(&self) -> ::windows::runtime::Result<IWICColorTransform> {
3065         let mut result__: <IWICColorTransform as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3066         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICColorTransform>(result__)
3067     }
CreateBitmap(&self, uiwidth: u32, uiheight: u32, pixelformat: *const ::windows::runtime::GUID, option: WICBitmapCreateCacheOption) -> ::windows::runtime::Result<IWICBitmap>3068     pub unsafe fn CreateBitmap(&self, uiwidth: u32, uiheight: u32, pixelformat: *const ::windows::runtime::GUID, option: WICBitmapCreateCacheOption) -> ::windows::runtime::Result<IWICBitmap> {
3069         let mut result__: <IWICBitmap as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3070         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(uiwidth), ::std::mem::transmute(uiheight), ::std::mem::transmute(pixelformat), ::std::mem::transmute(option), &mut result__).from_abi::<IWICBitmap>(result__)
3071     }
CreateBitmapFromSource<'a, Param0: ::windows::runtime::IntoParam<'a, IWICBitmapSource>>(&self, pibitmapsource: Param0, option: WICBitmapCreateCacheOption) -> ::windows::runtime::Result<IWICBitmap>3072     pub unsafe fn CreateBitmapFromSource<'a, Param0: ::windows::runtime::IntoParam<'a, IWICBitmapSource>>(&self, pibitmapsource: Param0, option: WICBitmapCreateCacheOption) -> ::windows::runtime::Result<IWICBitmap> {
3073         let mut result__: <IWICBitmap as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3074         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), pibitmapsource.into_param().abi(), ::std::mem::transmute(option), &mut result__).from_abi::<IWICBitmap>(result__)
3075     }
CreateBitmapFromSourceRect<'a, Param0: ::windows::runtime::IntoParam<'a, IWICBitmapSource>>(&self, pibitmapsource: Param0, x: u32, y: u32, width: u32, height: u32) -> ::windows::runtime::Result<IWICBitmap>3076     pub unsafe fn CreateBitmapFromSourceRect<'a, Param0: ::windows::runtime::IntoParam<'a, IWICBitmapSource>>(&self, pibitmapsource: Param0, x: u32, y: u32, width: u32, height: u32) -> ::windows::runtime::Result<IWICBitmap> {
3077         let mut result__: <IWICBitmap as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3078         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), pibitmapsource.into_param().abi(), ::std::mem::transmute(x), ::std::mem::transmute(y), ::std::mem::transmute(width), ::std::mem::transmute(height), &mut result__).from_abi::<IWICBitmap>(result__)
3079     }
CreateBitmapFromMemory(&self, uiwidth: u32, uiheight: u32, pixelformat: *const ::windows::runtime::GUID, cbstride: u32, cbbuffersize: u32, pbbuffer: *const u8) -> ::windows::runtime::Result<IWICBitmap>3080     pub unsafe fn CreateBitmapFromMemory(&self, uiwidth: u32, uiheight: u32, pixelformat: *const ::windows::runtime::GUID, cbstride: u32, cbbuffersize: u32, pbbuffer: *const u8) -> ::windows::runtime::Result<IWICBitmap> {
3081         let mut result__: <IWICBitmap as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3082         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(uiwidth), ::std::mem::transmute(uiheight), ::std::mem::transmute(pixelformat), ::std::mem::transmute(cbstride), ::std::mem::transmute(cbbuffersize), ::std::mem::transmute(pbbuffer), &mut result__).from_abi::<IWICBitmap>(result__)
3083     }
3084     #[cfg(feature = "Win32_Graphics_Gdi")]
CreateBitmapFromHBITMAP<'a, Param0: ::windows::runtime::IntoParam<'a, super::Gdi::HBITMAP>, Param1: ::windows::runtime::IntoParam<'a, super::Gdi::HPALETTE>>(&self, hbitmap: Param0, hpalette: Param1, options: WICBitmapAlphaChannelOption) -> ::windows::runtime::Result<IWICBitmap>3085     pub unsafe fn CreateBitmapFromHBITMAP<'a, Param0: ::windows::runtime::IntoParam<'a, super::Gdi::HBITMAP>, Param1: ::windows::runtime::IntoParam<'a, super::Gdi::HPALETTE>>(&self, hbitmap: Param0, hpalette: Param1, options: WICBitmapAlphaChannelOption) -> ::windows::runtime::Result<IWICBitmap> {
3086         let mut result__: <IWICBitmap as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3087         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), hbitmap.into_param().abi(), hpalette.into_param().abi(), ::std::mem::transmute(options), &mut result__).from_abi::<IWICBitmap>(result__)
3088     }
3089     #[cfg(feature = "Win32_UI_WindowsAndMessaging")]
CreateBitmapFromHICON<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::UI::WindowsAndMessaging::HICON>>(&self, hicon: Param0) -> ::windows::runtime::Result<IWICBitmap>3090     pub unsafe fn CreateBitmapFromHICON<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::UI::WindowsAndMessaging::HICON>>(&self, hicon: Param0) -> ::windows::runtime::Result<IWICBitmap> {
3091         let mut result__: <IWICBitmap as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3092         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), hicon.into_param().abi(), &mut result__).from_abi::<IWICBitmap>(result__)
3093     }
3094     #[cfg(feature = "Win32_System_Com")]
CreateComponentEnumerator(&self, componenttypes: u32, options: u32) -> ::windows::runtime::Result<super::super::System::Com::IEnumUnknown>3095     pub unsafe fn CreateComponentEnumerator(&self, componenttypes: u32, options: u32) -> ::windows::runtime::Result<super::super::System::Com::IEnumUnknown> {
3096         let mut result__: <super::super::System::Com::IEnumUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3097         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), ::std::mem::transmute(componenttypes), ::std::mem::transmute(options), &mut result__).from_abi::<super::super::System::Com::IEnumUnknown>(result__)
3098     }
CreateFastMetadataEncoderFromDecoder<'a, Param0: ::windows::runtime::IntoParam<'a, IWICBitmapDecoder>>(&self, pidecoder: Param0) -> ::windows::runtime::Result<IWICFastMetadataEncoder>3099     pub unsafe fn CreateFastMetadataEncoderFromDecoder<'a, Param0: ::windows::runtime::IntoParam<'a, IWICBitmapDecoder>>(&self, pidecoder: Param0) -> ::windows::runtime::Result<IWICFastMetadataEncoder> {
3100         let mut result__: <IWICFastMetadataEncoder as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3101         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), pidecoder.into_param().abi(), &mut result__).from_abi::<IWICFastMetadataEncoder>(result__)
3102     }
CreateFastMetadataEncoderFromFrameDecode<'a, Param0: ::windows::runtime::IntoParam<'a, IWICBitmapFrameDecode>>(&self, piframedecoder: Param0) -> ::windows::runtime::Result<IWICFastMetadataEncoder>3103     pub unsafe fn CreateFastMetadataEncoderFromFrameDecode<'a, Param0: ::windows::runtime::IntoParam<'a, IWICBitmapFrameDecode>>(&self, piframedecoder: Param0) -> ::windows::runtime::Result<IWICFastMetadataEncoder> {
3104         let mut result__: <IWICFastMetadataEncoder as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3105         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), piframedecoder.into_param().abi(), &mut result__).from_abi::<IWICFastMetadataEncoder>(result__)
3106     }
CreateQueryWriter(&self, guidmetadataformat: *const ::windows::runtime::GUID, pguidvendor: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IWICMetadataQueryWriter>3107     pub unsafe fn CreateQueryWriter(&self, guidmetadataformat: *const ::windows::runtime::GUID, pguidvendor: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IWICMetadataQueryWriter> {
3108         let mut result__: <IWICMetadataQueryWriter as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3109         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), ::std::mem::transmute(guidmetadataformat), ::std::mem::transmute(pguidvendor), &mut result__).from_abi::<IWICMetadataQueryWriter>(result__)
3110     }
CreateQueryWriterFromReader<'a, Param0: ::windows::runtime::IntoParam<'a, IWICMetadataQueryReader>>(&self, piqueryreader: Param0, pguidvendor: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IWICMetadataQueryWriter>3111     pub unsafe fn CreateQueryWriterFromReader<'a, Param0: ::windows::runtime::IntoParam<'a, IWICMetadataQueryReader>>(&self, piqueryreader: Param0, pguidvendor: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IWICMetadataQueryWriter> {
3112         let mut result__: <IWICMetadataQueryWriter as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3113         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), piqueryreader.into_param().abi(), ::std::mem::transmute(pguidvendor), &mut result__).from_abi::<IWICMetadataQueryWriter>(result__)
3114     }
3115 }
3116 unsafe impl ::windows::runtime::Interface for IWICImagingFactory {
3117     type Vtable = IWICImagingFactory_abi;
3118     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3965634729, 50069, 17172, [156, 119, 84, 215, 169, 53, 255, 112]);
3119 }
3120 impl ::std::convert::From<IWICImagingFactory> for ::windows::runtime::IUnknown {
from(value: IWICImagingFactory) -> Self3121     fn from(value: IWICImagingFactory) -> Self {
3122         unsafe { ::std::mem::transmute(value) }
3123     }
3124 }
3125 impl ::std::convert::From<&IWICImagingFactory> for ::windows::runtime::IUnknown {
from(value: &IWICImagingFactory) -> Self3126     fn from(value: &IWICImagingFactory) -> Self {
3127         ::std::convert::From::from(::std::clone::Clone::clone(value))
3128     }
3129 }
3130 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICImagingFactory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3131     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3132         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3133     }
3134 }
3135 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICImagingFactory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3136     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3137         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3138     }
3139 }
3140 #[repr(C)]
3141 #[doc(hidden)]
3142 pub struct IWICImagingFactory_abi(
3143     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3144     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3145     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3146     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, wzfilename: super::super::Foundation::PWSTR, pguidvendor: *const ::windows::runtime::GUID, dwdesiredaccess: u32, metadataoptions: WICDecodeOptions, ppidecoder: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3147     #[cfg(not(feature = "Win32_Foundation"))] usize,
3148     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pistream: ::windows::runtime::RawPtr, pguidvendor: *const ::windows::runtime::GUID, metadataoptions: WICDecodeOptions, ppidecoder: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3149     #[cfg(not(feature = "Win32_System_Com"))] usize,
3150     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hfile: usize, pguidvendor: *const ::windows::runtime::GUID, metadataoptions: WICDecodeOptions, ppidecoder: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3151     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, clsidcomponent: *const ::windows::runtime::GUID, ppiinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3152     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guidcontainerformat: *const ::windows::runtime::GUID, pguidvendor: *const ::windows::runtime::GUID, ppidecoder: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3153     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guidcontainerformat: *const ::windows::runtime::GUID, pguidvendor: *const ::windows::runtime::GUID, ppiencoder: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3154     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppipalette: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3155     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppiformatconverter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3156     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppibitmapscaler: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3157     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppibitmapclipper: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3158     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppibitmapfliprotator: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3159     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppiwicstream: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3160     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppiwiccolorcontext: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3161     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppiwiccolortransform: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3162     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uiwidth: u32, uiheight: u32, pixelformat: *const ::windows::runtime::GUID, option: WICBitmapCreateCacheOption, ppibitmap: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3163     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pibitmapsource: ::windows::runtime::RawPtr, option: WICBitmapCreateCacheOption, ppibitmap: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3164     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pibitmapsource: ::windows::runtime::RawPtr, x: u32, y: u32, width: u32, height: u32, ppibitmap: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3165     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uiwidth: u32, uiheight: u32, pixelformat: *const ::windows::runtime::GUID, cbstride: u32, cbbuffersize: u32, pbbuffer: *const u8, ppibitmap: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3166     #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hbitmap: super::Gdi::HBITMAP, hpalette: super::Gdi::HPALETTE, options: WICBitmapAlphaChannelOption, ppibitmap: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3167     #[cfg(not(feature = "Win32_Graphics_Gdi"))] usize,
3168     #[cfg(feature = "Win32_UI_WindowsAndMessaging")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hicon: super::super::UI::WindowsAndMessaging::HICON, ppibitmap: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3169     #[cfg(not(feature = "Win32_UI_WindowsAndMessaging"))] usize,
3170     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, componenttypes: u32, options: u32, ppienumunknown: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3171     #[cfg(not(feature = "Win32_System_Com"))] usize,
3172     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pidecoder: ::windows::runtime::RawPtr, ppifastencoder: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3173     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, piframedecoder: ::windows::runtime::RawPtr, ppifastencoder: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3174     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guidmetadataformat: *const ::windows::runtime::GUID, pguidvendor: *const ::windows::runtime::GUID, ppiquerywriter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3175     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, piqueryreader: ::windows::runtime::RawPtr, pguidvendor: *const ::windows::runtime::GUID, ppiquerywriter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3176 );
3177 #[repr(transparent)]
3178 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3179 pub struct IWICImagingFactory2(::windows::runtime::IUnknown);
3180 impl IWICImagingFactory2 {
3181     #[cfg(feature = "Win32_Foundation")]
CreateDecoderFromFilename<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, wzfilename: Param0, pguidvendor: *const ::windows::runtime::GUID, dwdesiredaccess: u32, metadataoptions: WICDecodeOptions) -> ::windows::runtime::Result<IWICBitmapDecoder>3182     pub unsafe fn CreateDecoderFromFilename<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, wzfilename: Param0, pguidvendor: *const ::windows::runtime::GUID, dwdesiredaccess: u32, metadataoptions: WICDecodeOptions) -> ::windows::runtime::Result<IWICBitmapDecoder> {
3183         let mut result__: <IWICBitmapDecoder as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3184         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), wzfilename.into_param().abi(), ::std::mem::transmute(pguidvendor), ::std::mem::transmute(dwdesiredaccess), ::std::mem::transmute(metadataoptions), &mut result__).from_abi::<IWICBitmapDecoder>(result__)
3185     }
3186     #[cfg(feature = "Win32_System_Com")]
CreateDecoderFromStream<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, pistream: Param0, pguidvendor: *const ::windows::runtime::GUID, metadataoptions: WICDecodeOptions) -> ::windows::runtime::Result<IWICBitmapDecoder>3187     pub unsafe fn CreateDecoderFromStream<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, pistream: Param0, pguidvendor: *const ::windows::runtime::GUID, metadataoptions: WICDecodeOptions) -> ::windows::runtime::Result<IWICBitmapDecoder> {
3188         let mut result__: <IWICBitmapDecoder as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3189         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pistream.into_param().abi(), ::std::mem::transmute(pguidvendor), ::std::mem::transmute(metadataoptions), &mut result__).from_abi::<IWICBitmapDecoder>(result__)
3190     }
CreateDecoderFromFileHandle(&self, hfile: usize, pguidvendor: *const ::windows::runtime::GUID, metadataoptions: WICDecodeOptions) -> ::windows::runtime::Result<IWICBitmapDecoder>3191     pub unsafe fn CreateDecoderFromFileHandle(&self, hfile: usize, pguidvendor: *const ::windows::runtime::GUID, metadataoptions: WICDecodeOptions) -> ::windows::runtime::Result<IWICBitmapDecoder> {
3192         let mut result__: <IWICBitmapDecoder as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3193         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(hfile), ::std::mem::transmute(pguidvendor), ::std::mem::transmute(metadataoptions), &mut result__).from_abi::<IWICBitmapDecoder>(result__)
3194     }
CreateComponentInfo(&self, clsidcomponent: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IWICComponentInfo>3195     pub unsafe fn CreateComponentInfo(&self, clsidcomponent: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IWICComponentInfo> {
3196         let mut result__: <IWICComponentInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3197         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(clsidcomponent), &mut result__).from_abi::<IWICComponentInfo>(result__)
3198     }
CreateDecoder(&self, guidcontainerformat: *const ::windows::runtime::GUID, pguidvendor: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IWICBitmapDecoder>3199     pub unsafe fn CreateDecoder(&self, guidcontainerformat: *const ::windows::runtime::GUID, pguidvendor: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IWICBitmapDecoder> {
3200         let mut result__: <IWICBitmapDecoder as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3201         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(guidcontainerformat), ::std::mem::transmute(pguidvendor), &mut result__).from_abi::<IWICBitmapDecoder>(result__)
3202     }
CreateEncoder(&self, guidcontainerformat: *const ::windows::runtime::GUID, pguidvendor: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IWICBitmapEncoder>3203     pub unsafe fn CreateEncoder(&self, guidcontainerformat: *const ::windows::runtime::GUID, pguidvendor: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IWICBitmapEncoder> {
3204         let mut result__: <IWICBitmapEncoder as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3205         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(guidcontainerformat), ::std::mem::transmute(pguidvendor), &mut result__).from_abi::<IWICBitmapEncoder>(result__)
3206     }
CreatePalette(&self) -> ::windows::runtime::Result<IWICPalette>3207     pub unsafe fn CreatePalette(&self) -> ::windows::runtime::Result<IWICPalette> {
3208         let mut result__: <IWICPalette as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3209         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICPalette>(result__)
3210     }
CreateFormatConverter(&self) -> ::windows::runtime::Result<IWICFormatConverter>3211     pub unsafe fn CreateFormatConverter(&self) -> ::windows::runtime::Result<IWICFormatConverter> {
3212         let mut result__: <IWICFormatConverter as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3213         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICFormatConverter>(result__)
3214     }
CreateBitmapScaler(&self) -> ::windows::runtime::Result<IWICBitmapScaler>3215     pub unsafe fn CreateBitmapScaler(&self) -> ::windows::runtime::Result<IWICBitmapScaler> {
3216         let mut result__: <IWICBitmapScaler as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3217         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICBitmapScaler>(result__)
3218     }
CreateBitmapClipper(&self) -> ::windows::runtime::Result<IWICBitmapClipper>3219     pub unsafe fn CreateBitmapClipper(&self) -> ::windows::runtime::Result<IWICBitmapClipper> {
3220         let mut result__: <IWICBitmapClipper as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3221         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICBitmapClipper>(result__)
3222     }
CreateBitmapFlipRotator(&self) -> ::windows::runtime::Result<IWICBitmapFlipRotator>3223     pub unsafe fn CreateBitmapFlipRotator(&self) -> ::windows::runtime::Result<IWICBitmapFlipRotator> {
3224         let mut result__: <IWICBitmapFlipRotator as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3225         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICBitmapFlipRotator>(result__)
3226     }
CreateStream(&self) -> ::windows::runtime::Result<IWICStream>3227     pub unsafe fn CreateStream(&self) -> ::windows::runtime::Result<IWICStream> {
3228         let mut result__: <IWICStream as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3229         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICStream>(result__)
3230     }
CreateColorContext(&self) -> ::windows::runtime::Result<IWICColorContext>3231     pub unsafe fn CreateColorContext(&self) -> ::windows::runtime::Result<IWICColorContext> {
3232         let mut result__: <IWICColorContext as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3233         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICColorContext>(result__)
3234     }
CreateColorTransformer(&self) -> ::windows::runtime::Result<IWICColorTransform>3235     pub unsafe fn CreateColorTransformer(&self) -> ::windows::runtime::Result<IWICColorTransform> {
3236         let mut result__: <IWICColorTransform as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3237         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICColorTransform>(result__)
3238     }
CreateBitmap(&self, uiwidth: u32, uiheight: u32, pixelformat: *const ::windows::runtime::GUID, option: WICBitmapCreateCacheOption) -> ::windows::runtime::Result<IWICBitmap>3239     pub unsafe fn CreateBitmap(&self, uiwidth: u32, uiheight: u32, pixelformat: *const ::windows::runtime::GUID, option: WICBitmapCreateCacheOption) -> ::windows::runtime::Result<IWICBitmap> {
3240         let mut result__: <IWICBitmap as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3241         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(uiwidth), ::std::mem::transmute(uiheight), ::std::mem::transmute(pixelformat), ::std::mem::transmute(option), &mut result__).from_abi::<IWICBitmap>(result__)
3242     }
CreateBitmapFromSource<'a, Param0: ::windows::runtime::IntoParam<'a, IWICBitmapSource>>(&self, pibitmapsource: Param0, option: WICBitmapCreateCacheOption) -> ::windows::runtime::Result<IWICBitmap>3243     pub unsafe fn CreateBitmapFromSource<'a, Param0: ::windows::runtime::IntoParam<'a, IWICBitmapSource>>(&self, pibitmapsource: Param0, option: WICBitmapCreateCacheOption) -> ::windows::runtime::Result<IWICBitmap> {
3244         let mut result__: <IWICBitmap as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3245         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), pibitmapsource.into_param().abi(), ::std::mem::transmute(option), &mut result__).from_abi::<IWICBitmap>(result__)
3246     }
CreateBitmapFromSourceRect<'a, Param0: ::windows::runtime::IntoParam<'a, IWICBitmapSource>>(&self, pibitmapsource: Param0, x: u32, y: u32, width: u32, height: u32) -> ::windows::runtime::Result<IWICBitmap>3247     pub unsafe fn CreateBitmapFromSourceRect<'a, Param0: ::windows::runtime::IntoParam<'a, IWICBitmapSource>>(&self, pibitmapsource: Param0, x: u32, y: u32, width: u32, height: u32) -> ::windows::runtime::Result<IWICBitmap> {
3248         let mut result__: <IWICBitmap as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3249         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), pibitmapsource.into_param().abi(), ::std::mem::transmute(x), ::std::mem::transmute(y), ::std::mem::transmute(width), ::std::mem::transmute(height), &mut result__).from_abi::<IWICBitmap>(result__)
3250     }
CreateBitmapFromMemory(&self, uiwidth: u32, uiheight: u32, pixelformat: *const ::windows::runtime::GUID, cbstride: u32, cbbuffersize: u32, pbbuffer: *const u8) -> ::windows::runtime::Result<IWICBitmap>3251     pub unsafe fn CreateBitmapFromMemory(&self, uiwidth: u32, uiheight: u32, pixelformat: *const ::windows::runtime::GUID, cbstride: u32, cbbuffersize: u32, pbbuffer: *const u8) -> ::windows::runtime::Result<IWICBitmap> {
3252         let mut result__: <IWICBitmap as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3253         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(uiwidth), ::std::mem::transmute(uiheight), ::std::mem::transmute(pixelformat), ::std::mem::transmute(cbstride), ::std::mem::transmute(cbbuffersize), ::std::mem::transmute(pbbuffer), &mut result__).from_abi::<IWICBitmap>(result__)
3254     }
3255     #[cfg(feature = "Win32_Graphics_Gdi")]
CreateBitmapFromHBITMAP<'a, Param0: ::windows::runtime::IntoParam<'a, super::Gdi::HBITMAP>, Param1: ::windows::runtime::IntoParam<'a, super::Gdi::HPALETTE>>(&self, hbitmap: Param0, hpalette: Param1, options: WICBitmapAlphaChannelOption) -> ::windows::runtime::Result<IWICBitmap>3256     pub unsafe fn CreateBitmapFromHBITMAP<'a, Param0: ::windows::runtime::IntoParam<'a, super::Gdi::HBITMAP>, Param1: ::windows::runtime::IntoParam<'a, super::Gdi::HPALETTE>>(&self, hbitmap: Param0, hpalette: Param1, options: WICBitmapAlphaChannelOption) -> ::windows::runtime::Result<IWICBitmap> {
3257         let mut result__: <IWICBitmap as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3258         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), hbitmap.into_param().abi(), hpalette.into_param().abi(), ::std::mem::transmute(options), &mut result__).from_abi::<IWICBitmap>(result__)
3259     }
3260     #[cfg(feature = "Win32_UI_WindowsAndMessaging")]
CreateBitmapFromHICON<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::UI::WindowsAndMessaging::HICON>>(&self, hicon: Param0) -> ::windows::runtime::Result<IWICBitmap>3261     pub unsafe fn CreateBitmapFromHICON<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::UI::WindowsAndMessaging::HICON>>(&self, hicon: Param0) -> ::windows::runtime::Result<IWICBitmap> {
3262         let mut result__: <IWICBitmap as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3263         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), hicon.into_param().abi(), &mut result__).from_abi::<IWICBitmap>(result__)
3264     }
3265     #[cfg(feature = "Win32_System_Com")]
CreateComponentEnumerator(&self, componenttypes: u32, options: u32) -> ::windows::runtime::Result<super::super::System::Com::IEnumUnknown>3266     pub unsafe fn CreateComponentEnumerator(&self, componenttypes: u32, options: u32) -> ::windows::runtime::Result<super::super::System::Com::IEnumUnknown> {
3267         let mut result__: <super::super::System::Com::IEnumUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3268         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), ::std::mem::transmute(componenttypes), ::std::mem::transmute(options), &mut result__).from_abi::<super::super::System::Com::IEnumUnknown>(result__)
3269     }
CreateFastMetadataEncoderFromDecoder<'a, Param0: ::windows::runtime::IntoParam<'a, IWICBitmapDecoder>>(&self, pidecoder: Param0) -> ::windows::runtime::Result<IWICFastMetadataEncoder>3270     pub unsafe fn CreateFastMetadataEncoderFromDecoder<'a, Param0: ::windows::runtime::IntoParam<'a, IWICBitmapDecoder>>(&self, pidecoder: Param0) -> ::windows::runtime::Result<IWICFastMetadataEncoder> {
3271         let mut result__: <IWICFastMetadataEncoder as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3272         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), pidecoder.into_param().abi(), &mut result__).from_abi::<IWICFastMetadataEncoder>(result__)
3273     }
CreateFastMetadataEncoderFromFrameDecode<'a, Param0: ::windows::runtime::IntoParam<'a, IWICBitmapFrameDecode>>(&self, piframedecoder: Param0) -> ::windows::runtime::Result<IWICFastMetadataEncoder>3274     pub unsafe fn CreateFastMetadataEncoderFromFrameDecode<'a, Param0: ::windows::runtime::IntoParam<'a, IWICBitmapFrameDecode>>(&self, piframedecoder: Param0) -> ::windows::runtime::Result<IWICFastMetadataEncoder> {
3275         let mut result__: <IWICFastMetadataEncoder as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3276         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), piframedecoder.into_param().abi(), &mut result__).from_abi::<IWICFastMetadataEncoder>(result__)
3277     }
CreateQueryWriter(&self, guidmetadataformat: *const ::windows::runtime::GUID, pguidvendor: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IWICMetadataQueryWriter>3278     pub unsafe fn CreateQueryWriter(&self, guidmetadataformat: *const ::windows::runtime::GUID, pguidvendor: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IWICMetadataQueryWriter> {
3279         let mut result__: <IWICMetadataQueryWriter as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3280         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), ::std::mem::transmute(guidmetadataformat), ::std::mem::transmute(pguidvendor), &mut result__).from_abi::<IWICMetadataQueryWriter>(result__)
3281     }
CreateQueryWriterFromReader<'a, Param0: ::windows::runtime::IntoParam<'a, IWICMetadataQueryReader>>(&self, piqueryreader: Param0, pguidvendor: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IWICMetadataQueryWriter>3282     pub unsafe fn CreateQueryWriterFromReader<'a, Param0: ::windows::runtime::IntoParam<'a, IWICMetadataQueryReader>>(&self, piqueryreader: Param0, pguidvendor: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IWICMetadataQueryWriter> {
3283         let mut result__: <IWICMetadataQueryWriter as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3284         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), piqueryreader.into_param().abi(), ::std::mem::transmute(pguidvendor), &mut result__).from_abi::<IWICMetadataQueryWriter>(result__)
3285     }
3286     #[cfg(feature = "Win32_Graphics_Direct2D")]
CreateImageEncoder<'a, Param0: ::windows::runtime::IntoParam<'a, super::Direct2D::ID2D1Device>>(&self, pd2ddevice: Param0) -> ::windows::runtime::Result<IWICImageEncoder>3287     pub unsafe fn CreateImageEncoder<'a, Param0: ::windows::runtime::IntoParam<'a, super::Direct2D::ID2D1Device>>(&self, pd2ddevice: Param0) -> ::windows::runtime::Result<IWICImageEncoder> {
3288         let mut result__: <IWICImageEncoder as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3289         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), pd2ddevice.into_param().abi(), &mut result__).from_abi::<IWICImageEncoder>(result__)
3290     }
3291 }
3292 unsafe impl ::windows::runtime::Interface for IWICImagingFactory2 {
3293     type Vtable = IWICImagingFactory2_abi;
3294     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2072079173, 6550, 17526, [177, 50, 222, 158, 36, 124, 138, 240]);
3295 }
3296 impl ::std::convert::From<IWICImagingFactory2> for ::windows::runtime::IUnknown {
from(value: IWICImagingFactory2) -> Self3297     fn from(value: IWICImagingFactory2) -> Self {
3298         unsafe { ::std::mem::transmute(value) }
3299     }
3300 }
3301 impl ::std::convert::From<&IWICImagingFactory2> for ::windows::runtime::IUnknown {
from(value: &IWICImagingFactory2) -> Self3302     fn from(value: &IWICImagingFactory2) -> Self {
3303         ::std::convert::From::from(::std::clone::Clone::clone(value))
3304     }
3305 }
3306 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICImagingFactory2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3307     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3308         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3309     }
3310 }
3311 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICImagingFactory2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3312     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3313         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3314     }
3315 }
3316 impl ::std::convert::From<IWICImagingFactory2> for IWICImagingFactory {
from(value: IWICImagingFactory2) -> Self3317     fn from(value: IWICImagingFactory2) -> Self {
3318         unsafe { ::std::mem::transmute(value) }
3319     }
3320 }
3321 impl ::std::convert::From<&IWICImagingFactory2> for IWICImagingFactory {
from(value: &IWICImagingFactory2) -> Self3322     fn from(value: &IWICImagingFactory2) -> Self {
3323         ::std::convert::From::from(::std::clone::Clone::clone(value))
3324     }
3325 }
3326 impl<'a> ::windows::runtime::IntoParam<'a, IWICImagingFactory> for IWICImagingFactory2 {
into_param(self) -> ::windows::runtime::Param<'a, IWICImagingFactory>3327     fn into_param(self) -> ::windows::runtime::Param<'a, IWICImagingFactory> {
3328         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICImagingFactory>::into(self))
3329     }
3330 }
3331 impl<'a> ::windows::runtime::IntoParam<'a, IWICImagingFactory> for &IWICImagingFactory2 {
into_param(self) -> ::windows::runtime::Param<'a, IWICImagingFactory>3332     fn into_param(self) -> ::windows::runtime::Param<'a, IWICImagingFactory> {
3333         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICImagingFactory>::into(::std::clone::Clone::clone(self)))
3334     }
3335 }
3336 #[repr(C)]
3337 #[doc(hidden)]
3338 pub struct IWICImagingFactory2_abi(
3339     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3340     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3341     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3342     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, wzfilename: super::super::Foundation::PWSTR, pguidvendor: *const ::windows::runtime::GUID, dwdesiredaccess: u32, metadataoptions: WICDecodeOptions, ppidecoder: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3343     #[cfg(not(feature = "Win32_Foundation"))] usize,
3344     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pistream: ::windows::runtime::RawPtr, pguidvendor: *const ::windows::runtime::GUID, metadataoptions: WICDecodeOptions, ppidecoder: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3345     #[cfg(not(feature = "Win32_System_Com"))] usize,
3346     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hfile: usize, pguidvendor: *const ::windows::runtime::GUID, metadataoptions: WICDecodeOptions, ppidecoder: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3347     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, clsidcomponent: *const ::windows::runtime::GUID, ppiinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3348     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guidcontainerformat: *const ::windows::runtime::GUID, pguidvendor: *const ::windows::runtime::GUID, ppidecoder: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3349     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guidcontainerformat: *const ::windows::runtime::GUID, pguidvendor: *const ::windows::runtime::GUID, ppiencoder: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3350     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppipalette: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3351     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppiformatconverter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3352     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppibitmapscaler: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3353     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppibitmapclipper: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3354     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppibitmapfliprotator: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3355     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppiwicstream: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3356     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppiwiccolorcontext: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3357     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppiwiccolortransform: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3358     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uiwidth: u32, uiheight: u32, pixelformat: *const ::windows::runtime::GUID, option: WICBitmapCreateCacheOption, ppibitmap: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3359     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pibitmapsource: ::windows::runtime::RawPtr, option: WICBitmapCreateCacheOption, ppibitmap: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3360     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pibitmapsource: ::windows::runtime::RawPtr, x: u32, y: u32, width: u32, height: u32, ppibitmap: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3361     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uiwidth: u32, uiheight: u32, pixelformat: *const ::windows::runtime::GUID, cbstride: u32, cbbuffersize: u32, pbbuffer: *const u8, ppibitmap: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3362     #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hbitmap: super::Gdi::HBITMAP, hpalette: super::Gdi::HPALETTE, options: WICBitmapAlphaChannelOption, ppibitmap: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3363     #[cfg(not(feature = "Win32_Graphics_Gdi"))] usize,
3364     #[cfg(feature = "Win32_UI_WindowsAndMessaging")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hicon: super::super::UI::WindowsAndMessaging::HICON, ppibitmap: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3365     #[cfg(not(feature = "Win32_UI_WindowsAndMessaging"))] usize,
3366     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, componenttypes: u32, options: u32, ppienumunknown: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3367     #[cfg(not(feature = "Win32_System_Com"))] usize,
3368     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pidecoder: ::windows::runtime::RawPtr, ppifastencoder: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3369     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, piframedecoder: ::windows::runtime::RawPtr, ppifastencoder: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3370     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guidmetadataformat: *const ::windows::runtime::GUID, pguidvendor: *const ::windows::runtime::GUID, ppiquerywriter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3371     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, piqueryreader: ::windows::runtime::RawPtr, pguidvendor: *const ::windows::runtime::GUID, ppiquerywriter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3372     #[cfg(feature = "Win32_Graphics_Direct2D")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pd2ddevice: ::windows::runtime::RawPtr, ppwicimageencoder: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3373     #[cfg(not(feature = "Win32_Graphics_Direct2D"))] usize,
3374 );
3375 #[repr(transparent)]
3376 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3377 pub struct IWICJpegFrameDecode(::windows::runtime::IUnknown);
3378 impl IWICJpegFrameDecode {
3379     #[cfg(feature = "Win32_Foundation")]
DoesSupportIndexing(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>3380     pub unsafe fn DoesSupportIndexing(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
3381         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3382         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
3383     }
SetIndexing(&self, options: WICJpegIndexingOptions, horizontalintervalsize: u32) -> ::windows::runtime::Result<()>3384     pub unsafe fn SetIndexing(&self, options: WICJpegIndexingOptions, horizontalintervalsize: u32) -> ::windows::runtime::Result<()> {
3385         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(options), ::std::mem::transmute(horizontalintervalsize)).ok()
3386     }
ClearIndexing(&self) -> ::windows::runtime::Result<()>3387     pub unsafe fn ClearIndexing(&self) -> ::windows::runtime::Result<()> {
3388         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
3389     }
3390     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetAcHuffmanTable(&self, scanindex: u32, tableindex: u32) -> ::windows::runtime::Result<super::Dxgi::DXGI_JPEG_AC_HUFFMAN_TABLE>3391     pub unsafe fn GetAcHuffmanTable(&self, scanindex: u32, tableindex: u32) -> ::windows::runtime::Result<super::Dxgi::DXGI_JPEG_AC_HUFFMAN_TABLE> {
3392         let mut result__: <super::Dxgi::DXGI_JPEG_AC_HUFFMAN_TABLE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3393         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(scanindex), ::std::mem::transmute(tableindex), &mut result__).from_abi::<super::Dxgi::DXGI_JPEG_AC_HUFFMAN_TABLE>(result__)
3394     }
3395     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetDcHuffmanTable(&self, scanindex: u32, tableindex: u32) -> ::windows::runtime::Result<super::Dxgi::DXGI_JPEG_DC_HUFFMAN_TABLE>3396     pub unsafe fn GetDcHuffmanTable(&self, scanindex: u32, tableindex: u32) -> ::windows::runtime::Result<super::Dxgi::DXGI_JPEG_DC_HUFFMAN_TABLE> {
3397         let mut result__: <super::Dxgi::DXGI_JPEG_DC_HUFFMAN_TABLE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3398         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(scanindex), ::std::mem::transmute(tableindex), &mut result__).from_abi::<super::Dxgi::DXGI_JPEG_DC_HUFFMAN_TABLE>(result__)
3399     }
3400     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetQuantizationTable(&self, scanindex: u32, tableindex: u32) -> ::windows::runtime::Result<super::Dxgi::DXGI_JPEG_QUANTIZATION_TABLE>3401     pub unsafe fn GetQuantizationTable(&self, scanindex: u32, tableindex: u32) -> ::windows::runtime::Result<super::Dxgi::DXGI_JPEG_QUANTIZATION_TABLE> {
3402         let mut result__: <super::Dxgi::DXGI_JPEG_QUANTIZATION_TABLE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3403         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(scanindex), ::std::mem::transmute(tableindex), &mut result__).from_abi::<super::Dxgi::DXGI_JPEG_QUANTIZATION_TABLE>(result__)
3404     }
GetFrameHeader(&self) -> ::windows::runtime::Result<WICJpegFrameHeader>3405     pub unsafe fn GetFrameHeader(&self) -> ::windows::runtime::Result<WICJpegFrameHeader> {
3406         let mut result__: <WICJpegFrameHeader as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3407         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WICJpegFrameHeader>(result__)
3408     }
GetScanHeader(&self, scanindex: u32) -> ::windows::runtime::Result<WICJpegScanHeader>3409     pub unsafe fn GetScanHeader(&self, scanindex: u32) -> ::windows::runtime::Result<WICJpegScanHeader> {
3410         let mut result__: <WICJpegScanHeader as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3411         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(scanindex), &mut result__).from_abi::<WICJpegScanHeader>(result__)
3412     }
CopyScan(&self, scanindex: u32, scanoffset: u32, cbscandata: u32, pbscandata: *mut u8, pcbscandataactual: *mut u32) -> ::windows::runtime::Result<()>3413     pub unsafe fn CopyScan(&self, scanindex: u32, scanoffset: u32, cbscandata: u32, pbscandata: *mut u8, pcbscandataactual: *mut u32) -> ::windows::runtime::Result<()> {
3414         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(scanindex), ::std::mem::transmute(scanoffset), ::std::mem::transmute(cbscandata), ::std::mem::transmute(pbscandata), ::std::mem::transmute(pcbscandataactual)).ok()
3415     }
CopyMinimalStream(&self, streamoffset: u32, cbstreamdata: u32, pbstreamdata: *mut u8, pcbstreamdataactual: *mut u32) -> ::windows::runtime::Result<()>3416     pub unsafe fn CopyMinimalStream(&self, streamoffset: u32, cbstreamdata: u32, pbstreamdata: *mut u8, pcbstreamdataactual: *mut u32) -> ::windows::runtime::Result<()> {
3417         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(streamoffset), ::std::mem::transmute(cbstreamdata), ::std::mem::transmute(pbstreamdata), ::std::mem::transmute(pcbstreamdataactual)).ok()
3418     }
3419 }
3420 unsafe impl ::windows::runtime::Interface for IWICJpegFrameDecode {
3421     type Vtable = IWICJpegFrameDecode_abi;
3422     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2302277230, 50282, 19489, [169, 209, 152, 179, 39, 206, 22, 121]);
3423 }
3424 impl ::std::convert::From<IWICJpegFrameDecode> for ::windows::runtime::IUnknown {
from(value: IWICJpegFrameDecode) -> Self3425     fn from(value: IWICJpegFrameDecode) -> Self {
3426         unsafe { ::std::mem::transmute(value) }
3427     }
3428 }
3429 impl ::std::convert::From<&IWICJpegFrameDecode> for ::windows::runtime::IUnknown {
from(value: &IWICJpegFrameDecode) -> Self3430     fn from(value: &IWICJpegFrameDecode) -> Self {
3431         ::std::convert::From::from(::std::clone::Clone::clone(value))
3432     }
3433 }
3434 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICJpegFrameDecode {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3435     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3436         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3437     }
3438 }
3439 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICJpegFrameDecode {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3440     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3441         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3442     }
3443 }
3444 #[repr(C)]
3445 #[doc(hidden)]
3446 pub struct IWICJpegFrameDecode_abi(
3447     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3448     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3449     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3450     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfindexingsupported: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
3451     #[cfg(not(feature = "Win32_Foundation"))] usize,
3452     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, options: WICJpegIndexingOptions, horizontalintervalsize: u32) -> ::windows::runtime::HRESULT,
3453     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3454     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scanindex: u32, tableindex: u32, pachuffmantable: *mut super::Dxgi::DXGI_JPEG_AC_HUFFMAN_TABLE) -> ::windows::runtime::HRESULT,
3455     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
3456     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scanindex: u32, tableindex: u32, pdchuffmantable: *mut super::Dxgi::DXGI_JPEG_DC_HUFFMAN_TABLE) -> ::windows::runtime::HRESULT,
3457     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
3458     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scanindex: u32, tableindex: u32, pquantizationtable: *mut super::Dxgi::DXGI_JPEG_QUANTIZATION_TABLE) -> ::windows::runtime::HRESULT,
3459     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
3460     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pframeheader: *mut WICJpegFrameHeader) -> ::windows::runtime::HRESULT,
3461     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scanindex: u32, pscanheader: *mut WICJpegScanHeader) -> ::windows::runtime::HRESULT,
3462     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scanindex: u32, scanoffset: u32, cbscandata: u32, pbscandata: *mut u8, pcbscandataactual: *mut u32) -> ::windows::runtime::HRESULT,
3463     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, streamoffset: u32, cbstreamdata: u32, pbstreamdata: *mut u8, pcbstreamdataactual: *mut u32) -> ::windows::runtime::HRESULT,
3464 );
3465 #[repr(transparent)]
3466 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3467 pub struct IWICJpegFrameEncode(::windows::runtime::IUnknown);
3468 impl IWICJpegFrameEncode {
3469     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetAcHuffmanTable(&self, scanindex: u32, tableindex: u32) -> ::windows::runtime::Result<super::Dxgi::DXGI_JPEG_AC_HUFFMAN_TABLE>3470     pub unsafe fn GetAcHuffmanTable(&self, scanindex: u32, tableindex: u32) -> ::windows::runtime::Result<super::Dxgi::DXGI_JPEG_AC_HUFFMAN_TABLE> {
3471         let mut result__: <super::Dxgi::DXGI_JPEG_AC_HUFFMAN_TABLE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3472         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(scanindex), ::std::mem::transmute(tableindex), &mut result__).from_abi::<super::Dxgi::DXGI_JPEG_AC_HUFFMAN_TABLE>(result__)
3473     }
3474     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetDcHuffmanTable(&self, scanindex: u32, tableindex: u32) -> ::windows::runtime::Result<super::Dxgi::DXGI_JPEG_DC_HUFFMAN_TABLE>3475     pub unsafe fn GetDcHuffmanTable(&self, scanindex: u32, tableindex: u32) -> ::windows::runtime::Result<super::Dxgi::DXGI_JPEG_DC_HUFFMAN_TABLE> {
3476         let mut result__: <super::Dxgi::DXGI_JPEG_DC_HUFFMAN_TABLE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3477         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(scanindex), ::std::mem::transmute(tableindex), &mut result__).from_abi::<super::Dxgi::DXGI_JPEG_DC_HUFFMAN_TABLE>(result__)
3478     }
3479     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetQuantizationTable(&self, scanindex: u32, tableindex: u32) -> ::windows::runtime::Result<super::Dxgi::DXGI_JPEG_QUANTIZATION_TABLE>3480     pub unsafe fn GetQuantizationTable(&self, scanindex: u32, tableindex: u32) -> ::windows::runtime::Result<super::Dxgi::DXGI_JPEG_QUANTIZATION_TABLE> {
3481         let mut result__: <super::Dxgi::DXGI_JPEG_QUANTIZATION_TABLE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3482         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(scanindex), ::std::mem::transmute(tableindex), &mut result__).from_abi::<super::Dxgi::DXGI_JPEG_QUANTIZATION_TABLE>(result__)
3483     }
WriteScan(&self, cbscandata: u32, pbscandata: *const u8) -> ::windows::runtime::Result<()>3484     pub unsafe fn WriteScan(&self, cbscandata: u32, pbscandata: *const u8) -> ::windows::runtime::Result<()> {
3485         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(cbscandata), ::std::mem::transmute(pbscandata)).ok()
3486     }
3487 }
3488 unsafe impl ::windows::runtime::Interface for IWICJpegFrameEncode {
3489     type Vtable = IWICJpegFrameEncode_abi;
3490     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(789340191, 53958, 18060, [171, 250, 73, 73, 93, 152, 62, 209]);
3491 }
3492 impl ::std::convert::From<IWICJpegFrameEncode> for ::windows::runtime::IUnknown {
from(value: IWICJpegFrameEncode) -> Self3493     fn from(value: IWICJpegFrameEncode) -> Self {
3494         unsafe { ::std::mem::transmute(value) }
3495     }
3496 }
3497 impl ::std::convert::From<&IWICJpegFrameEncode> for ::windows::runtime::IUnknown {
from(value: &IWICJpegFrameEncode) -> Self3498     fn from(value: &IWICJpegFrameEncode) -> Self {
3499         ::std::convert::From::from(::std::clone::Clone::clone(value))
3500     }
3501 }
3502 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICJpegFrameEncode {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3503     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3504         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3505     }
3506 }
3507 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICJpegFrameEncode {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3508     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3509         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3510     }
3511 }
3512 #[repr(C)]
3513 #[doc(hidden)]
3514 pub struct IWICJpegFrameEncode_abi(
3515     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3516     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3517     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3518     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scanindex: u32, tableindex: u32, pachuffmantable: *mut super::Dxgi::DXGI_JPEG_AC_HUFFMAN_TABLE) -> ::windows::runtime::HRESULT,
3519     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
3520     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scanindex: u32, tableindex: u32, pdchuffmantable: *mut super::Dxgi::DXGI_JPEG_DC_HUFFMAN_TABLE) -> ::windows::runtime::HRESULT,
3521     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
3522     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scanindex: u32, tableindex: u32, pquantizationtable: *mut super::Dxgi::DXGI_JPEG_QUANTIZATION_TABLE) -> ::windows::runtime::HRESULT,
3523     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
3524     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cbscandata: u32, pbscandata: *const u8) -> ::windows::runtime::HRESULT,
3525 );
3526 #[repr(transparent)]
3527 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3528 pub struct IWICMetadataBlockReader(::windows::runtime::IUnknown);
3529 impl IWICMetadataBlockReader {
GetContainerFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>3530     pub unsafe fn GetContainerFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
3531         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3532         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
3533     }
GetCount(&self) -> ::windows::runtime::Result<u32>3534     pub unsafe fn GetCount(&self) -> ::windows::runtime::Result<u32> {
3535         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3536         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3537     }
GetReaderByIndex(&self, nindex: u32) -> ::windows::runtime::Result<IWICMetadataReader>3538     pub unsafe fn GetReaderByIndex(&self, nindex: u32) -> ::windows::runtime::Result<IWICMetadataReader> {
3539         let mut result__: <IWICMetadataReader as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3540         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(nindex), &mut result__).from_abi::<IWICMetadataReader>(result__)
3541     }
3542     #[cfg(feature = "Win32_System_Com")]
GetEnumerator(&self) -> ::windows::runtime::Result<super::super::System::Com::IEnumUnknown>3543     pub unsafe fn GetEnumerator(&self) -> ::windows::runtime::Result<super::super::System::Com::IEnumUnknown> {
3544         let mut result__: <super::super::System::Com::IEnumUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3545         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::IEnumUnknown>(result__)
3546     }
3547 }
3548 unsafe impl ::windows::runtime::Interface for IWICMetadataBlockReader {
3549     type Vtable = IWICMetadataBlockReader_abi;
3550     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4272564877, 46067, 17380, [178, 92, 209, 222, 153, 10, 26, 225]);
3551 }
3552 impl ::std::convert::From<IWICMetadataBlockReader> for ::windows::runtime::IUnknown {
from(value: IWICMetadataBlockReader) -> Self3553     fn from(value: IWICMetadataBlockReader) -> Self {
3554         unsafe { ::std::mem::transmute(value) }
3555     }
3556 }
3557 impl ::std::convert::From<&IWICMetadataBlockReader> for ::windows::runtime::IUnknown {
from(value: &IWICMetadataBlockReader) -> Self3558     fn from(value: &IWICMetadataBlockReader) -> Self {
3559         ::std::convert::From::from(::std::clone::Clone::clone(value))
3560     }
3561 }
3562 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICMetadataBlockReader {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3563     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3564         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3565     }
3566 }
3567 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICMetadataBlockReader {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3568     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3569         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3570     }
3571 }
3572 #[repr(C)]
3573 #[doc(hidden)]
3574 pub struct IWICMetadataBlockReader_abi(
3575     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3576     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3577     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3578     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pguidcontainerformat: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3579     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pccount: *mut u32) -> ::windows::runtime::HRESULT,
3580     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nindex: u32, ppimetadatareader: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3581     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppienummetadata: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3582     #[cfg(not(feature = "Win32_System_Com"))] usize,
3583 );
3584 #[repr(transparent)]
3585 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3586 pub struct IWICMetadataBlockWriter(::windows::runtime::IUnknown);
3587 impl IWICMetadataBlockWriter {
GetContainerFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>3588     pub unsafe fn GetContainerFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
3589         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3590         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
3591     }
GetCount(&self) -> ::windows::runtime::Result<u32>3592     pub unsafe fn GetCount(&self) -> ::windows::runtime::Result<u32> {
3593         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3594         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3595     }
GetReaderByIndex(&self, nindex: u32) -> ::windows::runtime::Result<IWICMetadataReader>3596     pub unsafe fn GetReaderByIndex(&self, nindex: u32) -> ::windows::runtime::Result<IWICMetadataReader> {
3597         let mut result__: <IWICMetadataReader as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3598         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(nindex), &mut result__).from_abi::<IWICMetadataReader>(result__)
3599     }
3600     #[cfg(feature = "Win32_System_Com")]
GetEnumerator(&self) -> ::windows::runtime::Result<super::super::System::Com::IEnumUnknown>3601     pub unsafe fn GetEnumerator(&self) -> ::windows::runtime::Result<super::super::System::Com::IEnumUnknown> {
3602         let mut result__: <super::super::System::Com::IEnumUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3603         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::IEnumUnknown>(result__)
3604     }
InitializeFromBlockReader<'a, Param0: ::windows::runtime::IntoParam<'a, IWICMetadataBlockReader>>(&self, pimdblockreader: Param0) -> ::windows::runtime::Result<()>3605     pub unsafe fn InitializeFromBlockReader<'a, Param0: ::windows::runtime::IntoParam<'a, IWICMetadataBlockReader>>(&self, pimdblockreader: Param0) -> ::windows::runtime::Result<()> {
3606         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), pimdblockreader.into_param().abi()).ok()
3607     }
GetWriterByIndex(&self, nindex: u32) -> ::windows::runtime::Result<IWICMetadataWriter>3608     pub unsafe fn GetWriterByIndex(&self, nindex: u32) -> ::windows::runtime::Result<IWICMetadataWriter> {
3609         let mut result__: <IWICMetadataWriter as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3610         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(nindex), &mut result__).from_abi::<IWICMetadataWriter>(result__)
3611     }
AddWriter<'a, Param0: ::windows::runtime::IntoParam<'a, IWICMetadataWriter>>(&self, pimetadatawriter: Param0) -> ::windows::runtime::Result<()>3612     pub unsafe fn AddWriter<'a, Param0: ::windows::runtime::IntoParam<'a, IWICMetadataWriter>>(&self, pimetadatawriter: Param0) -> ::windows::runtime::Result<()> {
3613         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), pimetadatawriter.into_param().abi()).ok()
3614     }
SetWriterByIndex<'a, Param1: ::windows::runtime::IntoParam<'a, IWICMetadataWriter>>(&self, nindex: u32, pimetadatawriter: Param1) -> ::windows::runtime::Result<()>3615     pub unsafe fn SetWriterByIndex<'a, Param1: ::windows::runtime::IntoParam<'a, IWICMetadataWriter>>(&self, nindex: u32, pimetadatawriter: Param1) -> ::windows::runtime::Result<()> {
3616         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(nindex), pimetadatawriter.into_param().abi()).ok()
3617     }
RemoveWriterByIndex(&self, nindex: u32) -> ::windows::runtime::Result<()>3618     pub unsafe fn RemoveWriterByIndex(&self, nindex: u32) -> ::windows::runtime::Result<()> {
3619         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(nindex)).ok()
3620     }
3621 }
3622 unsafe impl ::windows::runtime::Interface for IWICMetadataBlockWriter {
3623     type Vtable = IWICMetadataBlockWriter_abi;
3624     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(150705782, 46148, 16872, [141, 190, 106, 83, 165, 66, 191, 241]);
3625 }
3626 impl ::std::convert::From<IWICMetadataBlockWriter> for ::windows::runtime::IUnknown {
from(value: IWICMetadataBlockWriter) -> Self3627     fn from(value: IWICMetadataBlockWriter) -> Self {
3628         unsafe { ::std::mem::transmute(value) }
3629     }
3630 }
3631 impl ::std::convert::From<&IWICMetadataBlockWriter> for ::windows::runtime::IUnknown {
from(value: &IWICMetadataBlockWriter) -> Self3632     fn from(value: &IWICMetadataBlockWriter) -> Self {
3633         ::std::convert::From::from(::std::clone::Clone::clone(value))
3634     }
3635 }
3636 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICMetadataBlockWriter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3637     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3638         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3639     }
3640 }
3641 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICMetadataBlockWriter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3642     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3643         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3644     }
3645 }
3646 impl ::std::convert::From<IWICMetadataBlockWriter> for IWICMetadataBlockReader {
from(value: IWICMetadataBlockWriter) -> Self3647     fn from(value: IWICMetadataBlockWriter) -> Self {
3648         unsafe { ::std::mem::transmute(value) }
3649     }
3650 }
3651 impl ::std::convert::From<&IWICMetadataBlockWriter> for IWICMetadataBlockReader {
from(value: &IWICMetadataBlockWriter) -> Self3652     fn from(value: &IWICMetadataBlockWriter) -> Self {
3653         ::std::convert::From::from(::std::clone::Clone::clone(value))
3654     }
3655 }
3656 impl<'a> ::windows::runtime::IntoParam<'a, IWICMetadataBlockReader> for IWICMetadataBlockWriter {
into_param(self) -> ::windows::runtime::Param<'a, IWICMetadataBlockReader>3657     fn into_param(self) -> ::windows::runtime::Param<'a, IWICMetadataBlockReader> {
3658         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICMetadataBlockReader>::into(self))
3659     }
3660 }
3661 impl<'a> ::windows::runtime::IntoParam<'a, IWICMetadataBlockReader> for &IWICMetadataBlockWriter {
into_param(self) -> ::windows::runtime::Param<'a, IWICMetadataBlockReader>3662     fn into_param(self) -> ::windows::runtime::Param<'a, IWICMetadataBlockReader> {
3663         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICMetadataBlockReader>::into(::std::clone::Clone::clone(self)))
3664     }
3665 }
3666 #[repr(C)]
3667 #[doc(hidden)]
3668 pub struct IWICMetadataBlockWriter_abi(
3669     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3670     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3671     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3672     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pguidcontainerformat: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3673     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pccount: *mut u32) -> ::windows::runtime::HRESULT,
3674     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nindex: u32, ppimetadatareader: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3675     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppienummetadata: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3676     #[cfg(not(feature = "Win32_System_Com"))] usize,
3677     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pimdblockreader: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3678     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nindex: u32, ppimetadatawriter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3679     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pimetadatawriter: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3680     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nindex: u32, pimetadatawriter: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3681     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nindex: u32) -> ::windows::runtime::HRESULT,
3682 );
3683 #[repr(transparent)]
3684 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3685 pub struct IWICMetadataHandlerInfo(::windows::runtime::IUnknown);
3686 impl IWICMetadataHandlerInfo {
GetComponentType(&self) -> ::windows::runtime::Result<WICComponentType>3687     pub unsafe fn GetComponentType(&self) -> ::windows::runtime::Result<WICComponentType> {
3688         let mut result__: <WICComponentType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3689         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WICComponentType>(result__)
3690     }
GetCLSID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>3691     pub unsafe fn GetCLSID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
3692         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3693         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
3694     }
GetSigningStatus(&self) -> ::windows::runtime::Result<u32>3695     pub unsafe fn GetSigningStatus(&self) -> ::windows::runtime::Result<u32> {
3696         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3697         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3698     }
3699     #[cfg(feature = "Win32_Foundation")]
GetAuthor<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchauthor: u32, wzauthor: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>3700     pub unsafe fn GetAuthor<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchauthor: u32, wzauthor: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
3701         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchauthor), wzauthor.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
3702     }
GetVendorGUID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>3703     pub unsafe fn GetVendorGUID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
3704         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3705         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
3706     }
3707     #[cfg(feature = "Win32_Foundation")]
GetVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchversion: u32, wzversion: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>3708     pub unsafe fn GetVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchversion: u32, wzversion: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
3709         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchversion), wzversion.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
3710     }
3711     #[cfg(feature = "Win32_Foundation")]
GetSpecVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchspecversion: u32, wzspecversion: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>3712     pub unsafe fn GetSpecVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchspecversion: u32, wzspecversion: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
3713         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchspecversion), wzspecversion.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
3714     }
3715     #[cfg(feature = "Win32_Foundation")]
GetFriendlyName<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchfriendlyname: u32, wzfriendlyname: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>3716     pub unsafe fn GetFriendlyName<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchfriendlyname: u32, wzfriendlyname: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
3717         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchfriendlyname), wzfriendlyname.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
3718     }
GetMetadataFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>3719     pub unsafe fn GetMetadataFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
3720         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3721         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
3722     }
GetContainerFormats(&self, ccontainerformats: u32, pguidcontainerformats: *mut ::windows::runtime::GUID, pcchactual: *mut u32) -> ::windows::runtime::Result<()>3723     pub unsafe fn GetContainerFormats(&self, ccontainerformats: u32, pguidcontainerformats: *mut ::windows::runtime::GUID, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
3724         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(ccontainerformats), ::std::mem::transmute(pguidcontainerformats), ::std::mem::transmute(pcchactual)).ok()
3725     }
3726     #[cfg(feature = "Win32_Foundation")]
GetDeviceManufacturer<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchdevicemanufacturer: u32, wzdevicemanufacturer: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>3727     pub unsafe fn GetDeviceManufacturer<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchdevicemanufacturer: u32, wzdevicemanufacturer: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
3728         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchdevicemanufacturer), wzdevicemanufacturer.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
3729     }
3730     #[cfg(feature = "Win32_Foundation")]
GetDeviceModels<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchdevicemodels: u32, wzdevicemodels: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>3731     pub unsafe fn GetDeviceModels<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchdevicemodels: u32, wzdevicemodels: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
3732         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchdevicemodels), wzdevicemodels.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
3733     }
3734     #[cfg(feature = "Win32_Foundation")]
DoesRequireFullStream(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>3735     pub unsafe fn DoesRequireFullStream(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
3736         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3737         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
3738     }
3739     #[cfg(feature = "Win32_Foundation")]
DoesSupportPadding(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>3740     pub unsafe fn DoesSupportPadding(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
3741         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3742         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
3743     }
3744     #[cfg(feature = "Win32_Foundation")]
DoesRequireFixedSize(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>3745     pub unsafe fn DoesRequireFixedSize(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
3746         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3747         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
3748     }
3749 }
3750 unsafe impl ::windows::runtime::Interface for IWICMetadataHandlerInfo {
3751     type Vtable = IWICMetadataHandlerInfo_abi;
3752     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2880002239, 50802, 17617, [141, 97, 206, 109, 242, 230, 130, 194]);
3753 }
3754 impl ::std::convert::From<IWICMetadataHandlerInfo> for ::windows::runtime::IUnknown {
from(value: IWICMetadataHandlerInfo) -> Self3755     fn from(value: IWICMetadataHandlerInfo) -> Self {
3756         unsafe { ::std::mem::transmute(value) }
3757     }
3758 }
3759 impl ::std::convert::From<&IWICMetadataHandlerInfo> for ::windows::runtime::IUnknown {
from(value: &IWICMetadataHandlerInfo) -> Self3760     fn from(value: &IWICMetadataHandlerInfo) -> Self {
3761         ::std::convert::From::from(::std::clone::Clone::clone(value))
3762     }
3763 }
3764 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICMetadataHandlerInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3765     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3766         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3767     }
3768 }
3769 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICMetadataHandlerInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3770     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3771         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3772     }
3773 }
3774 impl ::std::convert::From<IWICMetadataHandlerInfo> for IWICComponentInfo {
from(value: IWICMetadataHandlerInfo) -> Self3775     fn from(value: IWICMetadataHandlerInfo) -> Self {
3776         unsafe { ::std::mem::transmute(value) }
3777     }
3778 }
3779 impl ::std::convert::From<&IWICMetadataHandlerInfo> for IWICComponentInfo {
from(value: &IWICMetadataHandlerInfo) -> Self3780     fn from(value: &IWICMetadataHandlerInfo) -> Self {
3781         ::std::convert::From::from(::std::clone::Clone::clone(value))
3782     }
3783 }
3784 impl<'a> ::windows::runtime::IntoParam<'a, IWICComponentInfo> for IWICMetadataHandlerInfo {
into_param(self) -> ::windows::runtime::Param<'a, IWICComponentInfo>3785     fn into_param(self) -> ::windows::runtime::Param<'a, IWICComponentInfo> {
3786         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICComponentInfo>::into(self))
3787     }
3788 }
3789 impl<'a> ::windows::runtime::IntoParam<'a, IWICComponentInfo> for &IWICMetadataHandlerInfo {
into_param(self) -> ::windows::runtime::Param<'a, IWICComponentInfo>3790     fn into_param(self) -> ::windows::runtime::Param<'a, IWICComponentInfo> {
3791         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICComponentInfo>::into(::std::clone::Clone::clone(self)))
3792     }
3793 }
3794 #[repr(C)]
3795 #[doc(hidden)]
3796 pub struct IWICMetadataHandlerInfo_abi(
3797     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3798     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3799     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3800     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptype: *mut WICComponentType) -> ::windows::runtime::HRESULT,
3801     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pclsid: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3802     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstatus: *mut u32) -> ::windows::runtime::HRESULT,
3803     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchauthor: u32, wzauthor: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
3804     #[cfg(not(feature = "Win32_Foundation"))] usize,
3805     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pguidvendor: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3806     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchversion: u32, wzversion: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
3807     #[cfg(not(feature = "Win32_Foundation"))] usize,
3808     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchspecversion: u32, wzspecversion: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
3809     #[cfg(not(feature = "Win32_Foundation"))] usize,
3810     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchfriendlyname: u32, wzfriendlyname: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
3811     #[cfg(not(feature = "Win32_Foundation"))] usize,
3812     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pguidmetadataformat: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3813     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ccontainerformats: u32, pguidcontainerformats: *mut ::windows::runtime::GUID, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
3814     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchdevicemanufacturer: u32, wzdevicemanufacturer: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
3815     #[cfg(not(feature = "Win32_Foundation"))] usize,
3816     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchdevicemodels: u32, wzdevicemodels: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
3817     #[cfg(not(feature = "Win32_Foundation"))] usize,
3818     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfrequiresfullstream: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
3819     #[cfg(not(feature = "Win32_Foundation"))] usize,
3820     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfsupportspadding: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
3821     #[cfg(not(feature = "Win32_Foundation"))] usize,
3822     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pffixedsize: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
3823     #[cfg(not(feature = "Win32_Foundation"))] usize,
3824 );
3825 #[repr(transparent)]
3826 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3827 pub struct IWICMetadataQueryReader(::windows::runtime::IUnknown);
3828 impl IWICMetadataQueryReader {
GetContainerFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>3829     pub unsafe fn GetContainerFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
3830         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3831         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
3832     }
3833     #[cfg(feature = "Win32_Foundation")]
GetLocation<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchmaxlength: u32, wznamespace: Param1, pcchactuallength: *mut u32) -> ::windows::runtime::Result<()>3834     pub unsafe fn GetLocation<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchmaxlength: u32, wznamespace: Param1, pcchactuallength: *mut u32) -> ::windows::runtime::Result<()> {
3835         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchmaxlength), wznamespace.into_param().abi(), ::std::mem::transmute(pcchactuallength)).ok()
3836     }
3837     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))]
GetMetadataByName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, wzname: Param0, pvarvalue: *mut super::super::System::Com::StructuredStorage::PROPVARIANT) -> ::windows::runtime::Result<()>3838     pub unsafe fn GetMetadataByName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, wzname: Param0, pvarvalue: *mut super::super::System::Com::StructuredStorage::PROPVARIANT) -> ::windows::runtime::Result<()> {
3839         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), wzname.into_param().abi(), ::std::mem::transmute(pvarvalue)).ok()
3840     }
3841     #[cfg(feature = "Win32_System_Com")]
GetEnumerator(&self) -> ::windows::runtime::Result<super::super::System::Com::IEnumString>3842     pub unsafe fn GetEnumerator(&self) -> ::windows::runtime::Result<super::super::System::Com::IEnumString> {
3843         let mut result__: <super::super::System::Com::IEnumString as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3844         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::IEnumString>(result__)
3845     }
3846 }
3847 unsafe impl ::windows::runtime::Interface for IWICMetadataQueryReader {
3848     type Vtable = IWICMetadataQueryReader_abi;
3849     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(815306344, 57801, 17815, [179, 149, 69, 142, 237, 184, 8, 223]);
3850 }
3851 impl ::std::convert::From<IWICMetadataQueryReader> for ::windows::runtime::IUnknown {
from(value: IWICMetadataQueryReader) -> Self3852     fn from(value: IWICMetadataQueryReader) -> Self {
3853         unsafe { ::std::mem::transmute(value) }
3854     }
3855 }
3856 impl ::std::convert::From<&IWICMetadataQueryReader> for ::windows::runtime::IUnknown {
from(value: &IWICMetadataQueryReader) -> Self3857     fn from(value: &IWICMetadataQueryReader) -> Self {
3858         ::std::convert::From::from(::std::clone::Clone::clone(value))
3859     }
3860 }
3861 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICMetadataQueryReader {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3862     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3863         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3864     }
3865 }
3866 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICMetadataQueryReader {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3867     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3868         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3869     }
3870 }
3871 #[repr(C)]
3872 #[doc(hidden)]
3873 pub struct IWICMetadataQueryReader_abi(
3874     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3875     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3876     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3877     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pguidcontainerformat: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3878     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchmaxlength: u32, wznamespace: super::super::Foundation::PWSTR, pcchactuallength: *mut u32) -> ::windows::runtime::HRESULT,
3879     #[cfg(not(feature = "Win32_Foundation"))] usize,
3880     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, wzname: super::super::Foundation::PWSTR, pvarvalue: *mut ::std::mem::ManuallyDrop<super::super::System::Com::StructuredStorage::PROPVARIANT>) -> ::windows::runtime::HRESULT,
3881     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation")))] usize,
3882     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppienumstring: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3883     #[cfg(not(feature = "Win32_System_Com"))] usize,
3884 );
3885 #[repr(transparent)]
3886 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3887 pub struct IWICMetadataQueryWriter(::windows::runtime::IUnknown);
3888 impl IWICMetadataQueryWriter {
GetContainerFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>3889     pub unsafe fn GetContainerFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
3890         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3891         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
3892     }
3893     #[cfg(feature = "Win32_Foundation")]
GetLocation<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchmaxlength: u32, wznamespace: Param1, pcchactuallength: *mut u32) -> ::windows::runtime::Result<()>3894     pub unsafe fn GetLocation<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchmaxlength: u32, wznamespace: Param1, pcchactuallength: *mut u32) -> ::windows::runtime::Result<()> {
3895         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchmaxlength), wznamespace.into_param().abi(), ::std::mem::transmute(pcchactuallength)).ok()
3896     }
3897     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))]
GetMetadataByName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, wzname: Param0, pvarvalue: *mut super::super::System::Com::StructuredStorage::PROPVARIANT) -> ::windows::runtime::Result<()>3898     pub unsafe fn GetMetadataByName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, wzname: Param0, pvarvalue: *mut super::super::System::Com::StructuredStorage::PROPVARIANT) -> ::windows::runtime::Result<()> {
3899         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), wzname.into_param().abi(), ::std::mem::transmute(pvarvalue)).ok()
3900     }
3901     #[cfg(feature = "Win32_System_Com")]
GetEnumerator(&self) -> ::windows::runtime::Result<super::super::System::Com::IEnumString>3902     pub unsafe fn GetEnumerator(&self) -> ::windows::runtime::Result<super::super::System::Com::IEnumString> {
3903         let mut result__: <super::super::System::Com::IEnumString as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3904         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::IEnumString>(result__)
3905     }
3906     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))]
SetMetadataByName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, wzname: Param0, pvarvalue: *const super::super::System::Com::StructuredStorage::PROPVARIANT) -> ::windows::runtime::Result<()>3907     pub unsafe fn SetMetadataByName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, wzname: Param0, pvarvalue: *const super::super::System::Com::StructuredStorage::PROPVARIANT) -> ::windows::runtime::Result<()> {
3908         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), wzname.into_param().abi(), ::std::mem::transmute(pvarvalue)).ok()
3909     }
3910     #[cfg(feature = "Win32_Foundation")]
RemoveMetadataByName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, wzname: Param0) -> ::windows::runtime::Result<()>3911     pub unsafe fn RemoveMetadataByName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, wzname: Param0) -> ::windows::runtime::Result<()> {
3912         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), wzname.into_param().abi()).ok()
3913     }
3914 }
3915 unsafe impl ::windows::runtime::Interface for IWICMetadataQueryWriter {
3916     type Vtable = IWICMetadataQueryWriter_abi;
3917     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2803988762, 3567, 19718, [189, 145, 33, 24, 191, 29, 177, 11]);
3918 }
3919 impl ::std::convert::From<IWICMetadataQueryWriter> for ::windows::runtime::IUnknown {
from(value: IWICMetadataQueryWriter) -> Self3920     fn from(value: IWICMetadataQueryWriter) -> Self {
3921         unsafe { ::std::mem::transmute(value) }
3922     }
3923 }
3924 impl ::std::convert::From<&IWICMetadataQueryWriter> for ::windows::runtime::IUnknown {
from(value: &IWICMetadataQueryWriter) -> Self3925     fn from(value: &IWICMetadataQueryWriter) -> Self {
3926         ::std::convert::From::from(::std::clone::Clone::clone(value))
3927     }
3928 }
3929 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICMetadataQueryWriter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3930     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3931         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3932     }
3933 }
3934 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICMetadataQueryWriter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3935     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3936         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3937     }
3938 }
3939 impl ::std::convert::From<IWICMetadataQueryWriter> for IWICMetadataQueryReader {
from(value: IWICMetadataQueryWriter) -> Self3940     fn from(value: IWICMetadataQueryWriter) -> Self {
3941         unsafe { ::std::mem::transmute(value) }
3942     }
3943 }
3944 impl ::std::convert::From<&IWICMetadataQueryWriter> for IWICMetadataQueryReader {
from(value: &IWICMetadataQueryWriter) -> Self3945     fn from(value: &IWICMetadataQueryWriter) -> Self {
3946         ::std::convert::From::from(::std::clone::Clone::clone(value))
3947     }
3948 }
3949 impl<'a> ::windows::runtime::IntoParam<'a, IWICMetadataQueryReader> for IWICMetadataQueryWriter {
into_param(self) -> ::windows::runtime::Param<'a, IWICMetadataQueryReader>3950     fn into_param(self) -> ::windows::runtime::Param<'a, IWICMetadataQueryReader> {
3951         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICMetadataQueryReader>::into(self))
3952     }
3953 }
3954 impl<'a> ::windows::runtime::IntoParam<'a, IWICMetadataQueryReader> for &IWICMetadataQueryWriter {
into_param(self) -> ::windows::runtime::Param<'a, IWICMetadataQueryReader>3955     fn into_param(self) -> ::windows::runtime::Param<'a, IWICMetadataQueryReader> {
3956         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICMetadataQueryReader>::into(::std::clone::Clone::clone(self)))
3957     }
3958 }
3959 #[repr(C)]
3960 #[doc(hidden)]
3961 pub struct IWICMetadataQueryWriter_abi(
3962     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3963     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3964     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3965     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pguidcontainerformat: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3966     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchmaxlength: u32, wznamespace: super::super::Foundation::PWSTR, pcchactuallength: *mut u32) -> ::windows::runtime::HRESULT,
3967     #[cfg(not(feature = "Win32_Foundation"))] usize,
3968     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, wzname: super::super::Foundation::PWSTR, pvarvalue: *mut ::std::mem::ManuallyDrop<super::super::System::Com::StructuredStorage::PROPVARIANT>) -> ::windows::runtime::HRESULT,
3969     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation")))] usize,
3970     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppienumstring: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3971     #[cfg(not(feature = "Win32_System_Com"))] usize,
3972     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, wzname: super::super::Foundation::PWSTR, pvarvalue: *const ::std::mem::ManuallyDrop<super::super::System::Com::StructuredStorage::PROPVARIANT>) -> ::windows::runtime::HRESULT,
3973     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation")))] usize,
3974     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, wzname: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3975     #[cfg(not(feature = "Win32_Foundation"))] usize,
3976 );
3977 #[repr(transparent)]
3978 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3979 pub struct IWICMetadataReader(::windows::runtime::IUnknown);
3980 impl IWICMetadataReader {
GetMetadataFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>3981     pub unsafe fn GetMetadataFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
3982         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3983         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
3984     }
GetMetadataHandlerInfo(&self) -> ::windows::runtime::Result<IWICMetadataHandlerInfo>3985     pub unsafe fn GetMetadataHandlerInfo(&self) -> ::windows::runtime::Result<IWICMetadataHandlerInfo> {
3986         let mut result__: <IWICMetadataHandlerInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3987         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICMetadataHandlerInfo>(result__)
3988     }
GetCount(&self) -> ::windows::runtime::Result<u32>3989     pub unsafe fn GetCount(&self) -> ::windows::runtime::Result<u32> {
3990         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3991         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3992     }
3993     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))]
GetValueByIndex(&self, nindex: u32, pvarschema: *mut super::super::System::Com::StructuredStorage::PROPVARIANT, pvarid: *mut super::super::System::Com::StructuredStorage::PROPVARIANT, pvarvalue: *mut super::super::System::Com::StructuredStorage::PROPVARIANT) -> ::windows::runtime::Result<()>3994     pub unsafe fn GetValueByIndex(&self, nindex: u32, pvarschema: *mut super::super::System::Com::StructuredStorage::PROPVARIANT, pvarid: *mut super::super::System::Com::StructuredStorage::PROPVARIANT, pvarvalue: *mut super::super::System::Com::StructuredStorage::PROPVARIANT) -> ::windows::runtime::Result<()> {
3995         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(nindex), ::std::mem::transmute(pvarschema), ::std::mem::transmute(pvarid), ::std::mem::transmute(pvarvalue)).ok()
3996     }
3997     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))]
GetValue(&self, pvarschema: *const super::super::System::Com::StructuredStorage::PROPVARIANT, pvarid: *const super::super::System::Com::StructuredStorage::PROPVARIANT, pvarvalue: *mut super::super::System::Com::StructuredStorage::PROPVARIANT) -> ::windows::runtime::Result<()>3998     pub unsafe fn GetValue(&self, pvarschema: *const super::super::System::Com::StructuredStorage::PROPVARIANT, pvarid: *const super::super::System::Com::StructuredStorage::PROPVARIANT, pvarvalue: *mut super::super::System::Com::StructuredStorage::PROPVARIANT) -> ::windows::runtime::Result<()> {
3999         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(pvarschema), ::std::mem::transmute(pvarid), ::std::mem::transmute(pvarvalue)).ok()
4000     }
GetEnumerator(&self) -> ::windows::runtime::Result<IWICEnumMetadataItem>4001     pub unsafe fn GetEnumerator(&self) -> ::windows::runtime::Result<IWICEnumMetadataItem> {
4002         let mut result__: <IWICEnumMetadataItem as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4003         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICEnumMetadataItem>(result__)
4004     }
4005 }
4006 unsafe impl ::windows::runtime::Interface for IWICMetadataReader {
4007     type Vtable = IWICMetadataReader_abi;
4008     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2449800857, 55548, 20437, [160, 1, 149, 54, 176, 103, 168, 153]);
4009 }
4010 impl ::std::convert::From<IWICMetadataReader> for ::windows::runtime::IUnknown {
from(value: IWICMetadataReader) -> Self4011     fn from(value: IWICMetadataReader) -> Self {
4012         unsafe { ::std::mem::transmute(value) }
4013     }
4014 }
4015 impl ::std::convert::From<&IWICMetadataReader> for ::windows::runtime::IUnknown {
from(value: &IWICMetadataReader) -> Self4016     fn from(value: &IWICMetadataReader) -> Self {
4017         ::std::convert::From::from(::std::clone::Clone::clone(value))
4018     }
4019 }
4020 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICMetadataReader {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4021     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4022         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4023     }
4024 }
4025 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICMetadataReader {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4026     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4027         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4028     }
4029 }
4030 #[repr(C)]
4031 #[doc(hidden)]
4032 pub struct IWICMetadataReader_abi(
4033     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4034     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4035     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4036     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pguidmetadataformat: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4037     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppihandler: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4038     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pccount: *mut u32) -> ::windows::runtime::HRESULT,
4039     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))]
4040     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nindex: u32, pvarschema: *mut ::std::mem::ManuallyDrop<super::super::System::Com::StructuredStorage::PROPVARIANT>, pvarid: *mut ::std::mem::ManuallyDrop<super::super::System::Com::StructuredStorage::PROPVARIANT>, pvarvalue: *mut ::std::mem::ManuallyDrop<super::super::System::Com::StructuredStorage::PROPVARIANT>) -> ::windows::runtime::HRESULT,
4041     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation")))] usize,
4042     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))]
4043     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pvarschema: *const ::std::mem::ManuallyDrop<super::super::System::Com::StructuredStorage::PROPVARIANT>, pvarid: *const ::std::mem::ManuallyDrop<super::super::System::Com::StructuredStorage::PROPVARIANT>, pvarvalue: *mut ::std::mem::ManuallyDrop<super::super::System::Com::StructuredStorage::PROPVARIANT>) -> ::windows::runtime::HRESULT,
4044     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation")))] usize,
4045     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppienummetadata: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4046 );
4047 #[repr(transparent)]
4048 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4049 pub struct IWICMetadataReaderInfo(::windows::runtime::IUnknown);
4050 impl IWICMetadataReaderInfo {
GetComponentType(&self) -> ::windows::runtime::Result<WICComponentType>4051     pub unsafe fn GetComponentType(&self) -> ::windows::runtime::Result<WICComponentType> {
4052         let mut result__: <WICComponentType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4053         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WICComponentType>(result__)
4054     }
GetCLSID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>4055     pub unsafe fn GetCLSID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
4056         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4057         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
4058     }
GetSigningStatus(&self) -> ::windows::runtime::Result<u32>4059     pub unsafe fn GetSigningStatus(&self) -> ::windows::runtime::Result<u32> {
4060         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4061         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
4062     }
4063     #[cfg(feature = "Win32_Foundation")]
GetAuthor<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchauthor: u32, wzauthor: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>4064     pub unsafe fn GetAuthor<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchauthor: u32, wzauthor: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
4065         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchauthor), wzauthor.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
4066     }
GetVendorGUID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>4067     pub unsafe fn GetVendorGUID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
4068         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4069         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
4070     }
4071     #[cfg(feature = "Win32_Foundation")]
GetVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchversion: u32, wzversion: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>4072     pub unsafe fn GetVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchversion: u32, wzversion: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
4073         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchversion), wzversion.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
4074     }
4075     #[cfg(feature = "Win32_Foundation")]
GetSpecVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchspecversion: u32, wzspecversion: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>4076     pub unsafe fn GetSpecVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchspecversion: u32, wzspecversion: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
4077         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchspecversion), wzspecversion.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
4078     }
4079     #[cfg(feature = "Win32_Foundation")]
GetFriendlyName<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchfriendlyname: u32, wzfriendlyname: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>4080     pub unsafe fn GetFriendlyName<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchfriendlyname: u32, wzfriendlyname: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
4081         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchfriendlyname), wzfriendlyname.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
4082     }
GetMetadataFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>4083     pub unsafe fn GetMetadataFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
4084         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4085         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
4086     }
GetContainerFormats(&self, ccontainerformats: u32, pguidcontainerformats: *mut ::windows::runtime::GUID, pcchactual: *mut u32) -> ::windows::runtime::Result<()>4087     pub unsafe fn GetContainerFormats(&self, ccontainerformats: u32, pguidcontainerformats: *mut ::windows::runtime::GUID, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
4088         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(ccontainerformats), ::std::mem::transmute(pguidcontainerformats), ::std::mem::transmute(pcchactual)).ok()
4089     }
4090     #[cfg(feature = "Win32_Foundation")]
GetDeviceManufacturer<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchdevicemanufacturer: u32, wzdevicemanufacturer: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>4091     pub unsafe fn GetDeviceManufacturer<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchdevicemanufacturer: u32, wzdevicemanufacturer: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
4092         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchdevicemanufacturer), wzdevicemanufacturer.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
4093     }
4094     #[cfg(feature = "Win32_Foundation")]
GetDeviceModels<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchdevicemodels: u32, wzdevicemodels: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>4095     pub unsafe fn GetDeviceModels<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchdevicemodels: u32, wzdevicemodels: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
4096         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchdevicemodels), wzdevicemodels.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
4097     }
4098     #[cfg(feature = "Win32_Foundation")]
DoesRequireFullStream(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>4099     pub unsafe fn DoesRequireFullStream(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
4100         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4101         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
4102     }
4103     #[cfg(feature = "Win32_Foundation")]
DoesSupportPadding(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>4104     pub unsafe fn DoesSupportPadding(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
4105         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4106         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
4107     }
4108     #[cfg(feature = "Win32_Foundation")]
DoesRequireFixedSize(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>4109     pub unsafe fn DoesRequireFixedSize(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
4110         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4111         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
4112     }
GetPatterns(&self, guidcontainerformat: *const ::windows::runtime::GUID, cbsize: u32, ppattern: *mut WICMetadataPattern, pccount: *mut u32, pcbactual: *mut u32) -> ::windows::runtime::Result<()>4113     pub unsafe fn GetPatterns(&self, guidcontainerformat: *const ::windows::runtime::GUID, cbsize: u32, ppattern: *mut WICMetadataPattern, pccount: *mut u32, pcbactual: *mut u32) -> ::windows::runtime::Result<()> {
4114         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(guidcontainerformat), ::std::mem::transmute(cbsize), ::std::mem::transmute(ppattern), ::std::mem::transmute(pccount), ::std::mem::transmute(pcbactual)).ok()
4115     }
4116     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
MatchesPattern<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, guidcontainerformat: *const ::windows::runtime::GUID, pistream: Param1) -> ::windows::runtime::Result<super::super::Foundation::BOOL>4117     pub unsafe fn MatchesPattern<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, guidcontainerformat: *const ::windows::runtime::GUID, pistream: Param1) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
4118         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4119         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), ::std::mem::transmute(guidcontainerformat), pistream.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
4120     }
CreateInstance(&self) -> ::windows::runtime::Result<IWICMetadataReader>4121     pub unsafe fn CreateInstance(&self) -> ::windows::runtime::Result<IWICMetadataReader> {
4122         let mut result__: <IWICMetadataReader as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4123         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICMetadataReader>(result__)
4124     }
4125 }
4126 unsafe impl ::windows::runtime::Interface for IWICMetadataReaderInfo {
4127     type Vtable = IWICMetadataReaderInfo_abi;
4128     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4005502811, 1985, 17479, [163, 171, 34, 172, 175, 120, 168, 4]);
4129 }
4130 impl ::std::convert::From<IWICMetadataReaderInfo> for ::windows::runtime::IUnknown {
from(value: IWICMetadataReaderInfo) -> Self4131     fn from(value: IWICMetadataReaderInfo) -> Self {
4132         unsafe { ::std::mem::transmute(value) }
4133     }
4134 }
4135 impl ::std::convert::From<&IWICMetadataReaderInfo> for ::windows::runtime::IUnknown {
from(value: &IWICMetadataReaderInfo) -> Self4136     fn from(value: &IWICMetadataReaderInfo) -> Self {
4137         ::std::convert::From::from(::std::clone::Clone::clone(value))
4138     }
4139 }
4140 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICMetadataReaderInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4141     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4142         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4143     }
4144 }
4145 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICMetadataReaderInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4146     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4147         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4148     }
4149 }
4150 impl ::std::convert::From<IWICMetadataReaderInfo> for IWICMetadataHandlerInfo {
from(value: IWICMetadataReaderInfo) -> Self4151     fn from(value: IWICMetadataReaderInfo) -> Self {
4152         unsafe { ::std::mem::transmute(value) }
4153     }
4154 }
4155 impl ::std::convert::From<&IWICMetadataReaderInfo> for IWICMetadataHandlerInfo {
from(value: &IWICMetadataReaderInfo) -> Self4156     fn from(value: &IWICMetadataReaderInfo) -> Self {
4157         ::std::convert::From::from(::std::clone::Clone::clone(value))
4158     }
4159 }
4160 impl<'a> ::windows::runtime::IntoParam<'a, IWICMetadataHandlerInfo> for IWICMetadataReaderInfo {
into_param(self) -> ::windows::runtime::Param<'a, IWICMetadataHandlerInfo>4161     fn into_param(self) -> ::windows::runtime::Param<'a, IWICMetadataHandlerInfo> {
4162         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICMetadataHandlerInfo>::into(self))
4163     }
4164 }
4165 impl<'a> ::windows::runtime::IntoParam<'a, IWICMetadataHandlerInfo> for &IWICMetadataReaderInfo {
into_param(self) -> ::windows::runtime::Param<'a, IWICMetadataHandlerInfo>4166     fn into_param(self) -> ::windows::runtime::Param<'a, IWICMetadataHandlerInfo> {
4167         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICMetadataHandlerInfo>::into(::std::clone::Clone::clone(self)))
4168     }
4169 }
4170 impl ::std::convert::From<IWICMetadataReaderInfo> for IWICComponentInfo {
from(value: IWICMetadataReaderInfo) -> Self4171     fn from(value: IWICMetadataReaderInfo) -> Self {
4172         unsafe { ::std::mem::transmute(value) }
4173     }
4174 }
4175 impl ::std::convert::From<&IWICMetadataReaderInfo> for IWICComponentInfo {
from(value: &IWICMetadataReaderInfo) -> Self4176     fn from(value: &IWICMetadataReaderInfo) -> Self {
4177         ::std::convert::From::from(::std::clone::Clone::clone(value))
4178     }
4179 }
4180 impl<'a> ::windows::runtime::IntoParam<'a, IWICComponentInfo> for IWICMetadataReaderInfo {
into_param(self) -> ::windows::runtime::Param<'a, IWICComponentInfo>4181     fn into_param(self) -> ::windows::runtime::Param<'a, IWICComponentInfo> {
4182         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICComponentInfo>::into(self))
4183     }
4184 }
4185 impl<'a> ::windows::runtime::IntoParam<'a, IWICComponentInfo> for &IWICMetadataReaderInfo {
into_param(self) -> ::windows::runtime::Param<'a, IWICComponentInfo>4186     fn into_param(self) -> ::windows::runtime::Param<'a, IWICComponentInfo> {
4187         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICComponentInfo>::into(::std::clone::Clone::clone(self)))
4188     }
4189 }
4190 #[repr(C)]
4191 #[doc(hidden)]
4192 pub struct IWICMetadataReaderInfo_abi(
4193     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4194     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4195     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4196     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptype: *mut WICComponentType) -> ::windows::runtime::HRESULT,
4197     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pclsid: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4198     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstatus: *mut u32) -> ::windows::runtime::HRESULT,
4199     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchauthor: u32, wzauthor: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
4200     #[cfg(not(feature = "Win32_Foundation"))] usize,
4201     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pguidvendor: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4202     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchversion: u32, wzversion: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
4203     #[cfg(not(feature = "Win32_Foundation"))] usize,
4204     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchspecversion: u32, wzspecversion: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
4205     #[cfg(not(feature = "Win32_Foundation"))] usize,
4206     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchfriendlyname: u32, wzfriendlyname: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
4207     #[cfg(not(feature = "Win32_Foundation"))] usize,
4208     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pguidmetadataformat: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4209     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ccontainerformats: u32, pguidcontainerformats: *mut ::windows::runtime::GUID, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
4210     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchdevicemanufacturer: u32, wzdevicemanufacturer: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
4211     #[cfg(not(feature = "Win32_Foundation"))] usize,
4212     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchdevicemodels: u32, wzdevicemodels: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
4213     #[cfg(not(feature = "Win32_Foundation"))] usize,
4214     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfrequiresfullstream: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
4215     #[cfg(not(feature = "Win32_Foundation"))] usize,
4216     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfsupportspadding: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
4217     #[cfg(not(feature = "Win32_Foundation"))] usize,
4218     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pffixedsize: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
4219     #[cfg(not(feature = "Win32_Foundation"))] usize,
4220     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guidcontainerformat: *const ::windows::runtime::GUID, cbsize: u32, ppattern: *mut WICMetadataPattern, pccount: *mut u32, pcbactual: *mut u32) -> ::windows::runtime::HRESULT,
4221     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guidcontainerformat: *const ::windows::runtime::GUID, pistream: ::windows::runtime::RawPtr, pfmatches: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
4222     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
4223     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppireader: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4224 );
4225 #[repr(transparent)]
4226 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4227 pub struct IWICMetadataWriter(::windows::runtime::IUnknown);
4228 impl IWICMetadataWriter {
GetMetadataFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>4229     pub unsafe fn GetMetadataFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
4230         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4231         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
4232     }
GetMetadataHandlerInfo(&self) -> ::windows::runtime::Result<IWICMetadataHandlerInfo>4233     pub unsafe fn GetMetadataHandlerInfo(&self) -> ::windows::runtime::Result<IWICMetadataHandlerInfo> {
4234         let mut result__: <IWICMetadataHandlerInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4235         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICMetadataHandlerInfo>(result__)
4236     }
GetCount(&self) -> ::windows::runtime::Result<u32>4237     pub unsafe fn GetCount(&self) -> ::windows::runtime::Result<u32> {
4238         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4239         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
4240     }
4241     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))]
GetValueByIndex(&self, nindex: u32, pvarschema: *mut super::super::System::Com::StructuredStorage::PROPVARIANT, pvarid: *mut super::super::System::Com::StructuredStorage::PROPVARIANT, pvarvalue: *mut super::super::System::Com::StructuredStorage::PROPVARIANT) -> ::windows::runtime::Result<()>4242     pub unsafe fn GetValueByIndex(&self, nindex: u32, pvarschema: *mut super::super::System::Com::StructuredStorage::PROPVARIANT, pvarid: *mut super::super::System::Com::StructuredStorage::PROPVARIANT, pvarvalue: *mut super::super::System::Com::StructuredStorage::PROPVARIANT) -> ::windows::runtime::Result<()> {
4243         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(nindex), ::std::mem::transmute(pvarschema), ::std::mem::transmute(pvarid), ::std::mem::transmute(pvarvalue)).ok()
4244     }
4245     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))]
GetValue(&self, pvarschema: *const super::super::System::Com::StructuredStorage::PROPVARIANT, pvarid: *const super::super::System::Com::StructuredStorage::PROPVARIANT, pvarvalue: *mut super::super::System::Com::StructuredStorage::PROPVARIANT) -> ::windows::runtime::Result<()>4246     pub unsafe fn GetValue(&self, pvarschema: *const super::super::System::Com::StructuredStorage::PROPVARIANT, pvarid: *const super::super::System::Com::StructuredStorage::PROPVARIANT, pvarvalue: *mut super::super::System::Com::StructuredStorage::PROPVARIANT) -> ::windows::runtime::Result<()> {
4247         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(pvarschema), ::std::mem::transmute(pvarid), ::std::mem::transmute(pvarvalue)).ok()
4248     }
GetEnumerator(&self) -> ::windows::runtime::Result<IWICEnumMetadataItem>4249     pub unsafe fn GetEnumerator(&self) -> ::windows::runtime::Result<IWICEnumMetadataItem> {
4250         let mut result__: <IWICEnumMetadataItem as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4251         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICEnumMetadataItem>(result__)
4252     }
4253     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))]
SetValue(&self, pvarschema: *const super::super::System::Com::StructuredStorage::PROPVARIANT, pvarid: *const super::super::System::Com::StructuredStorage::PROPVARIANT, pvarvalue: *const super::super::System::Com::StructuredStorage::PROPVARIANT) -> ::windows::runtime::Result<()>4254     pub unsafe fn SetValue(&self, pvarschema: *const super::super::System::Com::StructuredStorage::PROPVARIANT, pvarid: *const super::super::System::Com::StructuredStorage::PROPVARIANT, pvarvalue: *const super::super::System::Com::StructuredStorage::PROPVARIANT) -> ::windows::runtime::Result<()> {
4255         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(pvarschema), ::std::mem::transmute(pvarid), ::std::mem::transmute(pvarvalue)).ok()
4256     }
4257     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))]
SetValueByIndex(&self, nindex: u32, pvarschema: *const super::super::System::Com::StructuredStorage::PROPVARIANT, pvarid: *const super::super::System::Com::StructuredStorage::PROPVARIANT, pvarvalue: *const super::super::System::Com::StructuredStorage::PROPVARIANT) -> ::windows::runtime::Result<()>4258     pub unsafe fn SetValueByIndex(&self, nindex: u32, pvarschema: *const super::super::System::Com::StructuredStorage::PROPVARIANT, pvarid: *const super::super::System::Com::StructuredStorage::PROPVARIANT, pvarvalue: *const super::super::System::Com::StructuredStorage::PROPVARIANT) -> ::windows::runtime::Result<()> {
4259         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(nindex), ::std::mem::transmute(pvarschema), ::std::mem::transmute(pvarid), ::std::mem::transmute(pvarvalue)).ok()
4260     }
4261     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))]
RemoveValue(&self, pvarschema: *const super::super::System::Com::StructuredStorage::PROPVARIANT, pvarid: *const super::super::System::Com::StructuredStorage::PROPVARIANT) -> ::windows::runtime::Result<()>4262     pub unsafe fn RemoveValue(&self, pvarschema: *const super::super::System::Com::StructuredStorage::PROPVARIANT, pvarid: *const super::super::System::Com::StructuredStorage::PROPVARIANT) -> ::windows::runtime::Result<()> {
4263         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(pvarschema), ::std::mem::transmute(pvarid)).ok()
4264     }
RemoveValueByIndex(&self, nindex: u32) -> ::windows::runtime::Result<()>4265     pub unsafe fn RemoveValueByIndex(&self, nindex: u32) -> ::windows::runtime::Result<()> {
4266         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(nindex)).ok()
4267     }
4268 }
4269 unsafe impl ::windows::runtime::Interface for IWICMetadataWriter {
4270     type Vtable = IWICMetadataWriter_abi;
4271     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4152585750, 15328, 18187, [134, 187, 22, 13, 10, 236, 215, 222]);
4272 }
4273 impl ::std::convert::From<IWICMetadataWriter> for ::windows::runtime::IUnknown {
from(value: IWICMetadataWriter) -> Self4274     fn from(value: IWICMetadataWriter) -> Self {
4275         unsafe { ::std::mem::transmute(value) }
4276     }
4277 }
4278 impl ::std::convert::From<&IWICMetadataWriter> for ::windows::runtime::IUnknown {
from(value: &IWICMetadataWriter) -> Self4279     fn from(value: &IWICMetadataWriter) -> Self {
4280         ::std::convert::From::from(::std::clone::Clone::clone(value))
4281     }
4282 }
4283 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICMetadataWriter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4284     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4285         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4286     }
4287 }
4288 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICMetadataWriter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4289     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4290         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4291     }
4292 }
4293 impl ::std::convert::From<IWICMetadataWriter> for IWICMetadataReader {
from(value: IWICMetadataWriter) -> Self4294     fn from(value: IWICMetadataWriter) -> Self {
4295         unsafe { ::std::mem::transmute(value) }
4296     }
4297 }
4298 impl ::std::convert::From<&IWICMetadataWriter> for IWICMetadataReader {
from(value: &IWICMetadataWriter) -> Self4299     fn from(value: &IWICMetadataWriter) -> Self {
4300         ::std::convert::From::from(::std::clone::Clone::clone(value))
4301     }
4302 }
4303 impl<'a> ::windows::runtime::IntoParam<'a, IWICMetadataReader> for IWICMetadataWriter {
into_param(self) -> ::windows::runtime::Param<'a, IWICMetadataReader>4304     fn into_param(self) -> ::windows::runtime::Param<'a, IWICMetadataReader> {
4305         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICMetadataReader>::into(self))
4306     }
4307 }
4308 impl<'a> ::windows::runtime::IntoParam<'a, IWICMetadataReader> for &IWICMetadataWriter {
into_param(self) -> ::windows::runtime::Param<'a, IWICMetadataReader>4309     fn into_param(self) -> ::windows::runtime::Param<'a, IWICMetadataReader> {
4310         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICMetadataReader>::into(::std::clone::Clone::clone(self)))
4311     }
4312 }
4313 #[repr(C)]
4314 #[doc(hidden)]
4315 pub struct IWICMetadataWriter_abi(
4316     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4317     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4318     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4319     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pguidmetadataformat: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4320     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppihandler: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4321     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pccount: *mut u32) -> ::windows::runtime::HRESULT,
4322     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))]
4323     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nindex: u32, pvarschema: *mut ::std::mem::ManuallyDrop<super::super::System::Com::StructuredStorage::PROPVARIANT>, pvarid: *mut ::std::mem::ManuallyDrop<super::super::System::Com::StructuredStorage::PROPVARIANT>, pvarvalue: *mut ::std::mem::ManuallyDrop<super::super::System::Com::StructuredStorage::PROPVARIANT>) -> ::windows::runtime::HRESULT,
4324     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation")))] usize,
4325     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))]
4326     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pvarschema: *const ::std::mem::ManuallyDrop<super::super::System::Com::StructuredStorage::PROPVARIANT>, pvarid: *const ::std::mem::ManuallyDrop<super::super::System::Com::StructuredStorage::PROPVARIANT>, pvarvalue: *mut ::std::mem::ManuallyDrop<super::super::System::Com::StructuredStorage::PROPVARIANT>) -> ::windows::runtime::HRESULT,
4327     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation")))] usize,
4328     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppienummetadata: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4329     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))]
4330     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pvarschema: *const ::std::mem::ManuallyDrop<super::super::System::Com::StructuredStorage::PROPVARIANT>, pvarid: *const ::std::mem::ManuallyDrop<super::super::System::Com::StructuredStorage::PROPVARIANT>, pvarvalue: *const ::std::mem::ManuallyDrop<super::super::System::Com::StructuredStorage::PROPVARIANT>) -> ::windows::runtime::HRESULT,
4331     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation")))] usize,
4332     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))]
4333     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nindex: u32, pvarschema: *const ::std::mem::ManuallyDrop<super::super::System::Com::StructuredStorage::PROPVARIANT>, pvarid: *const ::std::mem::ManuallyDrop<super::super::System::Com::StructuredStorage::PROPVARIANT>, pvarvalue: *const ::std::mem::ManuallyDrop<super::super::System::Com::StructuredStorage::PROPVARIANT>) -> ::windows::runtime::HRESULT,
4334     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation")))] usize,
4335     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pvarschema: *const ::std::mem::ManuallyDrop<super::super::System::Com::StructuredStorage::PROPVARIANT>, pvarid: *const ::std::mem::ManuallyDrop<super::super::System::Com::StructuredStorage::PROPVARIANT>) -> ::windows::runtime::HRESULT,
4336     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation")))] usize,
4337     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nindex: u32) -> ::windows::runtime::HRESULT,
4338 );
4339 #[repr(transparent)]
4340 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4341 pub struct IWICMetadataWriterInfo(::windows::runtime::IUnknown);
4342 impl IWICMetadataWriterInfo {
GetComponentType(&self) -> ::windows::runtime::Result<WICComponentType>4343     pub unsafe fn GetComponentType(&self) -> ::windows::runtime::Result<WICComponentType> {
4344         let mut result__: <WICComponentType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4345         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WICComponentType>(result__)
4346     }
GetCLSID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>4347     pub unsafe fn GetCLSID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
4348         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4349         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
4350     }
GetSigningStatus(&self) -> ::windows::runtime::Result<u32>4351     pub unsafe fn GetSigningStatus(&self) -> ::windows::runtime::Result<u32> {
4352         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4353         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
4354     }
4355     #[cfg(feature = "Win32_Foundation")]
GetAuthor<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchauthor: u32, wzauthor: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>4356     pub unsafe fn GetAuthor<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchauthor: u32, wzauthor: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
4357         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchauthor), wzauthor.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
4358     }
GetVendorGUID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>4359     pub unsafe fn GetVendorGUID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
4360         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4361         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
4362     }
4363     #[cfg(feature = "Win32_Foundation")]
GetVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchversion: u32, wzversion: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>4364     pub unsafe fn GetVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchversion: u32, wzversion: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
4365         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchversion), wzversion.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
4366     }
4367     #[cfg(feature = "Win32_Foundation")]
GetSpecVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchspecversion: u32, wzspecversion: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>4368     pub unsafe fn GetSpecVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchspecversion: u32, wzspecversion: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
4369         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchspecversion), wzspecversion.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
4370     }
4371     #[cfg(feature = "Win32_Foundation")]
GetFriendlyName<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchfriendlyname: u32, wzfriendlyname: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>4372     pub unsafe fn GetFriendlyName<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchfriendlyname: u32, wzfriendlyname: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
4373         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchfriendlyname), wzfriendlyname.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
4374     }
GetMetadataFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>4375     pub unsafe fn GetMetadataFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
4376         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4377         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
4378     }
GetContainerFormats(&self, ccontainerformats: u32, pguidcontainerformats: *mut ::windows::runtime::GUID, pcchactual: *mut u32) -> ::windows::runtime::Result<()>4379     pub unsafe fn GetContainerFormats(&self, ccontainerformats: u32, pguidcontainerformats: *mut ::windows::runtime::GUID, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
4380         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(ccontainerformats), ::std::mem::transmute(pguidcontainerformats), ::std::mem::transmute(pcchactual)).ok()
4381     }
4382     #[cfg(feature = "Win32_Foundation")]
GetDeviceManufacturer<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchdevicemanufacturer: u32, wzdevicemanufacturer: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>4383     pub unsafe fn GetDeviceManufacturer<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchdevicemanufacturer: u32, wzdevicemanufacturer: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
4384         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchdevicemanufacturer), wzdevicemanufacturer.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
4385     }
4386     #[cfg(feature = "Win32_Foundation")]
GetDeviceModels<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchdevicemodels: u32, wzdevicemodels: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>4387     pub unsafe fn GetDeviceModels<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchdevicemodels: u32, wzdevicemodels: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
4388         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchdevicemodels), wzdevicemodels.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
4389     }
4390     #[cfg(feature = "Win32_Foundation")]
DoesRequireFullStream(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>4391     pub unsafe fn DoesRequireFullStream(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
4392         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4393         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
4394     }
4395     #[cfg(feature = "Win32_Foundation")]
DoesSupportPadding(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>4396     pub unsafe fn DoesSupportPadding(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
4397         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4398         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
4399     }
4400     #[cfg(feature = "Win32_Foundation")]
DoesRequireFixedSize(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>4401     pub unsafe fn DoesRequireFixedSize(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
4402         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4403         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
4404     }
GetHeader(&self, guidcontainerformat: *const ::windows::runtime::GUID, cbsize: u32, pheader: *mut WICMetadataHeader, pcbactual: *mut u32) -> ::windows::runtime::Result<()>4405     pub unsafe fn GetHeader(&self, guidcontainerformat: *const ::windows::runtime::GUID, cbsize: u32, pheader: *mut WICMetadataHeader, pcbactual: *mut u32) -> ::windows::runtime::Result<()> {
4406         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(guidcontainerformat), ::std::mem::transmute(cbsize), ::std::mem::transmute(pheader), ::std::mem::transmute(pcbactual)).ok()
4407     }
CreateInstance(&self) -> ::windows::runtime::Result<IWICMetadataWriter>4408     pub unsafe fn CreateInstance(&self) -> ::windows::runtime::Result<IWICMetadataWriter> {
4409         let mut result__: <IWICMetadataWriter as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4410         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICMetadataWriter>(result__)
4411     }
4412 }
4413 unsafe impl ::windows::runtime::Interface for IWICMetadataWriterInfo {
4414     type Vtable = IWICMetadataWriterInfo_abi;
4415     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2989375418, 14629, 17187, [181, 193, 158, 191, 196, 48, 242, 54]);
4416 }
4417 impl ::std::convert::From<IWICMetadataWriterInfo> for ::windows::runtime::IUnknown {
from(value: IWICMetadataWriterInfo) -> Self4418     fn from(value: IWICMetadataWriterInfo) -> Self {
4419         unsafe { ::std::mem::transmute(value) }
4420     }
4421 }
4422 impl ::std::convert::From<&IWICMetadataWriterInfo> for ::windows::runtime::IUnknown {
from(value: &IWICMetadataWriterInfo) -> Self4423     fn from(value: &IWICMetadataWriterInfo) -> Self {
4424         ::std::convert::From::from(::std::clone::Clone::clone(value))
4425     }
4426 }
4427 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICMetadataWriterInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4428     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4429         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4430     }
4431 }
4432 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICMetadataWriterInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4433     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4434         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4435     }
4436 }
4437 impl ::std::convert::From<IWICMetadataWriterInfo> for IWICMetadataHandlerInfo {
from(value: IWICMetadataWriterInfo) -> Self4438     fn from(value: IWICMetadataWriterInfo) -> Self {
4439         unsafe { ::std::mem::transmute(value) }
4440     }
4441 }
4442 impl ::std::convert::From<&IWICMetadataWriterInfo> for IWICMetadataHandlerInfo {
from(value: &IWICMetadataWriterInfo) -> Self4443     fn from(value: &IWICMetadataWriterInfo) -> Self {
4444         ::std::convert::From::from(::std::clone::Clone::clone(value))
4445     }
4446 }
4447 impl<'a> ::windows::runtime::IntoParam<'a, IWICMetadataHandlerInfo> for IWICMetadataWriterInfo {
into_param(self) -> ::windows::runtime::Param<'a, IWICMetadataHandlerInfo>4448     fn into_param(self) -> ::windows::runtime::Param<'a, IWICMetadataHandlerInfo> {
4449         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICMetadataHandlerInfo>::into(self))
4450     }
4451 }
4452 impl<'a> ::windows::runtime::IntoParam<'a, IWICMetadataHandlerInfo> for &IWICMetadataWriterInfo {
into_param(self) -> ::windows::runtime::Param<'a, IWICMetadataHandlerInfo>4453     fn into_param(self) -> ::windows::runtime::Param<'a, IWICMetadataHandlerInfo> {
4454         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICMetadataHandlerInfo>::into(::std::clone::Clone::clone(self)))
4455     }
4456 }
4457 impl ::std::convert::From<IWICMetadataWriterInfo> for IWICComponentInfo {
from(value: IWICMetadataWriterInfo) -> Self4458     fn from(value: IWICMetadataWriterInfo) -> Self {
4459         unsafe { ::std::mem::transmute(value) }
4460     }
4461 }
4462 impl ::std::convert::From<&IWICMetadataWriterInfo> for IWICComponentInfo {
from(value: &IWICMetadataWriterInfo) -> Self4463     fn from(value: &IWICMetadataWriterInfo) -> Self {
4464         ::std::convert::From::from(::std::clone::Clone::clone(value))
4465     }
4466 }
4467 impl<'a> ::windows::runtime::IntoParam<'a, IWICComponentInfo> for IWICMetadataWriterInfo {
into_param(self) -> ::windows::runtime::Param<'a, IWICComponentInfo>4468     fn into_param(self) -> ::windows::runtime::Param<'a, IWICComponentInfo> {
4469         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICComponentInfo>::into(self))
4470     }
4471 }
4472 impl<'a> ::windows::runtime::IntoParam<'a, IWICComponentInfo> for &IWICMetadataWriterInfo {
into_param(self) -> ::windows::runtime::Param<'a, IWICComponentInfo>4473     fn into_param(self) -> ::windows::runtime::Param<'a, IWICComponentInfo> {
4474         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICComponentInfo>::into(::std::clone::Clone::clone(self)))
4475     }
4476 }
4477 #[repr(C)]
4478 #[doc(hidden)]
4479 pub struct IWICMetadataWriterInfo_abi(
4480     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4481     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4482     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4483     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptype: *mut WICComponentType) -> ::windows::runtime::HRESULT,
4484     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pclsid: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4485     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstatus: *mut u32) -> ::windows::runtime::HRESULT,
4486     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchauthor: u32, wzauthor: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
4487     #[cfg(not(feature = "Win32_Foundation"))] usize,
4488     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pguidvendor: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4489     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchversion: u32, wzversion: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
4490     #[cfg(not(feature = "Win32_Foundation"))] usize,
4491     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchspecversion: u32, wzspecversion: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
4492     #[cfg(not(feature = "Win32_Foundation"))] usize,
4493     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchfriendlyname: u32, wzfriendlyname: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
4494     #[cfg(not(feature = "Win32_Foundation"))] usize,
4495     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pguidmetadataformat: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4496     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ccontainerformats: u32, pguidcontainerformats: *mut ::windows::runtime::GUID, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
4497     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchdevicemanufacturer: u32, wzdevicemanufacturer: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
4498     #[cfg(not(feature = "Win32_Foundation"))] usize,
4499     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchdevicemodels: u32, wzdevicemodels: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
4500     #[cfg(not(feature = "Win32_Foundation"))] usize,
4501     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfrequiresfullstream: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
4502     #[cfg(not(feature = "Win32_Foundation"))] usize,
4503     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfsupportspadding: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
4504     #[cfg(not(feature = "Win32_Foundation"))] usize,
4505     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pffixedsize: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
4506     #[cfg(not(feature = "Win32_Foundation"))] usize,
4507     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guidcontainerformat: *const ::windows::runtime::GUID, cbsize: u32, pheader: *mut WICMetadataHeader, pcbactual: *mut u32) -> ::windows::runtime::HRESULT,
4508     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppiwriter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4509 );
4510 #[repr(transparent)]
4511 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4512 pub struct IWICPalette(::windows::runtime::IUnknown);
4513 impl IWICPalette {
4514     #[cfg(feature = "Win32_Foundation")]
InitializePredefined<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, epalettetype: WICBitmapPaletteType, faddtransparentcolor: Param1) -> ::windows::runtime::Result<()>4515     pub unsafe fn InitializePredefined<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, epalettetype: WICBitmapPaletteType, faddtransparentcolor: Param1) -> ::windows::runtime::Result<()> {
4516         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(epalettetype), faddtransparentcolor.into_param().abi()).ok()
4517     }
InitializeCustom(&self, pcolors: *const u32, ccount: u32) -> ::windows::runtime::Result<()>4518     pub unsafe fn InitializeCustom(&self, pcolors: *const u32, ccount: u32) -> ::windows::runtime::Result<()> {
4519         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pcolors), ::std::mem::transmute(ccount)).ok()
4520     }
4521     #[cfg(feature = "Win32_Foundation")]
InitializeFromBitmap<'a, Param0: ::windows::runtime::IntoParam<'a, IWICBitmapSource>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pisurface: Param0, ccount: u32, faddtransparentcolor: Param2) -> ::windows::runtime::Result<()>4522     pub unsafe fn InitializeFromBitmap<'a, Param0: ::windows::runtime::IntoParam<'a, IWICBitmapSource>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pisurface: Param0, ccount: u32, faddtransparentcolor: Param2) -> ::windows::runtime::Result<()> {
4523         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), pisurface.into_param().abi(), ::std::mem::transmute(ccount), faddtransparentcolor.into_param().abi()).ok()
4524     }
InitializeFromPalette<'a, Param0: ::windows::runtime::IntoParam<'a, IWICPalette>>(&self, pipalette: Param0) -> ::windows::runtime::Result<()>4525     pub unsafe fn InitializeFromPalette<'a, Param0: ::windows::runtime::IntoParam<'a, IWICPalette>>(&self, pipalette: Param0) -> ::windows::runtime::Result<()> {
4526         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), pipalette.into_param().abi()).ok()
4527     }
GetType(&self) -> ::windows::runtime::Result<WICBitmapPaletteType>4528     pub unsafe fn GetType(&self) -> ::windows::runtime::Result<WICBitmapPaletteType> {
4529         let mut result__: <WICBitmapPaletteType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4530         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WICBitmapPaletteType>(result__)
4531     }
GetColorCount(&self) -> ::windows::runtime::Result<u32>4532     pub unsafe fn GetColorCount(&self) -> ::windows::runtime::Result<u32> {
4533         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4534         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
4535     }
GetColors(&self, ccount: u32, pcolors: *mut u32, pcactualcolors: *mut u32) -> ::windows::runtime::Result<()>4536     pub unsafe fn GetColors(&self, ccount: u32, pcolors: *mut u32, pcactualcolors: *mut u32) -> ::windows::runtime::Result<()> {
4537         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(ccount), ::std::mem::transmute(pcolors), ::std::mem::transmute(pcactualcolors)).ok()
4538     }
4539     #[cfg(feature = "Win32_Foundation")]
IsBlackWhite(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>4540     pub unsafe fn IsBlackWhite(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
4541         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4542         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
4543     }
4544     #[cfg(feature = "Win32_Foundation")]
IsGrayscale(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>4545     pub unsafe fn IsGrayscale(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
4546         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4547         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
4548     }
4549     #[cfg(feature = "Win32_Foundation")]
HasAlpha(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>4550     pub unsafe fn HasAlpha(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
4551         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4552         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
4553     }
4554 }
4555 unsafe impl ::windows::runtime::Interface for IWICPalette {
4556     type Vtable = IWICPalette_abi;
4557     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(64, 43250, 18551, [186, 10, 253, 43, 102, 69, 251, 148]);
4558 }
4559 impl ::std::convert::From<IWICPalette> for ::windows::runtime::IUnknown {
from(value: IWICPalette) -> Self4560     fn from(value: IWICPalette) -> Self {
4561         unsafe { ::std::mem::transmute(value) }
4562     }
4563 }
4564 impl ::std::convert::From<&IWICPalette> for ::windows::runtime::IUnknown {
from(value: &IWICPalette) -> Self4565     fn from(value: &IWICPalette) -> Self {
4566         ::std::convert::From::from(::std::clone::Clone::clone(value))
4567     }
4568 }
4569 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICPalette {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4570     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4571         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4572     }
4573 }
4574 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICPalette {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4575     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4576         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4577     }
4578 }
4579 #[repr(C)]
4580 #[doc(hidden)]
4581 pub struct IWICPalette_abi(
4582     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4583     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4584     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4585     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, epalettetype: WICBitmapPaletteType, faddtransparentcolor: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
4586     #[cfg(not(feature = "Win32_Foundation"))] usize,
4587     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcolors: *const u32, ccount: u32) -> ::windows::runtime::HRESULT,
4588     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pisurface: ::windows::runtime::RawPtr, ccount: u32, faddtransparentcolor: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
4589     #[cfg(not(feature = "Win32_Foundation"))] usize,
4590     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pipalette: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4591     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pepalettetype: *mut WICBitmapPaletteType) -> ::windows::runtime::HRESULT,
4592     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pccount: *mut u32) -> ::windows::runtime::HRESULT,
4593     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ccount: u32, pcolors: *mut u32, pcactualcolors: *mut u32) -> ::windows::runtime::HRESULT,
4594     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfisblackwhite: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
4595     #[cfg(not(feature = "Win32_Foundation"))] usize,
4596     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfisgrayscale: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
4597     #[cfg(not(feature = "Win32_Foundation"))] usize,
4598     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfhasalpha: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
4599     #[cfg(not(feature = "Win32_Foundation"))] usize,
4600 );
4601 #[repr(transparent)]
4602 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4603 pub struct IWICPersistStream(::windows::runtime::IUnknown);
4604 impl IWICPersistStream {
GetClassID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>4605     pub unsafe fn GetClassID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
4606         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4607         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
4608     }
IsDirty(&self) -> ::windows::runtime::Result<()>4609     pub unsafe fn IsDirty(&self) -> ::windows::runtime::Result<()> {
4610         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
4611     }
4612     #[cfg(feature = "Win32_System_Com")]
Load<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, pstm: Param0) -> ::windows::runtime::Result<()>4613     pub unsafe fn Load<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, pstm: Param0) -> ::windows::runtime::Result<()> {
4614         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), pstm.into_param().abi()).ok()
4615     }
4616     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
Save<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pstm: Param0, fcleardirty: Param1) -> ::windows::runtime::Result<()>4617     pub unsafe fn Save<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pstm: Param0, fcleardirty: Param1) -> ::windows::runtime::Result<()> {
4618         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), pstm.into_param().abi(), fcleardirty.into_param().abi()).ok()
4619     }
GetSizeMax(&self) -> ::windows::runtime::Result<u64>4620     pub unsafe fn GetSizeMax(&self) -> ::windows::runtime::Result<u64> {
4621         let mut result__: <u64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4622         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u64>(result__)
4623     }
4624     #[cfg(feature = "Win32_System_Com")]
LoadEx<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, pistream: Param0, pguidpreferredvendor: *const ::windows::runtime::GUID, dwpersistoptions: u32) -> ::windows::runtime::Result<()>4625     pub unsafe fn LoadEx<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, pistream: Param0, pguidpreferredvendor: *const ::windows::runtime::GUID, dwpersistoptions: u32) -> ::windows::runtime::Result<()> {
4626         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), pistream.into_param().abi(), ::std::mem::transmute(pguidpreferredvendor), ::std::mem::transmute(dwpersistoptions)).ok()
4627     }
4628     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
SaveEx<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pistream: Param0, dwpersistoptions: u32, fcleardirty: Param2) -> ::windows::runtime::Result<()>4629     pub unsafe fn SaveEx<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pistream: Param0, dwpersistoptions: u32, fcleardirty: Param2) -> ::windows::runtime::Result<()> {
4630         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), pistream.into_param().abi(), ::std::mem::transmute(dwpersistoptions), fcleardirty.into_param().abi()).ok()
4631     }
4632 }
4633 unsafe impl ::windows::runtime::Interface for IWICPersistStream {
4634     type Vtable = IWICPersistStream_abi;
4635     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(6770752, 26888, 17912, [134, 163, 73, 199, 223, 214, 217, 173]);
4636 }
4637 impl ::std::convert::From<IWICPersistStream> for ::windows::runtime::IUnknown {
from(value: IWICPersistStream) -> Self4638     fn from(value: IWICPersistStream) -> Self {
4639         unsafe { ::std::mem::transmute(value) }
4640     }
4641 }
4642 impl ::std::convert::From<&IWICPersistStream> for ::windows::runtime::IUnknown {
from(value: &IWICPersistStream) -> Self4643     fn from(value: &IWICPersistStream) -> Self {
4644         ::std::convert::From::from(::std::clone::Clone::clone(value))
4645     }
4646 }
4647 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICPersistStream {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4648     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4649         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4650     }
4651 }
4652 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICPersistStream {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4653     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4654         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4655     }
4656 }
4657 #[cfg(feature = "Win32_System_Com")]
4658 impl ::std::convert::From<IWICPersistStream> for super::super::System::Com::IPersistStream {
from(value: IWICPersistStream) -> Self4659     fn from(value: IWICPersistStream) -> Self {
4660         unsafe { ::std::mem::transmute(value) }
4661     }
4662 }
4663 #[cfg(feature = "Win32_System_Com")]
4664 impl ::std::convert::From<&IWICPersistStream> for super::super::System::Com::IPersistStream {
from(value: &IWICPersistStream) -> Self4665     fn from(value: &IWICPersistStream) -> Self {
4666         ::std::convert::From::from(::std::clone::Clone::clone(value))
4667     }
4668 }
4669 #[cfg(feature = "Win32_System_Com")]
4670 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Com::IPersistStream> for IWICPersistStream {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IPersistStream>4671     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IPersistStream> {
4672         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Com::IPersistStream>::into(self))
4673     }
4674 }
4675 #[cfg(feature = "Win32_System_Com")]
4676 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Com::IPersistStream> for &IWICPersistStream {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IPersistStream>4677     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IPersistStream> {
4678         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Com::IPersistStream>::into(::std::clone::Clone::clone(self)))
4679     }
4680 }
4681 #[cfg(feature = "Win32_System_Com")]
4682 impl ::std::convert::From<IWICPersistStream> for super::super::System::Com::IPersist {
from(value: IWICPersistStream) -> Self4683     fn from(value: IWICPersistStream) -> Self {
4684         unsafe { ::std::mem::transmute(value) }
4685     }
4686 }
4687 #[cfg(feature = "Win32_System_Com")]
4688 impl ::std::convert::From<&IWICPersistStream> for super::super::System::Com::IPersist {
from(value: &IWICPersistStream) -> Self4689     fn from(value: &IWICPersistStream) -> Self {
4690         ::std::convert::From::from(::std::clone::Clone::clone(value))
4691     }
4692 }
4693 #[cfg(feature = "Win32_System_Com")]
4694 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Com::IPersist> for IWICPersistStream {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IPersist>4695     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IPersist> {
4696         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Com::IPersist>::into(self))
4697     }
4698 }
4699 #[cfg(feature = "Win32_System_Com")]
4700 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Com::IPersist> for &IWICPersistStream {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IPersist>4701     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IPersist> {
4702         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Com::IPersist>::into(::std::clone::Clone::clone(self)))
4703     }
4704 }
4705 #[repr(C)]
4706 #[doc(hidden)]
4707 pub struct IWICPersistStream_abi(
4708     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4709     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4710     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4711     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pclassid: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4712     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4713     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstm: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4714     #[cfg(not(feature = "Win32_System_Com"))] usize,
4715     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstm: ::windows::runtime::RawPtr, fcleardirty: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
4716     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
4717     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcbsize: *mut u64) -> ::windows::runtime::HRESULT,
4718     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pistream: ::windows::runtime::RawPtr, pguidpreferredvendor: *const ::windows::runtime::GUID, dwpersistoptions: u32) -> ::windows::runtime::HRESULT,
4719     #[cfg(not(feature = "Win32_System_Com"))] usize,
4720     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pistream: ::windows::runtime::RawPtr, dwpersistoptions: u32, fcleardirty: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
4721     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
4722 );
4723 #[repr(transparent)]
4724 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4725 pub struct IWICPixelFormatInfo(::windows::runtime::IUnknown);
4726 impl IWICPixelFormatInfo {
GetComponentType(&self) -> ::windows::runtime::Result<WICComponentType>4727     pub unsafe fn GetComponentType(&self) -> ::windows::runtime::Result<WICComponentType> {
4728         let mut result__: <WICComponentType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4729         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WICComponentType>(result__)
4730     }
GetCLSID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>4731     pub unsafe fn GetCLSID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
4732         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4733         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
4734     }
GetSigningStatus(&self) -> ::windows::runtime::Result<u32>4735     pub unsafe fn GetSigningStatus(&self) -> ::windows::runtime::Result<u32> {
4736         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4737         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
4738     }
4739     #[cfg(feature = "Win32_Foundation")]
GetAuthor<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchauthor: u32, wzauthor: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>4740     pub unsafe fn GetAuthor<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchauthor: u32, wzauthor: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
4741         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchauthor), wzauthor.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
4742     }
GetVendorGUID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>4743     pub unsafe fn GetVendorGUID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
4744         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4745         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
4746     }
4747     #[cfg(feature = "Win32_Foundation")]
GetVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchversion: u32, wzversion: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>4748     pub unsafe fn GetVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchversion: u32, wzversion: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
4749         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchversion), wzversion.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
4750     }
4751     #[cfg(feature = "Win32_Foundation")]
GetSpecVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchspecversion: u32, wzspecversion: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>4752     pub unsafe fn GetSpecVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchspecversion: u32, wzspecversion: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
4753         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchspecversion), wzspecversion.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
4754     }
4755     #[cfg(feature = "Win32_Foundation")]
GetFriendlyName<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchfriendlyname: u32, wzfriendlyname: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>4756     pub unsafe fn GetFriendlyName<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchfriendlyname: u32, wzfriendlyname: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
4757         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchfriendlyname), wzfriendlyname.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
4758     }
GetFormatGUID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>4759     pub unsafe fn GetFormatGUID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
4760         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4761         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
4762     }
GetColorContext(&self) -> ::windows::runtime::Result<IWICColorContext>4763     pub unsafe fn GetColorContext(&self) -> ::windows::runtime::Result<IWICColorContext> {
4764         let mut result__: <IWICColorContext as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4765         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICColorContext>(result__)
4766     }
GetBitsPerPixel(&self) -> ::windows::runtime::Result<u32>4767     pub unsafe fn GetBitsPerPixel(&self) -> ::windows::runtime::Result<u32> {
4768         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4769         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
4770     }
GetChannelCount(&self) -> ::windows::runtime::Result<u32>4771     pub unsafe fn GetChannelCount(&self) -> ::windows::runtime::Result<u32> {
4772         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4773         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
4774     }
GetChannelMask(&self, uichannelindex: u32, cbmaskbuffer: u32, pbmaskbuffer: *mut u8, pcbactual: *mut u32) -> ::windows::runtime::Result<()>4775     pub unsafe fn GetChannelMask(&self, uichannelindex: u32, cbmaskbuffer: u32, pbmaskbuffer: *mut u8, pcbactual: *mut u32) -> ::windows::runtime::Result<()> {
4776         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(uichannelindex), ::std::mem::transmute(cbmaskbuffer), ::std::mem::transmute(pbmaskbuffer), ::std::mem::transmute(pcbactual)).ok()
4777     }
4778 }
4779 unsafe impl ::windows::runtime::Interface for IWICPixelFormatInfo {
4780     type Vtable = IWICPixelFormatInfo_abi;
4781     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3907888641, 15688, 17178, [171, 68, 105, 5, 155, 232, 139, 190]);
4782 }
4783 impl ::std::convert::From<IWICPixelFormatInfo> for ::windows::runtime::IUnknown {
from(value: IWICPixelFormatInfo) -> Self4784     fn from(value: IWICPixelFormatInfo) -> Self {
4785         unsafe { ::std::mem::transmute(value) }
4786     }
4787 }
4788 impl ::std::convert::From<&IWICPixelFormatInfo> for ::windows::runtime::IUnknown {
from(value: &IWICPixelFormatInfo) -> Self4789     fn from(value: &IWICPixelFormatInfo) -> Self {
4790         ::std::convert::From::from(::std::clone::Clone::clone(value))
4791     }
4792 }
4793 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICPixelFormatInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4794     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4795         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4796     }
4797 }
4798 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICPixelFormatInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4799     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4800         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4801     }
4802 }
4803 impl ::std::convert::From<IWICPixelFormatInfo> for IWICComponentInfo {
from(value: IWICPixelFormatInfo) -> Self4804     fn from(value: IWICPixelFormatInfo) -> Self {
4805         unsafe { ::std::mem::transmute(value) }
4806     }
4807 }
4808 impl ::std::convert::From<&IWICPixelFormatInfo> for IWICComponentInfo {
from(value: &IWICPixelFormatInfo) -> Self4809     fn from(value: &IWICPixelFormatInfo) -> Self {
4810         ::std::convert::From::from(::std::clone::Clone::clone(value))
4811     }
4812 }
4813 impl<'a> ::windows::runtime::IntoParam<'a, IWICComponentInfo> for IWICPixelFormatInfo {
into_param(self) -> ::windows::runtime::Param<'a, IWICComponentInfo>4814     fn into_param(self) -> ::windows::runtime::Param<'a, IWICComponentInfo> {
4815         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICComponentInfo>::into(self))
4816     }
4817 }
4818 impl<'a> ::windows::runtime::IntoParam<'a, IWICComponentInfo> for &IWICPixelFormatInfo {
into_param(self) -> ::windows::runtime::Param<'a, IWICComponentInfo>4819     fn into_param(self) -> ::windows::runtime::Param<'a, IWICComponentInfo> {
4820         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICComponentInfo>::into(::std::clone::Clone::clone(self)))
4821     }
4822 }
4823 #[repr(C)]
4824 #[doc(hidden)]
4825 pub struct IWICPixelFormatInfo_abi(
4826     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4827     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4828     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4829     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptype: *mut WICComponentType) -> ::windows::runtime::HRESULT,
4830     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pclsid: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4831     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstatus: *mut u32) -> ::windows::runtime::HRESULT,
4832     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchauthor: u32, wzauthor: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
4833     #[cfg(not(feature = "Win32_Foundation"))] usize,
4834     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pguidvendor: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4835     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchversion: u32, wzversion: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
4836     #[cfg(not(feature = "Win32_Foundation"))] usize,
4837     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchspecversion: u32, wzspecversion: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
4838     #[cfg(not(feature = "Win32_Foundation"))] usize,
4839     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchfriendlyname: u32, wzfriendlyname: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
4840     #[cfg(not(feature = "Win32_Foundation"))] usize,
4841     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pformat: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4842     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppicolorcontext: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4843     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, puibitsperpixel: *mut u32) -> ::windows::runtime::HRESULT,
4844     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, puichannelcount: *mut u32) -> ::windows::runtime::HRESULT,
4845     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uichannelindex: u32, cbmaskbuffer: u32, pbmaskbuffer: *mut u8, pcbactual: *mut u32) -> ::windows::runtime::HRESULT,
4846 );
4847 #[repr(transparent)]
4848 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4849 pub struct IWICPixelFormatInfo2(::windows::runtime::IUnknown);
4850 impl IWICPixelFormatInfo2 {
GetComponentType(&self) -> ::windows::runtime::Result<WICComponentType>4851     pub unsafe fn GetComponentType(&self) -> ::windows::runtime::Result<WICComponentType> {
4852         let mut result__: <WICComponentType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4853         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WICComponentType>(result__)
4854     }
GetCLSID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>4855     pub unsafe fn GetCLSID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
4856         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4857         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
4858     }
GetSigningStatus(&self) -> ::windows::runtime::Result<u32>4859     pub unsafe fn GetSigningStatus(&self) -> ::windows::runtime::Result<u32> {
4860         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4861         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
4862     }
4863     #[cfg(feature = "Win32_Foundation")]
GetAuthor<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchauthor: u32, wzauthor: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>4864     pub unsafe fn GetAuthor<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchauthor: u32, wzauthor: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
4865         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchauthor), wzauthor.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
4866     }
GetVendorGUID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>4867     pub unsafe fn GetVendorGUID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
4868         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4869         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
4870     }
4871     #[cfg(feature = "Win32_Foundation")]
GetVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchversion: u32, wzversion: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>4872     pub unsafe fn GetVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchversion: u32, wzversion: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
4873         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchversion), wzversion.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
4874     }
4875     #[cfg(feature = "Win32_Foundation")]
GetSpecVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchspecversion: u32, wzspecversion: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>4876     pub unsafe fn GetSpecVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchspecversion: u32, wzspecversion: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
4877         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchspecversion), wzspecversion.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
4878     }
4879     #[cfg(feature = "Win32_Foundation")]
GetFriendlyName<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchfriendlyname: u32, wzfriendlyname: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()>4880     pub unsafe fn GetFriendlyName<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cchfriendlyname: u32, wzfriendlyname: Param1, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
4881         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(cchfriendlyname), wzfriendlyname.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
4882     }
GetFormatGUID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>4883     pub unsafe fn GetFormatGUID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
4884         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4885         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
4886     }
GetColorContext(&self) -> ::windows::runtime::Result<IWICColorContext>4887     pub unsafe fn GetColorContext(&self) -> ::windows::runtime::Result<IWICColorContext> {
4888         let mut result__: <IWICColorContext as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4889         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWICColorContext>(result__)
4890     }
GetBitsPerPixel(&self) -> ::windows::runtime::Result<u32>4891     pub unsafe fn GetBitsPerPixel(&self) -> ::windows::runtime::Result<u32> {
4892         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4893         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
4894     }
GetChannelCount(&self) -> ::windows::runtime::Result<u32>4895     pub unsafe fn GetChannelCount(&self) -> ::windows::runtime::Result<u32> {
4896         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4897         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
4898     }
GetChannelMask(&self, uichannelindex: u32, cbmaskbuffer: u32, pbmaskbuffer: *mut u8, pcbactual: *mut u32) -> ::windows::runtime::Result<()>4899     pub unsafe fn GetChannelMask(&self, uichannelindex: u32, cbmaskbuffer: u32, pbmaskbuffer: *mut u8, pcbactual: *mut u32) -> ::windows::runtime::Result<()> {
4900         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(uichannelindex), ::std::mem::transmute(cbmaskbuffer), ::std::mem::transmute(pbmaskbuffer), ::std::mem::transmute(pcbactual)).ok()
4901     }
4902     #[cfg(feature = "Win32_Foundation")]
SupportsTransparency(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>4903     pub unsafe fn SupportsTransparency(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
4904         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4905         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
4906     }
GetNumericRepresentation(&self) -> ::windows::runtime::Result<WICPixelFormatNumericRepresentation>4907     pub unsafe fn GetNumericRepresentation(&self) -> ::windows::runtime::Result<WICPixelFormatNumericRepresentation> {
4908         let mut result__: <WICPixelFormatNumericRepresentation as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4909         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WICPixelFormatNumericRepresentation>(result__)
4910     }
4911 }
4912 unsafe impl ::windows::runtime::Interface for IWICPixelFormatInfo2 {
4913     type Vtable = IWICPixelFormatInfo2_abi;
4914     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2849715106, 44895, 17351, [182, 121, 116, 245, 152, 75, 90, 164]);
4915 }
4916 impl ::std::convert::From<IWICPixelFormatInfo2> for ::windows::runtime::IUnknown {
from(value: IWICPixelFormatInfo2) -> Self4917     fn from(value: IWICPixelFormatInfo2) -> Self {
4918         unsafe { ::std::mem::transmute(value) }
4919     }
4920 }
4921 impl ::std::convert::From<&IWICPixelFormatInfo2> for ::windows::runtime::IUnknown {
from(value: &IWICPixelFormatInfo2) -> Self4922     fn from(value: &IWICPixelFormatInfo2) -> Self {
4923         ::std::convert::From::from(::std::clone::Clone::clone(value))
4924     }
4925 }
4926 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICPixelFormatInfo2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4927     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4928         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4929     }
4930 }
4931 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICPixelFormatInfo2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4932     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4933         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4934     }
4935 }
4936 impl ::std::convert::From<IWICPixelFormatInfo2> for IWICPixelFormatInfo {
from(value: IWICPixelFormatInfo2) -> Self4937     fn from(value: IWICPixelFormatInfo2) -> Self {
4938         unsafe { ::std::mem::transmute(value) }
4939     }
4940 }
4941 impl ::std::convert::From<&IWICPixelFormatInfo2> for IWICPixelFormatInfo {
from(value: &IWICPixelFormatInfo2) -> Self4942     fn from(value: &IWICPixelFormatInfo2) -> Self {
4943         ::std::convert::From::from(::std::clone::Clone::clone(value))
4944     }
4945 }
4946 impl<'a> ::windows::runtime::IntoParam<'a, IWICPixelFormatInfo> for IWICPixelFormatInfo2 {
into_param(self) -> ::windows::runtime::Param<'a, IWICPixelFormatInfo>4947     fn into_param(self) -> ::windows::runtime::Param<'a, IWICPixelFormatInfo> {
4948         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICPixelFormatInfo>::into(self))
4949     }
4950 }
4951 impl<'a> ::windows::runtime::IntoParam<'a, IWICPixelFormatInfo> for &IWICPixelFormatInfo2 {
into_param(self) -> ::windows::runtime::Param<'a, IWICPixelFormatInfo>4952     fn into_param(self) -> ::windows::runtime::Param<'a, IWICPixelFormatInfo> {
4953         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICPixelFormatInfo>::into(::std::clone::Clone::clone(self)))
4954     }
4955 }
4956 impl ::std::convert::From<IWICPixelFormatInfo2> for IWICComponentInfo {
from(value: IWICPixelFormatInfo2) -> Self4957     fn from(value: IWICPixelFormatInfo2) -> Self {
4958         unsafe { ::std::mem::transmute(value) }
4959     }
4960 }
4961 impl ::std::convert::From<&IWICPixelFormatInfo2> for IWICComponentInfo {
from(value: &IWICPixelFormatInfo2) -> Self4962     fn from(value: &IWICPixelFormatInfo2) -> Self {
4963         ::std::convert::From::from(::std::clone::Clone::clone(value))
4964     }
4965 }
4966 impl<'a> ::windows::runtime::IntoParam<'a, IWICComponentInfo> for IWICPixelFormatInfo2 {
into_param(self) -> ::windows::runtime::Param<'a, IWICComponentInfo>4967     fn into_param(self) -> ::windows::runtime::Param<'a, IWICComponentInfo> {
4968         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICComponentInfo>::into(self))
4969     }
4970 }
4971 impl<'a> ::windows::runtime::IntoParam<'a, IWICComponentInfo> for &IWICPixelFormatInfo2 {
into_param(self) -> ::windows::runtime::Param<'a, IWICComponentInfo>4972     fn into_param(self) -> ::windows::runtime::Param<'a, IWICComponentInfo> {
4973         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICComponentInfo>::into(::std::clone::Clone::clone(self)))
4974     }
4975 }
4976 #[repr(C)]
4977 #[doc(hidden)]
4978 pub struct IWICPixelFormatInfo2_abi(
4979     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4980     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4981     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4982     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptype: *mut WICComponentType) -> ::windows::runtime::HRESULT,
4983     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pclsid: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4984     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstatus: *mut u32) -> ::windows::runtime::HRESULT,
4985     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchauthor: u32, wzauthor: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
4986     #[cfg(not(feature = "Win32_Foundation"))] usize,
4987     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pguidvendor: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4988     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchversion: u32, wzversion: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
4989     #[cfg(not(feature = "Win32_Foundation"))] usize,
4990     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchspecversion: u32, wzspecversion: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
4991     #[cfg(not(feature = "Win32_Foundation"))] usize,
4992     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cchfriendlyname: u32, wzfriendlyname: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT,
4993     #[cfg(not(feature = "Win32_Foundation"))] usize,
4994     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pformat: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4995     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppicolorcontext: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4996     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, puibitsperpixel: *mut u32) -> ::windows::runtime::HRESULT,
4997     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, puichannelcount: *mut u32) -> ::windows::runtime::HRESULT,
4998     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uichannelindex: u32, cbmaskbuffer: u32, pbmaskbuffer: *mut u8, pcbactual: *mut u32) -> ::windows::runtime::HRESULT,
4999     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfsupportstransparency: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
5000     #[cfg(not(feature = "Win32_Foundation"))] usize,
5001     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnumericrepresentation: *mut WICPixelFormatNumericRepresentation) -> ::windows::runtime::HRESULT,
5002 );
5003 #[repr(transparent)]
5004 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5005 pub struct IWICPlanarBitmapFrameEncode(::windows::runtime::IUnknown);
5006 impl IWICPlanarBitmapFrameEncode {
WritePixels(&self, linecount: u32, pplanes: *const WICBitmapPlane, cplanes: u32) -> ::windows::runtime::Result<()>5007     pub unsafe fn WritePixels(&self, linecount: u32, pplanes: *const WICBitmapPlane, cplanes: u32) -> ::windows::runtime::Result<()> {
5008         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(linecount), ::std::mem::transmute(pplanes), ::std::mem::transmute(cplanes)).ok()
5009     }
WriteSource(&self, ppplanes: *const ::std::option::Option<IWICBitmapSource>, cplanes: u32, prcsource: *const WICRect) -> ::windows::runtime::Result<()>5010     pub unsafe fn WriteSource(&self, ppplanes: *const ::std::option::Option<IWICBitmapSource>, cplanes: u32, prcsource: *const WICRect) -> ::windows::runtime::Result<()> {
5011         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(ppplanes), ::std::mem::transmute(cplanes), ::std::mem::transmute(prcsource)).ok()
5012     }
5013 }
5014 unsafe impl ::windows::runtime::Interface for IWICPlanarBitmapFrameEncode {
5015     type Vtable = IWICPlanarBitmapFrameEncode_abi;
5016     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4180195256, 8737, 16577, [183, 46, 126, 130, 241, 151, 77, 26]);
5017 }
5018 impl ::std::convert::From<IWICPlanarBitmapFrameEncode> for ::windows::runtime::IUnknown {
from(value: IWICPlanarBitmapFrameEncode) -> Self5019     fn from(value: IWICPlanarBitmapFrameEncode) -> Self {
5020         unsafe { ::std::mem::transmute(value) }
5021     }
5022 }
5023 impl ::std::convert::From<&IWICPlanarBitmapFrameEncode> for ::windows::runtime::IUnknown {
from(value: &IWICPlanarBitmapFrameEncode) -> Self5024     fn from(value: &IWICPlanarBitmapFrameEncode) -> Self {
5025         ::std::convert::From::from(::std::clone::Clone::clone(value))
5026     }
5027 }
5028 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICPlanarBitmapFrameEncode {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5029     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5030         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5031     }
5032 }
5033 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICPlanarBitmapFrameEncode {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5034     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5035         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5036     }
5037 }
5038 #[repr(C)]
5039 #[doc(hidden)]
5040 pub struct IWICPlanarBitmapFrameEncode_abi(
5041     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5042     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5043     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5044     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, linecount: u32, pplanes: *const WICBitmapPlane, cplanes: u32) -> ::windows::runtime::HRESULT,
5045     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppplanes: *const ::windows::runtime::RawPtr, cplanes: u32, prcsource: *const WICRect) -> ::windows::runtime::HRESULT,
5046 );
5047 #[repr(transparent)]
5048 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5049 pub struct IWICPlanarBitmapSourceTransform(::windows::runtime::IUnknown);
5050 impl IWICPlanarBitmapSourceTransform {
5051     #[cfg(feature = "Win32_Foundation")]
DoesSupportTransform(&self, puiwidth: *mut u32, puiheight: *mut u32, dsttransform: WICBitmapTransformOptions, dstplanaroptions: WICPlanarOptions, pguiddstformats: *const ::windows::runtime::GUID, pplanedescriptions: *mut WICBitmapPlaneDescription, cplanes: u32, pfissupported: *mut super::super::Foundation::BOOL) -> ::windows::runtime::Result<()>5052     pub unsafe fn DoesSupportTransform(&self, puiwidth: *mut u32, puiheight: *mut u32, dsttransform: WICBitmapTransformOptions, dstplanaroptions: WICPlanarOptions, pguiddstformats: *const ::windows::runtime::GUID, pplanedescriptions: *mut WICBitmapPlaneDescription, cplanes: u32, pfissupported: *mut super::super::Foundation::BOOL) -> ::windows::runtime::Result<()> {
5053         (::windows::runtime::Interface::vtable(self).3)(
5054             ::std::mem::transmute_copy(self),
5055             ::std::mem::transmute(puiwidth),
5056             ::std::mem::transmute(puiheight),
5057             ::std::mem::transmute(dsttransform),
5058             ::std::mem::transmute(dstplanaroptions),
5059             ::std::mem::transmute(pguiddstformats),
5060             ::std::mem::transmute(pplanedescriptions),
5061             ::std::mem::transmute(cplanes),
5062             ::std::mem::transmute(pfissupported),
5063         )
5064         .ok()
5065     }
CopyPixels(&self, prcsource: *const WICRect, uiwidth: u32, uiheight: u32, dsttransform: WICBitmapTransformOptions, dstplanaroptions: WICPlanarOptions, pdstplanes: *const WICBitmapPlane, cplanes: u32) -> ::windows::runtime::Result<()>5066     pub unsafe fn CopyPixels(&self, prcsource: *const WICRect, uiwidth: u32, uiheight: u32, dsttransform: WICBitmapTransformOptions, dstplanaroptions: WICPlanarOptions, pdstplanes: *const WICBitmapPlane, cplanes: u32) -> ::windows::runtime::Result<()> {
5067         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(prcsource), ::std::mem::transmute(uiwidth), ::std::mem::transmute(uiheight), ::std::mem::transmute(dsttransform), ::std::mem::transmute(dstplanaroptions), ::std::mem::transmute(pdstplanes), ::std::mem::transmute(cplanes)).ok()
5068     }
5069 }
5070 unsafe impl ::windows::runtime::Interface for IWICPlanarBitmapSourceTransform {
5071     type Vtable = IWICPlanarBitmapSourceTransform_abi;
5072     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(989830350, 48789, 17155, [185, 39, 231, 209, 111, 244, 166, 19]);
5073 }
5074 impl ::std::convert::From<IWICPlanarBitmapSourceTransform> for ::windows::runtime::IUnknown {
from(value: IWICPlanarBitmapSourceTransform) -> Self5075     fn from(value: IWICPlanarBitmapSourceTransform) -> Self {
5076         unsafe { ::std::mem::transmute(value) }
5077     }
5078 }
5079 impl ::std::convert::From<&IWICPlanarBitmapSourceTransform> for ::windows::runtime::IUnknown {
from(value: &IWICPlanarBitmapSourceTransform) -> Self5080     fn from(value: &IWICPlanarBitmapSourceTransform) -> Self {
5081         ::std::convert::From::from(::std::clone::Clone::clone(value))
5082     }
5083 }
5084 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICPlanarBitmapSourceTransform {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5085     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5086         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5087     }
5088 }
5089 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICPlanarBitmapSourceTransform {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5090     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5091         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5092     }
5093 }
5094 #[repr(C)]
5095 #[doc(hidden)]
5096 pub struct IWICPlanarBitmapSourceTransform_abi(
5097     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5098     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5099     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5100     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, puiwidth: *mut u32, puiheight: *mut u32, dsttransform: WICBitmapTransformOptions, dstplanaroptions: WICPlanarOptions, pguiddstformats: *const ::windows::runtime::GUID, pplanedescriptions: *mut WICBitmapPlaneDescription, cplanes: u32, pfissupported: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
5101     #[cfg(not(feature = "Win32_Foundation"))] usize,
5102     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, prcsource: *const WICRect, uiwidth: u32, uiheight: u32, dsttransform: WICBitmapTransformOptions, dstplanaroptions: WICPlanarOptions, pdstplanes: *const WICBitmapPlane, cplanes: u32) -> ::windows::runtime::HRESULT,
5103 );
5104 #[repr(transparent)]
5105 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5106 pub struct IWICPlanarFormatConverter(::windows::runtime::IUnknown);
5107 impl IWICPlanarFormatConverter {
GetSize(&self, puiwidth: *mut u32, puiheight: *mut u32) -> ::windows::runtime::Result<()>5108     pub unsafe fn GetSize(&self, puiwidth: *mut u32, puiheight: *mut u32) -> ::windows::runtime::Result<()> {
5109         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(puiwidth), ::std::mem::transmute(puiheight)).ok()
5110     }
GetPixelFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>5111     pub unsafe fn GetPixelFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
5112         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5113         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
5114     }
GetResolution(&self, pdpix: *mut f64, pdpiy: *mut f64) -> ::windows::runtime::Result<()>5115     pub unsafe fn GetResolution(&self, pdpix: *mut f64, pdpiy: *mut f64) -> ::windows::runtime::Result<()> {
5116         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdpix), ::std::mem::transmute(pdpiy)).ok()
5117     }
CopyPalette<'a, Param0: ::windows::runtime::IntoParam<'a, IWICPalette>>(&self, pipalette: Param0) -> ::windows::runtime::Result<()>5118     pub unsafe fn CopyPalette<'a, Param0: ::windows::runtime::IntoParam<'a, IWICPalette>>(&self, pipalette: Param0) -> ::windows::runtime::Result<()> {
5119         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), pipalette.into_param().abi()).ok()
5120     }
CopyPixels(&self, prc: *const WICRect, cbstride: u32, cbbuffersize: u32, pbbuffer: *mut u8) -> ::windows::runtime::Result<()>5121     pub unsafe fn CopyPixels(&self, prc: *const WICRect, cbstride: u32, cbbuffersize: u32, pbbuffer: *mut u8) -> ::windows::runtime::Result<()> {
5122         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(prc), ::std::mem::transmute(cbstride), ::std::mem::transmute(cbbuffersize), ::std::mem::transmute(pbbuffer)).ok()
5123     }
Initialize<'a, Param4: ::windows::runtime::IntoParam<'a, IWICPalette>>(&self, ppplanes: *const ::std::option::Option<IWICBitmapSource>, cplanes: u32, dstformat: *const ::windows::runtime::GUID, dither: WICBitmapDitherType, pipalette: Param4, alphathresholdpercent: f64, palettetranslate: WICBitmapPaletteType) -> ::windows::runtime::Result<()>5124     pub unsafe fn Initialize<'a, Param4: ::windows::runtime::IntoParam<'a, IWICPalette>>(&self, ppplanes: *const ::std::option::Option<IWICBitmapSource>, cplanes: u32, dstformat: *const ::windows::runtime::GUID, dither: WICBitmapDitherType, pipalette: Param4, alphathresholdpercent: f64, palettetranslate: WICBitmapPaletteType) -> ::windows::runtime::Result<()> {
5125         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(ppplanes), ::std::mem::transmute(cplanes), ::std::mem::transmute(dstformat), ::std::mem::transmute(dither), pipalette.into_param().abi(), ::std::mem::transmute(alphathresholdpercent), ::std::mem::transmute(palettetranslate)).ok()
5126     }
5127     #[cfg(feature = "Win32_Foundation")]
CanConvert(&self, psrcpixelformats: *const ::windows::runtime::GUID, csrcplanes: u32, dstpixelformat: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<super::super::Foundation::BOOL>5128     pub unsafe fn CanConvert(&self, psrcpixelformats: *const ::windows::runtime::GUID, csrcplanes: u32, dstpixelformat: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
5129         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5130         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(psrcpixelformats), ::std::mem::transmute(csrcplanes), ::std::mem::transmute(dstpixelformat), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
5131     }
5132 }
5133 unsafe impl ::windows::runtime::Interface for IWICPlanarFormatConverter {
5134     type Vtable = IWICPlanarFormatConverter_abi;
5135     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3200182731, 33712, 19916, [129, 50, 176, 170, 165, 94, 172, 150]);
5136 }
5137 impl ::std::convert::From<IWICPlanarFormatConverter> for ::windows::runtime::IUnknown {
from(value: IWICPlanarFormatConverter) -> Self5138     fn from(value: IWICPlanarFormatConverter) -> Self {
5139         unsafe { ::std::mem::transmute(value) }
5140     }
5141 }
5142 impl ::std::convert::From<&IWICPlanarFormatConverter> for ::windows::runtime::IUnknown {
from(value: &IWICPlanarFormatConverter) -> Self5143     fn from(value: &IWICPlanarFormatConverter) -> Self {
5144         ::std::convert::From::from(::std::clone::Clone::clone(value))
5145     }
5146 }
5147 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICPlanarFormatConverter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5148     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5149         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5150     }
5151 }
5152 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICPlanarFormatConverter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5153     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5154         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5155     }
5156 }
5157 impl ::std::convert::From<IWICPlanarFormatConverter> for IWICBitmapSource {
from(value: IWICPlanarFormatConverter) -> Self5158     fn from(value: IWICPlanarFormatConverter) -> Self {
5159         unsafe { ::std::mem::transmute(value) }
5160     }
5161 }
5162 impl ::std::convert::From<&IWICPlanarFormatConverter> for IWICBitmapSource {
from(value: &IWICPlanarFormatConverter) -> Self5163     fn from(value: &IWICPlanarFormatConverter) -> Self {
5164         ::std::convert::From::from(::std::clone::Clone::clone(value))
5165     }
5166 }
5167 impl<'a> ::windows::runtime::IntoParam<'a, IWICBitmapSource> for IWICPlanarFormatConverter {
into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapSource>5168     fn into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapSource> {
5169         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICBitmapSource>::into(self))
5170     }
5171 }
5172 impl<'a> ::windows::runtime::IntoParam<'a, IWICBitmapSource> for &IWICPlanarFormatConverter {
into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapSource>5173     fn into_param(self) -> ::windows::runtime::Param<'a, IWICBitmapSource> {
5174         ::windows::runtime::Param::Owned(::std::convert::Into::<IWICBitmapSource>::into(::std::clone::Clone::clone(self)))
5175     }
5176 }
5177 #[repr(C)]
5178 #[doc(hidden)]
5179 pub struct IWICPlanarFormatConverter_abi(
5180     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5181     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5182     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5183     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, puiwidth: *mut u32, puiheight: *mut u32) -> ::windows::runtime::HRESULT,
5184     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppixelformat: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
5185     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdpix: *mut f64, pdpiy: *mut f64) -> ::windows::runtime::HRESULT,
5186     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pipalette: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5187     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, prc: *const WICRect, cbstride: u32, cbbuffersize: u32, pbbuffer: *mut u8) -> ::windows::runtime::HRESULT,
5188     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppplanes: *const ::windows::runtime::RawPtr, cplanes: u32, dstformat: *const ::windows::runtime::GUID, dither: WICBitmapDitherType, pipalette: ::windows::runtime::RawPtr, alphathresholdpercent: f64, palettetranslate: WICBitmapPaletteType) -> ::windows::runtime::HRESULT,
5189     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, psrcpixelformats: *const ::windows::runtime::GUID, csrcplanes: u32, dstpixelformat: *const ::windows::runtime::GUID, pfcanconvert: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
5190     #[cfg(not(feature = "Win32_Foundation"))] usize,
5191 );
5192 #[repr(transparent)]
5193 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5194 pub struct IWICProgressCallback(::windows::runtime::IUnknown);
5195 impl IWICProgressCallback {
Notify(&self, uframenum: u32, operation: WICProgressOperation, dblprogress: f64) -> ::windows::runtime::Result<()>5196     pub unsafe fn Notify(&self, uframenum: u32, operation: WICProgressOperation, dblprogress: f64) -> ::windows::runtime::Result<()> {
5197         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(uframenum), ::std::mem::transmute(operation), ::std::mem::transmute(dblprogress)).ok()
5198     }
5199 }
5200 unsafe impl ::windows::runtime::Interface for IWICProgressCallback {
5201     type Vtable = IWICProgressCallback_abi;
5202     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1198979533, 38167, 17914, [191, 36, 232, 156, 94, 197, 198, 12]);
5203 }
5204 impl ::std::convert::From<IWICProgressCallback> for ::windows::runtime::IUnknown {
from(value: IWICProgressCallback) -> Self5205     fn from(value: IWICProgressCallback) -> Self {
5206         unsafe { ::std::mem::transmute(value) }
5207     }
5208 }
5209 impl ::std::convert::From<&IWICProgressCallback> for ::windows::runtime::IUnknown {
from(value: &IWICProgressCallback) -> Self5210     fn from(value: &IWICProgressCallback) -> Self {
5211         ::std::convert::From::from(::std::clone::Clone::clone(value))
5212     }
5213 }
5214 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICProgressCallback {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5215     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5216         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5217     }
5218 }
5219 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICProgressCallback {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5220     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5221         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5222     }
5223 }
5224 #[repr(C)]
5225 #[doc(hidden)]
5226 pub struct IWICProgressCallback_abi(
5227     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5228     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5229     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5230     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uframenum: u32, operation: WICProgressOperation, dblprogress: f64) -> ::windows::runtime::HRESULT,
5231 );
5232 #[repr(transparent)]
5233 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5234 pub struct IWICProgressiveLevelControl(::windows::runtime::IUnknown);
5235 impl IWICProgressiveLevelControl {
GetLevelCount(&self) -> ::windows::runtime::Result<u32>5236     pub unsafe fn GetLevelCount(&self) -> ::windows::runtime::Result<u32> {
5237         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5238         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
5239     }
GetCurrentLevel(&self) -> ::windows::runtime::Result<u32>5240     pub unsafe fn GetCurrentLevel(&self) -> ::windows::runtime::Result<u32> {
5241         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5242         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
5243     }
SetCurrentLevel(&self, nlevel: u32) -> ::windows::runtime::Result<()>5244     pub unsafe fn SetCurrentLevel(&self, nlevel: u32) -> ::windows::runtime::Result<()> {
5245         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(nlevel)).ok()
5246     }
5247 }
5248 unsafe impl ::windows::runtime::Interface for IWICProgressiveLevelControl {
5249     type Vtable = IWICProgressiveLevelControl_abi;
5250     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3668715887, 31397, 19903, [141, 21, 34, 92, 89, 118, 248, 145]);
5251 }
5252 impl ::std::convert::From<IWICProgressiveLevelControl> for ::windows::runtime::IUnknown {
from(value: IWICProgressiveLevelControl) -> Self5253     fn from(value: IWICProgressiveLevelControl) -> Self {
5254         unsafe { ::std::mem::transmute(value) }
5255     }
5256 }
5257 impl ::std::convert::From<&IWICProgressiveLevelControl> for ::windows::runtime::IUnknown {
from(value: &IWICProgressiveLevelControl) -> Self5258     fn from(value: &IWICProgressiveLevelControl) -> Self {
5259         ::std::convert::From::from(::std::clone::Clone::clone(value))
5260     }
5261 }
5262 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICProgressiveLevelControl {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5263     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5264         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5265     }
5266 }
5267 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICProgressiveLevelControl {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5268     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5269         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5270     }
5271 }
5272 #[repr(C)]
5273 #[doc(hidden)]
5274 pub struct IWICProgressiveLevelControl_abi(
5275     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5276     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5277     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5278     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pclevels: *mut u32) -> ::windows::runtime::HRESULT,
5279     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnlevel: *mut u32) -> ::windows::runtime::HRESULT,
5280     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nlevel: u32) -> ::windows::runtime::HRESULT,
5281 );
5282 #[repr(transparent)]
5283 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5284 pub struct IWICStream(::windows::runtime::IUnknown);
5285 impl IWICStream {
Read(&self, pv: *mut ::std::ffi::c_void, cb: u32, pcbread: *mut u32) -> ::windows::runtime::Result<()>5286     pub unsafe fn Read(&self, pv: *mut ::std::ffi::c_void, cb: u32, pcbread: *mut u32) -> ::windows::runtime::Result<()> {
5287         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pv), ::std::mem::transmute(cb), ::std::mem::transmute(pcbread)).ok()
5288     }
Write(&self, pv: *const ::std::ffi::c_void, cb: u32) -> ::windows::runtime::Result<u32>5289     pub unsafe fn Write(&self, pv: *const ::std::ffi::c_void, cb: u32) -> ::windows::runtime::Result<u32> {
5290         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5291         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pv), ::std::mem::transmute(cb), &mut result__).from_abi::<u32>(result__)
5292     }
5293     #[cfg(feature = "Win32_System_Com")]
Seek(&self, dlibmove: i64, dworigin: super::super::System::Com::STREAM_SEEK) -> ::windows::runtime::Result<u64>5294     pub unsafe fn Seek(&self, dlibmove: i64, dworigin: super::super::System::Com::STREAM_SEEK) -> ::windows::runtime::Result<u64> {
5295         let mut result__: <u64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5296         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(dlibmove), ::std::mem::transmute(dworigin), &mut result__).from_abi::<u64>(result__)
5297     }
SetSize(&self, libnewsize: u64) -> ::windows::runtime::Result<()>5298     pub unsafe fn SetSize(&self, libnewsize: u64) -> ::windows::runtime::Result<()> {
5299         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(libnewsize)).ok()
5300     }
5301     #[cfg(feature = "Win32_System_Com")]
CopyTo<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, pstm: Param0, cb: u64, pcbread: *mut u64, pcbwritten: *mut u64) -> ::windows::runtime::Result<()>5302     pub unsafe fn CopyTo<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, pstm: Param0, cb: u64, pcbread: *mut u64, pcbwritten: *mut u64) -> ::windows::runtime::Result<()> {
5303         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), pstm.into_param().abi(), ::std::mem::transmute(cb), ::std::mem::transmute(pcbread), ::std::mem::transmute(pcbwritten)).ok()
5304     }
Commit(&self, grfcommitflags: u32) -> ::windows::runtime::Result<()>5305     pub unsafe fn Commit(&self, grfcommitflags: u32) -> ::windows::runtime::Result<()> {
5306         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(grfcommitflags)).ok()
5307     }
Revert(&self) -> ::windows::runtime::Result<()>5308     pub unsafe fn Revert(&self) -> ::windows::runtime::Result<()> {
5309         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self)).ok()
5310     }
LockRegion(&self, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::Result<()>5311     pub unsafe fn LockRegion(&self, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::Result<()> {
5312         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(liboffset), ::std::mem::transmute(cb), ::std::mem::transmute(dwlocktype)).ok()
5313     }
UnlockRegion(&self, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::Result<()>5314     pub unsafe fn UnlockRegion(&self, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::Result<()> {
5315         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(liboffset), ::std::mem::transmute(cb), ::std::mem::transmute(dwlocktype)).ok()
5316     }
5317     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
Stat(&self, pstatstg: *mut super::super::System::Com::STATSTG, grfstatflag: u32) -> ::windows::runtime::Result<()>5318     pub unsafe fn Stat(&self, pstatstg: *mut super::super::System::Com::STATSTG, grfstatflag: u32) -> ::windows::runtime::Result<()> {
5319         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(pstatstg), ::std::mem::transmute(grfstatflag)).ok()
5320     }
5321     #[cfg(feature = "Win32_System_Com")]
Clone(&self) -> ::windows::runtime::Result<super::super::System::Com::IStream>5322     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<super::super::System::Com::IStream> {
5323         let mut result__: <super::super::System::Com::IStream as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5324         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::IStream>(result__)
5325     }
5326     #[cfg(feature = "Win32_System_Com")]
InitializeFromIStream<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, pistream: Param0) -> ::windows::runtime::Result<()>5327     pub unsafe fn InitializeFromIStream<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, pistream: Param0) -> ::windows::runtime::Result<()> {
5328         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), pistream.into_param().abi()).ok()
5329     }
5330     #[cfg(feature = "Win32_Foundation")]
InitializeFromFilename<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, wzfilename: Param0, dwdesiredaccess: u32) -> ::windows::runtime::Result<()>5331     pub unsafe fn InitializeFromFilename<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, wzfilename: Param0, dwdesiredaccess: u32) -> ::windows::runtime::Result<()> {
5332         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), wzfilename.into_param().abi(), ::std::mem::transmute(dwdesiredaccess)).ok()
5333     }
InitializeFromMemory(&self, pbbuffer: *const u8, cbbuffersize: u32) -> ::windows::runtime::Result<()>5334     pub unsafe fn InitializeFromMemory(&self, pbbuffer: *const u8, cbbuffersize: u32) -> ::windows::runtime::Result<()> {
5335         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(pbbuffer), ::std::mem::transmute(cbbuffersize)).ok()
5336     }
5337     #[cfg(feature = "Win32_System_Com")]
InitializeFromIStreamRegion<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, pistream: Param0, uloffset: u64, ulmaxsize: u64) -> ::windows::runtime::Result<()>5338     pub unsafe fn InitializeFromIStreamRegion<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, pistream: Param0, uloffset: u64, ulmaxsize: u64) -> ::windows::runtime::Result<()> {
5339         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), pistream.into_param().abi(), ::std::mem::transmute(uloffset), ::std::mem::transmute(ulmaxsize)).ok()
5340     }
5341 }
5342 unsafe impl ::windows::runtime::Interface for IWICStream {
5343     type Vtable = IWICStream_abi;
5344     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(325056608, 8887, 19935, [176, 246, 33, 143, 79, 41, 154, 67]);
5345 }
5346 impl ::std::convert::From<IWICStream> for ::windows::runtime::IUnknown {
from(value: IWICStream) -> Self5347     fn from(value: IWICStream) -> Self {
5348         unsafe { ::std::mem::transmute(value) }
5349     }
5350 }
5351 impl ::std::convert::From<&IWICStream> for ::windows::runtime::IUnknown {
from(value: &IWICStream) -> Self5352     fn from(value: &IWICStream) -> Self {
5353         ::std::convert::From::from(::std::clone::Clone::clone(value))
5354     }
5355 }
5356 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICStream {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5357     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5358         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5359     }
5360 }
5361 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICStream {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5362     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5363         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5364     }
5365 }
5366 #[cfg(feature = "Win32_System_Com")]
5367 impl ::std::convert::From<IWICStream> for super::super::System::Com::IStream {
from(value: IWICStream) -> Self5368     fn from(value: IWICStream) -> Self {
5369         unsafe { ::std::mem::transmute(value) }
5370     }
5371 }
5372 #[cfg(feature = "Win32_System_Com")]
5373 impl ::std::convert::From<&IWICStream> for super::super::System::Com::IStream {
from(value: &IWICStream) -> Self5374     fn from(value: &IWICStream) -> Self {
5375         ::std::convert::From::from(::std::clone::Clone::clone(value))
5376     }
5377 }
5378 #[cfg(feature = "Win32_System_Com")]
5379 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream> for IWICStream {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IStream>5380     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IStream> {
5381         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Com::IStream>::into(self))
5382     }
5383 }
5384 #[cfg(feature = "Win32_System_Com")]
5385 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream> for &IWICStream {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IStream>5386     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IStream> {
5387         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Com::IStream>::into(::std::clone::Clone::clone(self)))
5388     }
5389 }
5390 #[cfg(feature = "Win32_System_Com")]
5391 impl ::std::convert::From<IWICStream> for super::super::System::Com::ISequentialStream {
from(value: IWICStream) -> Self5392     fn from(value: IWICStream) -> Self {
5393         unsafe { ::std::mem::transmute(value) }
5394     }
5395 }
5396 #[cfg(feature = "Win32_System_Com")]
5397 impl ::std::convert::From<&IWICStream> for super::super::System::Com::ISequentialStream {
from(value: &IWICStream) -> Self5398     fn from(value: &IWICStream) -> Self {
5399         ::std::convert::From::from(::std::clone::Clone::clone(value))
5400     }
5401 }
5402 #[cfg(feature = "Win32_System_Com")]
5403 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Com::ISequentialStream> for IWICStream {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::ISequentialStream>5404     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::ISequentialStream> {
5405         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Com::ISequentialStream>::into(self))
5406     }
5407 }
5408 #[cfg(feature = "Win32_System_Com")]
5409 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Com::ISequentialStream> for &IWICStream {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::ISequentialStream>5410     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::ISequentialStream> {
5411         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Com::ISequentialStream>::into(::std::clone::Clone::clone(self)))
5412     }
5413 }
5414 #[repr(C)]
5415 #[doc(hidden)]
5416 pub struct IWICStream_abi(
5417     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5418     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5419     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5420     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pv: *mut ::std::ffi::c_void, cb: u32, pcbread: *mut u32) -> ::windows::runtime::HRESULT,
5421     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pv: *const ::std::ffi::c_void, cb: u32, pcbwritten: *mut u32) -> ::windows::runtime::HRESULT,
5422     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dlibmove: i64, dworigin: super::super::System::Com::STREAM_SEEK, plibnewposition: *mut u64) -> ::windows::runtime::HRESULT,
5423     #[cfg(not(feature = "Win32_System_Com"))] usize,
5424     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, libnewsize: u64) -> ::windows::runtime::HRESULT,
5425     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstm: ::windows::runtime::RawPtr, cb: u64, pcbread: *mut u64, pcbwritten: *mut u64) -> ::windows::runtime::HRESULT,
5426     #[cfg(not(feature = "Win32_System_Com"))] usize,
5427     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, grfcommitflags: u32) -> ::windows::runtime::HRESULT,
5428     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5429     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::HRESULT,
5430     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::HRESULT,
5431     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstatstg: *mut super::super::System::Com::STATSTG, grfstatflag: u32) -> ::windows::runtime::HRESULT,
5432     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
5433     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppstm: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5434     #[cfg(not(feature = "Win32_System_Com"))] usize,
5435     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pistream: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5436     #[cfg(not(feature = "Win32_System_Com"))] usize,
5437     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, wzfilename: super::super::Foundation::PWSTR, dwdesiredaccess: u32) -> ::windows::runtime::HRESULT,
5438     #[cfg(not(feature = "Win32_Foundation"))] usize,
5439     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbbuffer: *const u8, cbbuffersize: u32) -> ::windows::runtime::HRESULT,
5440     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pistream: ::windows::runtime::RawPtr, uloffset: u64, ulmaxsize: u64) -> ::windows::runtime::HRESULT,
5441     #[cfg(not(feature = "Win32_System_Com"))] usize,
5442 );
5443 #[repr(transparent)]
5444 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5445 pub struct IWICStreamProvider(::windows::runtime::IUnknown);
5446 impl IWICStreamProvider {
5447     #[cfg(feature = "Win32_System_Com")]
GetStream(&self) -> ::windows::runtime::Result<super::super::System::Com::IStream>5448     pub unsafe fn GetStream(&self) -> ::windows::runtime::Result<super::super::System::Com::IStream> {
5449         let mut result__: <super::super::System::Com::IStream as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5450         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::IStream>(result__)
5451     }
GetPersistOptions(&self) -> ::windows::runtime::Result<u32>5452     pub unsafe fn GetPersistOptions(&self) -> ::windows::runtime::Result<u32> {
5453         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5454         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
5455     }
GetPreferredVendorGUID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>5456     pub unsafe fn GetPreferredVendorGUID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
5457         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5458         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
5459     }
RefreshStream(&self) -> ::windows::runtime::Result<()>5460     pub unsafe fn RefreshStream(&self) -> ::windows::runtime::Result<()> {
5461         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self)).ok()
5462     }
5463 }
5464 unsafe impl ::windows::runtime::Interface for IWICStreamProvider {
5465     type Vtable = IWICStreamProvider_abi;
5466     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1150588092, 46184, 18727, [150, 215, 186, 144, 211, 26, 181, 5]);
5467 }
5468 impl ::std::convert::From<IWICStreamProvider> for ::windows::runtime::IUnknown {
from(value: IWICStreamProvider) -> Self5469     fn from(value: IWICStreamProvider) -> Self {
5470         unsafe { ::std::mem::transmute(value) }
5471     }
5472 }
5473 impl ::std::convert::From<&IWICStreamProvider> for ::windows::runtime::IUnknown {
from(value: &IWICStreamProvider) -> Self5474     fn from(value: &IWICStreamProvider) -> Self {
5475         ::std::convert::From::from(::std::clone::Clone::clone(value))
5476     }
5477 }
5478 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWICStreamProvider {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5479     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5480         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5481     }
5482 }
5483 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWICStreamProvider {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5484     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5485         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5486     }
5487 }
5488 #[repr(C)]
5489 #[doc(hidden)]
5490 pub struct IWICStreamProvider_abi(
5491     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5492     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5493     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5494     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppistream: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5495     #[cfg(not(feature = "Win32_System_Com"))] usize,
5496     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdwpersistoptions: *mut u32) -> ::windows::runtime::HRESULT,
5497     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pguidpreferredvendor: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
5498     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5499 );
5500 pub type PFNProgressNotification = unsafe extern "system" fn(pvdata: *const ::std::ffi::c_void, uframenum: u32, operation: WICProgressOperation, dblprogress: f64) -> ::windows::runtime::HRESULT;
5501 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5502 #[repr(transparent)]
5503 pub struct WIC8BIMIptcDigestProperties(pub u32);
5504 pub const WIC8BIMIptcDigestPString: WIC8BIMIptcDigestProperties = WIC8BIMIptcDigestProperties(1u32);
5505 pub const WIC8BIMIptcDigestIptcDigest: WIC8BIMIptcDigestProperties = WIC8BIMIptcDigestProperties(2u32);
5506 pub const WIC8BIMIptcDigestProperties_FORCE_DWORD: WIC8BIMIptcDigestProperties = WIC8BIMIptcDigestProperties(2147483647u32);
5507 impl ::std::convert::From<u32> for WIC8BIMIptcDigestProperties {
from(value: u32) -> Self5508     fn from(value: u32) -> Self {
5509         Self(value)
5510     }
5511 }
5512 unsafe impl ::windows::runtime::Abi for WIC8BIMIptcDigestProperties {
5513     type Abi = Self;
5514     type DefaultType = Self;
5515 }
5516 impl ::std::ops::BitOr for WIC8BIMIptcDigestProperties {
5517     type Output = Self;
bitor(self, rhs: Self) -> Self5518     fn bitor(self, rhs: Self) -> Self {
5519         Self(self.0 | rhs.0)
5520     }
5521 }
5522 impl ::std::ops::BitAnd for WIC8BIMIptcDigestProperties {
5523     type Output = Self;
bitand(self, rhs: Self) -> Self5524     fn bitand(self, rhs: Self) -> Self {
5525         Self(self.0 & rhs.0)
5526     }
5527 }
5528 impl ::std::ops::BitOrAssign for WIC8BIMIptcDigestProperties {
bitor_assign(&mut self, rhs: Self)5529     fn bitor_assign(&mut self, rhs: Self) {
5530         self.0.bitor_assign(rhs.0)
5531     }
5532 }
5533 impl ::std::ops::BitAndAssign for WIC8BIMIptcDigestProperties {
bitand_assign(&mut self, rhs: Self)5534     fn bitand_assign(&mut self, rhs: Self) {
5535         self.0.bitand_assign(rhs.0)
5536     }
5537 }
5538 impl ::std::ops::Not for WIC8BIMIptcDigestProperties {
5539     type Output = Self;
not(self) -> Self5540     fn not(self) -> Self {
5541         Self(self.0.not())
5542     }
5543 }
5544 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5545 #[repr(transparent)]
5546 pub struct WIC8BIMIptcProperties(pub u32);
5547 pub const WIC8BIMIptcPString: WIC8BIMIptcProperties = WIC8BIMIptcProperties(0u32);
5548 pub const WIC8BIMIptcEmbeddedIPTC: WIC8BIMIptcProperties = WIC8BIMIptcProperties(1u32);
5549 pub const WIC8BIMIptcProperties_FORCE_DWORD: WIC8BIMIptcProperties = WIC8BIMIptcProperties(2147483647u32);
5550 impl ::std::convert::From<u32> for WIC8BIMIptcProperties {
from(value: u32) -> Self5551     fn from(value: u32) -> Self {
5552         Self(value)
5553     }
5554 }
5555 unsafe impl ::windows::runtime::Abi for WIC8BIMIptcProperties {
5556     type Abi = Self;
5557     type DefaultType = Self;
5558 }
5559 impl ::std::ops::BitOr for WIC8BIMIptcProperties {
5560     type Output = Self;
bitor(self, rhs: Self) -> Self5561     fn bitor(self, rhs: Self) -> Self {
5562         Self(self.0 | rhs.0)
5563     }
5564 }
5565 impl ::std::ops::BitAnd for WIC8BIMIptcProperties {
5566     type Output = Self;
bitand(self, rhs: Self) -> Self5567     fn bitand(self, rhs: Self) -> Self {
5568         Self(self.0 & rhs.0)
5569     }
5570 }
5571 impl ::std::ops::BitOrAssign for WIC8BIMIptcProperties {
bitor_assign(&mut self, rhs: Self)5572     fn bitor_assign(&mut self, rhs: Self) {
5573         self.0.bitor_assign(rhs.0)
5574     }
5575 }
5576 impl ::std::ops::BitAndAssign for WIC8BIMIptcProperties {
bitand_assign(&mut self, rhs: Self)5577     fn bitand_assign(&mut self, rhs: Self) {
5578         self.0.bitand_assign(rhs.0)
5579     }
5580 }
5581 impl ::std::ops::Not for WIC8BIMIptcProperties {
5582     type Output = Self;
not(self) -> Self5583     fn not(self) -> Self {
5584         Self(self.0.not())
5585     }
5586 }
5587 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5588 #[repr(transparent)]
5589 pub struct WIC8BIMResolutionInfoProperties(pub u32);
5590 pub const WIC8BIMResolutionInfoPString: WIC8BIMResolutionInfoProperties = WIC8BIMResolutionInfoProperties(1u32);
5591 pub const WIC8BIMResolutionInfoHResolution: WIC8BIMResolutionInfoProperties = WIC8BIMResolutionInfoProperties(2u32);
5592 pub const WIC8BIMResolutionInfoHResolutionUnit: WIC8BIMResolutionInfoProperties = WIC8BIMResolutionInfoProperties(3u32);
5593 pub const WIC8BIMResolutionInfoWidthUnit: WIC8BIMResolutionInfoProperties = WIC8BIMResolutionInfoProperties(4u32);
5594 pub const WIC8BIMResolutionInfoVResolution: WIC8BIMResolutionInfoProperties = WIC8BIMResolutionInfoProperties(5u32);
5595 pub const WIC8BIMResolutionInfoVResolutionUnit: WIC8BIMResolutionInfoProperties = WIC8BIMResolutionInfoProperties(6u32);
5596 pub const WIC8BIMResolutionInfoHeightUnit: WIC8BIMResolutionInfoProperties = WIC8BIMResolutionInfoProperties(7u32);
5597 pub const WIC8BIMResolutionInfoProperties_FORCE_DWORD: WIC8BIMResolutionInfoProperties = WIC8BIMResolutionInfoProperties(2147483647u32);
5598 impl ::std::convert::From<u32> for WIC8BIMResolutionInfoProperties {
from(value: u32) -> Self5599     fn from(value: u32) -> Self {
5600         Self(value)
5601     }
5602 }
5603 unsafe impl ::windows::runtime::Abi for WIC8BIMResolutionInfoProperties {
5604     type Abi = Self;
5605     type DefaultType = Self;
5606 }
5607 impl ::std::ops::BitOr for WIC8BIMResolutionInfoProperties {
5608     type Output = Self;
bitor(self, rhs: Self) -> Self5609     fn bitor(self, rhs: Self) -> Self {
5610         Self(self.0 | rhs.0)
5611     }
5612 }
5613 impl ::std::ops::BitAnd for WIC8BIMResolutionInfoProperties {
5614     type Output = Self;
bitand(self, rhs: Self) -> Self5615     fn bitand(self, rhs: Self) -> Self {
5616         Self(self.0 & rhs.0)
5617     }
5618 }
5619 impl ::std::ops::BitOrAssign for WIC8BIMResolutionInfoProperties {
bitor_assign(&mut self, rhs: Self)5620     fn bitor_assign(&mut self, rhs: Self) {
5621         self.0.bitor_assign(rhs.0)
5622     }
5623 }
5624 impl ::std::ops::BitAndAssign for WIC8BIMResolutionInfoProperties {
bitand_assign(&mut self, rhs: Self)5625     fn bitand_assign(&mut self, rhs: Self) {
5626         self.0.bitand_assign(rhs.0)
5627     }
5628 }
5629 impl ::std::ops::Not for WIC8BIMResolutionInfoProperties {
5630     type Output = Self;
not(self) -> Self5631     fn not(self) -> Self {
5632         Self(self.0.not())
5633     }
5634 }
5635 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5636 #[repr(transparent)]
5637 pub struct WICBitmapAlphaChannelOption(pub i32);
5638 pub const WICBitmapUseAlpha: WICBitmapAlphaChannelOption = WICBitmapAlphaChannelOption(0i32);
5639 pub const WICBitmapUsePremultipliedAlpha: WICBitmapAlphaChannelOption = WICBitmapAlphaChannelOption(1i32);
5640 pub const WICBitmapIgnoreAlpha: WICBitmapAlphaChannelOption = WICBitmapAlphaChannelOption(2i32);
5641 pub const WICBITMAPALPHACHANNELOPTIONS_FORCE_DWORD: WICBitmapAlphaChannelOption = WICBitmapAlphaChannelOption(2147483647i32);
5642 impl ::std::convert::From<i32> for WICBitmapAlphaChannelOption {
from(value: i32) -> Self5643     fn from(value: i32) -> Self {
5644         Self(value)
5645     }
5646 }
5647 unsafe impl ::windows::runtime::Abi for WICBitmapAlphaChannelOption {
5648     type Abi = Self;
5649     type DefaultType = Self;
5650 }
5651 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5652 #[repr(transparent)]
5653 pub struct WICBitmapCreateCacheOption(pub i32);
5654 pub const WICBitmapNoCache: WICBitmapCreateCacheOption = WICBitmapCreateCacheOption(0i32);
5655 pub const WICBitmapCacheOnDemand: WICBitmapCreateCacheOption = WICBitmapCreateCacheOption(1i32);
5656 pub const WICBitmapCacheOnLoad: WICBitmapCreateCacheOption = WICBitmapCreateCacheOption(2i32);
5657 pub const WICBITMAPCREATECACHEOPTION_FORCE_DWORD: WICBitmapCreateCacheOption = WICBitmapCreateCacheOption(2147483647i32);
5658 impl ::std::convert::From<i32> for WICBitmapCreateCacheOption {
from(value: i32) -> Self5659     fn from(value: i32) -> Self {
5660         Self(value)
5661     }
5662 }
5663 unsafe impl ::windows::runtime::Abi for WICBitmapCreateCacheOption {
5664     type Abi = Self;
5665     type DefaultType = Self;
5666 }
5667 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5668 #[repr(transparent)]
5669 pub struct WICBitmapDecoderCapabilities(pub i32);
5670 pub const WICBitmapDecoderCapabilitySameEncoder: WICBitmapDecoderCapabilities = WICBitmapDecoderCapabilities(1i32);
5671 pub const WICBitmapDecoderCapabilityCanDecodeAllImages: WICBitmapDecoderCapabilities = WICBitmapDecoderCapabilities(2i32);
5672 pub const WICBitmapDecoderCapabilityCanDecodeSomeImages: WICBitmapDecoderCapabilities = WICBitmapDecoderCapabilities(4i32);
5673 pub const WICBitmapDecoderCapabilityCanEnumerateMetadata: WICBitmapDecoderCapabilities = WICBitmapDecoderCapabilities(8i32);
5674 pub const WICBitmapDecoderCapabilityCanDecodeThumbnail: WICBitmapDecoderCapabilities = WICBitmapDecoderCapabilities(16i32);
5675 pub const WICBITMAPDECODERCAPABILITIES_FORCE_DWORD: WICBitmapDecoderCapabilities = WICBitmapDecoderCapabilities(2147483647i32);
5676 impl ::std::convert::From<i32> for WICBitmapDecoderCapabilities {
from(value: i32) -> Self5677     fn from(value: i32) -> Self {
5678         Self(value)
5679     }
5680 }
5681 unsafe impl ::windows::runtime::Abi for WICBitmapDecoderCapabilities {
5682     type Abi = Self;
5683     type DefaultType = Self;
5684 }
5685 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5686 #[repr(transparent)]
5687 pub struct WICBitmapDitherType(pub i32);
5688 pub const WICBitmapDitherTypeNone: WICBitmapDitherType = WICBitmapDitherType(0i32);
5689 pub const WICBitmapDitherTypeSolid: WICBitmapDitherType = WICBitmapDitherType(0i32);
5690 pub const WICBitmapDitherTypeOrdered4x4: WICBitmapDitherType = WICBitmapDitherType(1i32);
5691 pub const WICBitmapDitherTypeOrdered8x8: WICBitmapDitherType = WICBitmapDitherType(2i32);
5692 pub const WICBitmapDitherTypeOrdered16x16: WICBitmapDitherType = WICBitmapDitherType(3i32);
5693 pub const WICBitmapDitherTypeSpiral4x4: WICBitmapDitherType = WICBitmapDitherType(4i32);
5694 pub const WICBitmapDitherTypeSpiral8x8: WICBitmapDitherType = WICBitmapDitherType(5i32);
5695 pub const WICBitmapDitherTypeDualSpiral4x4: WICBitmapDitherType = WICBitmapDitherType(6i32);
5696 pub const WICBitmapDitherTypeDualSpiral8x8: WICBitmapDitherType = WICBitmapDitherType(7i32);
5697 pub const WICBitmapDitherTypeErrorDiffusion: WICBitmapDitherType = WICBitmapDitherType(8i32);
5698 pub const WICBITMAPDITHERTYPE_FORCE_DWORD: WICBitmapDitherType = WICBitmapDitherType(2147483647i32);
5699 impl ::std::convert::From<i32> for WICBitmapDitherType {
from(value: i32) -> Self5700     fn from(value: i32) -> Self {
5701         Self(value)
5702     }
5703 }
5704 unsafe impl ::windows::runtime::Abi for WICBitmapDitherType {
5705     type Abi = Self;
5706     type DefaultType = Self;
5707 }
5708 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5709 #[repr(transparent)]
5710 pub struct WICBitmapEncoderCacheOption(pub i32);
5711 pub const WICBitmapEncoderCacheInMemory: WICBitmapEncoderCacheOption = WICBitmapEncoderCacheOption(0i32);
5712 pub const WICBitmapEncoderCacheTempFile: WICBitmapEncoderCacheOption = WICBitmapEncoderCacheOption(1i32);
5713 pub const WICBitmapEncoderNoCache: WICBitmapEncoderCacheOption = WICBitmapEncoderCacheOption(2i32);
5714 pub const WICBITMAPENCODERCACHEOPTION_FORCE_DWORD: WICBitmapEncoderCacheOption = WICBitmapEncoderCacheOption(2147483647i32);
5715 impl ::std::convert::From<i32> for WICBitmapEncoderCacheOption {
from(value: i32) -> Self5716     fn from(value: i32) -> Self {
5717         Self(value)
5718     }
5719 }
5720 unsafe impl ::windows::runtime::Abi for WICBitmapEncoderCacheOption {
5721     type Abi = Self;
5722     type DefaultType = Self;
5723 }
5724 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5725 #[repr(transparent)]
5726 pub struct WICBitmapInterpolationMode(pub i32);
5727 pub const WICBitmapInterpolationModeNearestNeighbor: WICBitmapInterpolationMode = WICBitmapInterpolationMode(0i32);
5728 pub const WICBitmapInterpolationModeLinear: WICBitmapInterpolationMode = WICBitmapInterpolationMode(1i32);
5729 pub const WICBitmapInterpolationModeCubic: WICBitmapInterpolationMode = WICBitmapInterpolationMode(2i32);
5730 pub const WICBitmapInterpolationModeFant: WICBitmapInterpolationMode = WICBitmapInterpolationMode(3i32);
5731 pub const WICBitmapInterpolationModeHighQualityCubic: WICBitmapInterpolationMode = WICBitmapInterpolationMode(4i32);
5732 pub const WICBITMAPINTERPOLATIONMODE_FORCE_DWORD: WICBitmapInterpolationMode = WICBitmapInterpolationMode(2147483647i32);
5733 impl ::std::convert::From<i32> for WICBitmapInterpolationMode {
from(value: i32) -> Self5734     fn from(value: i32) -> Self {
5735         Self(value)
5736     }
5737 }
5738 unsafe impl ::windows::runtime::Abi for WICBitmapInterpolationMode {
5739     type Abi = Self;
5740     type DefaultType = Self;
5741 }
5742 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5743 #[repr(transparent)]
5744 pub struct WICBitmapLockFlags(pub i32);
5745 pub const WICBitmapLockRead: WICBitmapLockFlags = WICBitmapLockFlags(1i32);
5746 pub const WICBitmapLockWrite: WICBitmapLockFlags = WICBitmapLockFlags(2i32);
5747 pub const WICBITMAPLOCKFLAGS_FORCE_DWORD: WICBitmapLockFlags = WICBitmapLockFlags(2147483647i32);
5748 impl ::std::convert::From<i32> for WICBitmapLockFlags {
from(value: i32) -> Self5749     fn from(value: i32) -> Self {
5750         Self(value)
5751     }
5752 }
5753 unsafe impl ::windows::runtime::Abi for WICBitmapLockFlags {
5754     type Abi = Self;
5755     type DefaultType = Self;
5756 }
5757 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5758 #[repr(transparent)]
5759 pub struct WICBitmapPaletteType(pub i32);
5760 pub const WICBitmapPaletteTypeCustom: WICBitmapPaletteType = WICBitmapPaletteType(0i32);
5761 pub const WICBitmapPaletteTypeMedianCut: WICBitmapPaletteType = WICBitmapPaletteType(1i32);
5762 pub const WICBitmapPaletteTypeFixedBW: WICBitmapPaletteType = WICBitmapPaletteType(2i32);
5763 pub const WICBitmapPaletteTypeFixedHalftone8: WICBitmapPaletteType = WICBitmapPaletteType(3i32);
5764 pub const WICBitmapPaletteTypeFixedHalftone27: WICBitmapPaletteType = WICBitmapPaletteType(4i32);
5765 pub const WICBitmapPaletteTypeFixedHalftone64: WICBitmapPaletteType = WICBitmapPaletteType(5i32);
5766 pub const WICBitmapPaletteTypeFixedHalftone125: WICBitmapPaletteType = WICBitmapPaletteType(6i32);
5767 pub const WICBitmapPaletteTypeFixedHalftone216: WICBitmapPaletteType = WICBitmapPaletteType(7i32);
5768 pub const WICBitmapPaletteTypeFixedWebPalette: WICBitmapPaletteType = WICBitmapPaletteType(7i32);
5769 pub const WICBitmapPaletteTypeFixedHalftone252: WICBitmapPaletteType = WICBitmapPaletteType(8i32);
5770 pub const WICBitmapPaletteTypeFixedHalftone256: WICBitmapPaletteType = WICBitmapPaletteType(9i32);
5771 pub const WICBitmapPaletteTypeFixedGray4: WICBitmapPaletteType = WICBitmapPaletteType(10i32);
5772 pub const WICBitmapPaletteTypeFixedGray16: WICBitmapPaletteType = WICBitmapPaletteType(11i32);
5773 pub const WICBitmapPaletteTypeFixedGray256: WICBitmapPaletteType = WICBitmapPaletteType(12i32);
5774 pub const WICBITMAPPALETTETYPE_FORCE_DWORD: WICBitmapPaletteType = WICBitmapPaletteType(2147483647i32);
5775 impl ::std::convert::From<i32> for WICBitmapPaletteType {
from(value: i32) -> Self5776     fn from(value: i32) -> Self {
5777         Self(value)
5778     }
5779 }
5780 unsafe impl ::windows::runtime::Abi for WICBitmapPaletteType {
5781     type Abi = Self;
5782     type DefaultType = Self;
5783 }
5784 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5785 #[repr(C)]
5786 #[cfg(feature = "Win32_Foundation")]
5787 pub struct WICBitmapPattern {
5788     pub Position: u64,
5789     pub Length: u32,
5790     pub Pattern: *mut u8,
5791     pub Mask: *mut u8,
5792     pub EndOfStream: super::super::Foundation::BOOL,
5793 }
5794 #[cfg(feature = "Win32_Foundation")]
5795 impl WICBitmapPattern {}
5796 #[cfg(feature = "Win32_Foundation")]
5797 impl ::std::default::Default for WICBitmapPattern {
default() -> Self5798     fn default() -> Self {
5799         unsafe { ::std::mem::zeroed() }
5800     }
5801 }
5802 #[cfg(feature = "Win32_Foundation")]
5803 impl ::std::fmt::Debug for WICBitmapPattern {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5804     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5805         fmt.debug_struct("WICBitmapPattern").field("Position", &self.Position).field("Length", &self.Length).field("Pattern", &self.Pattern).field("Mask", &self.Mask).field("EndOfStream", &self.EndOfStream).finish()
5806     }
5807 }
5808 #[cfg(feature = "Win32_Foundation")]
5809 impl ::std::cmp::PartialEq for WICBitmapPattern {
eq(&self, other: &Self) -> bool5810     fn eq(&self, other: &Self) -> bool {
5811         self.Position == other.Position && self.Length == other.Length && self.Pattern == other.Pattern && self.Mask == other.Mask && self.EndOfStream == other.EndOfStream
5812     }
5813 }
5814 #[cfg(feature = "Win32_Foundation")]
5815 impl ::std::cmp::Eq for WICBitmapPattern {}
5816 #[cfg(feature = "Win32_Foundation")]
5817 unsafe impl ::windows::runtime::Abi for WICBitmapPattern {
5818     type Abi = Self;
5819     type DefaultType = Self;
5820 }
5821 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5822 #[repr(C)]
5823 pub struct WICBitmapPlane {
5824     pub Format: ::windows::runtime::GUID,
5825     pub pbBuffer: *mut u8,
5826     pub cbStride: u32,
5827     pub cbBufferSize: u32,
5828 }
5829 impl WICBitmapPlane {}
5830 impl ::std::default::Default for WICBitmapPlane {
default() -> Self5831     fn default() -> Self {
5832         unsafe { ::std::mem::zeroed() }
5833     }
5834 }
5835 impl ::std::fmt::Debug for WICBitmapPlane {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5836     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5837         fmt.debug_struct("WICBitmapPlane").field("Format", &self.Format).field("pbBuffer", &self.pbBuffer).field("cbStride", &self.cbStride).field("cbBufferSize", &self.cbBufferSize).finish()
5838     }
5839 }
5840 impl ::std::cmp::PartialEq for WICBitmapPlane {
eq(&self, other: &Self) -> bool5841     fn eq(&self, other: &Self) -> bool {
5842         self.Format == other.Format && self.pbBuffer == other.pbBuffer && self.cbStride == other.cbStride && self.cbBufferSize == other.cbBufferSize
5843     }
5844 }
5845 impl ::std::cmp::Eq for WICBitmapPlane {}
5846 unsafe impl ::windows::runtime::Abi for WICBitmapPlane {
5847     type Abi = Self;
5848     type DefaultType = Self;
5849 }
5850 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5851 #[repr(C)]
5852 pub struct WICBitmapPlaneDescription {
5853     pub Format: ::windows::runtime::GUID,
5854     pub Width: u32,
5855     pub Height: u32,
5856 }
5857 impl WICBitmapPlaneDescription {}
5858 impl ::std::default::Default for WICBitmapPlaneDescription {
default() -> Self5859     fn default() -> Self {
5860         unsafe { ::std::mem::zeroed() }
5861     }
5862 }
5863 impl ::std::fmt::Debug for WICBitmapPlaneDescription {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5864     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5865         fmt.debug_struct("WICBitmapPlaneDescription").field("Format", &self.Format).field("Width", &self.Width).field("Height", &self.Height).finish()
5866     }
5867 }
5868 impl ::std::cmp::PartialEq for WICBitmapPlaneDescription {
eq(&self, other: &Self) -> bool5869     fn eq(&self, other: &Self) -> bool {
5870         self.Format == other.Format && self.Width == other.Width && self.Height == other.Height
5871     }
5872 }
5873 impl ::std::cmp::Eq for WICBitmapPlaneDescription {}
5874 unsafe impl ::windows::runtime::Abi for WICBitmapPlaneDescription {
5875     type Abi = Self;
5876     type DefaultType = Self;
5877 }
5878 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5879 #[repr(transparent)]
5880 pub struct WICBitmapTransformOptions(pub i32);
5881 pub const WICBitmapTransformRotate0: WICBitmapTransformOptions = WICBitmapTransformOptions(0i32);
5882 pub const WICBitmapTransformRotate90: WICBitmapTransformOptions = WICBitmapTransformOptions(1i32);
5883 pub const WICBitmapTransformRotate180: WICBitmapTransformOptions = WICBitmapTransformOptions(2i32);
5884 pub const WICBitmapTransformRotate270: WICBitmapTransformOptions = WICBitmapTransformOptions(3i32);
5885 pub const WICBitmapTransformFlipHorizontal: WICBitmapTransformOptions = WICBitmapTransformOptions(8i32);
5886 pub const WICBitmapTransformFlipVertical: WICBitmapTransformOptions = WICBitmapTransformOptions(16i32);
5887 pub const WICBITMAPTRANSFORMOPTIONS_FORCE_DWORD: WICBitmapTransformOptions = WICBitmapTransformOptions(2147483647i32);
5888 impl ::std::convert::From<i32> for WICBitmapTransformOptions {
from(value: i32) -> Self5889     fn from(value: i32) -> Self {
5890         Self(value)
5891     }
5892 }
5893 unsafe impl ::windows::runtime::Abi for WICBitmapTransformOptions {
5894     type Abi = Self;
5895     type DefaultType = Self;
5896 }
5897 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5898 #[repr(transparent)]
5899 pub struct WICColorContextType(pub i32);
5900 pub const WICColorContextUninitialized: WICColorContextType = WICColorContextType(0i32);
5901 pub const WICColorContextProfile: WICColorContextType = WICColorContextType(1i32);
5902 pub const WICColorContextExifColorSpace: WICColorContextType = WICColorContextType(2i32);
5903 impl ::std::convert::From<i32> for WICColorContextType {
from(value: i32) -> Self5904     fn from(value: i32) -> Self {
5905         Self(value)
5906     }
5907 }
5908 unsafe impl ::windows::runtime::Abi for WICColorContextType {
5909     type Abi = Self;
5910     type DefaultType = Self;
5911 }
5912 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5913 #[repr(transparent)]
5914 pub struct WICComponentEnumerateOptions(pub i32);
5915 pub const WICComponentEnumerateDefault: WICComponentEnumerateOptions = WICComponentEnumerateOptions(0i32);
5916 pub const WICComponentEnumerateRefresh: WICComponentEnumerateOptions = WICComponentEnumerateOptions(1i32);
5917 pub const WICComponentEnumerateDisabled: WICComponentEnumerateOptions = WICComponentEnumerateOptions(-2147483648i32);
5918 pub const WICComponentEnumerateUnsigned: WICComponentEnumerateOptions = WICComponentEnumerateOptions(1073741824i32);
5919 pub const WICComponentEnumerateBuiltInOnly: WICComponentEnumerateOptions = WICComponentEnumerateOptions(536870912i32);
5920 pub const WICCOMPONENTENUMERATEOPTIONS_FORCE_DWORD: WICComponentEnumerateOptions = WICComponentEnumerateOptions(2147483647i32);
5921 impl ::std::convert::From<i32> for WICComponentEnumerateOptions {
from(value: i32) -> Self5922     fn from(value: i32) -> Self {
5923         Self(value)
5924     }
5925 }
5926 unsafe impl ::windows::runtime::Abi for WICComponentEnumerateOptions {
5927     type Abi = Self;
5928     type DefaultType = Self;
5929 }
5930 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5931 #[repr(transparent)]
5932 pub struct WICComponentSigning(pub i32);
5933 pub const WICComponentSigned: WICComponentSigning = WICComponentSigning(1i32);
5934 pub const WICComponentUnsigned: WICComponentSigning = WICComponentSigning(2i32);
5935 pub const WICComponentSafe: WICComponentSigning = WICComponentSigning(4i32);
5936 pub const WICComponentDisabled: WICComponentSigning = WICComponentSigning(-2147483648i32);
5937 pub const WICCOMPONENTSIGNING_FORCE_DWORD: WICComponentSigning = WICComponentSigning(2147483647i32);
5938 impl ::std::convert::From<i32> for WICComponentSigning {
from(value: i32) -> Self5939     fn from(value: i32) -> Self {
5940         Self(value)
5941     }
5942 }
5943 unsafe impl ::windows::runtime::Abi for WICComponentSigning {
5944     type Abi = Self;
5945     type DefaultType = Self;
5946 }
5947 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5948 #[repr(transparent)]
5949 pub struct WICComponentType(pub i32);
5950 pub const WICDecoder: WICComponentType = WICComponentType(1i32);
5951 pub const WICEncoder: WICComponentType = WICComponentType(2i32);
5952 pub const WICPixelFormatConverter: WICComponentType = WICComponentType(4i32);
5953 pub const WICMetadataReader: WICComponentType = WICComponentType(8i32);
5954 pub const WICMetadataWriter: WICComponentType = WICComponentType(16i32);
5955 pub const WICPixelFormat: WICComponentType = WICComponentType(32i32);
5956 pub const WICAllComponents: WICComponentType = WICComponentType(63i32);
5957 pub const WICCOMPONENTTYPE_FORCE_DWORD: WICComponentType = WICComponentType(2147483647i32);
5958 impl ::std::convert::From<i32> for WICComponentType {
from(value: i32) -> Self5959     fn from(value: i32) -> Self {
5960         Self(value)
5961     }
5962 }
5963 unsafe impl ::windows::runtime::Abi for WICComponentType {
5964     type Abi = Self;
5965     type DefaultType = Self;
5966 }
5967 #[inline]
WICConvertBitmapSource<'a, Param1: ::windows::runtime::IntoParam<'a, IWICBitmapSource>>(dstformat: *const ::windows::runtime::GUID, pisrc: Param1) -> ::windows::runtime::Result<IWICBitmapSource>5968 pub unsafe fn WICConvertBitmapSource<'a, Param1: ::windows::runtime::IntoParam<'a, IWICBitmapSource>>(dstformat: *const ::windows::runtime::GUID, pisrc: Param1) -> ::windows::runtime::Result<IWICBitmapSource> {
5969     #[cfg(windows)]
5970     {
5971         #[link(name = "windows")]
5972         extern "system" {
5973             fn WICConvertBitmapSource(dstformat: *const ::windows::runtime::GUID, pisrc: ::windows::runtime::RawPtr, ppidst: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
5974         }
5975         let mut result__: <IWICBitmapSource as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5976         WICConvertBitmapSource(::std::mem::transmute(dstformat), pisrc.into_param().abi(), &mut result__).from_abi::<IWICBitmapSource>(result__)
5977     }
5978     #[cfg(not(windows))]
5979     unimplemented!("Unsupported target OS");
5980 }
5981 #[cfg(feature = "Win32_Foundation")]
5982 #[inline]
WICCreateBitmapFromSection<'a, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(width: u32, height: u32, pixelformat: *const ::windows::runtime::GUID, hsection: Param3, stride: u32, offset: u32) -> ::windows::runtime::Result<IWICBitmap>5983 pub unsafe fn WICCreateBitmapFromSection<'a, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(width: u32, height: u32, pixelformat: *const ::windows::runtime::GUID, hsection: Param3, stride: u32, offset: u32) -> ::windows::runtime::Result<IWICBitmap> {
5984     #[cfg(windows)]
5985     {
5986         #[link(name = "windows")]
5987         extern "system" {
5988             fn WICCreateBitmapFromSection(width: u32, height: u32, pixelformat: *const ::windows::runtime::GUID, hsection: super::super::Foundation::HANDLE, stride: u32, offset: u32, ppibitmap: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
5989         }
5990         let mut result__: <IWICBitmap as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5991         WICCreateBitmapFromSection(::std::mem::transmute(width), ::std::mem::transmute(height), ::std::mem::transmute(pixelformat), hsection.into_param().abi(), ::std::mem::transmute(stride), ::std::mem::transmute(offset), &mut result__).from_abi::<IWICBitmap>(result__)
5992     }
5993     #[cfg(not(windows))]
5994     unimplemented!("Unsupported target OS");
5995 }
5996 #[cfg(feature = "Win32_Foundation")]
5997 #[inline]
WICCreateBitmapFromSectionEx<'a, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(width: u32, height: u32, pixelformat: *const ::windows::runtime::GUID, hsection: Param3, stride: u32, offset: u32, desiredaccesslevel: WICSectionAccessLevel) -> ::windows::runtime::Result<IWICBitmap>5998 pub unsafe fn WICCreateBitmapFromSectionEx<'a, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(width: u32, height: u32, pixelformat: *const ::windows::runtime::GUID, hsection: Param3, stride: u32, offset: u32, desiredaccesslevel: WICSectionAccessLevel) -> ::windows::runtime::Result<IWICBitmap> {
5999     #[cfg(windows)]
6000     {
6001         #[link(name = "windows")]
6002         extern "system" {
6003             fn WICCreateBitmapFromSectionEx(width: u32, height: u32, pixelformat: *const ::windows::runtime::GUID, hsection: super::super::Foundation::HANDLE, stride: u32, offset: u32, desiredaccesslevel: WICSectionAccessLevel, ppibitmap: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
6004         }
6005         let mut result__: <IWICBitmap as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6006         WICCreateBitmapFromSectionEx(::std::mem::transmute(width), ::std::mem::transmute(height), ::std::mem::transmute(pixelformat), hsection.into_param().abi(), ::std::mem::transmute(stride), ::std::mem::transmute(offset), ::std::mem::transmute(desiredaccesslevel), &mut result__).from_abi::<IWICBitmap>(result__)
6007     }
6008     #[cfg(not(windows))]
6009     unimplemented!("Unsupported target OS");
6010 }
6011 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6012 #[repr(transparent)]
6013 pub struct WICDdsAlphaMode(pub i32);
6014 pub const WICDdsAlphaModeUnknown: WICDdsAlphaMode = WICDdsAlphaMode(0i32);
6015 pub const WICDdsAlphaModeStraight: WICDdsAlphaMode = WICDdsAlphaMode(1i32);
6016 pub const WICDdsAlphaModePremultiplied: WICDdsAlphaMode = WICDdsAlphaMode(2i32);
6017 pub const WICDdsAlphaModeOpaque: WICDdsAlphaMode = WICDdsAlphaMode(3i32);
6018 pub const WICDdsAlphaModeCustom: WICDdsAlphaMode = WICDdsAlphaMode(4i32);
6019 pub const WICDDSALPHAMODE_FORCE_DWORD: WICDdsAlphaMode = WICDdsAlphaMode(2147483647i32);
6020 impl ::std::convert::From<i32> for WICDdsAlphaMode {
from(value: i32) -> Self6021     fn from(value: i32) -> Self {
6022         Self(value)
6023     }
6024 }
6025 unsafe impl ::windows::runtime::Abi for WICDdsAlphaMode {
6026     type Abi = Self;
6027     type DefaultType = Self;
6028 }
6029 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6030 #[repr(transparent)]
6031 pub struct WICDdsDimension(pub i32);
6032 pub const WICDdsTexture1D: WICDdsDimension = WICDdsDimension(0i32);
6033 pub const WICDdsTexture2D: WICDdsDimension = WICDdsDimension(1i32);
6034 pub const WICDdsTexture3D: WICDdsDimension = WICDdsDimension(2i32);
6035 pub const WICDdsTextureCube: WICDdsDimension = WICDdsDimension(3i32);
6036 pub const WICDDSTEXTURE_FORCE_DWORD: WICDdsDimension = WICDdsDimension(2147483647i32);
6037 impl ::std::convert::From<i32> for WICDdsDimension {
from(value: i32) -> Self6038     fn from(value: i32) -> Self {
6039         Self(value)
6040     }
6041 }
6042 unsafe impl ::windows::runtime::Abi for WICDdsDimension {
6043     type Abi = Self;
6044     type DefaultType = Self;
6045 }
6046 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
6047 #[repr(C)]
6048 #[cfg(feature = "Win32_Graphics_Dxgi")]
6049 pub struct WICDdsFormatInfo {
6050     pub DxgiFormat: super::Dxgi::DXGI_FORMAT,
6051     pub BytesPerBlock: u32,
6052     pub BlockWidth: u32,
6053     pub BlockHeight: u32,
6054 }
6055 #[cfg(feature = "Win32_Graphics_Dxgi")]
6056 impl WICDdsFormatInfo {}
6057 #[cfg(feature = "Win32_Graphics_Dxgi")]
6058 impl ::std::default::Default for WICDdsFormatInfo {
default() -> Self6059     fn default() -> Self {
6060         unsafe { ::std::mem::zeroed() }
6061     }
6062 }
6063 #[cfg(feature = "Win32_Graphics_Dxgi")]
6064 impl ::std::fmt::Debug for WICDdsFormatInfo {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result6065     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
6066         fmt.debug_struct("WICDdsFormatInfo").field("DxgiFormat", &self.DxgiFormat).field("BytesPerBlock", &self.BytesPerBlock).field("BlockWidth", &self.BlockWidth).field("BlockHeight", &self.BlockHeight).finish()
6067     }
6068 }
6069 #[cfg(feature = "Win32_Graphics_Dxgi")]
6070 impl ::std::cmp::PartialEq for WICDdsFormatInfo {
eq(&self, other: &Self) -> bool6071     fn eq(&self, other: &Self) -> bool {
6072         self.DxgiFormat == other.DxgiFormat && self.BytesPerBlock == other.BytesPerBlock && self.BlockWidth == other.BlockWidth && self.BlockHeight == other.BlockHeight
6073     }
6074 }
6075 #[cfg(feature = "Win32_Graphics_Dxgi")]
6076 impl ::std::cmp::Eq for WICDdsFormatInfo {}
6077 #[cfg(feature = "Win32_Graphics_Dxgi")]
6078 unsafe impl ::windows::runtime::Abi for WICDdsFormatInfo {
6079     type Abi = Self;
6080     type DefaultType = Self;
6081 }
6082 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
6083 #[repr(C)]
6084 #[cfg(feature = "Win32_Graphics_Dxgi")]
6085 pub struct WICDdsParameters {
6086     pub Width: u32,
6087     pub Height: u32,
6088     pub Depth: u32,
6089     pub MipLevels: u32,
6090     pub ArraySize: u32,
6091     pub DxgiFormat: super::Dxgi::DXGI_FORMAT,
6092     pub Dimension: WICDdsDimension,
6093     pub AlphaMode: WICDdsAlphaMode,
6094 }
6095 #[cfg(feature = "Win32_Graphics_Dxgi")]
6096 impl WICDdsParameters {}
6097 #[cfg(feature = "Win32_Graphics_Dxgi")]
6098 impl ::std::default::Default for WICDdsParameters {
default() -> Self6099     fn default() -> Self {
6100         unsafe { ::std::mem::zeroed() }
6101     }
6102 }
6103 #[cfg(feature = "Win32_Graphics_Dxgi")]
6104 impl ::std::fmt::Debug for WICDdsParameters {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result6105     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
6106         fmt.debug_struct("WICDdsParameters")
6107             .field("Width", &self.Width)
6108             .field("Height", &self.Height)
6109             .field("Depth", &self.Depth)
6110             .field("MipLevels", &self.MipLevels)
6111             .field("ArraySize", &self.ArraySize)
6112             .field("DxgiFormat", &self.DxgiFormat)
6113             .field("Dimension", &self.Dimension)
6114             .field("AlphaMode", &self.AlphaMode)
6115             .finish()
6116     }
6117 }
6118 #[cfg(feature = "Win32_Graphics_Dxgi")]
6119 impl ::std::cmp::PartialEq for WICDdsParameters {
eq(&self, other: &Self) -> bool6120     fn eq(&self, other: &Self) -> bool {
6121         self.Width == other.Width && self.Height == other.Height && self.Depth == other.Depth && self.MipLevels == other.MipLevels && self.ArraySize == other.ArraySize && self.DxgiFormat == other.DxgiFormat && self.Dimension == other.Dimension && self.AlphaMode == other.AlphaMode
6122     }
6123 }
6124 #[cfg(feature = "Win32_Graphics_Dxgi")]
6125 impl ::std::cmp::Eq for WICDdsParameters {}
6126 #[cfg(feature = "Win32_Graphics_Dxgi")]
6127 unsafe impl ::windows::runtime::Abi for WICDdsParameters {
6128     type Abi = Self;
6129     type DefaultType = Self;
6130 }
6131 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6132 #[repr(transparent)]
6133 pub struct WICDecodeOptions(pub i32);
6134 pub const WICDecodeMetadataCacheOnDemand: WICDecodeOptions = WICDecodeOptions(0i32);
6135 pub const WICDecodeMetadataCacheOnLoad: WICDecodeOptions = WICDecodeOptions(1i32);
6136 pub const WICMETADATACACHEOPTION_FORCE_DWORD: WICDecodeOptions = WICDecodeOptions(2147483647i32);
6137 impl ::std::convert::From<i32> for WICDecodeOptions {
from(value: i32) -> Self6138     fn from(value: i32) -> Self {
6139         Self(value)
6140     }
6141 }
6142 unsafe impl ::windows::runtime::Abi for WICDecodeOptions {
6143     type Abi = Self;
6144     type DefaultType = Self;
6145 }
6146 #[inline]
WICGetMetadataContentSize<'a, Param1: ::windows::runtime::IntoParam<'a, IWICMetadataWriter>>(guidcontainerformat: *const ::windows::runtime::GUID, piwriter: Param1) -> ::windows::runtime::Result<u64>6147 pub unsafe fn WICGetMetadataContentSize<'a, Param1: ::windows::runtime::IntoParam<'a, IWICMetadataWriter>>(guidcontainerformat: *const ::windows::runtime::GUID, piwriter: Param1) -> ::windows::runtime::Result<u64> {
6148     #[cfg(windows)]
6149     {
6150         #[link(name = "windows")]
6151         extern "system" {
6152             fn WICGetMetadataContentSize(guidcontainerformat: *const ::windows::runtime::GUID, piwriter: ::windows::runtime::RawPtr, pcbsize: *mut u64) -> ::windows::runtime::HRESULT;
6153         }
6154         let mut result__: <u64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6155         WICGetMetadataContentSize(::std::mem::transmute(guidcontainerformat), piwriter.into_param().abi(), &mut result__).from_abi::<u64>(result__)
6156     }
6157     #[cfg(not(windows))]
6158     unimplemented!("Unsupported target OS");
6159 }
6160 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6161 #[repr(transparent)]
6162 pub struct WICGifApplicationExtensionProperties(pub u32);
6163 pub const WICGifApplicationExtensionApplication: WICGifApplicationExtensionProperties = WICGifApplicationExtensionProperties(1u32);
6164 pub const WICGifApplicationExtensionData: WICGifApplicationExtensionProperties = WICGifApplicationExtensionProperties(2u32);
6165 pub const WICGifApplicationExtensionProperties_FORCE_DWORD: WICGifApplicationExtensionProperties = WICGifApplicationExtensionProperties(2147483647u32);
6166 impl ::std::convert::From<u32> for WICGifApplicationExtensionProperties {
from(value: u32) -> Self6167     fn from(value: u32) -> Self {
6168         Self(value)
6169     }
6170 }
6171 unsafe impl ::windows::runtime::Abi for WICGifApplicationExtensionProperties {
6172     type Abi = Self;
6173     type DefaultType = Self;
6174 }
6175 impl ::std::ops::BitOr for WICGifApplicationExtensionProperties {
6176     type Output = Self;
bitor(self, rhs: Self) -> Self6177     fn bitor(self, rhs: Self) -> Self {
6178         Self(self.0 | rhs.0)
6179     }
6180 }
6181 impl ::std::ops::BitAnd for WICGifApplicationExtensionProperties {
6182     type Output = Self;
bitand(self, rhs: Self) -> Self6183     fn bitand(self, rhs: Self) -> Self {
6184         Self(self.0 & rhs.0)
6185     }
6186 }
6187 impl ::std::ops::BitOrAssign for WICGifApplicationExtensionProperties {
bitor_assign(&mut self, rhs: Self)6188     fn bitor_assign(&mut self, rhs: Self) {
6189         self.0.bitor_assign(rhs.0)
6190     }
6191 }
6192 impl ::std::ops::BitAndAssign for WICGifApplicationExtensionProperties {
bitand_assign(&mut self, rhs: Self)6193     fn bitand_assign(&mut self, rhs: Self) {
6194         self.0.bitand_assign(rhs.0)
6195     }
6196 }
6197 impl ::std::ops::Not for WICGifApplicationExtensionProperties {
6198     type Output = Self;
not(self) -> Self6199     fn not(self) -> Self {
6200         Self(self.0.not())
6201     }
6202 }
6203 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6204 #[repr(transparent)]
6205 pub struct WICGifCommentExtensionProperties(pub u32);
6206 pub const WICGifCommentExtensionText: WICGifCommentExtensionProperties = WICGifCommentExtensionProperties(1u32);
6207 pub const WICGifCommentExtensionProperties_FORCE_DWORD: WICGifCommentExtensionProperties = WICGifCommentExtensionProperties(2147483647u32);
6208 impl ::std::convert::From<u32> for WICGifCommentExtensionProperties {
from(value: u32) -> Self6209     fn from(value: u32) -> Self {
6210         Self(value)
6211     }
6212 }
6213 unsafe impl ::windows::runtime::Abi for WICGifCommentExtensionProperties {
6214     type Abi = Self;
6215     type DefaultType = Self;
6216 }
6217 impl ::std::ops::BitOr for WICGifCommentExtensionProperties {
6218     type Output = Self;
bitor(self, rhs: Self) -> Self6219     fn bitor(self, rhs: Self) -> Self {
6220         Self(self.0 | rhs.0)
6221     }
6222 }
6223 impl ::std::ops::BitAnd for WICGifCommentExtensionProperties {
6224     type Output = Self;
bitand(self, rhs: Self) -> Self6225     fn bitand(self, rhs: Self) -> Self {
6226         Self(self.0 & rhs.0)
6227     }
6228 }
6229 impl ::std::ops::BitOrAssign for WICGifCommentExtensionProperties {
bitor_assign(&mut self, rhs: Self)6230     fn bitor_assign(&mut self, rhs: Self) {
6231         self.0.bitor_assign(rhs.0)
6232     }
6233 }
6234 impl ::std::ops::BitAndAssign for WICGifCommentExtensionProperties {
bitand_assign(&mut self, rhs: Self)6235     fn bitand_assign(&mut self, rhs: Self) {
6236         self.0.bitand_assign(rhs.0)
6237     }
6238 }
6239 impl ::std::ops::Not for WICGifCommentExtensionProperties {
6240     type Output = Self;
not(self) -> Self6241     fn not(self) -> Self {
6242         Self(self.0.not())
6243     }
6244 }
6245 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6246 #[repr(transparent)]
6247 pub struct WICGifGraphicControlExtensionProperties(pub u32);
6248 pub const WICGifGraphicControlExtensionDisposal: WICGifGraphicControlExtensionProperties = WICGifGraphicControlExtensionProperties(1u32);
6249 pub const WICGifGraphicControlExtensionUserInputFlag: WICGifGraphicControlExtensionProperties = WICGifGraphicControlExtensionProperties(2u32);
6250 pub const WICGifGraphicControlExtensionTransparencyFlag: WICGifGraphicControlExtensionProperties = WICGifGraphicControlExtensionProperties(3u32);
6251 pub const WICGifGraphicControlExtensionDelay: WICGifGraphicControlExtensionProperties = WICGifGraphicControlExtensionProperties(4u32);
6252 pub const WICGifGraphicControlExtensionTransparentColorIndex: WICGifGraphicControlExtensionProperties = WICGifGraphicControlExtensionProperties(5u32);
6253 pub const WICGifGraphicControlExtensionProperties_FORCE_DWORD: WICGifGraphicControlExtensionProperties = WICGifGraphicControlExtensionProperties(2147483647u32);
6254 impl ::std::convert::From<u32> for WICGifGraphicControlExtensionProperties {
from(value: u32) -> Self6255     fn from(value: u32) -> Self {
6256         Self(value)
6257     }
6258 }
6259 unsafe impl ::windows::runtime::Abi for WICGifGraphicControlExtensionProperties {
6260     type Abi = Self;
6261     type DefaultType = Self;
6262 }
6263 impl ::std::ops::BitOr for WICGifGraphicControlExtensionProperties {
6264     type Output = Self;
bitor(self, rhs: Self) -> Self6265     fn bitor(self, rhs: Self) -> Self {
6266         Self(self.0 | rhs.0)
6267     }
6268 }
6269 impl ::std::ops::BitAnd for WICGifGraphicControlExtensionProperties {
6270     type Output = Self;
bitand(self, rhs: Self) -> Self6271     fn bitand(self, rhs: Self) -> Self {
6272         Self(self.0 & rhs.0)
6273     }
6274 }
6275 impl ::std::ops::BitOrAssign for WICGifGraphicControlExtensionProperties {
bitor_assign(&mut self, rhs: Self)6276     fn bitor_assign(&mut self, rhs: Self) {
6277         self.0.bitor_assign(rhs.0)
6278     }
6279 }
6280 impl ::std::ops::BitAndAssign for WICGifGraphicControlExtensionProperties {
bitand_assign(&mut self, rhs: Self)6281     fn bitand_assign(&mut self, rhs: Self) {
6282         self.0.bitand_assign(rhs.0)
6283     }
6284 }
6285 impl ::std::ops::Not for WICGifGraphicControlExtensionProperties {
6286     type Output = Self;
not(self) -> Self6287     fn not(self) -> Self {
6288         Self(self.0.not())
6289     }
6290 }
6291 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6292 #[repr(transparent)]
6293 pub struct WICGifImageDescriptorProperties(pub u32);
6294 pub const WICGifImageDescriptorLeft: WICGifImageDescriptorProperties = WICGifImageDescriptorProperties(1u32);
6295 pub const WICGifImageDescriptorTop: WICGifImageDescriptorProperties = WICGifImageDescriptorProperties(2u32);
6296 pub const WICGifImageDescriptorWidth: WICGifImageDescriptorProperties = WICGifImageDescriptorProperties(3u32);
6297 pub const WICGifImageDescriptorHeight: WICGifImageDescriptorProperties = WICGifImageDescriptorProperties(4u32);
6298 pub const WICGifImageDescriptorLocalColorTableFlag: WICGifImageDescriptorProperties = WICGifImageDescriptorProperties(5u32);
6299 pub const WICGifImageDescriptorInterlaceFlag: WICGifImageDescriptorProperties = WICGifImageDescriptorProperties(6u32);
6300 pub const WICGifImageDescriptorSortFlag: WICGifImageDescriptorProperties = WICGifImageDescriptorProperties(7u32);
6301 pub const WICGifImageDescriptorLocalColorTableSize: WICGifImageDescriptorProperties = WICGifImageDescriptorProperties(8u32);
6302 pub const WICGifImageDescriptorProperties_FORCE_DWORD: WICGifImageDescriptorProperties = WICGifImageDescriptorProperties(2147483647u32);
6303 impl ::std::convert::From<u32> for WICGifImageDescriptorProperties {
from(value: u32) -> Self6304     fn from(value: u32) -> Self {
6305         Self(value)
6306     }
6307 }
6308 unsafe impl ::windows::runtime::Abi for WICGifImageDescriptorProperties {
6309     type Abi = Self;
6310     type DefaultType = Self;
6311 }
6312 impl ::std::ops::BitOr for WICGifImageDescriptorProperties {
6313     type Output = Self;
bitor(self, rhs: Self) -> Self6314     fn bitor(self, rhs: Self) -> Self {
6315         Self(self.0 | rhs.0)
6316     }
6317 }
6318 impl ::std::ops::BitAnd for WICGifImageDescriptorProperties {
6319     type Output = Self;
bitand(self, rhs: Self) -> Self6320     fn bitand(self, rhs: Self) -> Self {
6321         Self(self.0 & rhs.0)
6322     }
6323 }
6324 impl ::std::ops::BitOrAssign for WICGifImageDescriptorProperties {
bitor_assign(&mut self, rhs: Self)6325     fn bitor_assign(&mut self, rhs: Self) {
6326         self.0.bitor_assign(rhs.0)
6327     }
6328 }
6329 impl ::std::ops::BitAndAssign for WICGifImageDescriptorProperties {
bitand_assign(&mut self, rhs: Self)6330     fn bitand_assign(&mut self, rhs: Self) {
6331         self.0.bitand_assign(rhs.0)
6332     }
6333 }
6334 impl ::std::ops::Not for WICGifImageDescriptorProperties {
6335     type Output = Self;
not(self) -> Self6336     fn not(self) -> Self {
6337         Self(self.0.not())
6338     }
6339 }
6340 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6341 #[repr(transparent)]
6342 pub struct WICGifLogicalScreenDescriptorProperties(pub u32);
6343 pub const WICGifLogicalScreenSignature: WICGifLogicalScreenDescriptorProperties = WICGifLogicalScreenDescriptorProperties(1u32);
6344 pub const WICGifLogicalScreenDescriptorWidth: WICGifLogicalScreenDescriptorProperties = WICGifLogicalScreenDescriptorProperties(2u32);
6345 pub const WICGifLogicalScreenDescriptorHeight: WICGifLogicalScreenDescriptorProperties = WICGifLogicalScreenDescriptorProperties(3u32);
6346 pub const WICGifLogicalScreenDescriptorGlobalColorTableFlag: WICGifLogicalScreenDescriptorProperties = WICGifLogicalScreenDescriptorProperties(4u32);
6347 pub const WICGifLogicalScreenDescriptorColorResolution: WICGifLogicalScreenDescriptorProperties = WICGifLogicalScreenDescriptorProperties(5u32);
6348 pub const WICGifLogicalScreenDescriptorSortFlag: WICGifLogicalScreenDescriptorProperties = WICGifLogicalScreenDescriptorProperties(6u32);
6349 pub const WICGifLogicalScreenDescriptorGlobalColorTableSize: WICGifLogicalScreenDescriptorProperties = WICGifLogicalScreenDescriptorProperties(7u32);
6350 pub const WICGifLogicalScreenDescriptorBackgroundColorIndex: WICGifLogicalScreenDescriptorProperties = WICGifLogicalScreenDescriptorProperties(8u32);
6351 pub const WICGifLogicalScreenDescriptorPixelAspectRatio: WICGifLogicalScreenDescriptorProperties = WICGifLogicalScreenDescriptorProperties(9u32);
6352 pub const WICGifLogicalScreenDescriptorProperties_FORCE_DWORD: WICGifLogicalScreenDescriptorProperties = WICGifLogicalScreenDescriptorProperties(2147483647u32);
6353 impl ::std::convert::From<u32> for WICGifLogicalScreenDescriptorProperties {
from(value: u32) -> Self6354     fn from(value: u32) -> Self {
6355         Self(value)
6356     }
6357 }
6358 unsafe impl ::windows::runtime::Abi for WICGifLogicalScreenDescriptorProperties {
6359     type Abi = Self;
6360     type DefaultType = Self;
6361 }
6362 impl ::std::ops::BitOr for WICGifLogicalScreenDescriptorProperties {
6363     type Output = Self;
bitor(self, rhs: Self) -> Self6364     fn bitor(self, rhs: Self) -> Self {
6365         Self(self.0 | rhs.0)
6366     }
6367 }
6368 impl ::std::ops::BitAnd for WICGifLogicalScreenDescriptorProperties {
6369     type Output = Self;
bitand(self, rhs: Self) -> Self6370     fn bitand(self, rhs: Self) -> Self {
6371         Self(self.0 & rhs.0)
6372     }
6373 }
6374 impl ::std::ops::BitOrAssign for WICGifLogicalScreenDescriptorProperties {
bitor_assign(&mut self, rhs: Self)6375     fn bitor_assign(&mut self, rhs: Self) {
6376         self.0.bitor_assign(rhs.0)
6377     }
6378 }
6379 impl ::std::ops::BitAndAssign for WICGifLogicalScreenDescriptorProperties {
bitand_assign(&mut self, rhs: Self)6380     fn bitand_assign(&mut self, rhs: Self) {
6381         self.0.bitand_assign(rhs.0)
6382     }
6383 }
6384 impl ::std::ops::Not for WICGifLogicalScreenDescriptorProperties {
6385     type Output = Self;
not(self) -> Self6386     fn not(self) -> Self {
6387         Self(self.0.not())
6388     }
6389 }
6390 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6391 #[repr(transparent)]
6392 pub struct WICHeifHdrProperties(pub u32);
6393 pub const WICHeifHdrMaximumLuminanceLevel: WICHeifHdrProperties = WICHeifHdrProperties(1u32);
6394 pub const WICHeifHdrMaximumFrameAverageLuminanceLevel: WICHeifHdrProperties = WICHeifHdrProperties(2u32);
6395 pub const WICHeifHdrMinimumMasteringDisplayLuminanceLevel: WICHeifHdrProperties = WICHeifHdrProperties(3u32);
6396 pub const WICHeifHdrMaximumMasteringDisplayLuminanceLevel: WICHeifHdrProperties = WICHeifHdrProperties(4u32);
6397 pub const WICHeifHdrCustomVideoPrimaries: WICHeifHdrProperties = WICHeifHdrProperties(5u32);
6398 pub const WICHeifHdrProperties_FORCE_DWORD: WICHeifHdrProperties = WICHeifHdrProperties(2147483647u32);
6399 impl ::std::convert::From<u32> for WICHeifHdrProperties {
from(value: u32) -> Self6400     fn from(value: u32) -> Self {
6401         Self(value)
6402     }
6403 }
6404 unsafe impl ::windows::runtime::Abi for WICHeifHdrProperties {
6405     type Abi = Self;
6406     type DefaultType = Self;
6407 }
6408 impl ::std::ops::BitOr for WICHeifHdrProperties {
6409     type Output = Self;
bitor(self, rhs: Self) -> Self6410     fn bitor(self, rhs: Self) -> Self {
6411         Self(self.0 | rhs.0)
6412     }
6413 }
6414 impl ::std::ops::BitAnd for WICHeifHdrProperties {
6415     type Output = Self;
bitand(self, rhs: Self) -> Self6416     fn bitand(self, rhs: Self) -> Self {
6417         Self(self.0 & rhs.0)
6418     }
6419 }
6420 impl ::std::ops::BitOrAssign for WICHeifHdrProperties {
bitor_assign(&mut self, rhs: Self)6421     fn bitor_assign(&mut self, rhs: Self) {
6422         self.0.bitor_assign(rhs.0)
6423     }
6424 }
6425 impl ::std::ops::BitAndAssign for WICHeifHdrProperties {
bitand_assign(&mut self, rhs: Self)6426     fn bitand_assign(&mut self, rhs: Self) {
6427         self.0.bitand_assign(rhs.0)
6428     }
6429 }
6430 impl ::std::ops::Not for WICHeifHdrProperties {
6431     type Output = Self;
not(self) -> Self6432     fn not(self) -> Self {
6433         Self(self.0.not())
6434     }
6435 }
6436 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6437 #[repr(transparent)]
6438 pub struct WICHeifProperties(pub u32);
6439 pub const WICHeifOrientation: WICHeifProperties = WICHeifProperties(1u32);
6440 pub const WICHeifProperties_FORCE_DWORD: WICHeifProperties = WICHeifProperties(2147483647u32);
6441 impl ::std::convert::From<u32> for WICHeifProperties {
from(value: u32) -> Self6442     fn from(value: u32) -> Self {
6443         Self(value)
6444     }
6445 }
6446 unsafe impl ::windows::runtime::Abi for WICHeifProperties {
6447     type Abi = Self;
6448     type DefaultType = Self;
6449 }
6450 impl ::std::ops::BitOr for WICHeifProperties {
6451     type Output = Self;
bitor(self, rhs: Self) -> Self6452     fn bitor(self, rhs: Self) -> Self {
6453         Self(self.0 | rhs.0)
6454     }
6455 }
6456 impl ::std::ops::BitAnd for WICHeifProperties {
6457     type Output = Self;
bitand(self, rhs: Self) -> Self6458     fn bitand(self, rhs: Self) -> Self {
6459         Self(self.0 & rhs.0)
6460     }
6461 }
6462 impl ::std::ops::BitOrAssign for WICHeifProperties {
bitor_assign(&mut self, rhs: Self)6463     fn bitor_assign(&mut self, rhs: Self) {
6464         self.0.bitor_assign(rhs.0)
6465     }
6466 }
6467 impl ::std::ops::BitAndAssign for WICHeifProperties {
bitand_assign(&mut self, rhs: Self)6468     fn bitand_assign(&mut self, rhs: Self) {
6469         self.0.bitand_assign(rhs.0)
6470     }
6471 }
6472 impl ::std::ops::Not for WICHeifProperties {
6473     type Output = Self;
not(self) -> Self6474     fn not(self) -> Self {
6475         Self(self.0.not())
6476     }
6477 }
6478 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
6479 #[repr(C)]
6480 #[cfg(all(feature = "Win32_Graphics_Direct2D", feature = "Win32_Graphics_Dxgi"))]
6481 pub struct WICImageParameters {
6482     pub PixelFormat: super::Direct2D::D2D1_PIXEL_FORMAT,
6483     pub DpiX: f32,
6484     pub DpiY: f32,
6485     pub Top: f32,
6486     pub Left: f32,
6487     pub PixelWidth: u32,
6488     pub PixelHeight: u32,
6489 }
6490 #[cfg(all(feature = "Win32_Graphics_Direct2D", feature = "Win32_Graphics_Dxgi"))]
6491 impl WICImageParameters {}
6492 #[cfg(all(feature = "Win32_Graphics_Direct2D", feature = "Win32_Graphics_Dxgi"))]
6493 impl ::std::default::Default for WICImageParameters {
default() -> Self6494     fn default() -> Self {
6495         unsafe { ::std::mem::zeroed() }
6496     }
6497 }
6498 #[cfg(all(feature = "Win32_Graphics_Direct2D", feature = "Win32_Graphics_Dxgi"))]
6499 impl ::std::fmt::Debug for WICImageParameters {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result6500     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
6501         fmt.debug_struct("WICImageParameters").field("PixelFormat", &self.PixelFormat).field("DpiX", &self.DpiX).field("DpiY", &self.DpiY).field("Top", &self.Top).field("Left", &self.Left).field("PixelWidth", &self.PixelWidth).field("PixelHeight", &self.PixelHeight).finish()
6502     }
6503 }
6504 #[cfg(all(feature = "Win32_Graphics_Direct2D", feature = "Win32_Graphics_Dxgi"))]
6505 impl ::std::cmp::PartialEq for WICImageParameters {
eq(&self, other: &Self) -> bool6506     fn eq(&self, other: &Self) -> bool {
6507         self.PixelFormat == other.PixelFormat && self.DpiX == other.DpiX && self.DpiY == other.DpiY && self.Top == other.Top && self.Left == other.Left && self.PixelWidth == other.PixelWidth && self.PixelHeight == other.PixelHeight
6508     }
6509 }
6510 #[cfg(all(feature = "Win32_Graphics_Direct2D", feature = "Win32_Graphics_Dxgi"))]
6511 impl ::std::cmp::Eq for WICImageParameters {}
6512 #[cfg(all(feature = "Win32_Graphics_Direct2D", feature = "Win32_Graphics_Dxgi"))]
6513 unsafe impl ::windows::runtime::Abi for WICImageParameters {
6514     type Abi = Self;
6515     type DefaultType = Self;
6516 }
6517 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6518 #[repr(transparent)]
6519 pub struct WICJpegChrominanceProperties(pub u32);
6520 pub const WICJpegChrominanceTable: WICJpegChrominanceProperties = WICJpegChrominanceProperties(1u32);
6521 pub const WICJpegChrominanceProperties_FORCE_DWORD: WICJpegChrominanceProperties = WICJpegChrominanceProperties(2147483647u32);
6522 impl ::std::convert::From<u32> for WICJpegChrominanceProperties {
from(value: u32) -> Self6523     fn from(value: u32) -> Self {
6524         Self(value)
6525     }
6526 }
6527 unsafe impl ::windows::runtime::Abi for WICJpegChrominanceProperties {
6528     type Abi = Self;
6529     type DefaultType = Self;
6530 }
6531 impl ::std::ops::BitOr for WICJpegChrominanceProperties {
6532     type Output = Self;
bitor(self, rhs: Self) -> Self6533     fn bitor(self, rhs: Self) -> Self {
6534         Self(self.0 | rhs.0)
6535     }
6536 }
6537 impl ::std::ops::BitAnd for WICJpegChrominanceProperties {
6538     type Output = Self;
bitand(self, rhs: Self) -> Self6539     fn bitand(self, rhs: Self) -> Self {
6540         Self(self.0 & rhs.0)
6541     }
6542 }
6543 impl ::std::ops::BitOrAssign for WICJpegChrominanceProperties {
bitor_assign(&mut self, rhs: Self)6544     fn bitor_assign(&mut self, rhs: Self) {
6545         self.0.bitor_assign(rhs.0)
6546     }
6547 }
6548 impl ::std::ops::BitAndAssign for WICJpegChrominanceProperties {
bitand_assign(&mut self, rhs: Self)6549     fn bitand_assign(&mut self, rhs: Self) {
6550         self.0.bitand_assign(rhs.0)
6551     }
6552 }
6553 impl ::std::ops::Not for WICJpegChrominanceProperties {
6554     type Output = Self;
not(self) -> Self6555     fn not(self) -> Self {
6556         Self(self.0.not())
6557     }
6558 }
6559 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6560 #[repr(transparent)]
6561 pub struct WICJpegCommentProperties(pub u32);
6562 pub const WICJpegCommentText: WICJpegCommentProperties = WICJpegCommentProperties(1u32);
6563 pub const WICJpegCommentProperties_FORCE_DWORD: WICJpegCommentProperties = WICJpegCommentProperties(2147483647u32);
6564 impl ::std::convert::From<u32> for WICJpegCommentProperties {
from(value: u32) -> Self6565     fn from(value: u32) -> Self {
6566         Self(value)
6567     }
6568 }
6569 unsafe impl ::windows::runtime::Abi for WICJpegCommentProperties {
6570     type Abi = Self;
6571     type DefaultType = Self;
6572 }
6573 impl ::std::ops::BitOr for WICJpegCommentProperties {
6574     type Output = Self;
bitor(self, rhs: Self) -> Self6575     fn bitor(self, rhs: Self) -> Self {
6576         Self(self.0 | rhs.0)
6577     }
6578 }
6579 impl ::std::ops::BitAnd for WICJpegCommentProperties {
6580     type Output = Self;
bitand(self, rhs: Self) -> Self6581     fn bitand(self, rhs: Self) -> Self {
6582         Self(self.0 & rhs.0)
6583     }
6584 }
6585 impl ::std::ops::BitOrAssign for WICJpegCommentProperties {
bitor_assign(&mut self, rhs: Self)6586     fn bitor_assign(&mut self, rhs: Self) {
6587         self.0.bitor_assign(rhs.0)
6588     }
6589 }
6590 impl ::std::ops::BitAndAssign for WICJpegCommentProperties {
bitand_assign(&mut self, rhs: Self)6591     fn bitand_assign(&mut self, rhs: Self) {
6592         self.0.bitand_assign(rhs.0)
6593     }
6594 }
6595 impl ::std::ops::Not for WICJpegCommentProperties {
6596     type Output = Self;
not(self) -> Self6597     fn not(self) -> Self {
6598         Self(self.0.not())
6599     }
6600 }
6601 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
6602 #[repr(C)]
6603 pub struct WICJpegFrameHeader {
6604     pub Width: u32,
6605     pub Height: u32,
6606     pub TransferMatrix: WICJpegTransferMatrix,
6607     pub ScanType: WICJpegScanType,
6608     pub cComponents: u32,
6609     pub ComponentIdentifiers: u32,
6610     pub SampleFactors: u32,
6611     pub QuantizationTableIndices: u32,
6612 }
6613 impl WICJpegFrameHeader {}
6614 impl ::std::default::Default for WICJpegFrameHeader {
default() -> Self6615     fn default() -> Self {
6616         unsafe { ::std::mem::zeroed() }
6617     }
6618 }
6619 impl ::std::fmt::Debug for WICJpegFrameHeader {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result6620     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
6621         fmt.debug_struct("WICJpegFrameHeader")
6622             .field("Width", &self.Width)
6623             .field("Height", &self.Height)
6624             .field("TransferMatrix", &self.TransferMatrix)
6625             .field("ScanType", &self.ScanType)
6626             .field("cComponents", &self.cComponents)
6627             .field("ComponentIdentifiers", &self.ComponentIdentifiers)
6628             .field("SampleFactors", &self.SampleFactors)
6629             .field("QuantizationTableIndices", &self.QuantizationTableIndices)
6630             .finish()
6631     }
6632 }
6633 impl ::std::cmp::PartialEq for WICJpegFrameHeader {
eq(&self, other: &Self) -> bool6634     fn eq(&self, other: &Self) -> bool {
6635         self.Width == other.Width && self.Height == other.Height && self.TransferMatrix == other.TransferMatrix && self.ScanType == other.ScanType && self.cComponents == other.cComponents && self.ComponentIdentifiers == other.ComponentIdentifiers && self.SampleFactors == other.SampleFactors && self.QuantizationTableIndices == other.QuantizationTableIndices
6636     }
6637 }
6638 impl ::std::cmp::Eq for WICJpegFrameHeader {}
6639 unsafe impl ::windows::runtime::Abi for WICJpegFrameHeader {
6640     type Abi = Self;
6641     type DefaultType = Self;
6642 }
6643 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6644 #[repr(transparent)]
6645 pub struct WICJpegIndexingOptions(pub u32);
6646 pub const WICJpegIndexingOptionsGenerateOnDemand: WICJpegIndexingOptions = WICJpegIndexingOptions(0u32);
6647 pub const WICJpegIndexingOptionsGenerateOnLoad: WICJpegIndexingOptions = WICJpegIndexingOptions(1u32);
6648 pub const WICJpegIndexingOptions_FORCE_DWORD: WICJpegIndexingOptions = WICJpegIndexingOptions(2147483647u32);
6649 impl ::std::convert::From<u32> for WICJpegIndexingOptions {
from(value: u32) -> Self6650     fn from(value: u32) -> Self {
6651         Self(value)
6652     }
6653 }
6654 unsafe impl ::windows::runtime::Abi for WICJpegIndexingOptions {
6655     type Abi = Self;
6656     type DefaultType = Self;
6657 }
6658 impl ::std::ops::BitOr for WICJpegIndexingOptions {
6659     type Output = Self;
bitor(self, rhs: Self) -> Self6660     fn bitor(self, rhs: Self) -> Self {
6661         Self(self.0 | rhs.0)
6662     }
6663 }
6664 impl ::std::ops::BitAnd for WICJpegIndexingOptions {
6665     type Output = Self;
bitand(self, rhs: Self) -> Self6666     fn bitand(self, rhs: Self) -> Self {
6667         Self(self.0 & rhs.0)
6668     }
6669 }
6670 impl ::std::ops::BitOrAssign for WICJpegIndexingOptions {
bitor_assign(&mut self, rhs: Self)6671     fn bitor_assign(&mut self, rhs: Self) {
6672         self.0.bitor_assign(rhs.0)
6673     }
6674 }
6675 impl ::std::ops::BitAndAssign for WICJpegIndexingOptions {
bitand_assign(&mut self, rhs: Self)6676     fn bitand_assign(&mut self, rhs: Self) {
6677         self.0.bitand_assign(rhs.0)
6678     }
6679 }
6680 impl ::std::ops::Not for WICJpegIndexingOptions {
6681     type Output = Self;
not(self) -> Self6682     fn not(self) -> Self {
6683         Self(self.0.not())
6684     }
6685 }
6686 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6687 #[repr(transparent)]
6688 pub struct WICJpegLuminanceProperties(pub u32);
6689 pub const WICJpegLuminanceTable: WICJpegLuminanceProperties = WICJpegLuminanceProperties(1u32);
6690 pub const WICJpegLuminanceProperties_FORCE_DWORD: WICJpegLuminanceProperties = WICJpegLuminanceProperties(2147483647u32);
6691 impl ::std::convert::From<u32> for WICJpegLuminanceProperties {
from(value: u32) -> Self6692     fn from(value: u32) -> Self {
6693         Self(value)
6694     }
6695 }
6696 unsafe impl ::windows::runtime::Abi for WICJpegLuminanceProperties {
6697     type Abi = Self;
6698     type DefaultType = Self;
6699 }
6700 impl ::std::ops::BitOr for WICJpegLuminanceProperties {
6701     type Output = Self;
bitor(self, rhs: Self) -> Self6702     fn bitor(self, rhs: Self) -> Self {
6703         Self(self.0 | rhs.0)
6704     }
6705 }
6706 impl ::std::ops::BitAnd for WICJpegLuminanceProperties {
6707     type Output = Self;
bitand(self, rhs: Self) -> Self6708     fn bitand(self, rhs: Self) -> Self {
6709         Self(self.0 & rhs.0)
6710     }
6711 }
6712 impl ::std::ops::BitOrAssign for WICJpegLuminanceProperties {
bitor_assign(&mut self, rhs: Self)6713     fn bitor_assign(&mut self, rhs: Self) {
6714         self.0.bitor_assign(rhs.0)
6715     }
6716 }
6717 impl ::std::ops::BitAndAssign for WICJpegLuminanceProperties {
bitand_assign(&mut self, rhs: Self)6718     fn bitand_assign(&mut self, rhs: Self) {
6719         self.0.bitand_assign(rhs.0)
6720     }
6721 }
6722 impl ::std::ops::Not for WICJpegLuminanceProperties {
6723     type Output = Self;
not(self) -> Self6724     fn not(self) -> Self {
6725         Self(self.0.not())
6726     }
6727 }
6728 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
6729 #[repr(C)]
6730 pub struct WICJpegScanHeader {
6731     pub cComponents: u32,
6732     pub RestartInterval: u32,
6733     pub ComponentSelectors: u32,
6734     pub HuffmanTableIndices: u32,
6735     pub StartSpectralSelection: u8,
6736     pub EndSpectralSelection: u8,
6737     pub SuccessiveApproximationHigh: u8,
6738     pub SuccessiveApproximationLow: u8,
6739 }
6740 impl WICJpegScanHeader {}
6741 impl ::std::default::Default for WICJpegScanHeader {
default() -> Self6742     fn default() -> Self {
6743         unsafe { ::std::mem::zeroed() }
6744     }
6745 }
6746 impl ::std::fmt::Debug for WICJpegScanHeader {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result6747     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
6748         fmt.debug_struct("WICJpegScanHeader")
6749             .field("cComponents", &self.cComponents)
6750             .field("RestartInterval", &self.RestartInterval)
6751             .field("ComponentSelectors", &self.ComponentSelectors)
6752             .field("HuffmanTableIndices", &self.HuffmanTableIndices)
6753             .field("StartSpectralSelection", &self.StartSpectralSelection)
6754             .field("EndSpectralSelection", &self.EndSpectralSelection)
6755             .field("SuccessiveApproximationHigh", &self.SuccessiveApproximationHigh)
6756             .field("SuccessiveApproximationLow", &self.SuccessiveApproximationLow)
6757             .finish()
6758     }
6759 }
6760 impl ::std::cmp::PartialEq for WICJpegScanHeader {
eq(&self, other: &Self) -> bool6761     fn eq(&self, other: &Self) -> bool {
6762         self.cComponents == other.cComponents && self.RestartInterval == other.RestartInterval && self.ComponentSelectors == other.ComponentSelectors && self.HuffmanTableIndices == other.HuffmanTableIndices && self.StartSpectralSelection == other.StartSpectralSelection && self.EndSpectralSelection == other.EndSpectralSelection && self.SuccessiveApproximationHigh == other.SuccessiveApproximationHigh && self.SuccessiveApproximationLow == other.SuccessiveApproximationLow
6763     }
6764 }
6765 impl ::std::cmp::Eq for WICJpegScanHeader {}
6766 unsafe impl ::windows::runtime::Abi for WICJpegScanHeader {
6767     type Abi = Self;
6768     type DefaultType = Self;
6769 }
6770 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6771 #[repr(transparent)]
6772 pub struct WICJpegScanType(pub u32);
6773 pub const WICJpegScanTypeInterleaved: WICJpegScanType = WICJpegScanType(0u32);
6774 pub const WICJpegScanTypePlanarComponents: WICJpegScanType = WICJpegScanType(1u32);
6775 pub const WICJpegScanTypeProgressive: WICJpegScanType = WICJpegScanType(2u32);
6776 pub const WICJpegScanType_FORCE_DWORD: WICJpegScanType = WICJpegScanType(2147483647u32);
6777 impl ::std::convert::From<u32> for WICJpegScanType {
from(value: u32) -> Self6778     fn from(value: u32) -> Self {
6779         Self(value)
6780     }
6781 }
6782 unsafe impl ::windows::runtime::Abi for WICJpegScanType {
6783     type Abi = Self;
6784     type DefaultType = Self;
6785 }
6786 impl ::std::ops::BitOr for WICJpegScanType {
6787     type Output = Self;
bitor(self, rhs: Self) -> Self6788     fn bitor(self, rhs: Self) -> Self {
6789         Self(self.0 | rhs.0)
6790     }
6791 }
6792 impl ::std::ops::BitAnd for WICJpegScanType {
6793     type Output = Self;
bitand(self, rhs: Self) -> Self6794     fn bitand(self, rhs: Self) -> Self {
6795         Self(self.0 & rhs.0)
6796     }
6797 }
6798 impl ::std::ops::BitOrAssign for WICJpegScanType {
bitor_assign(&mut self, rhs: Self)6799     fn bitor_assign(&mut self, rhs: Self) {
6800         self.0.bitor_assign(rhs.0)
6801     }
6802 }
6803 impl ::std::ops::BitAndAssign for WICJpegScanType {
bitand_assign(&mut self, rhs: Self)6804     fn bitand_assign(&mut self, rhs: Self) {
6805         self.0.bitand_assign(rhs.0)
6806     }
6807 }
6808 impl ::std::ops::Not for WICJpegScanType {
6809     type Output = Self;
not(self) -> Self6810     fn not(self) -> Self {
6811         Self(self.0.not())
6812     }
6813 }
6814 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6815 #[repr(transparent)]
6816 pub struct WICJpegTransferMatrix(pub u32);
6817 pub const WICJpegTransferMatrixIdentity: WICJpegTransferMatrix = WICJpegTransferMatrix(0u32);
6818 pub const WICJpegTransferMatrixBT601: WICJpegTransferMatrix = WICJpegTransferMatrix(1u32);
6819 pub const WICJpegTransferMatrix_FORCE_DWORD: WICJpegTransferMatrix = WICJpegTransferMatrix(2147483647u32);
6820 impl ::std::convert::From<u32> for WICJpegTransferMatrix {
from(value: u32) -> Self6821     fn from(value: u32) -> Self {
6822         Self(value)
6823     }
6824 }
6825 unsafe impl ::windows::runtime::Abi for WICJpegTransferMatrix {
6826     type Abi = Self;
6827     type DefaultType = Self;
6828 }
6829 impl ::std::ops::BitOr for WICJpegTransferMatrix {
6830     type Output = Self;
bitor(self, rhs: Self) -> Self6831     fn bitor(self, rhs: Self) -> Self {
6832         Self(self.0 | rhs.0)
6833     }
6834 }
6835 impl ::std::ops::BitAnd for WICJpegTransferMatrix {
6836     type Output = Self;
bitand(self, rhs: Self) -> Self6837     fn bitand(self, rhs: Self) -> Self {
6838         Self(self.0 & rhs.0)
6839     }
6840 }
6841 impl ::std::ops::BitOrAssign for WICJpegTransferMatrix {
bitor_assign(&mut self, rhs: Self)6842     fn bitor_assign(&mut self, rhs: Self) {
6843         self.0.bitor_assign(rhs.0)
6844     }
6845 }
6846 impl ::std::ops::BitAndAssign for WICJpegTransferMatrix {
bitand_assign(&mut self, rhs: Self)6847     fn bitand_assign(&mut self, rhs: Self) {
6848         self.0.bitand_assign(rhs.0)
6849     }
6850 }
6851 impl ::std::ops::Not for WICJpegTransferMatrix {
6852     type Output = Self;
not(self) -> Self6853     fn not(self) -> Self {
6854         Self(self.0.not())
6855     }
6856 }
6857 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6858 #[repr(transparent)]
6859 pub struct WICJpegYCrCbSubsamplingOption(pub i32);
6860 pub const WICJpegYCrCbSubsamplingDefault: WICJpegYCrCbSubsamplingOption = WICJpegYCrCbSubsamplingOption(0i32);
6861 pub const WICJpegYCrCbSubsampling420: WICJpegYCrCbSubsamplingOption = WICJpegYCrCbSubsamplingOption(1i32);
6862 pub const WICJpegYCrCbSubsampling422: WICJpegYCrCbSubsamplingOption = WICJpegYCrCbSubsamplingOption(2i32);
6863 pub const WICJpegYCrCbSubsampling444: WICJpegYCrCbSubsamplingOption = WICJpegYCrCbSubsamplingOption(3i32);
6864 pub const WICJpegYCrCbSubsampling440: WICJpegYCrCbSubsamplingOption = WICJpegYCrCbSubsamplingOption(4i32);
6865 pub const WICJPEGYCRCBSUBSAMPLING_FORCE_DWORD: WICJpegYCrCbSubsamplingOption = WICJpegYCrCbSubsamplingOption(2147483647i32);
6866 impl ::std::convert::From<i32> for WICJpegYCrCbSubsamplingOption {
from(value: i32) -> Self6867     fn from(value: i32) -> Self {
6868         Self(value)
6869     }
6870 }
6871 unsafe impl ::windows::runtime::Abi for WICJpegYCrCbSubsamplingOption {
6872     type Abi = Self;
6873     type DefaultType = Self;
6874 }
6875 #[cfg(feature = "Win32_Foundation")]
6876 #[inline]
WICMapGuidToShortName<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(guid: *const ::windows::runtime::GUID, cchname: u32, wzname: Param2, pcchactual: *mut u32) -> ::windows::runtime::Result<()>6877 pub unsafe fn WICMapGuidToShortName<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(guid: *const ::windows::runtime::GUID, cchname: u32, wzname: Param2, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
6878     #[cfg(windows)]
6879     {
6880         #[link(name = "windows")]
6881         extern "system" {
6882             fn WICMapGuidToShortName(guid: *const ::windows::runtime::GUID, cchname: u32, wzname: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT;
6883         }
6884         WICMapGuidToShortName(::std::mem::transmute(guid), ::std::mem::transmute(cchname), wzname.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
6885     }
6886     #[cfg(not(windows))]
6887     unimplemented!("Unsupported target OS");
6888 }
6889 #[cfg(feature = "Win32_Foundation")]
6890 #[inline]
WICMapSchemaToName<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(guidmetadataformat: *const ::windows::runtime::GUID, pwzschema: Param1, cchname: u32, wzname: Param3, pcchactual: *mut u32) -> ::windows::runtime::Result<()>6891 pub unsafe fn WICMapSchemaToName<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(guidmetadataformat: *const ::windows::runtime::GUID, pwzschema: Param1, cchname: u32, wzname: Param3, pcchactual: *mut u32) -> ::windows::runtime::Result<()> {
6892     #[cfg(windows)]
6893     {
6894         #[link(name = "windows")]
6895         extern "system" {
6896             fn WICMapSchemaToName(guidmetadataformat: *const ::windows::runtime::GUID, pwzschema: super::super::Foundation::PWSTR, cchname: u32, wzname: super::super::Foundation::PWSTR, pcchactual: *mut u32) -> ::windows::runtime::HRESULT;
6897         }
6898         WICMapSchemaToName(::std::mem::transmute(guidmetadataformat), pwzschema.into_param().abi(), ::std::mem::transmute(cchname), wzname.into_param().abi(), ::std::mem::transmute(pcchactual)).ok()
6899     }
6900     #[cfg(not(windows))]
6901     unimplemented!("Unsupported target OS");
6902 }
6903 #[cfg(feature = "Win32_Foundation")]
6904 #[inline]
WICMapShortNameToGuid<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(wzname: Param0) -> ::windows::runtime::Result<::windows::runtime::GUID>6905 pub unsafe fn WICMapShortNameToGuid<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(wzname: Param0) -> ::windows::runtime::Result<::windows::runtime::GUID> {
6906     #[cfg(windows)]
6907     {
6908         #[link(name = "windows")]
6909         extern "system" {
6910             fn WICMapShortNameToGuid(wzname: super::super::Foundation::PWSTR, pguid: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT;
6911         }
6912         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6913         WICMapShortNameToGuid(wzname.into_param().abi(), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
6914     }
6915     #[cfg(not(windows))]
6916     unimplemented!("Unsupported target OS");
6917 }
6918 #[cfg(feature = "Win32_System_Com")]
6919 #[inline]
WICMatchMetadataContent<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(guidcontainerformat: *const ::windows::runtime::GUID, pguidvendor: *const ::windows::runtime::GUID, pistream: Param2) -> ::windows::runtime::Result<::windows::runtime::GUID>6920 pub unsafe fn WICMatchMetadataContent<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(guidcontainerformat: *const ::windows::runtime::GUID, pguidvendor: *const ::windows::runtime::GUID, pistream: Param2) -> ::windows::runtime::Result<::windows::runtime::GUID> {
6921     #[cfg(windows)]
6922     {
6923         #[link(name = "windows")]
6924         extern "system" {
6925             fn WICMatchMetadataContent(guidcontainerformat: *const ::windows::runtime::GUID, pguidvendor: *const ::windows::runtime::GUID, pistream: ::windows::runtime::RawPtr, pguidmetadataformat: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT;
6926         }
6927         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6928         WICMatchMetadataContent(::std::mem::transmute(guidcontainerformat), ::std::mem::transmute(pguidvendor), pistream.into_param().abi(), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
6929     }
6930     #[cfg(not(windows))]
6931     unimplemented!("Unsupported target OS");
6932 }
6933 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6934 #[repr(transparent)]
6935 pub struct WICMetadataCreationOptions(pub i32);
6936 pub const WICMetadataCreationDefault: WICMetadataCreationOptions = WICMetadataCreationOptions(0i32);
6937 pub const WICMetadataCreationAllowUnknown: WICMetadataCreationOptions = WICMetadataCreationOptions(0i32);
6938 pub const WICMetadataCreationFailUnknown: WICMetadataCreationOptions = WICMetadataCreationOptions(65536i32);
6939 pub const WICMetadataCreationMask: WICMetadataCreationOptions = WICMetadataCreationOptions(-65536i32);
6940 impl ::std::convert::From<i32> for WICMetadataCreationOptions {
from(value: i32) -> Self6941     fn from(value: i32) -> Self {
6942         Self(value)
6943     }
6944 }
6945 unsafe impl ::windows::runtime::Abi for WICMetadataCreationOptions {
6946     type Abi = Self;
6947     type DefaultType = Self;
6948 }
6949 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
6950 #[repr(C)]
6951 pub struct WICMetadataHeader {
6952     pub Position: u64,
6953     pub Length: u32,
6954     pub Header: *mut u8,
6955     pub DataOffset: u64,
6956 }
6957 impl WICMetadataHeader {}
6958 impl ::std::default::Default for WICMetadataHeader {
default() -> Self6959     fn default() -> Self {
6960         unsafe { ::std::mem::zeroed() }
6961     }
6962 }
6963 impl ::std::fmt::Debug for WICMetadataHeader {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result6964     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
6965         fmt.debug_struct("WICMetadataHeader").field("Position", &self.Position).field("Length", &self.Length).field("Header", &self.Header).field("DataOffset", &self.DataOffset).finish()
6966     }
6967 }
6968 impl ::std::cmp::PartialEq for WICMetadataHeader {
eq(&self, other: &Self) -> bool6969     fn eq(&self, other: &Self) -> bool {
6970         self.Position == other.Position && self.Length == other.Length && self.Header == other.Header && self.DataOffset == other.DataOffset
6971     }
6972 }
6973 impl ::std::cmp::Eq for WICMetadataHeader {}
6974 unsafe impl ::windows::runtime::Abi for WICMetadataHeader {
6975     type Abi = Self;
6976     type DefaultType = Self;
6977 }
6978 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
6979 #[repr(C)]
6980 pub struct WICMetadataPattern {
6981     pub Position: u64,
6982     pub Length: u32,
6983     pub Pattern: *mut u8,
6984     pub Mask: *mut u8,
6985     pub DataOffset: u64,
6986 }
6987 impl WICMetadataPattern {}
6988 impl ::std::default::Default for WICMetadataPattern {
default() -> Self6989     fn default() -> Self {
6990         unsafe { ::std::mem::zeroed() }
6991     }
6992 }
6993 impl ::std::fmt::Debug for WICMetadataPattern {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result6994     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
6995         fmt.debug_struct("WICMetadataPattern").field("Position", &self.Position).field("Length", &self.Length).field("Pattern", &self.Pattern).field("Mask", &self.Mask).field("DataOffset", &self.DataOffset).finish()
6996     }
6997 }
6998 impl ::std::cmp::PartialEq for WICMetadataPattern {
eq(&self, other: &Self) -> bool6999     fn eq(&self, other: &Self) -> bool {
7000         self.Position == other.Position && self.Length == other.Length && self.Pattern == other.Pattern && self.Mask == other.Mask && self.DataOffset == other.DataOffset
7001     }
7002 }
7003 impl ::std::cmp::Eq for WICMetadataPattern {}
7004 unsafe impl ::windows::runtime::Abi for WICMetadataPattern {
7005     type Abi = Self;
7006     type DefaultType = Self;
7007 }
7008 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7009 #[repr(transparent)]
7010 pub struct WICNamedWhitePoint(pub i32);
7011 pub const WICWhitePointDefault: WICNamedWhitePoint = WICNamedWhitePoint(1i32);
7012 pub const WICWhitePointDaylight: WICNamedWhitePoint = WICNamedWhitePoint(2i32);
7013 pub const WICWhitePointCloudy: WICNamedWhitePoint = WICNamedWhitePoint(4i32);
7014 pub const WICWhitePointShade: WICNamedWhitePoint = WICNamedWhitePoint(8i32);
7015 pub const WICWhitePointTungsten: WICNamedWhitePoint = WICNamedWhitePoint(16i32);
7016 pub const WICWhitePointFluorescent: WICNamedWhitePoint = WICNamedWhitePoint(32i32);
7017 pub const WICWhitePointFlash: WICNamedWhitePoint = WICNamedWhitePoint(64i32);
7018 pub const WICWhitePointUnderwater: WICNamedWhitePoint = WICNamedWhitePoint(128i32);
7019 pub const WICWhitePointCustom: WICNamedWhitePoint = WICNamedWhitePoint(256i32);
7020 pub const WICWhitePointAutoWhiteBalance: WICNamedWhitePoint = WICNamedWhitePoint(512i32);
7021 pub const WICWhitePointAsShot: WICNamedWhitePoint = WICNamedWhitePoint(1i32);
7022 pub const WICNAMEDWHITEPOINT_FORCE_DWORD: WICNamedWhitePoint = WICNamedWhitePoint(2147483647i32);
7023 impl ::std::convert::From<i32> for WICNamedWhitePoint {
from(value: i32) -> Self7024     fn from(value: i32) -> Self {
7025         Self(value)
7026     }
7027 }
7028 unsafe impl ::windows::runtime::Abi for WICNamedWhitePoint {
7029     type Abi = Self;
7030     type DefaultType = Self;
7031 }
7032 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7033 #[repr(transparent)]
7034 pub struct WICPersistOptions(pub i32);
7035 pub const WICPersistOptionDefault: WICPersistOptions = WICPersistOptions(0i32);
7036 pub const WICPersistOptionLittleEndian: WICPersistOptions = WICPersistOptions(0i32);
7037 pub const WICPersistOptionBigEndian: WICPersistOptions = WICPersistOptions(1i32);
7038 pub const WICPersistOptionStrictFormat: WICPersistOptions = WICPersistOptions(2i32);
7039 pub const WICPersistOptionNoCacheStream: WICPersistOptions = WICPersistOptions(4i32);
7040 pub const WICPersistOptionPreferUTF8: WICPersistOptions = WICPersistOptions(8i32);
7041 pub const WICPersistOptionMask: WICPersistOptions = WICPersistOptions(65535i32);
7042 impl ::std::convert::From<i32> for WICPersistOptions {
from(value: i32) -> Self7043     fn from(value: i32) -> Self {
7044         Self(value)
7045     }
7046 }
7047 unsafe impl ::windows::runtime::Abi for WICPersistOptions {
7048     type Abi = Self;
7049     type DefaultType = Self;
7050 }
7051 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7052 #[repr(transparent)]
7053 pub struct WICPixelFormatNumericRepresentation(pub u32);
7054 pub const WICPixelFormatNumericRepresentationUnspecified: WICPixelFormatNumericRepresentation = WICPixelFormatNumericRepresentation(0u32);
7055 pub const WICPixelFormatNumericRepresentationIndexed: WICPixelFormatNumericRepresentation = WICPixelFormatNumericRepresentation(1u32);
7056 pub const WICPixelFormatNumericRepresentationUnsignedInteger: WICPixelFormatNumericRepresentation = WICPixelFormatNumericRepresentation(2u32);
7057 pub const WICPixelFormatNumericRepresentationSignedInteger: WICPixelFormatNumericRepresentation = WICPixelFormatNumericRepresentation(3u32);
7058 pub const WICPixelFormatNumericRepresentationFixed: WICPixelFormatNumericRepresentation = WICPixelFormatNumericRepresentation(4u32);
7059 pub const WICPixelFormatNumericRepresentationFloat: WICPixelFormatNumericRepresentation = WICPixelFormatNumericRepresentation(5u32);
7060 pub const WICPixelFormatNumericRepresentation_FORCE_DWORD: WICPixelFormatNumericRepresentation = WICPixelFormatNumericRepresentation(2147483647u32);
7061 impl ::std::convert::From<u32> for WICPixelFormatNumericRepresentation {
from(value: u32) -> Self7062     fn from(value: u32) -> Self {
7063         Self(value)
7064     }
7065 }
7066 unsafe impl ::windows::runtime::Abi for WICPixelFormatNumericRepresentation {
7067     type Abi = Self;
7068     type DefaultType = Self;
7069 }
7070 impl ::std::ops::BitOr for WICPixelFormatNumericRepresentation {
7071     type Output = Self;
bitor(self, rhs: Self) -> Self7072     fn bitor(self, rhs: Self) -> Self {
7073         Self(self.0 | rhs.0)
7074     }
7075 }
7076 impl ::std::ops::BitAnd for WICPixelFormatNumericRepresentation {
7077     type Output = Self;
bitand(self, rhs: Self) -> Self7078     fn bitand(self, rhs: Self) -> Self {
7079         Self(self.0 & rhs.0)
7080     }
7081 }
7082 impl ::std::ops::BitOrAssign for WICPixelFormatNumericRepresentation {
bitor_assign(&mut self, rhs: Self)7083     fn bitor_assign(&mut self, rhs: Self) {
7084         self.0.bitor_assign(rhs.0)
7085     }
7086 }
7087 impl ::std::ops::BitAndAssign for WICPixelFormatNumericRepresentation {
bitand_assign(&mut self, rhs: Self)7088     fn bitand_assign(&mut self, rhs: Self) {
7089         self.0.bitand_assign(rhs.0)
7090     }
7091 }
7092 impl ::std::ops::Not for WICPixelFormatNumericRepresentation {
7093     type Output = Self;
not(self) -> Self7094     fn not(self) -> Self {
7095         Self(self.0.not())
7096     }
7097 }
7098 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7099 #[repr(transparent)]
7100 pub struct WICPlanarOptions(pub i32);
7101 pub const WICPlanarOptionsDefault: WICPlanarOptions = WICPlanarOptions(0i32);
7102 pub const WICPlanarOptionsPreserveSubsampling: WICPlanarOptions = WICPlanarOptions(1i32);
7103 pub const WICPLANAROPTIONS_FORCE_DWORD: WICPlanarOptions = WICPlanarOptions(2147483647i32);
7104 impl ::std::convert::From<i32> for WICPlanarOptions {
from(value: i32) -> Self7105     fn from(value: i32) -> Self {
7106         Self(value)
7107     }
7108 }
7109 unsafe impl ::windows::runtime::Abi for WICPlanarOptions {
7110     type Abi = Self;
7111     type DefaultType = Self;
7112 }
7113 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7114 #[repr(transparent)]
7115 pub struct WICPngBkgdProperties(pub u32);
7116 pub const WICPngBkgdBackgroundColor: WICPngBkgdProperties = WICPngBkgdProperties(1u32);
7117 pub const WICPngBkgdProperties_FORCE_DWORD: WICPngBkgdProperties = WICPngBkgdProperties(2147483647u32);
7118 impl ::std::convert::From<u32> for WICPngBkgdProperties {
from(value: u32) -> Self7119     fn from(value: u32) -> Self {
7120         Self(value)
7121     }
7122 }
7123 unsafe impl ::windows::runtime::Abi for WICPngBkgdProperties {
7124     type Abi = Self;
7125     type DefaultType = Self;
7126 }
7127 impl ::std::ops::BitOr for WICPngBkgdProperties {
7128     type Output = Self;
bitor(self, rhs: Self) -> Self7129     fn bitor(self, rhs: Self) -> Self {
7130         Self(self.0 | rhs.0)
7131     }
7132 }
7133 impl ::std::ops::BitAnd for WICPngBkgdProperties {
7134     type Output = Self;
bitand(self, rhs: Self) -> Self7135     fn bitand(self, rhs: Self) -> Self {
7136         Self(self.0 & rhs.0)
7137     }
7138 }
7139 impl ::std::ops::BitOrAssign for WICPngBkgdProperties {
bitor_assign(&mut self, rhs: Self)7140     fn bitor_assign(&mut self, rhs: Self) {
7141         self.0.bitor_assign(rhs.0)
7142     }
7143 }
7144 impl ::std::ops::BitAndAssign for WICPngBkgdProperties {
bitand_assign(&mut self, rhs: Self)7145     fn bitand_assign(&mut self, rhs: Self) {
7146         self.0.bitand_assign(rhs.0)
7147     }
7148 }
7149 impl ::std::ops::Not for WICPngBkgdProperties {
7150     type Output = Self;
not(self) -> Self7151     fn not(self) -> Self {
7152         Self(self.0.not())
7153     }
7154 }
7155 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7156 #[repr(transparent)]
7157 pub struct WICPngChrmProperties(pub u32);
7158 pub const WICPngChrmWhitePointX: WICPngChrmProperties = WICPngChrmProperties(1u32);
7159 pub const WICPngChrmWhitePointY: WICPngChrmProperties = WICPngChrmProperties(2u32);
7160 pub const WICPngChrmRedX: WICPngChrmProperties = WICPngChrmProperties(3u32);
7161 pub const WICPngChrmRedY: WICPngChrmProperties = WICPngChrmProperties(4u32);
7162 pub const WICPngChrmGreenX: WICPngChrmProperties = WICPngChrmProperties(5u32);
7163 pub const WICPngChrmGreenY: WICPngChrmProperties = WICPngChrmProperties(6u32);
7164 pub const WICPngChrmBlueX: WICPngChrmProperties = WICPngChrmProperties(7u32);
7165 pub const WICPngChrmBlueY: WICPngChrmProperties = WICPngChrmProperties(8u32);
7166 pub const WICPngChrmProperties_FORCE_DWORD: WICPngChrmProperties = WICPngChrmProperties(2147483647u32);
7167 impl ::std::convert::From<u32> for WICPngChrmProperties {
from(value: u32) -> Self7168     fn from(value: u32) -> Self {
7169         Self(value)
7170     }
7171 }
7172 unsafe impl ::windows::runtime::Abi for WICPngChrmProperties {
7173     type Abi = Self;
7174     type DefaultType = Self;
7175 }
7176 impl ::std::ops::BitOr for WICPngChrmProperties {
7177     type Output = Self;
bitor(self, rhs: Self) -> Self7178     fn bitor(self, rhs: Self) -> Self {
7179         Self(self.0 | rhs.0)
7180     }
7181 }
7182 impl ::std::ops::BitAnd for WICPngChrmProperties {
7183     type Output = Self;
bitand(self, rhs: Self) -> Self7184     fn bitand(self, rhs: Self) -> Self {
7185         Self(self.0 & rhs.0)
7186     }
7187 }
7188 impl ::std::ops::BitOrAssign for WICPngChrmProperties {
bitor_assign(&mut self, rhs: Self)7189     fn bitor_assign(&mut self, rhs: Self) {
7190         self.0.bitor_assign(rhs.0)
7191     }
7192 }
7193 impl ::std::ops::BitAndAssign for WICPngChrmProperties {
bitand_assign(&mut self, rhs: Self)7194     fn bitand_assign(&mut self, rhs: Self) {
7195         self.0.bitand_assign(rhs.0)
7196     }
7197 }
7198 impl ::std::ops::Not for WICPngChrmProperties {
7199     type Output = Self;
not(self) -> Self7200     fn not(self) -> Self {
7201         Self(self.0.not())
7202     }
7203 }
7204 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7205 #[repr(transparent)]
7206 pub struct WICPngFilterOption(pub i32);
7207 pub const WICPngFilterUnspecified: WICPngFilterOption = WICPngFilterOption(0i32);
7208 pub const WICPngFilterNone: WICPngFilterOption = WICPngFilterOption(1i32);
7209 pub const WICPngFilterSub: WICPngFilterOption = WICPngFilterOption(2i32);
7210 pub const WICPngFilterUp: WICPngFilterOption = WICPngFilterOption(3i32);
7211 pub const WICPngFilterAverage: WICPngFilterOption = WICPngFilterOption(4i32);
7212 pub const WICPngFilterPaeth: WICPngFilterOption = WICPngFilterOption(5i32);
7213 pub const WICPngFilterAdaptive: WICPngFilterOption = WICPngFilterOption(6i32);
7214 pub const WICPNGFILTEROPTION_FORCE_DWORD: WICPngFilterOption = WICPngFilterOption(2147483647i32);
7215 impl ::std::convert::From<i32> for WICPngFilterOption {
from(value: i32) -> Self7216     fn from(value: i32) -> Self {
7217         Self(value)
7218     }
7219 }
7220 unsafe impl ::windows::runtime::Abi for WICPngFilterOption {
7221     type Abi = Self;
7222     type DefaultType = Self;
7223 }
7224 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7225 #[repr(transparent)]
7226 pub struct WICPngGamaProperties(pub u32);
7227 pub const WICPngGamaGamma: WICPngGamaProperties = WICPngGamaProperties(1u32);
7228 pub const WICPngGamaProperties_FORCE_DWORD: WICPngGamaProperties = WICPngGamaProperties(2147483647u32);
7229 impl ::std::convert::From<u32> for WICPngGamaProperties {
from(value: u32) -> Self7230     fn from(value: u32) -> Self {
7231         Self(value)
7232     }
7233 }
7234 unsafe impl ::windows::runtime::Abi for WICPngGamaProperties {
7235     type Abi = Self;
7236     type DefaultType = Self;
7237 }
7238 impl ::std::ops::BitOr for WICPngGamaProperties {
7239     type Output = Self;
bitor(self, rhs: Self) -> Self7240     fn bitor(self, rhs: Self) -> Self {
7241         Self(self.0 | rhs.0)
7242     }
7243 }
7244 impl ::std::ops::BitAnd for WICPngGamaProperties {
7245     type Output = Self;
bitand(self, rhs: Self) -> Self7246     fn bitand(self, rhs: Self) -> Self {
7247         Self(self.0 & rhs.0)
7248     }
7249 }
7250 impl ::std::ops::BitOrAssign for WICPngGamaProperties {
bitor_assign(&mut self, rhs: Self)7251     fn bitor_assign(&mut self, rhs: Self) {
7252         self.0.bitor_assign(rhs.0)
7253     }
7254 }
7255 impl ::std::ops::BitAndAssign for WICPngGamaProperties {
bitand_assign(&mut self, rhs: Self)7256     fn bitand_assign(&mut self, rhs: Self) {
7257         self.0.bitand_assign(rhs.0)
7258     }
7259 }
7260 impl ::std::ops::Not for WICPngGamaProperties {
7261     type Output = Self;
not(self) -> Self7262     fn not(self) -> Self {
7263         Self(self.0.not())
7264     }
7265 }
7266 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7267 #[repr(transparent)]
7268 pub struct WICPngHistProperties(pub u32);
7269 pub const WICPngHistFrequencies: WICPngHistProperties = WICPngHistProperties(1u32);
7270 pub const WICPngHistProperties_FORCE_DWORD: WICPngHistProperties = WICPngHistProperties(2147483647u32);
7271 impl ::std::convert::From<u32> for WICPngHistProperties {
from(value: u32) -> Self7272     fn from(value: u32) -> Self {
7273         Self(value)
7274     }
7275 }
7276 unsafe impl ::windows::runtime::Abi for WICPngHistProperties {
7277     type Abi = Self;
7278     type DefaultType = Self;
7279 }
7280 impl ::std::ops::BitOr for WICPngHistProperties {
7281     type Output = Self;
bitor(self, rhs: Self) -> Self7282     fn bitor(self, rhs: Self) -> Self {
7283         Self(self.0 | rhs.0)
7284     }
7285 }
7286 impl ::std::ops::BitAnd for WICPngHistProperties {
7287     type Output = Self;
bitand(self, rhs: Self) -> Self7288     fn bitand(self, rhs: Self) -> Self {
7289         Self(self.0 & rhs.0)
7290     }
7291 }
7292 impl ::std::ops::BitOrAssign for WICPngHistProperties {
bitor_assign(&mut self, rhs: Self)7293     fn bitor_assign(&mut self, rhs: Self) {
7294         self.0.bitor_assign(rhs.0)
7295     }
7296 }
7297 impl ::std::ops::BitAndAssign for WICPngHistProperties {
bitand_assign(&mut self, rhs: Self)7298     fn bitand_assign(&mut self, rhs: Self) {
7299         self.0.bitand_assign(rhs.0)
7300     }
7301 }
7302 impl ::std::ops::Not for WICPngHistProperties {
7303     type Output = Self;
not(self) -> Self7304     fn not(self) -> Self {
7305         Self(self.0.not())
7306     }
7307 }
7308 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7309 #[repr(transparent)]
7310 pub struct WICPngIccpProperties(pub u32);
7311 pub const WICPngIccpProfileName: WICPngIccpProperties = WICPngIccpProperties(1u32);
7312 pub const WICPngIccpProfileData: WICPngIccpProperties = WICPngIccpProperties(2u32);
7313 pub const WICPngIccpProperties_FORCE_DWORD: WICPngIccpProperties = WICPngIccpProperties(2147483647u32);
7314 impl ::std::convert::From<u32> for WICPngIccpProperties {
from(value: u32) -> Self7315     fn from(value: u32) -> Self {
7316         Self(value)
7317     }
7318 }
7319 unsafe impl ::windows::runtime::Abi for WICPngIccpProperties {
7320     type Abi = Self;
7321     type DefaultType = Self;
7322 }
7323 impl ::std::ops::BitOr for WICPngIccpProperties {
7324     type Output = Self;
bitor(self, rhs: Self) -> Self7325     fn bitor(self, rhs: Self) -> Self {
7326         Self(self.0 | rhs.0)
7327     }
7328 }
7329 impl ::std::ops::BitAnd for WICPngIccpProperties {
7330     type Output = Self;
bitand(self, rhs: Self) -> Self7331     fn bitand(self, rhs: Self) -> Self {
7332         Self(self.0 & rhs.0)
7333     }
7334 }
7335 impl ::std::ops::BitOrAssign for WICPngIccpProperties {
bitor_assign(&mut self, rhs: Self)7336     fn bitor_assign(&mut self, rhs: Self) {
7337         self.0.bitor_assign(rhs.0)
7338     }
7339 }
7340 impl ::std::ops::BitAndAssign for WICPngIccpProperties {
bitand_assign(&mut self, rhs: Self)7341     fn bitand_assign(&mut self, rhs: Self) {
7342         self.0.bitand_assign(rhs.0)
7343     }
7344 }
7345 impl ::std::ops::Not for WICPngIccpProperties {
7346     type Output = Self;
not(self) -> Self7347     fn not(self) -> Self {
7348         Self(self.0.not())
7349     }
7350 }
7351 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7352 #[repr(transparent)]
7353 pub struct WICPngItxtProperties(pub u32);
7354 pub const WICPngItxtKeyword: WICPngItxtProperties = WICPngItxtProperties(1u32);
7355 pub const WICPngItxtCompressionFlag: WICPngItxtProperties = WICPngItxtProperties(2u32);
7356 pub const WICPngItxtLanguageTag: WICPngItxtProperties = WICPngItxtProperties(3u32);
7357 pub const WICPngItxtTranslatedKeyword: WICPngItxtProperties = WICPngItxtProperties(4u32);
7358 pub const WICPngItxtText: WICPngItxtProperties = WICPngItxtProperties(5u32);
7359 pub const WICPngItxtProperties_FORCE_DWORD: WICPngItxtProperties = WICPngItxtProperties(2147483647u32);
7360 impl ::std::convert::From<u32> for WICPngItxtProperties {
from(value: u32) -> Self7361     fn from(value: u32) -> Self {
7362         Self(value)
7363     }
7364 }
7365 unsafe impl ::windows::runtime::Abi for WICPngItxtProperties {
7366     type Abi = Self;
7367     type DefaultType = Self;
7368 }
7369 impl ::std::ops::BitOr for WICPngItxtProperties {
7370     type Output = Self;
bitor(self, rhs: Self) -> Self7371     fn bitor(self, rhs: Self) -> Self {
7372         Self(self.0 | rhs.0)
7373     }
7374 }
7375 impl ::std::ops::BitAnd for WICPngItxtProperties {
7376     type Output = Self;
bitand(self, rhs: Self) -> Self7377     fn bitand(self, rhs: Self) -> Self {
7378         Self(self.0 & rhs.0)
7379     }
7380 }
7381 impl ::std::ops::BitOrAssign for WICPngItxtProperties {
bitor_assign(&mut self, rhs: Self)7382     fn bitor_assign(&mut self, rhs: Self) {
7383         self.0.bitor_assign(rhs.0)
7384     }
7385 }
7386 impl ::std::ops::BitAndAssign for WICPngItxtProperties {
bitand_assign(&mut self, rhs: Self)7387     fn bitand_assign(&mut self, rhs: Self) {
7388         self.0.bitand_assign(rhs.0)
7389     }
7390 }
7391 impl ::std::ops::Not for WICPngItxtProperties {
7392     type Output = Self;
not(self) -> Self7393     fn not(self) -> Self {
7394         Self(self.0.not())
7395     }
7396 }
7397 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7398 #[repr(transparent)]
7399 pub struct WICPngSrgbProperties(pub u32);
7400 pub const WICPngSrgbRenderingIntent: WICPngSrgbProperties = WICPngSrgbProperties(1u32);
7401 pub const WICPngSrgbProperties_FORCE_DWORD: WICPngSrgbProperties = WICPngSrgbProperties(2147483647u32);
7402 impl ::std::convert::From<u32> for WICPngSrgbProperties {
from(value: u32) -> Self7403     fn from(value: u32) -> Self {
7404         Self(value)
7405     }
7406 }
7407 unsafe impl ::windows::runtime::Abi for WICPngSrgbProperties {
7408     type Abi = Self;
7409     type DefaultType = Self;
7410 }
7411 impl ::std::ops::BitOr for WICPngSrgbProperties {
7412     type Output = Self;
bitor(self, rhs: Self) -> Self7413     fn bitor(self, rhs: Self) -> Self {
7414         Self(self.0 | rhs.0)
7415     }
7416 }
7417 impl ::std::ops::BitAnd for WICPngSrgbProperties {
7418     type Output = Self;
bitand(self, rhs: Self) -> Self7419     fn bitand(self, rhs: Self) -> Self {
7420         Self(self.0 & rhs.0)
7421     }
7422 }
7423 impl ::std::ops::BitOrAssign for WICPngSrgbProperties {
bitor_assign(&mut self, rhs: Self)7424     fn bitor_assign(&mut self, rhs: Self) {
7425         self.0.bitor_assign(rhs.0)
7426     }
7427 }
7428 impl ::std::ops::BitAndAssign for WICPngSrgbProperties {
bitand_assign(&mut self, rhs: Self)7429     fn bitand_assign(&mut self, rhs: Self) {
7430         self.0.bitand_assign(rhs.0)
7431     }
7432 }
7433 impl ::std::ops::Not for WICPngSrgbProperties {
7434     type Output = Self;
not(self) -> Self7435     fn not(self) -> Self {
7436         Self(self.0.not())
7437     }
7438 }
7439 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7440 #[repr(transparent)]
7441 pub struct WICPngTimeProperties(pub u32);
7442 pub const WICPngTimeYear: WICPngTimeProperties = WICPngTimeProperties(1u32);
7443 pub const WICPngTimeMonth: WICPngTimeProperties = WICPngTimeProperties(2u32);
7444 pub const WICPngTimeDay: WICPngTimeProperties = WICPngTimeProperties(3u32);
7445 pub const WICPngTimeHour: WICPngTimeProperties = WICPngTimeProperties(4u32);
7446 pub const WICPngTimeMinute: WICPngTimeProperties = WICPngTimeProperties(5u32);
7447 pub const WICPngTimeSecond: WICPngTimeProperties = WICPngTimeProperties(6u32);
7448 pub const WICPngTimeProperties_FORCE_DWORD: WICPngTimeProperties = WICPngTimeProperties(2147483647u32);
7449 impl ::std::convert::From<u32> for WICPngTimeProperties {
from(value: u32) -> Self7450     fn from(value: u32) -> Self {
7451         Self(value)
7452     }
7453 }
7454 unsafe impl ::windows::runtime::Abi for WICPngTimeProperties {
7455     type Abi = Self;
7456     type DefaultType = Self;
7457 }
7458 impl ::std::ops::BitOr for WICPngTimeProperties {
7459     type Output = Self;
bitor(self, rhs: Self) -> Self7460     fn bitor(self, rhs: Self) -> Self {
7461         Self(self.0 | rhs.0)
7462     }
7463 }
7464 impl ::std::ops::BitAnd for WICPngTimeProperties {
7465     type Output = Self;
bitand(self, rhs: Self) -> Self7466     fn bitand(self, rhs: Self) -> Self {
7467         Self(self.0 & rhs.0)
7468     }
7469 }
7470 impl ::std::ops::BitOrAssign for WICPngTimeProperties {
bitor_assign(&mut self, rhs: Self)7471     fn bitor_assign(&mut self, rhs: Self) {
7472         self.0.bitor_assign(rhs.0)
7473     }
7474 }
7475 impl ::std::ops::BitAndAssign for WICPngTimeProperties {
bitand_assign(&mut self, rhs: Self)7476     fn bitand_assign(&mut self, rhs: Self) {
7477         self.0.bitand_assign(rhs.0)
7478     }
7479 }
7480 impl ::std::ops::Not for WICPngTimeProperties {
7481     type Output = Self;
not(self) -> Self7482     fn not(self) -> Self {
7483         Self(self.0.not())
7484     }
7485 }
7486 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7487 #[repr(transparent)]
7488 pub struct WICProgressNotification(pub i32);
7489 pub const WICProgressNotificationBegin: WICProgressNotification = WICProgressNotification(65536i32);
7490 pub const WICProgressNotificationEnd: WICProgressNotification = WICProgressNotification(131072i32);
7491 pub const WICProgressNotificationFrequent: WICProgressNotification = WICProgressNotification(262144i32);
7492 pub const WICProgressNotificationAll: WICProgressNotification = WICProgressNotification(-65536i32);
7493 pub const WICPROGRESSNOTIFICATION_FORCE_DWORD: WICProgressNotification = WICProgressNotification(2147483647i32);
7494 impl ::std::convert::From<i32> for WICProgressNotification {
from(value: i32) -> Self7495     fn from(value: i32) -> Self {
7496         Self(value)
7497     }
7498 }
7499 unsafe impl ::windows::runtime::Abi for WICProgressNotification {
7500     type Abi = Self;
7501     type DefaultType = Self;
7502 }
7503 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7504 #[repr(transparent)]
7505 pub struct WICProgressOperation(pub i32);
7506 pub const WICProgressOperationCopyPixels: WICProgressOperation = WICProgressOperation(1i32);
7507 pub const WICProgressOperationWritePixels: WICProgressOperation = WICProgressOperation(2i32);
7508 pub const WICProgressOperationAll: WICProgressOperation = WICProgressOperation(65535i32);
7509 pub const WICPROGRESSOPERATION_FORCE_DWORD: WICProgressOperation = WICProgressOperation(2147483647i32);
7510 impl ::std::convert::From<i32> for WICProgressOperation {
from(value: i32) -> Self7511     fn from(value: i32) -> Self {
7512         Self(value)
7513     }
7514 }
7515 unsafe impl ::windows::runtime::Abi for WICProgressOperation {
7516     type Abi = Self;
7517     type DefaultType = Self;
7518 }
7519 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7520 #[repr(transparent)]
7521 pub struct WICRawCapabilities(pub i32);
7522 pub const WICRawCapabilityNotSupported: WICRawCapabilities = WICRawCapabilities(0i32);
7523 pub const WICRawCapabilityGetSupported: WICRawCapabilities = WICRawCapabilities(1i32);
7524 pub const WICRawCapabilityFullySupported: WICRawCapabilities = WICRawCapabilities(2i32);
7525 pub const WICRAWCAPABILITIES_FORCE_DWORD: WICRawCapabilities = WICRawCapabilities(2147483647i32);
7526 impl ::std::convert::From<i32> for WICRawCapabilities {
from(value: i32) -> Self7527     fn from(value: i32) -> Self {
7528         Self(value)
7529     }
7530 }
7531 unsafe impl ::windows::runtime::Abi for WICRawCapabilities {
7532     type Abi = Self;
7533     type DefaultType = Self;
7534 }
7535 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
7536 #[repr(C)]
7537 pub struct WICRawCapabilitiesInfo {
7538     pub cbSize: u32,
7539     pub CodecMajorVersion: u32,
7540     pub CodecMinorVersion: u32,
7541     pub ExposureCompensationSupport: WICRawCapabilities,
7542     pub ContrastSupport: WICRawCapabilities,
7543     pub RGBWhitePointSupport: WICRawCapabilities,
7544     pub NamedWhitePointSupport: WICRawCapabilities,
7545     pub NamedWhitePointSupportMask: u32,
7546     pub KelvinWhitePointSupport: WICRawCapabilities,
7547     pub GammaSupport: WICRawCapabilities,
7548     pub TintSupport: WICRawCapabilities,
7549     pub SaturationSupport: WICRawCapabilities,
7550     pub SharpnessSupport: WICRawCapabilities,
7551     pub NoiseReductionSupport: WICRawCapabilities,
7552     pub DestinationColorProfileSupport: WICRawCapabilities,
7553     pub ToneCurveSupport: WICRawCapabilities,
7554     pub RotationSupport: WICRawRotationCapabilities,
7555     pub RenderModeSupport: WICRawCapabilities,
7556 }
7557 impl WICRawCapabilitiesInfo {}
7558 impl ::std::default::Default for WICRawCapabilitiesInfo {
default() -> Self7559     fn default() -> Self {
7560         unsafe { ::std::mem::zeroed() }
7561     }
7562 }
7563 impl ::std::fmt::Debug for WICRawCapabilitiesInfo {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result7564     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
7565         fmt.debug_struct("WICRawCapabilitiesInfo")
7566             .field("cbSize", &self.cbSize)
7567             .field("CodecMajorVersion", &self.CodecMajorVersion)
7568             .field("CodecMinorVersion", &self.CodecMinorVersion)
7569             .field("ExposureCompensationSupport", &self.ExposureCompensationSupport)
7570             .field("ContrastSupport", &self.ContrastSupport)
7571             .field("RGBWhitePointSupport", &self.RGBWhitePointSupport)
7572             .field("NamedWhitePointSupport", &self.NamedWhitePointSupport)
7573             .field("NamedWhitePointSupportMask", &self.NamedWhitePointSupportMask)
7574             .field("KelvinWhitePointSupport", &self.KelvinWhitePointSupport)
7575             .field("GammaSupport", &self.GammaSupport)
7576             .field("TintSupport", &self.TintSupport)
7577             .field("SaturationSupport", &self.SaturationSupport)
7578             .field("SharpnessSupport", &self.SharpnessSupport)
7579             .field("NoiseReductionSupport", &self.NoiseReductionSupport)
7580             .field("DestinationColorProfileSupport", &self.DestinationColorProfileSupport)
7581             .field("ToneCurveSupport", &self.ToneCurveSupport)
7582             .field("RotationSupport", &self.RotationSupport)
7583             .field("RenderModeSupport", &self.RenderModeSupport)
7584             .finish()
7585     }
7586 }
7587 impl ::std::cmp::PartialEq for WICRawCapabilitiesInfo {
eq(&self, other: &Self) -> bool7588     fn eq(&self, other: &Self) -> bool {
7589         self.cbSize == other.cbSize
7590             && self.CodecMajorVersion == other.CodecMajorVersion
7591             && self.CodecMinorVersion == other.CodecMinorVersion
7592             && self.ExposureCompensationSupport == other.ExposureCompensationSupport
7593             && self.ContrastSupport == other.ContrastSupport
7594             && self.RGBWhitePointSupport == other.RGBWhitePointSupport
7595             && self.NamedWhitePointSupport == other.NamedWhitePointSupport
7596             && self.NamedWhitePointSupportMask == other.NamedWhitePointSupportMask
7597             && self.KelvinWhitePointSupport == other.KelvinWhitePointSupport
7598             && self.GammaSupport == other.GammaSupport
7599             && self.TintSupport == other.TintSupport
7600             && self.SaturationSupport == other.SaturationSupport
7601             && self.SharpnessSupport == other.SharpnessSupport
7602             && self.NoiseReductionSupport == other.NoiseReductionSupport
7603             && self.DestinationColorProfileSupport == other.DestinationColorProfileSupport
7604             && self.ToneCurveSupport == other.ToneCurveSupport
7605             && self.RotationSupport == other.RotationSupport
7606             && self.RenderModeSupport == other.RenderModeSupport
7607     }
7608 }
7609 impl ::std::cmp::Eq for WICRawCapabilitiesInfo {}
7610 unsafe impl ::windows::runtime::Abi for WICRawCapabilitiesInfo {
7611     type Abi = Self;
7612     type DefaultType = Self;
7613 }
7614 pub const WICRawChangeNotification_Contrast: u32 = 16u32;
7615 pub const WICRawChangeNotification_DestinationColorContext: u32 = 1024u32;
7616 pub const WICRawChangeNotification_ExposureCompensation: u32 = 1u32;
7617 pub const WICRawChangeNotification_Gamma: u32 = 32u32;
7618 pub const WICRawChangeNotification_KelvinWhitePoint: u32 = 4u32;
7619 pub const WICRawChangeNotification_NamedWhitePoint: u32 = 2u32;
7620 pub const WICRawChangeNotification_NoiseReduction: u32 = 512u32;
7621 pub const WICRawChangeNotification_RGBWhitePoint: u32 = 8u32;
7622 pub const WICRawChangeNotification_RenderMode: u32 = 8192u32;
7623 pub const WICRawChangeNotification_Rotation: u32 = 4096u32;
7624 pub const WICRawChangeNotification_Saturation: u32 = 128u32;
7625 pub const WICRawChangeNotification_Sharpness: u32 = 64u32;
7626 pub const WICRawChangeNotification_Tint: u32 = 256u32;
7627 pub const WICRawChangeNotification_ToneCurve: u32 = 2048u32;
7628 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7629 #[repr(transparent)]
7630 pub struct WICRawParameterSet(pub i32);
7631 pub const WICAsShotParameterSet: WICRawParameterSet = WICRawParameterSet(1i32);
7632 pub const WICUserAdjustedParameterSet: WICRawParameterSet = WICRawParameterSet(2i32);
7633 pub const WICAutoAdjustedParameterSet: WICRawParameterSet = WICRawParameterSet(3i32);
7634 pub const WICRAWPARAMETERSET_FORCE_DWORD: WICRawParameterSet = WICRawParameterSet(2147483647i32);
7635 impl ::std::convert::From<i32> for WICRawParameterSet {
from(value: i32) -> Self7636     fn from(value: i32) -> Self {
7637         Self(value)
7638     }
7639 }
7640 unsafe impl ::windows::runtime::Abi for WICRawParameterSet {
7641     type Abi = Self;
7642     type DefaultType = Self;
7643 }
7644 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7645 #[repr(transparent)]
7646 pub struct WICRawRenderMode(pub i32);
7647 pub const WICRawRenderModeDraft: WICRawRenderMode = WICRawRenderMode(1i32);
7648 pub const WICRawRenderModeNormal: WICRawRenderMode = WICRawRenderMode(2i32);
7649 pub const WICRawRenderModeBestQuality: WICRawRenderMode = WICRawRenderMode(3i32);
7650 pub const WICRAWRENDERMODE_FORCE_DWORD: WICRawRenderMode = WICRawRenderMode(2147483647i32);
7651 impl ::std::convert::From<i32> for WICRawRenderMode {
from(value: i32) -> Self7652     fn from(value: i32) -> Self {
7653         Self(value)
7654     }
7655 }
7656 unsafe impl ::windows::runtime::Abi for WICRawRenderMode {
7657     type Abi = Self;
7658     type DefaultType = Self;
7659 }
7660 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7661 #[repr(transparent)]
7662 pub struct WICRawRotationCapabilities(pub i32);
7663 pub const WICRawRotationCapabilityNotSupported: WICRawRotationCapabilities = WICRawRotationCapabilities(0i32);
7664 pub const WICRawRotationCapabilityGetSupported: WICRawRotationCapabilities = WICRawRotationCapabilities(1i32);
7665 pub const WICRawRotationCapabilityNinetyDegreesSupported: WICRawRotationCapabilities = WICRawRotationCapabilities(2i32);
7666 pub const WICRawRotationCapabilityFullySupported: WICRawRotationCapabilities = WICRawRotationCapabilities(3i32);
7667 pub const WICRAWROTATIONCAPABILITIES_FORCE_DWORD: WICRawRotationCapabilities = WICRawRotationCapabilities(2147483647i32);
7668 impl ::std::convert::From<i32> for WICRawRotationCapabilities {
from(value: i32) -> Self7669     fn from(value: i32) -> Self {
7670         Self(value)
7671     }
7672 }
7673 unsafe impl ::windows::runtime::Abi for WICRawRotationCapabilities {
7674     type Abi = Self;
7675     type DefaultType = Self;
7676 }
7677 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
7678 #[repr(C)]
7679 pub struct WICRawToneCurve {
7680     pub cPoints: u32,
7681     pub aPoints: [WICRawToneCurvePoint; 1],
7682 }
7683 impl WICRawToneCurve {}
7684 impl ::std::default::Default for WICRawToneCurve {
default() -> Self7685     fn default() -> Self {
7686         unsafe { ::std::mem::zeroed() }
7687     }
7688 }
7689 impl ::std::fmt::Debug for WICRawToneCurve {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result7690     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
7691         fmt.debug_struct("WICRawToneCurve").field("cPoints", &self.cPoints).field("aPoints", &self.aPoints).finish()
7692     }
7693 }
7694 impl ::std::cmp::PartialEq for WICRawToneCurve {
eq(&self, other: &Self) -> bool7695     fn eq(&self, other: &Self) -> bool {
7696         self.cPoints == other.cPoints && self.aPoints == other.aPoints
7697     }
7698 }
7699 impl ::std::cmp::Eq for WICRawToneCurve {}
7700 unsafe impl ::windows::runtime::Abi for WICRawToneCurve {
7701     type Abi = Self;
7702     type DefaultType = Self;
7703 }
7704 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
7705 #[repr(C)]
7706 pub struct WICRawToneCurvePoint {
7707     pub Input: f64,
7708     pub Output: f64,
7709 }
7710 impl WICRawToneCurvePoint {}
7711 impl ::std::default::Default for WICRawToneCurvePoint {
default() -> Self7712     fn default() -> Self {
7713         unsafe { ::std::mem::zeroed() }
7714     }
7715 }
7716 impl ::std::fmt::Debug for WICRawToneCurvePoint {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result7717     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
7718         fmt.debug_struct("WICRawToneCurvePoint").field("Input", &self.Input).field("Output", &self.Output).finish()
7719     }
7720 }
7721 impl ::std::cmp::PartialEq for WICRawToneCurvePoint {
eq(&self, other: &Self) -> bool7722     fn eq(&self, other: &Self) -> bool {
7723         self.Input == other.Input && self.Output == other.Output
7724     }
7725 }
7726 impl ::std::cmp::Eq for WICRawToneCurvePoint {}
7727 unsafe impl ::windows::runtime::Abi for WICRawToneCurvePoint {
7728     type Abi = Self;
7729     type DefaultType = Self;
7730 }
7731 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
7732 #[repr(C)]
7733 pub struct WICRect {
7734     pub X: i32,
7735     pub Y: i32,
7736     pub Width: i32,
7737     pub Height: i32,
7738 }
7739 impl WICRect {}
7740 impl ::std::default::Default for WICRect {
default() -> Self7741     fn default() -> Self {
7742         unsafe { ::std::mem::zeroed() }
7743     }
7744 }
7745 impl ::std::fmt::Debug for WICRect {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result7746     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
7747         fmt.debug_struct("WICRect").field("X", &self.X).field("Y", &self.Y).field("Width", &self.Width).field("Height", &self.Height).finish()
7748     }
7749 }
7750 impl ::std::cmp::PartialEq for WICRect {
eq(&self, other: &Self) -> bool7751     fn eq(&self, other: &Self) -> bool {
7752         self.X == other.X && self.Y == other.Y && self.Width == other.Width && self.Height == other.Height
7753     }
7754 }
7755 impl ::std::cmp::Eq for WICRect {}
7756 unsafe impl ::windows::runtime::Abi for WICRect {
7757     type Abi = Self;
7758     type DefaultType = Self;
7759 }
7760 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7761 #[repr(transparent)]
7762 pub struct WICSectionAccessLevel(pub u32);
7763 pub const WICSectionAccessLevelRead: WICSectionAccessLevel = WICSectionAccessLevel(1u32);
7764 pub const WICSectionAccessLevelReadWrite: WICSectionAccessLevel = WICSectionAccessLevel(3u32);
7765 pub const WICSectionAccessLevel_FORCE_DWORD: WICSectionAccessLevel = WICSectionAccessLevel(2147483647u32);
7766 impl ::std::convert::From<u32> for WICSectionAccessLevel {
from(value: u32) -> Self7767     fn from(value: u32) -> Self {
7768         Self(value)
7769     }
7770 }
7771 unsafe impl ::windows::runtime::Abi for WICSectionAccessLevel {
7772     type Abi = Self;
7773     type DefaultType = Self;
7774 }
7775 impl ::std::ops::BitOr for WICSectionAccessLevel {
7776     type Output = Self;
bitor(self, rhs: Self) -> Self7777     fn bitor(self, rhs: Self) -> Self {
7778         Self(self.0 | rhs.0)
7779     }
7780 }
7781 impl ::std::ops::BitAnd for WICSectionAccessLevel {
7782     type Output = Self;
bitand(self, rhs: Self) -> Self7783     fn bitand(self, rhs: Self) -> Self {
7784         Self(self.0 & rhs.0)
7785     }
7786 }
7787 impl ::std::ops::BitOrAssign for WICSectionAccessLevel {
bitor_assign(&mut self, rhs: Self)7788     fn bitor_assign(&mut self, rhs: Self) {
7789         self.0.bitor_assign(rhs.0)
7790     }
7791 }
7792 impl ::std::ops::BitAndAssign for WICSectionAccessLevel {
bitand_assign(&mut self, rhs: Self)7793     fn bitand_assign(&mut self, rhs: Self) {
7794         self.0.bitand_assign(rhs.0)
7795     }
7796 }
7797 impl ::std::ops::Not for WICSectionAccessLevel {
7798     type Output = Self;
not(self) -> Self7799     fn not(self) -> Self {
7800         Self(self.0.not())
7801     }
7802 }
7803 #[cfg(feature = "Win32_System_Com")]
7804 #[inline]
WICSerializeMetadataContent<'a, Param1: ::windows::runtime::IntoParam<'a, IWICMetadataWriter>, Param3: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(guidcontainerformat: *const ::windows::runtime::GUID, piwriter: Param1, dwpersistoptions: u32, pistream: Param3) -> ::windows::runtime::Result<()>7805 pub unsafe fn WICSerializeMetadataContent<'a, Param1: ::windows::runtime::IntoParam<'a, IWICMetadataWriter>, Param3: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(guidcontainerformat: *const ::windows::runtime::GUID, piwriter: Param1, dwpersistoptions: u32, pistream: Param3) -> ::windows::runtime::Result<()> {
7806     #[cfg(windows)]
7807     {
7808         #[link(name = "windows")]
7809         extern "system" {
7810             fn WICSerializeMetadataContent(guidcontainerformat: *const ::windows::runtime::GUID, piwriter: ::windows::runtime::RawPtr, dwpersistoptions: u32, pistream: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
7811         }
7812         WICSerializeMetadataContent(::std::mem::transmute(guidcontainerformat), piwriter.into_param().abi(), ::std::mem::transmute(dwpersistoptions), pistream.into_param().abi()).ok()
7813     }
7814     #[cfg(not(windows))]
7815     unimplemented!("Unsupported target OS");
7816 }
7817 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7818 #[repr(transparent)]
7819 pub struct WICTiffCompressionOption(pub i32);
7820 pub const WICTiffCompressionDontCare: WICTiffCompressionOption = WICTiffCompressionOption(0i32);
7821 pub const WICTiffCompressionNone: WICTiffCompressionOption = WICTiffCompressionOption(1i32);
7822 pub const WICTiffCompressionCCITT3: WICTiffCompressionOption = WICTiffCompressionOption(2i32);
7823 pub const WICTiffCompressionCCITT4: WICTiffCompressionOption = WICTiffCompressionOption(3i32);
7824 pub const WICTiffCompressionLZW: WICTiffCompressionOption = WICTiffCompressionOption(4i32);
7825 pub const WICTiffCompressionRLE: WICTiffCompressionOption = WICTiffCompressionOption(5i32);
7826 pub const WICTiffCompressionZIP: WICTiffCompressionOption = WICTiffCompressionOption(6i32);
7827 pub const WICTiffCompressionLZWHDifferencing: WICTiffCompressionOption = WICTiffCompressionOption(7i32);
7828 pub const WICTIFFCOMPRESSIONOPTION_FORCE_DWORD: WICTiffCompressionOption = WICTiffCompressionOption(2147483647i32);
7829 impl ::std::convert::From<i32> for WICTiffCompressionOption {
from(value: i32) -> Self7830     fn from(value: i32) -> Self {
7831         Self(value)
7832     }
7833 }
7834 unsafe impl ::windows::runtime::Abi for WICTiffCompressionOption {
7835     type Abi = Self;
7836     type DefaultType = Self;
7837 }
7838 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7839 #[repr(transparent)]
7840 pub struct WICWebpAnimProperties(pub u32);
7841 pub const WICWebpAnimLoopCount: WICWebpAnimProperties = WICWebpAnimProperties(1u32);
7842 pub const WICWebpAnimProperties_FORCE_DWORD: WICWebpAnimProperties = WICWebpAnimProperties(2147483647u32);
7843 impl ::std::convert::From<u32> for WICWebpAnimProperties {
from(value: u32) -> Self7844     fn from(value: u32) -> Self {
7845         Self(value)
7846     }
7847 }
7848 unsafe impl ::windows::runtime::Abi for WICWebpAnimProperties {
7849     type Abi = Self;
7850     type DefaultType = Self;
7851 }
7852 impl ::std::ops::BitOr for WICWebpAnimProperties {
7853     type Output = Self;
bitor(self, rhs: Self) -> Self7854     fn bitor(self, rhs: Self) -> Self {
7855         Self(self.0 | rhs.0)
7856     }
7857 }
7858 impl ::std::ops::BitAnd for WICWebpAnimProperties {
7859     type Output = Self;
bitand(self, rhs: Self) -> Self7860     fn bitand(self, rhs: Self) -> Self {
7861         Self(self.0 & rhs.0)
7862     }
7863 }
7864 impl ::std::ops::BitOrAssign for WICWebpAnimProperties {
bitor_assign(&mut self, rhs: Self)7865     fn bitor_assign(&mut self, rhs: Self) {
7866         self.0.bitor_assign(rhs.0)
7867     }
7868 }
7869 impl ::std::ops::BitAndAssign for WICWebpAnimProperties {
bitand_assign(&mut self, rhs: Self)7870     fn bitand_assign(&mut self, rhs: Self) {
7871         self.0.bitand_assign(rhs.0)
7872     }
7873 }
7874 impl ::std::ops::Not for WICWebpAnimProperties {
7875     type Output = Self;
not(self) -> Self7876     fn not(self) -> Self {
7877         Self(self.0.not())
7878     }
7879 }
7880 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7881 #[repr(transparent)]
7882 pub struct WICWebpAnmfProperties(pub u32);
7883 pub const WICWebpAnmfFrameDuration: WICWebpAnmfProperties = WICWebpAnmfProperties(1u32);
7884 pub const WICWebpAnmfProperties_FORCE_DWORD: WICWebpAnmfProperties = WICWebpAnmfProperties(2147483647u32);
7885 impl ::std::convert::From<u32> for WICWebpAnmfProperties {
from(value: u32) -> Self7886     fn from(value: u32) -> Self {
7887         Self(value)
7888     }
7889 }
7890 unsafe impl ::windows::runtime::Abi for WICWebpAnmfProperties {
7891     type Abi = Self;
7892     type DefaultType = Self;
7893 }
7894 impl ::std::ops::BitOr for WICWebpAnmfProperties {
7895     type Output = Self;
bitor(self, rhs: Self) -> Self7896     fn bitor(self, rhs: Self) -> Self {
7897         Self(self.0 | rhs.0)
7898     }
7899 }
7900 impl ::std::ops::BitAnd for WICWebpAnmfProperties {
7901     type Output = Self;
bitand(self, rhs: Self) -> Self7902     fn bitand(self, rhs: Self) -> Self {
7903         Self(self.0 & rhs.0)
7904     }
7905 }
7906 impl ::std::ops::BitOrAssign for WICWebpAnmfProperties {
bitor_assign(&mut self, rhs: Self)7907     fn bitor_assign(&mut self, rhs: Self) {
7908         self.0.bitor_assign(rhs.0)
7909     }
7910 }
7911 impl ::std::ops::BitAndAssign for WICWebpAnmfProperties {
bitand_assign(&mut self, rhs: Self)7912     fn bitand_assign(&mut self, rhs: Self) {
7913         self.0.bitand_assign(rhs.0)
7914     }
7915 }
7916 impl ::std::ops::Not for WICWebpAnmfProperties {
7917     type Output = Self;
not(self) -> Self7918     fn not(self) -> Self {
7919         Self(self.0.not())
7920     }
7921 }
7922 pub const WIC_JPEG_HUFFMAN_BASELINE_ONE: u32 = 0u32;
7923 pub const WIC_JPEG_HUFFMAN_BASELINE_THREE: u32 = 1118464u32;
7924 pub const WIC_JPEG_MAX_COMPONENT_COUNT: u32 = 4u32;
7925 pub const WIC_JPEG_MAX_TABLE_INDEX: u32 = 3u32;
7926 pub const WIC_JPEG_QUANTIZATION_BASELINE_ONE: u32 = 0u32;
7927 pub const WIC_JPEG_QUANTIZATION_BASELINE_THREE: u32 = 65792u32;
7928 pub const WIC_JPEG_SAMPLE_FACTORS_ONE: u32 = 17u32;
7929 pub const WIC_JPEG_SAMPLE_FACTORS_THREE_420: u32 = 1118498u32;
7930 pub const WIC_JPEG_SAMPLE_FACTORS_THREE_422: u32 = 1118497u32;
7931 pub const WIC_JPEG_SAMPLE_FACTORS_THREE_440: u32 = 1118482u32;
7932 pub const WIC_JPEG_SAMPLE_FACTORS_THREE_444: u32 = 1118481u32;
7933 pub const WINCODEC_ERR_ABORTED: i32 = -2147467260i32;
7934 pub const WINCODEC_ERR_ACCESSDENIED: i32 = -2147024891i32;
7935 pub const WINCODEC_ERR_BASE: u32 = 8192u32;
7936 pub const WINCODEC_ERR_GENERIC_ERROR: i32 = -2147467259i32;
7937 pub const WINCODEC_ERR_INVALIDPARAMETER: i32 = -2147024809i32;
7938 pub const WINCODEC_ERR_NOTIMPLEMENTED: i32 = -2147467263i32;
7939 pub const WINCODEC_ERR_OUTOFMEMORY: i32 = -2147024882i32;
7940 pub const WINCODEC_SDK_VERSION: u32 = 567u32;
7941 pub const WINCODEC_SDK_VERSION1: u32 = 566u32;
7942 pub const WINCODEC_SDK_VERSION2: u32 = 567u32;
7943