Skip to content

Commit aa4c2b3

Browse files
authored
Add missing types for WindowsCodec (#2167)
* Strongly-typed WindowsCodec * Add more types to Win32 extras * Use IntPtr for handles * Bring back IMessageFilter * Minor fixes and resolving CR feedbacks * More fixes
1 parent b6d2aaf commit aa4c2b3

File tree

216 files changed

+147712
-6856
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

216 files changed

+147712
-6856
lines changed

build/cache/wic.json.gz

172 KB
Binary file not shown.

build/cache/win32extras.json.gz

242 KB
Binary file not shown.

generator.json

Lines changed: 212 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1155,6 +1155,7 @@
11551155
"-Ibuild/include"
11561156
],
11571157
"traverse": [
1158+
"$windowsSdkDir/Include/$windowsSdkVersion/shared/wtypes.h",
11581159
"$windowsSdkDir/Include/$windowsSdkVersion/shared/rpcdcep.h",
11591160
"$windowsSdkDir/Include/$windowsSdkVersion/shared/WTypesbase.h",
11601161
"$windowsSdkDir/Include/$windowsSdkVersion/shared/evntrace.h",
@@ -1165,6 +1166,10 @@
11651166
"$windowsSdkDir/Include/$windowsSdkVersion/um/fileapi.h",
11661167
"$windowsSdkDir/Include/$windowsSdkVersion/um/objidlbase.h",
11671168
"$windowsSdkDir/Include/$windowsSdkVersion/um/objidl.h",
1169+
"$windowsSdkDir/Include/$windowsSdkVersion/um/ocidl.h",
1170+
"$windowsSdkDir/Include/$windowsSdkVersion/um/oaidl.h",
1171+
"$windowsSdkDir/Include/$windowsSdkVersion/um/propidlbase.h",
1172+
"$windowsSdkDir/Include/$windowsSdkVersion/um/propidl.h",
11681173
"$windowsSdkDir/Include/$windowsSdkVersion/um/Documenttarget.h",
11691174
"$windowsSdkDir/Include/$windowsSdkVersion/shared/evntprov.h"
11701175
],
@@ -1177,7 +1182,104 @@
11771182
"_STGMEDIUM_UNION",
11781183
"_GDI_OBJECT",
11791184
"__MIDL_IAdviseSink_0002",
1180-
"__MIDL_IAdviseSink_0003"
1185+
"__MIDL_IAdviseSink_0003",
1186+
"__MIDL_IOleAutomationTypes_0001",
1187+
"__MIDL___MIDL_itf_d3d11_0000_0034_0001",
1188+
"__MIDL___MIDL_itf_dxva2api_0000_0000_0003",
1189+
"__MIDL___MIDL_itf_dxva2api_0000_0000_0004",
1190+
"__MIDL___MIDL_itf_dxva2api_0000_0000_0005",
1191+
"__MIDL___MIDL_itf_dxva2api_0000_0000_0006",
1192+
"__MIDL___MIDL_itf_dxva2api_0000_0000_0007",
1193+
"__MIDL___MIDL_itf_dxva2api_0000_0000_0008",
1194+
"__MIDL___MIDL_itf_dxva2api_0000_0000_0009",
1195+
"__MIDL___MIDL_itf_dxva2api_0000_0000_0010",
1196+
"__MIDL___MIDL_itf_dxva2api_0000_0000_0011",
1197+
"__MIDL___MIDL_itf_dxva2api_0000_0000_0012",
1198+
"__MIDL___MIDL_itf_dxva2api_0000_0000_0013",
1199+
"__MIDL___MIDL_itf_dxva2api_0000_0006_0001",
1200+
"IClassFactory2",
1201+
"IViewObjectEx",
1202+
"IOleInPlaceSiteEx",
1203+
"IOleInPlaceSiteWindowless",
1204+
"IPicture",
1205+
"IPicture2",
1206+
"IPictureDisp",
1207+
"IFont",
1208+
"IFontDisp",
1209+
"IFontEventsDisp",
1210+
"ISimpleFrameSite",
1211+
"IPersistPropertyBag",
1212+
"IPersistPropertyBag2",
1213+
"IPropertyPage",
1214+
"IPropertyPage2",
1215+
"IPropertyPageSite",
1216+
"IQuickActivate",
1217+
"IPointerInactive",
1218+
"IOleControl",
1219+
"IOleControlSite",
1220+
"IOleInPlaceObjectWindowless",
1221+
"tagVARIANT",
1222+
"tagVARIANTUnion",
1223+
"tagVARIANTUnionUnion",
1224+
"tagVARIANTUnionUnionUnion",
1225+
"tagVARIANTUnionUnionUnionUnion",
1226+
"tagSAFEARRAY",
1227+
"tagSAFEARRAYBOUND",
1228+
"tagQACONTAINER",
1229+
"tagQACONTAINERFLAGS",
1230+
"tagPROPPAGEINFO",
1231+
"tagDISPPARAMS",
1232+
"_wireBRECORD",
1233+
"_wireSAFEARRAY",
1234+
"_wireSAFEARRAY_UNION",
1235+
"_wireSAFEARR_BRECORD",
1236+
"_wireSAFEARR_BSTR",
1237+
"_wireSAFEARR_DISPATCH",
1238+
"_wireSAFEARR_HAVEIID",
1239+
"_wireSAFEARR_UNKNOWN",
1240+
"_wireSAFEARR_VARIANT",
1241+
"_wireVARIANT",
1242+
"_wireVARIANTUnion",
1243+
"_userBITMAP",
1244+
"_userCLIPFORMAT",
1245+
"_userHBITMAP",
1246+
"_userHENHMETAFILE",
1247+
"_userHGLOBAL",
1248+
"_userHMETAFILE",
1249+
"_userHMETAFILEPICT",
1250+
"_userHPALETTE",
1251+
"tagCSPLATFORM",
1252+
"tagCY",
1253+
"tagCYUnion",
1254+
"tagDEC",
1255+
"tagDECUnion1",
1256+
"tagDECUnion1Union",
1257+
"tagDECUnion2",
1258+
"tagDECUnion2Union",
1259+
"tagPOINTF",
1260+
"tagQUERYCONTEXT",
1261+
"tagRemBRUSH",
1262+
"tagRemHBITMAP",
1263+
"tagRemHENHMETAFILE",
1264+
"tagRemHGLOBAL",
1265+
"tagRemHMETAFILEPICT",
1266+
"tagRemHPALETTE",
1267+
"tagpropertykey",
1268+
"tagEXCEPINFO",
1269+
"_RemotableHandle",
1270+
"_remoteMETAFILEPICT",
1271+
"_GDI_NONREMOTE",
1272+
"__MIDL_IWinTypes_0001",
1273+
"__MIDL_IWinTypes_0002",
1274+
"__MIDL_IWinTypes_0003",
1275+
"__MIDL_IWinTypes_0004",
1276+
"__MIDL_IWinTypes_0005",
1277+
"__MIDL_IWinTypes_0006",
1278+
"__MIDL_IWinTypes_0007",
1279+
"__MIDL_IWinTypes_0008",
1280+
"__MIDL_IWinTypes_0009",
1281+
"__MIDL___MIDL_itf_wtypes_0000_0001_0001",
1282+
"__MIDL___MIDL_itf_wtypes_0000_0001_0005"
11811283
],
11821284
"rename": {
11831285
"ETW_COMPRESSION_RESUMPTION_MODE": "EtwCompressionResumptionMode",
@@ -1228,7 +1330,103 @@
12281330
"tagRemSTGMEDIUM": "RemSTGMEDIUM",
12291331
"tagSTATDATA": "STATDATA",
12301332
"tagSTGMEDIUM": "STGMEDIUM",
1231-
"tagStorageLayout": "StorageLayout"
1333+
"tagStorageLayout": "StorageLayout",
1334+
"tagPROPBAG2": "PropBag2",
1335+
"tagCABOOL": "CABool",
1336+
"tagCABSTR": "CABSTR",
1337+
"tagCABSTRBLOB": "CABSTRBlob",
1338+
"tagCAC": "CAC",
1339+
"tagCACLIPDATA": "CAClipData",
1340+
"tagCACLSID": "CACLSID",
1341+
"tagCACY": "CACY",
1342+
"tagCADATE": "CADate",
1343+
"tagCADBL": "CADBL",
1344+
"tagCAFILETIME": "CAFileTime",
1345+
"tagCAFLT": "CAFLT",
1346+
"tagCAH": "CAH",
1347+
"tagCAI": "CAI",
1348+
"tagCAL": "CAL",
1349+
"tagCALPSTR": "CALPSTR",
1350+
"tagCALPWSTR": "CALPWSTR",
1351+
"tagCAPROPVARIANT": "CAPropVariant",
1352+
"tagCASCODE": "CASCode",
1353+
"tagCAUB": "CAUB",
1354+
"tagCAUH": "CAUH",
1355+
"tagCAUI": "CAUI",
1356+
"tagCAUL": "CAUL",
1357+
"tagPROPVARIANT": "PropVariant",
1358+
"tagPROPVARIANTUnion": "PropVariantUnion",
1359+
"tagPROPVARIANTUnionUnion": "PropVariantUnionUnion",
1360+
"tagPROPVARIANTUnionUnionUnion": "PropVariantUnionUnionUnion",
1361+
"tagSERIALIZEDPROPERTYVALUE": "SerializedPropertyValue",
1362+
"tagSTATPROPSETSTG": "STATPROPSETSTG",
1363+
"tagSTATPROPSTG": "STATPROPSTG",
1364+
"tagVersionedStream": "VersionedStream",
1365+
"tagAspectInfo": "AspectInfo",
1366+
"tagCADWORD": "CADWORD",
1367+
"tagCALPOLESTR": "CALPOLESTR",
1368+
"tagCAUUID": "CAUUID",
1369+
"tagCONNECTDATA": "ConnectData",
1370+
"tagCONTROLINFO": "ControlInfo",
1371+
"tagExtentInfo": "ExtentInfo",
1372+
"tagLICINFO": "LICInfo",
1373+
"tagACTIVATEFLAGS": "ActivateFlags",
1374+
"tagAspectInfoFlag": "AspectInfoFlag",
1375+
"tagCTRLINFO": "CTRLInfo",
1376+
"tagDVASPECT2": "DVASPECT2",
1377+
"tagExtentMode": "ExtentMode",
1378+
"tagGUIDKIND": "GuidKind",
1379+
"tagHITRESULT": "HitResult",
1380+
"tagOLEDCFLAGS": "OLEDCFlags",
1381+
"tagPOINTERINACTIVE": "PointerInactive",
1382+
"tagPROPPAGESTATUS": "PropPageStatus",
1383+
"tagPictureAttributes": "PictureAttributes",
1384+
"tagQACONTAINERFLAGS": "QAContainerFlags",
1385+
"tagREADYSTATE": "ReadyState",
1386+
"tagUASFLAGS": "UASFlags",
1387+
"tagVIEWSTATUS": "ViewStatus",
1388+
"tagXFORMCOORDS": "XFormCoords",
1389+
"tagPROPBAG2_TYPE": "PropBag2Type",
1390+
"tagPROPSPEC": "PropSpec",
1391+
"tagARRAYDESC": "ArrayDesc",
1392+
"tagBINDPTR": "BindPtr",
1393+
"tagCLEANLOCALSTORAGE": "CleanLocalStorage",
1394+
"tagCUSTDATA": "CustomData",
1395+
"tagCUSTDATAITEM": "CustomDataItem",
1396+
"tagELEMDESC": "ElemDesc",
1397+
"tagELEMDESCUnion": "ElemDescUnion",
1398+
"tagFUNCDESC": "FuncDesc",
1399+
"tagIDLDESC": "IdlDesc",
1400+
"tagPARAMDESC": "ParamDesc",
1401+
"tagPARAMDESCEX": "ParamDescEx",
1402+
"tagTLIBATTR": "TLibAttr",
1403+
"tagTYPEATTR": "TypeAttr",
1404+
"tagTYPEDESC": "TypeDesc",
1405+
"tagTYPEDESCUnion": "TypeDescUnion",
1406+
"tagVARDESC": "VarDesc",
1407+
"tagVARDESCUnion": "VarDescUnion",
1408+
"tagCALLCONV": "CallConv",
1409+
"tagCHANGEKIND": "ChangeKind",
1410+
"tagDESCKIND": "DescKind",
1411+
"tagDVASPECT": "DVASPECT",
1412+
"tagFUNCFLAGS": "FuncFlags",
1413+
"tagFUNCKIND": "FuncKind",
1414+
"tagINVOKEKIND": "InvokeKind",
1415+
"tagLIBFLAGS": "LibFlags",
1416+
"tagSF_TYPE": "SFType",
1417+
"tagSTATFLAG": "StatFlag",
1418+
"tagSTGC": "STGC",
1419+
"tagSTGMOVE": "STGMove",
1420+
"tagSYSKIND": "SysKind",
1421+
"tagTYPEFLAGS": "TypeFlags",
1422+
"tagTYPEKIND": "TypeKind",
1423+
"tagTYSPEC": "TypeSpec",
1424+
"tagVARFLAGS": "VarFlags",
1425+
"tagVARKIND": "VarKind",
1426+
"tagQACONTROL": "QAControl",
1427+
"tagBSTRBLOB": "BSTRBlob",
1428+
"tagCLIPDATA": "ClipData",
1429+
"__MIDL___MIDL_itf_documenttarget_0000_0002_0001": "MIDLMIDLItfDocumentTarget000000020001"
12321430
},
12331431
"bakery": {
12341432
"profileNames": [
@@ -1253,19 +1451,24 @@
12531451
"_EXCEPTION_RECORD": "ExceptionRecord",
12541452
"_FILE_SEGMENT_ELEMENT": "FileSegmentElement",
12551453
"_RPC_MESSAGE": "RPCMessage",
1256-
"IDispatch": "Silk.NET.Core.Native.IUnknown",
1257-
"IRecordInfo": "Silk.NET.Core.Native.IUnknown",
1258-
"ITypeInfo": "Silk.NET.Core.Native.IUnknown",
1454+
"IQuickActivate": "Silk.NET.Core.Native.IUnknown",
1455+
"IClassFactory2": "Silk.NET.Core.Native.IUnknown",
12591456
"tagEXCEPINFO": "ExceptionInfo",
12601457
"tagVARIANT": "Variant",
12611458
"tagDISPPARAMS": "DispatchParams",
12621459
"tagSAFEARRAY": "SafeArray",
12631460
"tagCY": "CY",
12641461
"tagDEC": "TagDecimal",
12651462
"tagSAFEARRAYBOUND": "SafeArrayBound",
1463+
"tagQACONTAINER": "void",
12661464
"PfnTagEXCEPINFOvI": "PfnExceptionInfovI",
1267-
"HICON__": "void",
1465+
"tagPOINTF": "Silk.NET.Maths.Vector2<float>",
1466+
"HPALETTE__": "void",
12681467
"HBITMAP__": "void",
1468+
"HICON__": "void",
1469+
"HFONT__": "void",
1470+
"HRGN__": "void",
1471+
"HACCEL__": "void",
12691472
"HTASK__": "void"
12701473
},
12711474
{
@@ -1817,13 +2020,13 @@
18172020
"ISequentialStream": "Silk.NET.Core.Win32Extras.ISequentialStream",
18182021
"IPersist": "Silk.NET.Core.Win32Extras.IPersist",
18192022
"IPersistStream": "Silk.NET.Core.Win32Extras.IPersistStream",
1820-
"IPropertyBag2": "Silk.NET.Core.Native.IUnknown",
2023+
"IPropertyBag2": "Silk.NET.Core.Win32Extras.IPropertyBag2",
18212024
"IEnumUnknown": "Silk.NET.Core.Win32Extras.IEnumUnknown",
18222025
"IEnumString": "Silk.NET.Core.Win32Extras.IEnumString",
18232026
"tagSAFEARRAY": "Silk.NET.Core.Win32Extras.SafeArray",
18242027
"tagSTATSTG": "Silk.NET.Core.Win32Extras.STATSTG",
1825-
"tagPROPVARIANT": "void",
1826-
"tagPROPBAG2": "void",
2028+
"tagPROPVARIANT": "Silk.NET.Core.Win32Extras.PropVariant",
2029+
"tagPROPBAG2": "Silk.NET.Core.Win32Extras.PropBag2",
18272030
"HPALETTE__": "void",
18282031
"HBITMAP__": "void",
18292032
"HICON__": "void",
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
// Licensed to the .NET Foundation under one or more agreements.
2+
// The .NET Foundation licenses this file to you under the MIT license.
3+
4+
5+
using System;
6+
using Silk.NET.Core.Attributes;
7+
8+
#pragma warning disable 1591
9+
10+
namespace Silk.NET.Core.Win32Extras
11+
{
12+
[NativeName("Name", "tagACTIVATEFLAGS")]
13+
public enum ActivateFlags : int
14+
{
15+
[NativeName("Name", "ACTIVATE_WINDOWLESS")]
16+
ActivateWindowless = 0x1,
17+
}
18+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
// Licensed to the .NET Foundation under one or more agreements.
2+
// The .NET Foundation licenses this file to you under the MIT license.
3+
4+
5+
using System;
6+
using Silk.NET.Core.Attributes;
7+
8+
#pragma warning disable 1591
9+
10+
namespace Silk.NET.Core.Win32Extras
11+
{
12+
[NativeName("Name", "tagAspectInfoFlag")]
13+
public enum AspectInfoFlag : int
14+
{
15+
[NativeName("Name", "DVASPECTINFOFLAG_CANOPTIMIZE")]
16+
DvaspectinfoflagCanoptimize = 0x1,
17+
}
18+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
// Licensed to the .NET Foundation under one or more agreements.
2+
// The .NET Foundation licenses this file to you under the MIT license.
3+
4+
5+
using System;
6+
using Silk.NET.Core.Attributes;
7+
8+
#pragma warning disable 1591
9+
10+
namespace Silk.NET.Core.Win32Extras
11+
{
12+
[NativeName("Name", "tagCTRLINFO")]
13+
public enum CTRLInfo : int
14+
{
15+
[Obsolete("Deprecated in favour of \"Return\"")]
16+
[NativeName("Name", "CTRLINFO_EATS_RETURN")]
17+
CtrlinfoEatsReturn = 0x1,
18+
[Obsolete("Deprecated in favour of \"Escape\"")]
19+
[NativeName("Name", "CTRLINFO_EATS_ESCAPE")]
20+
CtrlinfoEatsEscape = 0x2,
21+
[NativeName("Name", "CTRLINFO_EATS_RETURN")]
22+
Return = 0x1,
23+
[NativeName("Name", "CTRLINFO_EATS_ESCAPE")]
24+
Escape = 0x2,
25+
}
26+
}

0 commit comments

Comments
 (0)