Repository navigation
Add shift-left header annotations to the C# toolchain - #2363
Jevan Saks (jevansaks) wants to merge 64 commits into
Conversation
Detect positional and qualified signature changes, sequential field order, interface slot order and inheritance changes. Compare repeated attributes as a bag and cover the behavior with compiled metadata fixtures. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
📋 API Surface Diff+1792 additions / -1138 deletions vs main branch (full validation run) Click to expand API diffdiff --git "a/bin\\baseline.apidump.cs" "b/bin\\current.apidump.cs"
index bc6e749a..af06ab83 100644
--- "a/bin\\baseline.apidump.cs"
+++ "b/bin\\current.apidump.cs"
@@ -5985,15 +5985,15 @@ public struct HH_AKLINK
public BOOL fReserved;
- public unsafe sbyte* pszKeywords;
+ public unsafe ushort* pszKeywords;
- public unsafe sbyte* pszUrl;
+ public unsafe ushort* pszUrl;
- public unsafe sbyte* pszMsgText;
+ public unsafe ushort* pszMsgText;
- public unsafe sbyte* pszMsgTitle;
+ public unsafe ushort* pszMsgTitle;
- public unsafe sbyte* pszWindow;
+ public unsafe ushort* pszWindow;
public BOOL fIndexOnFail;
}
@@ -6047,7 +6047,7 @@ public struct HH_FTS_QUERY
public BOOL fUniCodeStrings;
- public unsafe sbyte* pszSearchQuery;
+ public unsafe ushort* pszSearchQuery;
public int iProximity;
@@ -6057,7 +6057,7 @@ public struct HH_FTS_QUERY
public BOOL fExecute;
- public unsafe sbyte* pszWindow;
+ public unsafe ushort* pszWindow;
}
using Windows.Win32.System.Variant;
@@ -6096,7 +6096,7 @@ public struct HH_POPUP
public uint idString;
- public unsafe sbyte* pszText;
+ public unsafe ushort* pszText;
public POINT pt;
@@ -6106,7 +6106,7 @@ public struct HH_POPUP
public RECT rcMargins;
- public unsafe sbyte* pszFont;
+ public unsafe ushort* pszFont;
}
using Windows.Win32.Foundation;
@@ -6137,13 +6137,13 @@ public struct HH_WINTYPE
public BOOL fUniCodeStrings;
- public unsafe sbyte* pszType;
+ public unsafe ushort* pszType;
public uint fsValidMembers;
public uint fsWinProperties;
- public unsafe sbyte* pszCaption;
+ public unsafe ushort* pszCaption;
public uint dwStyles;
@@ -6169,13 +6169,13 @@ public struct HH_WINTYPE
public RECT rcHTML;
- public unsafe sbyte* pszToc;
+ public unsafe ushort* pszToc;
- public unsafe sbyte* pszIndex;
+ public unsafe ushort* pszIndex;
- public unsafe sbyte* pszFile;
+ public unsafe ushort* pszFile;
- public unsafe sbyte* pszHome;
+ public unsafe ushort* pszHome;
public uint fsToolBarFlags;
@@ -6191,19 +6191,19 @@ public struct HH_WINTYPE
public int cHistory;
- public unsafe sbyte* pszJump1;
+ public unsafe ushort* pszJump1;
- public unsafe sbyte* pszJump2;
+ public unsafe ushort* pszJump2;
- public unsafe sbyte* pszUrlJump1;
+ public unsafe ushort* pszUrlJump1;
- public unsafe sbyte* pszUrlJump2;
+ public unsafe ushort* pszUrlJump2;
public RECT rcMinSize;
public int cbInfoTypes;
- public unsafe sbyte* pszCustomTabs;
+ public unsafe ushort* pszCustomTabs;
}
namespace Windows.Win32.Data.HtmlHelp;
@@ -11385,18 +11385,18 @@ public interface IXmlReader : IUnknown
HRESULT SetProperty ([In] uint nProperty, [Optional][In] IntPtr pValue);
- [CanReturnMultipleSuccessValues]
+ [PreserveSig]
unsafe HRESULT Read ([Optional][Out] XmlNodeType* pNodeType);
unsafe HRESULT GetNodeType ([Out] XmlNodeType* pNodeType);
- [CanReturnMultipleSuccessValues]
+ [PreserveSig]
HRESULT MoveToFirstAttribute ();
- [CanReturnMultipleSuccessValues]
+ [PreserveSig]
HRESULT MoveToNextAttribute ();
- [CanReturnMultipleSuccessValues]
+ [PreserveSig]
HRESULT MoveToAttributeByName ([In][Const] PWSTR pwszLocalName, [Optional][In][Const] PWSTR pwszNamespaceUri);
HRESULT MoveToElement ();
@@ -11411,7 +11411,7 @@ public interface IXmlReader : IUnknown
unsafe HRESULT GetValue ([Out][Const] PWSTR* ppwszValue, [Optional][Out] uint* pcwchValue);
- [CanReturnMultipleSuccessValues]
+ [PreserveSig]
unsafe HRESULT ReadValueChunk ([Out][NativeArrayInfo (CountParamIndex = 1)] PWSTR pwchBuffer, [In] uint cwchChunkSize, [In][Out] uint* pcwchRead);
unsafe HRESULT GetBaseUri ([Out][Const] PWSTR* ppwszBaseUri, [Optional][Out] uint* pcwchBaseUri);
@@ -15286,6 +15286,15 @@ public static class Apis
public const ushort WINBIO_ANSI_381_IMP_TYPE_LIVE_SCAN_CONTACTLESS = 9;
+ [NativeEncoding ("ansi")]
+ public const string WINBIO_QUERY_SENSOR_INTERFACE_FN_NAME = "WbioQuerySensorInterface";
+
+ [NativeEncoding ("ansi")]
+ public const string WINBIO_QUERY_ENGINE_INTERFACE_FN_NAME = "WbioQueryEngineInterface";
+
+ [NativeEncoding ("ansi")]
+ public const string WINBIO_QUERY_STORAGE_INTERFACE_FN_NAME = "WbioQueryStorageInterface";
+
public const uint FACILITY_WINBIO = 9u;
public const uint FACILITY_NONE = 0u;
@@ -15474,17 +15483,17 @@ public static class Apis
[DllImport ("winbio.dll", ExactSpelling = true, PreserveSig = false)]
[SupportedOSPlatform ("windows6.1")]
[Documentation ("https://learn.microsoft.com/windows/win32/api/winbio/nf-winbio-winbioenumserviceproviders")]
- public unsafe static extern HRESULT WinBioEnumServiceProviders ([In] uint Factor, [Out] WINBIO_BSP_SCHEMA** BspSchemaArray, [Out] UIntPtr* BspCount);
+ public unsafe static extern HRESULT WinBioEnumServiceProviders ([In] uint Factor, [Out][NativeArrayInfo (CountParamIndex = 2)] WINBIO_BSP_SCHEMA** BspSchemaArray, [Out] UIntPtr* BspCount);
[DllImport ("winbio.dll", ExactSpelling = true, PreserveSig = false)]
[SupportedOSPlatform ("windows6.1")]
[Documentation ("https://learn.microsoft.com/windows/win32/api/winbio/nf-winbio-winbioenumbiometricunits")]
- public unsafe static extern HRESULT WinBioEnumBiometricUnits ([In] uint Factor, [Out] WINBIO_UNIT_SCHEMA** UnitSchemaArray, [Out] UIntPtr* UnitCount);
+ public unsafe static extern HRESULT WinBioEnumBiometricUnits ([In] uint Factor, [Out][NativeArrayInfo (CountParamIndex = 2)] WINBIO_UNIT_SCHEMA** UnitSchemaArray, [Out] UIntPtr* UnitCount);
[DllImport ("winbio.dll", ExactSpelling = true, PreserveSig = false)]
[SupportedOSPlatform ("windows6.1")]
[Documentation ("https://learn.microsoft.com/windows/win32/api/winbio/nf-winbio-winbioenumdatabases")]
- public unsafe static extern HRESULT WinBioEnumDatabases ([In] uint Factor, [Out] WINBIO_STORAGE_SCHEMA** StorageSchemaArray, [Out] UIntPtr* StorageCount);
+ public unsafe static extern HRESULT WinBioEnumDatabases ([In] uint Factor, [Out][NativeArrayInfo (CountParamIndex = 2)] WINBIO_STORAGE_SCHEMA** StorageSchemaArray, [Out] UIntPtr* StorageCount);
[DllImport ("winbio.dll", ExactSpelling = true, PreserveSig = false)]
[SupportedOSPlatform ("windows8.0")]
@@ -15604,7 +15613,7 @@ public static class Apis
[DllImport ("winbio.dll", ExactSpelling = true, PreserveSig = false)]
[SupportedOSPlatform ("windows6.1")]
[Documentation ("https://learn.microsoft.com/windows/win32/api/winbio/nf-winbio-winbioenumenrollments")]
- public unsafe static extern HRESULT WinBioEnumEnrollments ([In] uint SessionHandle, [In] uint UnitId, [In] WINBIO_IDENTITY* Identity, [Out] byte** SubFactorArray, [Optional][Out] UIntPtr* SubFactorCount);
+ public unsafe static extern HRESULT WinBioEnumEnrollments ([In] uint SessionHandle, [In] uint UnitId, [In] WINBIO_IDENTITY* Identity, [Out][NativeArrayInfo (CountParamIndex = 4)] byte** SubFactorArray, [Optional][Out] UIntPtr* SubFactorCount);
[DllImport ("winbio.dll", ExactSpelling = true, PreserveSig = false)]
public static extern HRESULT WinBioImproveBegin ([In] uint SessionHandle, [In] uint UnitId);
@@ -16292,12 +16301,13 @@ public unsafe delegate HRESULT PIBIO_FRAMEWORK_VSM_DECRYPT_SAMPLE_FN ([In][Out]
using System;
using System.Runtime.InteropServices;
using Windows.Win32.Foundation;
+using Windows.Win32.Foundation.Metadata;
namespace Windows.Win32.Devices.BiometricFramework;
[StructLayout (LayoutKind.Auto, CharSet = CharSet.Auto)]
[UnmanagedFunctionPointer (CallingConvention.Winapi)]
-public unsafe delegate HRESULT PIBIO_FRAMEWORK_VSM_QUERY_AUTHORIZED_ENROLLMENTS_FN ([In][Out] WINBIO_PIPELINE* Pipeline, [In] WINBIO_IDENTITY* Identity, [Out] UIntPtr* SecureIdentityCount, [Out] WINBIO_IDENTITY** SecureIdentities);
+public unsafe delegate HRESULT PIBIO_FRAMEWORK_VSM_QUERY_AUTHORIZED_ENROLLMENTS_FN ([In][Out] WINBIO_PIPELINE* Pipeline, [In] WINBIO_IDENTITY* Identity, [Out] UIntPtr* SecureIdentityCount, [Out][NativeArrayInfo (CountParamIndex = 2)] WINBIO_IDENTITY** SecureIdentities);
using System;
using System.Runtime.InteropServices;
@@ -26549,13 +26559,13 @@ public static class Apis
[SupportedOSPlatform ("windows5.1.2600")]
[Ansi]
[Documentation ("https://learn.microsoft.com/windows/win32/api/setupapi/nf-setupapi-setupquerysourcelista")]
- public unsafe static extern BOOL SetupQuerySourceListA ([In] uint Flags, [Out][Const] PSTR** List, [Out] uint* Count);
+ public unsafe static extern BOOL SetupQuerySourceListA ([In] uint Flags, [Out][Const][NativeArrayInfo (CountParamIndex = 2)] PSTR** List, [Out] uint* Count);
[DllImport ("SETUPAPI.dll", ExactSpelling = true, PreserveSig = false, SetLastError = true)]
[SupportedOSPlatform ("windows5.1.2600")]
[Unicode]
[Documentation ("https://learn.microsoft.com/windows/win32/api/setupapi/nf-setupapi-setupquerysourcelistw")]
- public unsafe static extern BOOL SetupQuerySourceListW ([In] uint Flags, [Out][Const] PWSTR** List, [Out] uint* Count);
+ public unsafe static extern BOOL SetupQuerySourceListW ([In] uint Flags, [Out][Const][NativeArrayInfo (CountParamIndex = 2)] PWSTR** List, [Out] uint* Count);
[DllImport ("SETUPAPI.dll", ExactSpelling = true, PreserveSig = false, SetLastError = true)]
[SupportedOSPlatform ("windows5.1.2600")]
@@ -34147,19 +34157,19 @@ public static class Apis
public static extern void DevCloseObjectQuery ([In] HDEVQUERY hDevQuery);
[DllImport ("api-ms-win-devices-query-l1-1-0.dll", ExactSpelling = true, PreserveSig = false)]
- public unsafe static extern HRESULT DevGetObjects ([In] DEV_OBJECT_TYPE ObjectType, [In] uint QueryFlags, [In] uint cRequestedProperties, [Optional][In][Const][NativeArrayInfo (CountParamIndex = 2)] DEVPROPCOMPKEY* pRequestedProperties, [In] uint cFilterExpressionCount, [Optional][In][Const][NativeArrayInfo (CountParamIndex = 4)] DEVPROP_FILTER_EXPRESSION* pFilter, [Out] uint* pcObjectCount, [Out][Const] DEV_OBJECT** ppObjects);
+ public unsafe static extern HRESULT DevGetObjects ([In] DEV_OBJECT_TYPE ObjectType, [In] uint QueryFlags, [In] uint cRequestedProperties, [Optional][In][Const][NativeArrayInfo (CountParamIndex = 2)] DEVPROPCOMPKEY* pRequestedProperties, [In] uint cFilterExpressionCount, [Optional][In][Const][NativeArrayInfo (CountParamIndex = 4)] DEVPROP_FILTER_EXPRESSION* pFilter, [Out] uint* pcObjectCount, [Out][Const][NativeArrayInfo (CountParamIndex = 6)] DEV_OBJECT** ppObjects);
[DllImport ("api-ms-win-devices-query-l1-1-1.dll", ExactSpelling = true, PreserveSig = false)]
- public unsafe static extern HRESULT DevGetObjectsEx ([In] DEV_OBJECT_TYPE ObjectType, [In] uint QueryFlags, [In] uint cRequestedProperties, [Optional][In][Const][NativeArrayInfo (CountParamIndex = 2)] DEVPROPCOMPKEY* pRequestedProperties, [In] uint cFilterExpressionCount, [Optional][In][Const][NativeArrayInfo (CountParamIndex = 4)] DEVPROP_FILTER_EXPRESSION* pFilter, [In] uint cExtendedParameterCount, [Optional][In][Const][NativeArrayInfo (CountParamIndex = 6)] DEV_QUERY_PARAMETER* pExtendedParameters, [Out] uint* pcObjectCount, [Out][Const] DEV_OBJECT** ppObjects);
+ public unsafe static extern HRESULT DevGetObjectsEx ([In] DEV_OBJECT_TYPE ObjectType, [In] uint QueryFlags, [In] uint cRequestedProperties, [Optional][In][Const][NativeArrayInfo (CountParamIndex = 2)] DEVPROPCOMPKEY* pRequestedProperties, [In] uint cFilterExpressionCount, [Optional][In][Const][NativeArrayInfo (CountParamIndex = 4)] DEVPROP_FILTER_EXPRESSION* pFilter, [In] uint cExtendedParameterCount, [Optional][In][Const][NativeArrayInfo (CountParamIndex = 6)] DEV_QUERY_PARAMETER* pExtendedParameters, [Out] uint* pcObjectCount, [Out][Const][NativeArrayInfo (CountParamIndex = 8)] DEV_OBJECT** ppObjects);
[DllImport ("api-ms-win-devices-query-l1-1-0.dll", ExactSpelling = true, PreserveSig = false)]
public unsafe static extern void DevFreeObjects ([In] uint cObjectCount, [In][Const][NativeArrayInfo (CountParamIndex = 0)] DEV_OBJECT* pObjects);
[DllImport ("api-ms-win-devices-query-l1-1-0.dll", ExactSpelling = true, PreserveSig = false)]
- public unsafe static extern HRESULT DevGetObjectProperties ([In] DEV_OBJECT_TYPE ObjectType, [In][Const] PWSTR pszObjectId, [In] uint QueryFlags, [In] uint cRequestedProperties, [In][Const][NativeArrayInfo (CountParamIndex = 3)] DEVPROPCOMPKEY* pRequestedProperties, [Out] uint* pcPropertyCount, [Out][Const] DEVPROPERTY** ppProperties);
+ public unsafe static extern HRESULT DevGetObjectProperties ([In] DEV_OBJECT_TYPE ObjectType, [In][Const] PWSTR pszObjectId, [In] uint QueryFlags, [In] uint cRequestedProperties, [In][Const][NativeArrayInfo (CountParamIndex = 3)] DEVPROPCOMPKEY* pRequestedProperties, [Out] uint* pcPropertyCount, [Out][Const][NativeArrayInfo (CountParamIndex = 5)] DEVPROPERTY** ppProperties);
[DllImport ("api-ms-win-devices-query-l1-1-1.dll", ExactSpelling = true, PreserveSig = false)]
- public unsafe static extern HRESULT DevGetObjectPropertiesEx ([In] DEV_OBJECT_TYPE ObjectType, [In][Const] PWSTR pszObjectId, [In] uint QueryFlags, [In] uint cRequestedProperties, [In][Const][NativeArrayInfo (CountParamIndex = 3)] DEVPROPCOMPKEY* pRequestedProperties, [In] uint cExtendedParameterCount, [Optional][In][Const][NativeArrayInfo (CountParamIndex = 5)] DEV_QUERY_PARAMETER* pExtendedParameters, [Out] uint* pcPropertyCount, [Out][Const] DEVPROPERTY** ppProperties);
+ public unsafe static extern HRESULT DevGetObjectPropertiesEx ([In] DEV_OBJECT_TYPE ObjectType, [In][Const] PWSTR pszObjectId, [In] uint QueryFlags, [In] uint cRequestedProperties, [In][Const][NativeArrayInfo (CountParamIndex = 3)] DEVPROPCOMPKEY* pRequestedProperties, [In] uint cExtendedParameterCount, [Optional][In][Const][NativeArrayInfo (CountParamIndex = 5)] DEV_QUERY_PARAMETER* pExtendedParameters, [Out] uint* pcPropertyCount, [Out][Const][NativeArrayInfo (CountParamIndex = 7)] DEVPROPERTY** ppProperties);
[DllImport ("api-ms-win-devices-query-l1-1-0.dll", ExactSpelling = true, PreserveSig = false)]
public unsafe static extern void DevFreeObjectProperties ([In] uint cPropertyCount, [In][Const][NativeArrayInfo (CountParamIndex = 0)] DEVPROPERTY* pProperties);
@@ -35940,6 +35950,12 @@ public static class Apis
public const uint SETCONFIGURATION_STATUS_OVERRIDDEN = 2u;
+ public const uint FO_TYPE_RASTER = 1u;
+
+ public const uint FO_TYPE_DEVICE = 2u;
+
+ public const uint FO_TYPE_TRUETYPE = 4u;
+
[DllImport ("dxva2.dll", ExactSpelling = true, PreserveSig = false, SetLastError = true)]
[SupportedOSPlatform ("windows6.0.6000")]
[Documentation ("https://learn.microsoft.com/windows/win32/api/physicalmonitorenumerationapi/nf-physicalmonitorenumerationapi-getnumberofphysicalmonitorsfromhmonitor")]
@@ -43903,10 +43919,10 @@ public static class Apis
public const string STI_REMOVE_DEVICE_BROADCAST_ACTION = "Removal";
[NativeEncoding ("ansi")]
- public const string STI_ADD_DEVICE_BROADCAST_STRING = "STI\\";
+ public const string STI_ADD_DEVICE_BROADCAST_STRING = "STI\\Arrival\\%s";
[NativeEncoding ("ansi")]
- public const string STI_REMOVE_DEVICE_BROADCAST_STRING = "STI\\";
+ public const string STI_REMOVE_DEVICE_BROADCAST_STRING = "STI\\Removal\\%s";
public const uint STI_DEVICE_CREATE_STATUS = 1u;
@@ -44067,6 +44083,10 @@ public static class Apis
public const uint STI_DEVICE_CREATE_FOR_MONITOR = 16777216u;
+ public const uint FAXSRV_MAX_SERVER_NAME = 260u;
+
+ public const uint FAXSRV_MAX_ROUTEEXT_NAME_LEN = 260u;
+
public const int lDEFAULT_PREFETCH_SIZE = 100;
public const ushort wcharREASSIGN_RECIPIENTS_DELIMITER = 59;
@@ -51505,6 +51525,8 @@ public static class Apis
public const string FD_SUBKEY = "SOFTWARE\\Microsoft\\Function Discovery\\";
+ public const string FD_SUBKEY_CATEGORIES = "SOFTWARE\\Microsoft\\Function Discovery\\Categories\\";
+
public const string FCTN_CATEGORY_PNP = "Provider\\Microsoft.Base.PnP";
public const string FCTN_CATEGORY_REGISTRY = "Provider\\Microsoft.Base.Registry";
@@ -51613,6 +51635,30 @@ public static class Apis
public const string SSDP_CONSTRAINTVALUE_TYPE_SVC_PREFIX = "urn:schemas-upnp-org:service:";
+ public const string SSDP_CONSTRAINTVALUE_TYPE_DEV_LIGHTING = "urn:schemas-upnp-org:device:Lighting:1";
+
+ public const string SSDP_CONSTRAINTVALUE_TYPE_DEV_REMINDER = "urn:schemas-upnp-org:device:Reminder:1";
+
+ public const string SSDP_CONSTRAINTVALUE_TYPE_DEV_POWERDEVICE = "urn:schemas-upnp-org:device:PowerDevice:1";
+
+ public const string SSDP_CONSTRAINTVALUE_TYPE_DEV_IGD = "urn:schemas-upnp-org:device:InternetGatewayDevice:1";
+
+ public const string SSDP_CONSTRAINTVALUE_TYPE_DEV_WANDEVICE = "urn:schemas-upnp-org:device:WANDevice:1";
+
+ public const string SSDP_CONSTRAINTVALUE_TYPE_DEV_LANDEVICE = "urn:schemas-upnp-org:device:LANDevice:1";
+
+ public const string SSDP_CONSTRAINTVALUE_TYPE_DEV_WANCONNDEVICE = "urn:schemas-upnp-org:device:WANConnectionDevice:1";
+
+ public const string SSDP_CONSTRAINTVALUE_TYPE_DEV_LUXMETER = "urn:schemas-upnp-org:device:Luxmeter:1";
+
+ public const string SSDP_CONSTRAINTVALUE_TYPE_DEV_MDARNDR = "urn:schemas-upnp-org:device:MediaRenderer:1";
+
+ public const string SSDP_CONSTRAINTVALUE_TYPE_DEV_MDASRVR = "urn:schemas-upnp-org:device:MediaServer:1";
+
+ public const string SSDP_CONSTRAINTVALUE_TYPE_SVC_SCANNER = "urn:schemas-upnp-org:service:Scanner:1";
+
+ public const string SSDP_CONSTRAINTVALUE_TYPE_SVC_DIMMING = "urn:schemas-upnp-org:service:DimmingService:1";
+
public const string PROVIDERWSD_QUERYCONSTRAINT_DIRECTEDADDRESS = "RemoteAddress";
public const string PROVIDERWSD_QUERYCONSTRAINT_TYPE = "Type";
@@ -63514,6 +63560,8 @@ public static class Apis
public const uint IOCTL_BUTTON_GET_ENABLED_ON_IDLE = 721580u;
+ public const uint DEV_STS_EFFECT_RUNNING = 1u;
+
[DllImport ("DINPUT8.dll", ExactSpelling = true, PreserveSig = false)]
public unsafe static extern HRESULT DirectInput8Create ([In] HINSTANCE hinst, [In] uint dwVersion, [In][Const] Guid* riidltf, [In][Out] void** ppvOut, [In] IUnknown punkOuter);
@@ -68482,6 +68530,54 @@ public static class Apis
public const string WIA_EVENT_DEVICE_CONNECTED_STR = "Device Connected";
+ public const string WIA_ICON_DEVICE_DISCONNECTED = "sti.dll,-1001";
+
+ public const string WIA_ICON_DEVICE_CONNECTED = "sti.dll,-1001";
+
+ public const string WIA_ICON_ITEM_DELETED = "sti.dll,-1001";
+
+ public const string WIA_ICON_ITEM_CREATED = "sti.dll,-1001";
+
+ public const string WIA_ICON_TREE_UPDATED = "sti.dll,-1001";
+
+ public const string WIA_ICON_VOLUME_INSERT = "sti.dll,-1001";
+
+ public const string WIA_ICON_SCAN_BUTTON_PRESS = "sti.dll,-1001";
+
+ public const string WIA_ICON_DEVICE_NOT_READY = "sti.dll,-1001";
+
+ public const string WIA_ICON_DEVICE_READY = "sti.dll,-1001";
+
+ public const string WIA_ICON_FLATBED_LID_OPEN = "sti.dll,-1001";
+
+ public const string WIA_ICON_FLATBED_LID_CLOSED = "sti.dll,-1001";
+
+ public const string WIA_ICON_FEEDER_LOADED = "sti.dll,-1001";
+
+ public const string WIA_ICON_FEEDER_EMPTIED = "sti.dll,-1001";
+
+ public const string WIA_ICON_COVER_OPEN = "sti.dll,-1001";
+
+ public const string WIA_ICON_COVER_CLOSED = "sti.dll,-1001";
+
+ public const string WIA_ICON_START_FEEDER = "sti.dll,-1001";
+
+ public const string WIA_ICON_STOP_FEEDER = "sti.dll,-1001";
+
+ public const string WIA_ICON_SYNCHRONIZE = "sti.dll,-2000";
+
+ public const string WIA_ICON_TAKE_PICTURE = "sti.dll,-2001";
+
+ public const string WIA_ICON_DELETE_ALL_ITEMS = "sti.dll,-2002";
+
+ public const string WIA_ICON_CHANGE_DOCUMENT = "sti.dll,-2003";
+
+ public const string WIA_ICON_UNLOAD_DOCUMENT = "sti.dll,-2004";
+
+ public const string WIA_ICON_DELETE_DEVICE_TREE = "sti.dll,-2005";
+
+ public const string WIA_ICON_BUILD_DEVICE_TREE = "sti.dll,-2006";
+
public const uint TYMED_CALLBACK = 128u;
public const uint TYMED_MULTIPAGE_FILE = 256u;
@@ -69798,7 +69894,7 @@ public interface IWiaItem2 : IUnknown
unsafe HRESULT GetItemType ([Out] int* pItemType);
[Documentation ("https://learn.microsoft.com/windows/win32/wia/-wia-iwiaitem2-devicedlg")]
- unsafe HRESULT DeviceDlg ([In] int lFlags, [In] HWND hwndParent, [In] BSTR bstrFolderName, [In] BSTR bstrFilename, [Out] int* plNumFiles, [Out] BSTR** ppbstrFilePaths, [Optional][Out] IWiaItem2* ppItem);
+ unsafe HRESULT DeviceDlg ([In] int lFlags, [In] HWND hwndParent, [In] BSTR bstrFolderName, [In] BSTR bstrFilename, [Out] int* plNumFiles, [Out][NativeArrayInfo (CountParamIndex = 4)] BSTR** ppbstrFilePaths, [Optional][Out] IWiaItem2* ppItem);
[Documentation ("https://learn.microsoft.com/windows/win32/wia/-wia-iwiaitem2-devicecommand")]
unsafe HRESULT DeviceCommand ([In] int lFlags, [In][Const] Guid* pCmdGUID, [In][Out] IWiaItem2* ppIWiaItem2);
@@ -75333,6 +75429,8 @@ public static class Apis
public const string NAME_FullEnumSyncSvc_EndSync = "EndSync";
+ public const string NAME_CalendarSvc_SyncInWindowOnly = "FilterType";
+
[DllImport ("DMProcessXMLFiltered.dll", ExactSpelling = true, PreserveSig = false)]
public unsafe static extern HRESULT DMProcessConfigXMLFiltered ([In][Const] PWSTR pszXmlIn, [In][Const][NativeArrayInfo (CountParamIndex = 2)] PWSTR* rgszAllowedCspNodes, [In] uint dwNumAllowedCspNodes, [Out] BSTR* pbstrXmlOut);
}
@@ -75421,11 +75519,11 @@ namespace Windows.Win32.Devices.PortableDevices;
[Documentation ("https://learn.microsoft.com/windows/win32/api/portabledeviceapi/nn-portabledeviceapi-ienumportabledeviceobjectids")]
public interface IEnumPortableDeviceObjectIDs : IUnknown
{
- [CanReturnMultipleSuccessValues]
+ [PreserveSig]
[Documentation ("https://learn.microsoft.com/windows/win32/api/portabledeviceapi/nf-portabledeviceapi-ienumportabledeviceobjectids-next")]
unsafe HRESULT Next ([In] uint cObjects, [Out][NativeArrayInfo (CountParamIndex = 0)] PWSTR* pObjIDs, [In][Out] uint* pcFetched);
- [CanReturnMultipleSuccessValues]
+ [PreserveSig]
[Documentation ("https://learn.microsoft.com/windows/win32/api/portabledeviceapi/nf-portabledeviceapi-ienumportabledeviceobjectids-skip")]
HRESULT Skip ([In] uint cObjects);
@@ -78884,7 +78982,7 @@ public interface ISensor : IUnknown
unsafe HRESULT SupportsEvent ([In][Const] Guid* eventGuid, [Out] VARIANT_BOOL* pIsSupported);
[Documentation ("https://learn.microsoft.com/windows/win32/api/sensorsapi/nf-sensorsapi-isensor-geteventinterest")]
- unsafe HRESULT GetEventInterest ([Out] Guid** ppValues, [Out] uint* pCount);
+ unsafe HRESULT GetEventInterest ([Out][NativeArrayInfo (CountParamIndex = 1)] Guid** ppValues, [Out] uint* pCount);
[Documentation ("https://learn.microsoft.com/windows/win32/api/sensorsapi/nf-sensorsapi-isensor-seteventinterest")]
unsafe HRESULT SetEventInterest ([Optional][In][NativeArrayInfo (CountParamIndex = 1)] Guid* pValues, [In] uint count);
@@ -81836,6 +81934,12 @@ public static class Apis
public const uint TAPIMEDIATYPE_MULTITRACK = 65536u;
+ public const string CLSID_String_VideoSuperclass = "{714C6F8C-6244-4685-87B3-B91F3F9EADA7}";
+
+ public const string CLSID_String_StreamingSuperclass = "{214F4ACC-AE0B-4464-8405-07029003F8E2}";
+
+ public const string CLSID_String_FileSuperclass = "{B4790031-56DB-4d3e-88C8-6FFAAFA08A91}";
+
public const uint TSPI_MESSAGE_BASE = 500u;
public const uint LINETSPIOPTION_NONREENTRANT = 1u;
@@ -83501,11 +83605,11 @@ public static class Apis
[DllImport ("MAPI32.dll", ExactSpelling = true, PreserveSig = false)]
[Documentation ("https://learn.microsoft.com/office/client-developer/outlook/mapi/opentnefstream")]
- public unsafe static extern HRESULT OpenTnefStream ([In][Out] void* lpvSupport, [In] IStream lpStream, [In] sbyte* lpszStreamName, [In] uint ulFlags, [In] IMessage lpMessage, [In] ushort wKeyVal, [Out] ITnef* lppTNEF);
+ public unsafe static extern HRESULT OpenTnefStream ([In][Out] void* lpvSupport, [In] IStream lpStream, [In] ushort* lpszStreamName, [In] uint ulFlags, [In] IMessage lpMessage, [In] ushort wKeyVal, [Out] ITnef* lppTNEF);
[DllImport ("MAPI32.dll", ExactSpelling = true, PreserveSig = false)]
[Documentation ("https://learn.microsoft.com/office/client-developer/outlook/mapi/opentnefstreamex")]
- public unsafe static extern HRESULT OpenTnefStreamEx ([In][Out] void* lpvSupport, [In] IStream lpStream, [In] sbyte* lpszStreamName, [In] uint ulFlags, [In] IMessage lpMessage, [In] ushort wKeyVal, [In] IAddrBook lpAdressBook, [Out] ITnef* lppTNEF);
+ public unsafe static extern HRESULT OpenTnefStreamEx ([In][Out] void* lpvSupport, [In] IStream lpStream, [In] ushort* lpszStreamName, [In] uint ulFlags, [In] IMessage lpMessage, [In] ushort wKeyVal, [In] IAddrBook lpAdressBook, [Out] ITnef* lppTNEF);
[DllImport ("MAPI32.dll", ExactSpelling = true, PreserveSig = false)]
[Documentation ("https://learn.microsoft.com/office/client-developer/outlook/mapi/gettnefstreamcodepage")]
@@ -89848,7 +89952,7 @@ namespace Windows.Win32.Devices.Tapi;
[StructLayout (LayoutKind.Auto, CharSet = CharSet.Auto)]
[UnmanagedFunctionPointer (CallingConvention.Winapi)]
-public unsafe delegate HRESULT LPOPENTNEFSTREAM ([In][Out] void* lpvSupport, [In] IStream lpStream, [In] sbyte* lpszStreamName, [In] uint ulFlags, [In] IMessage lpMessage, [In] ushort wKeyVal, [Out] ITnef* lppTNEF);
+public unsafe delegate HRESULT LPOPENTNEFSTREAM ([In][Out] void* lpvSupport, [In] IStream lpStream, [In] ushort* lpszStreamName, [In] uint ulFlags, [In] IMessage lpMessage, [In] ushort wKeyVal, [Out] ITnef* lppTNEF);
using System.Runtime.InteropServices;
using Windows.Win32.Foundation;
@@ -89859,7 +89963,7 @@ namespace Windows.Win32.Devices.Tapi;
[StructLayout (LayoutKind.Auto, CharSet = CharSet.Auto)]
[UnmanagedFunctionPointer (CallingConvention.Winapi)]
-public unsafe delegate HRESULT LPOPENTNEFSTREAMEX ([In][Out] void* lpvSupport, [In] IStream lpStream, [In] sbyte* lpszStreamName, [In] uint ulFlags, [In] IMessage lpMessage, [In] ushort wKeyVal, [In] IAddrBook lpAdressBook, [Out] ITnef* lppTNEF);
+public unsafe delegate HRESULT LPOPENTNEFSTREAMEX ([In][Out] void* lpvSupport, [In] IStream lpStream, [In] ushort* lpszStreamName, [In] uint ulFlags, [In] IMessage lpMessage, [In] ushort wKeyVal, [In] IAddrBook lpAdressBook, [Out] ITnef* lppTNEF);
using Windows.Win32.Foundation.Metadata;
@@ -113233,9 +113337,8 @@ public static class Apis
[Documentation ("https://learn.microsoft.com/windows/win32/api/winbase/nf-winbase-globalfree")]
public static extern HGLOBAL GlobalFree ([Optional][In] HGLOBAL hMem);
- [DllImport ("KERNEL32.dll", ExactSpelling = true, PreserveSig = false, SetLastError = true)]
+ [DllImport ("KERNEL32.dll", ExactSpelling = true, SetLastError = true)]
[SupportedOSPlatform ("windows5.1.2600")]
- [CanReturnErrorsAsSuccess]
[Documentation ("https://learn.microsoft.com/windows/win32/api/winbase/nf-winbase-localfree")]
public static extern HLOCAL LocalFree ([Optional][In] HLOCAL hMem);
@@ -113666,6 +113769,7 @@ using System;
namespace Windows.Win32.Foundation.Metadata;
[Flags]
+[ScopedEnum]
public enum Architecture
{
None = 0,
@@ -113855,7 +113959,7 @@ using System.Runtime.InteropServices;
namespace Windows.Win32.Foundation.Metadata;
[StructLayout (LayoutKind.Auto, CharSet = CharSet.Auto)]
-[AttributeUsage (AttributeTargets.Struct, AllowMultiple = true, Inherited = true)]
+[AttributeUsage (AttributeTargets.Struct | AttributeTargets.Parameter | AttributeTargets.ReturnValue, AllowMultiple = true, Inherited = true)]
public sealed class InvalidHandleValueAttribute : Attribute
{
public extern InvalidHandleValueAttribute ([In] long Value);
@@ -114084,7 +114188,7 @@ using System.Runtime.InteropServices;
namespace Windows.Win32.Foundation.Metadata;
[StructLayout (LayoutKind.Auto, CharSet = CharSet.Auto)]
-[AttributeUsage (AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface, AllowMultiple = false)]
+[AttributeUsage (AttributeTargets.Struct | AttributeTargets.Enum | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false)]
public sealed class SupportedOSPlatformAttribute : Attribute
{
public extern SupportedOSPlatformAttribute ([In] string platform);
@@ -121063,7 +121167,7 @@ public static class Apis
[DllImport ("USP10.dll", ExactSpelling = true, PreserveSig = false)]
[SupportedOSPlatform ("windows5.0")]
[Documentation ("https://learn.microsoft.com/windows/win32/api/usp10/nf-usp10-scriptgetproperties")]
- public unsafe static extern HRESULT ScriptGetProperties ([Out][Const] SCRIPT_PROPERTIES*** ppSp, [Out] int* piNumScripts);
+ public unsafe static extern HRESULT ScriptGetProperties ([Out][Const][NativeArrayInfo (CountParamIndex = 1)] SCRIPT_PROPERTIES*** ppSp, [Out] int* piNumScripts);
[DllImport ("USP10.dll", ExactSpelling = true, PreserveSig = false)]
[SupportedOSPlatform ("windows5.0")]
@@ -121133,9 +121237,8 @@ public static class Apis
[Documentation ("https://learn.microsoft.com/windows/win32/api/usp10/nf-usp10-scriptstringout")]
public unsafe static extern HRESULT ScriptStringOut ([In] void* ssa, [In] int iX, [In] int iY, [In] ETO_OPTIONS uOptions, [Optional][In][Const] RECT* prc, [In] int iMinSel, [In] int iMaxSel, [In] BOOL fDisabled);
- [DllImport ("USP10.dll", ExactSpelling = true, PreserveSig = false)]
+ [DllImport ("USP10.dll", ExactSpelling = true)]
[SupportedOSPlatform ("windows5.0")]
- [CanReturnMultipleSuccessValues]
[Documentation ("https://learn.microsoft.com/windows/win32/api/usp10/nf-usp10-scriptiscomplex")]
public static extern HRESULT ScriptIsComplex ([In][Const][NativeArrayInfo (CountParamIndex = 1)] PWSTR pwcInChars, [In] int cInChars, [In] SCRIPT_IS_COMPLEX_FLAGS dwFlags);
@@ -121648,7 +121751,7 @@ public static class Apis
public unsafe static extern uint ucpmap_get ([In][Const] UCPMap* map, [In] int c);
[DllImport ("icu.dll", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, PreserveSig = false)]
- public unsafe static extern int ucpmap_getRange ([In][Const] UCPMap* map, [In] int start, [In] UCPMapRangeOption option, [In] uint surrogateValue, [In][Out] UCPMapValueFilter* filter, [In][Const] void* context, [In][Out] uint* pValue);
+ public unsafe static extern int ucpmap_getRange ([In][Const] UCPMap* map, [In] int start, [In] UCPMapRangeOption option, [In] uint surrogateValue, [In] UCPMapValueFilter filter, [In][Const] void* context, [In][Out] uint* pValue);
[DllImport ("icu.dll", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, PreserveSig = false)]
public unsafe static extern UCPTrie* ucptrie_openFromBinary ([In] UCPTrieType type, [In] UCPTrieValueWidth valueWidth, [In][Const] void* data, [In] int length, [In][Out] int* pActualLength, [In][Out] UErrorCode* pErrorCode);
@@ -121666,7 +121769,7 @@ public static class Apis
public unsafe static extern uint ucptrie_get ([In][Const] UCPTrie* trie, [In] int c);
[DllImport ("icu.dll", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, PreserveSig = false)]
- public unsafe static extern int ucptrie_getRange ([In][Const] UCPTrie* trie, [In] int start, [In] UCPMapRangeOption option, [In] uint surrogateValue, [In][Out] UCPMapValueFilter* filter, [In][Const] void* context, [In][Out] uint* pValue);
+ public unsafe static extern int ucptrie_getRange ([In][Const] UCPTrie* trie, [In] int start, [In] UCPMapRangeOption option, [In] uint surrogateValue, [In] UCPMapValueFilter filter, [In][Const] void* context, [In][Out] uint* pValue);
[DllImport ("icu.dll", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, PreserveSig = false)]
public unsafe static extern int ucptrie_toBinary ([In][Const] UCPTrie* trie, [In][Out] void* data, [In] int capacity, [In][Out] UErrorCode* pErrorCode);
@@ -121699,7 +121802,7 @@ public static class Apis
public unsafe static extern uint umutablecptrie_get ([In][Const] UMutableCPTrie* trie, [In] int c);
[DllImport ("icu.dll", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, PreserveSig = false)]
- public unsafe static extern int umutablecptrie_getRange ([In][Const] UMutableCPTrie* trie, [In] int start, [In] UCPMapRangeOption option, [In] uint surrogateValue, [In][Out] UCPMapValueFilter* filter, [In][Const] void* context, [In][Out] uint* pValue);
+ public unsafe static extern int umutablecptrie_getRange ([In][Const] UMutableCPTrie* trie, [In] int start, [In] UCPMapRangeOption option, [In] uint surrogateValue, [In] UCPMapValueFilter filter, [In][Const] void* context, [In][Out] uint* pValue);
[DllImport ("icu.dll", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, PreserveSig = false)]
public unsafe static extern void umutablecptrie_set ([In][Out] UMutableCPTrie* trie, [In] int c, [In] uint value, [In][Out] UErrorCode* pErrorCode);
@@ -121944,7 +122047,7 @@ public static class Apis
public static extern void u_cleanup ();
[DllImport ("icuuc.dll", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, PreserveSig = false)]
- public unsafe static extern void u_setMemoryFunctions ([In][Const] void* context, [In][Out] UMemAllocFn* a, [In][Out] UMemReallocFn* r, [In][Out] UMemFreeFn* f, [In][Out] UErrorCode* status);
+ public unsafe static extern void u_setMemoryFunctions ([In][Const] void* context, [In] UMemAllocFn a, [In] UMemReallocFn r, [In] UMemFreeFn f, [In][Out] UErrorCode* status);
[DllImport ("icuuc.dll", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, PreserveSig = false)]
public unsafe static extern UResourceBundle* u_catopen ([In][Const] PSTR name, [In][Const] PSTR locale, [In][Out] UErrorCode* ec);
@@ -122064,7 +122167,7 @@ public static class Apis
public static extern sbyte u_charType ([In] int c);
[DllImport ("icuuc.dll", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, PreserveSig = false)]
- public unsafe static extern void u_enumCharTypes ([In][Out] UCharEnumTypeRange* enumRange, [In][Const] void* context);
+ public unsafe static extern void u_enumCharTypes ([In] UCharEnumTypeRange enumRange, [In][Const] void* context);
[DllImport ("icuuc.dll", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, PreserveSig = false)]
public static extern byte u_getCombiningClass ([In] int c);
@@ -122082,7 +122185,7 @@ public static class Apis
public unsafe static extern int u_charFromName ([In] UCharNameChoice nameChoice, [In][Const] PSTR name, [In][Out] UErrorCode* pErrorCode);
[DllImport ("icuuc.dll", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, PreserveSig = false)]
- public unsafe static extern void u_enumCharNames ([In] int start, [In] int limit, [In][Out] UEnumCharNamesFn* fn, [In][Out] void* context, [In] UCharNameChoice nameChoice, [In][Out] UErrorCode* pErrorCode);
+ public unsafe static extern void u_enumCharNames ([In] int start, [In] int limit, [In] UEnumCharNamesFn fn, [In][Out] void* context, [In] UCharNameChoice nameChoice, [In][Out] UErrorCode* pErrorCode);
[DllImport ("icuuc.dll", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, PreserveSig = false)]
[return: Const]
@@ -125200,7 +125303,7 @@ namespace Windows.Win32.Globalization;
[Documentation ("https://learn.microsoft.com/windows/win32/api/spellcheck/nn-spellcheck-ienumspellingerror")]
public interface IEnumSpellingError : IUnknown
{
- [CanReturnMultipleSuccessValues]
+ [PreserveSig]
[Documentation ("https://learn.microsoft.com/windows/win32/api/spellcheck/nf-spellcheck-ienumspellingerror-next")]
unsafe HRESULT Next ([Out][RetVal] ISpellingError* value);
}
@@ -125347,7 +125450,7 @@ public interface IMLangStringAStr : IMLangString
unsafe HRESULT GetStrBufA ([In] int lSrcPos, [In] int lSrcMaxLen, [Optional][Out] uint* puDestCodePage, [Out] IMLangStringBufA* ppDestBuf, [Optional][Out] int* plDestLen);
- unsafe HRESULT LockAStr ([In] int lSrcPos, [In] int lSrcLen, [In] int lFlags, [In] uint uCodePageIn, [In] int cchRequest, [Optional][Out] uint* puCodePageOut, [Optional][Out] PSTR* ppszDest, [Optional][Out] int* pcchDest, [Optional][Out] int* plDestLen);
+ unsafe HRESULT LockAStr ([In] int lSrcPos, [In] int lSrcLen, [In] int lFlags, [In] uint uCodePageIn, [In] int cchRequest, [Optional][Out] uint* puCodePageOut, [Optional][Out][NativeArrayInfo (CountParamIndex = 7)] PSTR* ppszDest, [Optional][Out] int* pcchDest, [Optional][Out] int* plDestLen);
unsafe HRESULT UnlockAStr ([In][Const][NativeArrayInfo (CountParamIndex = 1)] PSTR pszSrc, [In] int cchSrc, [Optional][Out] int* pcchActual, [Optional][Out] int* plActualLen);
@@ -125369,7 +125472,7 @@ public interface IMLangStringBufA : IUnknown
{
unsafe HRESULT GetStatus ([Optional][Out] int* plFlags, [Optional][Out] int* pcchBuf);
- unsafe HRESULT LockBuf ([In] int cchOffset, [In] int cchMaxLock, [Out] CHAR** ppszBuf, [Optional][Out] int* pcchBuf);
+ unsafe HRESULT LockBuf ([In] int cchOffset, [In] int cchMaxLock, [Out][NativeArrayInfo (CountParamIndex = 3)] CHAR** ppszBuf, [Optional][Out] int* pcchBuf);
HRESULT UnlockBuf ([In][Const] PSTR pszBuf, [In] int cchOffset, [In] int cchWrite);
@@ -125391,7 +125494,7 @@ public interface IMLangStringBufW : IUnknown
{
unsafe HRESULT GetStatus ([Optional][Out] int* plFlags, [Optional][Out] int* pcchBuf);
- unsafe HRESULT LockBuf ([In] int cchOffset, [In] int cchMaxLock, [Out] ushort** ppszBuf, [Optional][Out] int* pcchBuf);
+ unsafe HRESULT LockBuf ([In] int cchOffset, [In] int cchMaxLock, [Out][NativeArrayInfo (CountParamIndex = 3)] ushort** ppszBuf, [Optional][Out] int* pcchBuf);
HRESULT UnlockBuf ([In][Const] PWSTR pszBuf, [In] int cchOffset, [In] int cchWrite);
@@ -125417,7 +125520,7 @@ public interface IMLangStringWStr : IMLangString
unsafe HRESULT GetStrBufW ([In] int lSrcPos, [In] int lSrcMaxLen, [Out] IMLangStringBufW* ppDestBuf, [Optional][Out] int* plDestLen);
- unsafe HRESULT LockWStr ([In] int lSrcPos, [In] int lSrcLen, [In] int lFlags, [In] int cchRequest, [Optional][Out] PWSTR* ppszDest, [Optional][Out] int* pcchDest, [Optional][Out] int* plDestLen);
+ unsafe HRESULT LockWStr ([In] int lSrcPos, [In] int lSrcLen, [In] int lFlags, [In] int cchRequest, [Optional][Out][NativeArrayInfo (CountParamIndex = 5)] PWSTR* ppszDest, [Optional][Out] int* pcchDest, [Optional][Out] int* plDestLen);
unsafe HRESULT UnlockWStr ([In][Const][NativeArrayInfo (CountParamIndex = 1)] PWSTR pszSrc, [In] int cchSrc, [Optional][Out] int* pcchActual, [Optional][Out] int* plActualLen);
@@ -131953,6 +132056,8 @@ public static class Apis
public const uint FACILITY_D2D = 2201u;
+ public const int D2DERR_UNSUPPORTED_PIXEL_FORMAT = -2003292288;
+
[DllImport ("d2d1.dll", ExactSpelling = true, PreserveSig = false)]
[SupportedOSPlatform ("windows6.1")]
[Documentation ("https://learn.microsoft.com/windows/win32/api/d2d1/nf-d2d1-d2d1createfactory")]
@@ -138058,7 +138163,7 @@ public interface ID2D1RenderTarget : ID2D1Resource
[Documentation ("https://learn.microsoft.com/windows/win32/api/d2d1/nf-d2d1-id2d1rendertarget-begindraw")]
void BeginDraw ();
- [CanReturnErrorsAsSuccess]
+ [PreserveSig]
[Documentation ("https://learn.microsoft.com/windows/win32/api/d2d1/nf-d2d1-id2d1rendertarget-enddraw")]
unsafe HRESULT EndDraw ([Optional][Out] ulong* tag1, [Optional][Out] ulong* tag2);
@@ -171936,6 +172041,12 @@ public static class Apis
public const uint D3DDEVINFOID_TEXTURING = 3u;
+ public const int D3D_OK = 0;
+
+ public const uint D3DENUMRET_CANCEL = 0u;
+
+ public const uint D3DENUMRET_OK = 1u;
+
[DllImport ("d3d9.dll", ExactSpelling = true, PreserveSig = false)]
[Documentation ("https://learn.microsoft.com/windows/win32/api/d3d9/nf-d3d9-direct3dcreate9")]
public static extern IDirect3D9 Direct3DCreate9 ([In] uint SDKVersion);
@@ -180659,6 +180770,18 @@ public static class Apis
public const uint DXAPI_HALVERSION = 1u;
+ public const int DD_OK = 0;
+
+ public const int DD_FALSE = 1;
+
+ public const int DDERR_GENERIC = -2147467259;
+
+ public const int DDERR_INVALIDPARAMS = -2147024809;
+
+ public const int DDERR_OUTOFMEMORY = -2147024882;
+
+ public const int DDERR_UNSUPPORTED = -2147467263;
+
[DllImport ("DDRAW.dll", ExactSpelling = true, PreserveSig = false)]
[Unicode]
[Documentation ("https://learn.microsoft.com/windows/win32/api/ddraw/nf-ddraw-directdrawenumeratew")]
@@ -194659,7 +194782,7 @@ public interface IDWriteGdiInterop1 : IDWriteGdiInterop
unsafe HRESULT GetFontSignature ([In] IDWriteFont font, [Out] FONTSIGNATURE* fontSignature);
[Documentation ("https://learn.microsoft.com/windows/win32/api/dwrite_3/nf-dwrite_3-idwritegdiinterop1-getmatchingfontsbylogfont")]
- unsafe HRESULT GetMatchingFontsByLOGFONT ([In][Const] LOGFONTA* logFont, [In] IDWriteFontSet fontSet, [Out][ComOutPtr] IDWriteFontSet* filteredSet);
+ unsafe HRESULT GetMatchingFontsByLOGFONT ([In][Const] LOGFONTW* logFont, [In] IDWriteFontSet fontSet, [Out][ComOutPtr] IDWriteFontSet* filteredSet);
}
using System.Runtime.InteropServices;
@@ -195047,10 +195170,10 @@ namespace Windows.Win32.Graphics.DirectWrite;
public interface IDWriteTextAnalysisSource : IUnknown
{
[Documentation ("https://learn.microsoft.com/windows/win32/api/dwrite/nf-dwrite-idwritetextanalysissource-gettextatposition")]
- unsafe HRESULT GetTextAtPosition ([In] uint textPosition, [Out][Const] ushort** textString, [Out] uint* textLength);
+ unsafe HRESULT GetTextAtPosition ([In] uint textPosition, [Out][Const][NativeArrayInfo (CountParamIndex = 2)] ushort** textString, [Out] uint* textLength);
[Documentation ("https://learn.microsoft.com/windows/win32/api/dwrite/nf-dwrite-idwritetextanalysissource-gettextbeforeposition")]
- unsafe HRESULT GetTextBeforePosition ([In] uint textPosition, [Out][Const] ushort** textString, [Out] uint* textLength);
+ unsafe HRESULT GetTextBeforePosition ([In] uint textPosition, [Out][Const][NativeArrayInfo (CountParamIndex = 2)] ushort** textString, [Out] uint* textLength);
[Documentation ("https://learn.microsoft.com/windows/win32/api/dwrite/nf-dwrite-idwritetextanalysissource-getparagraphreadingdirection")]
DWRITE_READING_DIRECTION GetParagraphReadingDirection ();
@@ -198283,7 +198406,7 @@ namespace Windows.Win32.Graphics.Dxgi;
[Agile]
public interface IDXGIAdapter : IDXGIObject
{
- [CanReturnErrorsAsSuccess]
+ [PreserveSig]
[Documentation ("https://learn.microsoft.com/windows/win32/api/dxgi/nf-dxgi-idxgiadapter-enumoutputs")]
unsafe HRESULT EnumOutputs ([In] uint Output, [Out][ComOutPtr] IDXGIOutput* ppOutput);
@@ -198440,7 +198563,7 @@ namespace Windows.Win32.Graphics.Dxgi;
[Agile]
public interface IDXGIDecodeSwapChain : IUnknown
{
- [CanReturnMultipleSuccessValues]
+ [PreserveSig]
[Documentation ("https://learn.microsoft.com/windows/win32/api/dxgi1_3/nf-dxgi1_3-idxgidecodeswapchain-presentbuffer")]
HRESULT PresentBuffer ([In] uint BufferToPresent, [In] uint SyncInterval, [In] DXGI_PRESENT Flags);
@@ -198627,7 +198750,7 @@ public interface IDXGIFactory : IDXGIObject
[Documentation ("https://learn.microsoft.com/windows/win32/api/dxgi/nf-dxgi-idxgifactory-getwindowassociation")]
unsafe HRESULT GetWindowAssociation ([Out] HWND* pWindowHandle);
- [CanReturnMultipleSuccessValues]
+ [PreserveSig]
[Documentation ("https://learn.microsoft.com/windows/win32/api/dxgi/nf-dxgi-idxgifactory-createswapchain")]
unsafe HRESULT CreateSwapChain ([In] IUnknown pDevice, [In] DXGI_SWAP_CHAIN_DESC* pDesc, [Out][ComOutPtr] IDXGISwapChain* ppSwapChain);
@@ -198647,7 +198770,7 @@ namespace Windows.Win32.Graphics.Dxgi;
[Agile]
public interface IDXGIFactory1 : IDXGIFactory
{
- [CanReturnErrorsAsSuccess]
+ [PreserveSig]
[Documentation ("https://learn.microsoft.com/windows/win32/api/dxgi/nf-dxgi-idxgifactory1-enumadapters1")]
unsafe HRESULT EnumAdapters1 ([In] uint Adapter, [Out][ComOutPtr] IDXGIAdapter1* ppAdapter);
@@ -199325,7 +199448,7 @@ namespace Windows.Win32.Graphics.Dxgi;
[Agile]
public interface IDXGISwapChain : IDXGIDeviceSubObject
{
- [CanReturnMultipleSuccessValues]
+ [PreserveSig]
[Documentation ("https://learn.microsoft.com/windows/win32/api/dxgi/nf-dxgi-idxgiswapchain-present")]
HRESULT Present ([In] uint SyncInterval, [In] DXGI_PRESENT Flags);
@@ -199383,7 +199506,7 @@ public interface IDXGISwapChain1 : IDXGISwapChain
[Documentation ("https://learn.microsoft.com/windows/win32/api/dxgi1_2/nf-dxgi1_2-idxgiswapchain1-getcorewindow")]
unsafe HRESULT GetCoreWindow ([In][Const] Guid* refiid, [Out][ComOutPtr] void** ppUnk);
- [CanReturnMultipleSuccessValues]
+ [PreserveSig]
[Documentation ("https://learn.microsoft.com/windows/win32/api/dxgi1_2/nf-dxgi1_2-idxgiswapchain1-present1")]
unsafe HRESULT Present1 ([In] uint SyncInterval, [In] DXGI_PRESENT PresentFlags, [In][Const] DXGI_PRESENT_PARAMETERS* pPresentParameters);
@@ -201300,6 +201423,10 @@ public static class Apis
public const int E_EXCEPTIONINCOMPRESSION = 522;
+ public const uint DMPAPER_FIRST = 1u;
+
+ public const uint DMBIN_FIRST = 1u;
+
[DllImport ("GDI32.dll", ExactSpelling = true, PreserveSig = false)]
[Ansi]
[Documentation ("https://learn.microsoft.com/windows/win32/api/wingdi/nf-wingdi-getobjecta")]
@@ -207069,7 +207196,7 @@ namespace Windows.Win32.Graphics.Gdi;
[StructLayout (LayoutKind.Auto, CharSet = CharSet.Auto)]
[UnmanagedFunctionPointer (CallingConvention.Winapi)]
-public unsafe delegate uint LPFNDEVCAPS ([In] PSTR param0, [In] PSTR param1, [In] uint param2, [In] PSTR param3, [In][Out] DEVMODEA* param4);
+public unsafe delegate uint LPFNDEVCAPS ([In] PSTR param0, [In] PSTR param1, [In] uint param2, [In] PSTR param3, [In][Out] DEVMODEW* param4);
using System.Runtime.InteropServices;
using Windows.Win32.Foundation;
@@ -207078,7 +207205,7 @@ namespace Windows.Win32.Graphics.Gdi;
[StructLayout (LayoutKind.Auto, CharSet = CharSet.Auto)]
[UnmanagedFunctionPointer (CallingConvention.Winapi)]
-public unsafe delegate uint LPFNDEVMODE ([In] HWND param0, [In] HMODULE param1, [In][Out] DEVMODEA* param2, [In] PSTR param3, [In] PSTR param4, [In][Out] DEVMODEA* param5, [In] PSTR param6, [In] uint param7);
+public unsafe delegate uint LPFNDEVMODE ([In] HWND param0, [In] HMODULE param1, [In][Out] DEVMODEW* param2, [In] PSTR param3, [In] PSTR param4, [In][Out] DEVMODEW* param5, [In] PSTR param6, [In] uint param7);
using Windows.Win32.Foundation.Metadata;
@@ -209352,7 +209479,7 @@ public static class Apis
public unsafe static extern Status GdipPathIterEnumerate ([In][Out] GpPathIterator* iterator, [Out] int* resultCount, [Out][NativeArrayInfo (CountParamIndex = 4)] PointF* points, [Out][NativeArrayInfo (CountParamIndex = 4)] byte* types, [In] int count);
[DllImport ("gdiplus.dll", ExactSpelling = true, PreserveSig = false)]
- public unsafe static extern Status GdipPathIterCopyData ([In][Out] GpPathIterator* iterator, [Out] int* resultCount, [Out] PointF* points, [Out] byte* types, [In] int startIndex, [In] int endIndex);
+ public unsafe static extern Status GdipPathIterCopyData ([In][Out] GpPathIterator* iterator, [Out] int* resultCount, [Out][NativeArrayInfo (CountParamIndex = 1)] PointF* points, [Out][NativeArrayInfo (CountParamIndex = 1)] byte* types, [In] int startIndex, [In] int endIndex);
[DllImport ("gdiplus.dll", ExactSpelling = true, PreserveSig = false)]
public unsafe static extern Status GdipCreateMatrix ([In][Out] Matrix** matrix);
@@ -222034,6 +222161,16 @@ public static class Apis
public const string XPS_FP_FAX_JOB_PROPERTIES = "JobFaxProperties";
+ public const string MXDC_IMAGEABLE_AREA_PROP_NAME_WSTR = "MxdcImageableArea";
+
+ public const string MXDC_IMAGE_COMPRESSION_TYPE_PROP_NAME_WSTR = "MxdcImageCompressionType";
+
+ public const string MXDC_DOTS_PER_INCH_PROP_NAME_WSTR = "MxdcDotsPerInch";
+
+ public const string MXDC_LANDSCAPE_ROTATION_PROP_NAME_WSTR = "MxdcLandscapeRotation";
+
+ public const string MXDC_PHYSICAL_PAPER_DIMENSIONS_NAME_WSTR = "MxdcPhysicalPaperDimensions";
+
[Documentation ("https://learn.microsoft.com/windows/win32/printdocs/mxdc-escape")]
public const uint MXDC_ESCAPE = 4122u;
@@ -224447,7 +224584,7 @@ public static class Apis
public static extern uint DeleteJobNamedProperty ([In] PRINTER_HANDLE hPrinter, [In] uint JobId, [In][Const] PWSTR pszName);
[DllImport ("winspool.drv", ExactSpelling = true, PreserveSig = false)]
- public unsafe static extern uint EnumJobNamedProperties ([In] PRINTER_HANDLE hPrinter, [In] uint JobId, [Out] uint* pcProperties, [Out] PrintNamedProperty** ppProperties);
+ public unsafe static extern uint EnumJobNamedProperties ([In] PRINTER_HANDLE hPrinter, [In] uint JobId, [Out] uint* pcProperties, [Out][NativeArrayInfo (CountParamIndex = 2)] PrintNamedProperty** ppProperties);
[DllImport ("winspool.drv", ExactSpelling = true, PreserveSig = false)]
public unsafe static extern HRESULT GetPrintOutputInfo ([In] HWND hWnd, [In][Const] PWSTR pszPrinter, [Out] HANDLE* phFile, [Out] PWSTR* ppszOutputFile);
@@ -224531,7 +224668,7 @@ public static class Apis
public static extern BOOL DeletePrinterIC ([In] HANDLE hPrinterIC);
[DllImport ("winspool.drv", ExactSpelling = true, PreserveSig = false)]
- public unsafe static extern BOOL DevQueryPrint ([In] PRINTER_HANDLE hPrinter, [In] DEVMODEA* pDevMode, [Out] uint* pResID);
+ public unsafe static extern BOOL DevQueryPrint ([In] PRINTER_HANDLE hPrinter, [In] DEVMODEW* pDevMode, [Out] uint* pResID);
[DllImport ("SPOOLSS.dll", ExactSpelling = true, PreserveSig = false)]
public static extern HANDLE RevertToPrinterSelf ();
@@ -224910,11 +225047,11 @@ public struct COMPROPSHEETUI
public HINSTANCE hInstCaller;
- public unsafe sbyte* pCallerName;
+ public unsafe ushort* pCallerName;
public UIntPtr UserData;
- public unsafe sbyte* pHelpFile;
+ public unsafe ushort* pHelpFile;
public _CPSUICALLBACK pfnCallBack;
@@ -224928,7 +225065,7 @@ public struct COMPROPSHEETUI
public UIntPtr IconID;
- public unsafe sbyte* pOptItemName;
+ public unsafe ushort* pOptItemName;
public ushort CallerVersion;
@@ -225001,7 +225138,7 @@ public struct CPSUICBPARAM
public int OldSel;
[FieldOffset (0)]
- public unsafe sbyte* pOldSel;
+ public unsafe ushort* pOldSel;
}
public ushort cbSize;
@@ -225111,7 +225248,7 @@ public struct DEVICEPROPERTYHEADER
public HANDLE hPrinter;
- public unsafe sbyte* pszPrinterName;
+ public unsafe ushort* pszPrinterName;
}
using Windows.Win32.Foundation;
@@ -225129,7 +225266,7 @@ public struct DEVQUERYPRINT_INFO
public HANDLE hPrinter;
- public unsafe DEVMODEA* pDevMode;
+ public unsafe DEVMODEW* pDevMode;
public PWSTR pszErrorStr;
@@ -225165,7 +225302,7 @@ public struct DLGPAGE
public DLGPROC DlgProc;
- public unsafe sbyte* pTabName;
+ public unsafe ushort* pTabName;
public UIntPtr IconID;
@@ -225233,11 +225370,11 @@ public struct DOCUMENTPROPERTYHEADER
public HANDLE hPrinter;
- public unsafe sbyte* pszPrinterName;
+ public unsafe ushort* pszPrinterName;
- public unsafe DEVMODEA* pdmIn;
+ public unsafe DEVMODEW* pdmIn;
- public unsafe DEVMODEA* pdmOut;
+ public unsafe DEVMODEW* pdmOut;
public uint cbOut;
@@ -225358,11 +225495,11 @@ namespace Windows.Win32.Graphics.Printing;
public struct DOC_INFO_INTERNAL
{
- public unsafe sbyte* pDocName;
+ public unsafe ushort* pDocName;
- public unsafe sbyte* pOutputFile;
+ public unsafe ushort* pOutputFile;
- public unsafe sbyte* pDatatype;
+ public unsafe ushort* pDatatype;
public BOOL bLowILJob;
@@ -225829,40 +225966,40 @@ namespace Windows.Win32.Graphics.Printing;
public struct DRIVER_UPGRADE_INFO_1
{
- public unsafe sbyte* pPrinterName;
+ public unsafe ushort* pPrinterName;
- public unsafe sbyte* pOldDriverDirectory;
+ public unsafe ushort* pOldDriverDirectory;
}
namespace Windows.Win32.Graphics.Printing;
public struct DRIVER_UPGRADE_INFO_2
{
- public unsafe sbyte* pPrinterName;
+ public unsafe ushort* pPrinterName;
- public unsafe sbyte* pOldDriverDirectory;
+ public unsafe ushort* pOldDriverDirectory;
public uint cVersion;
- public unsafe sbyte* pName;
+ public unsafe ushort* pName;
- public unsafe sbyte* pEnvironment;
+ public unsafe ushort* pEnvironment;
- public unsafe sbyte* pDriverPath;
+ public unsafe ushort* pDriverPath;
- public unsafe sbyte* pDataFile;
+ public unsafe ushort* pDataFile;
- public unsafe sbyte* pConfigFile;
+ public unsafe ushort* pConfigFile;
- public unsafe sbyte* pHelpFile;
+ public unsafe ushort* pHelpFile;
- public unsafe sbyte* pDependentFiles;
+ public unsafe ushort* pDependentFiles;
- public unsafe sbyte* pMonitorName;
+ public unsafe ushort* pMonitorName;
- public unsafe sbyte* pDefaultDataType;
+ public unsafe ushort* pDefaultDataType;
- public unsafe sbyte* pszzPreviousNames;
+ public unsafe ushort* pszzPreviousNames;
}
namespace Windows.Win32.Graphics.Printing;
@@ -225962,11 +226099,11 @@ public struct EXTCHKBOX
public ushort Flags;
- public unsafe sbyte* pTitle;
+ public unsafe ushort* pTitle;
- public unsafe sbyte* pSeparator;
+ public unsafe ushort* pSeparator;
- public unsafe sbyte* pCheckedName;
+ public unsafe ushort* pCheckedName;
public UIntPtr IconID;
@@ -226010,7 +226147,7 @@ public struct EXTPUSH
public ushort Flags;
- public unsafe sbyte* pTitle;
+ public unsafe ushort* pTitle;
public _Anonymous1_e__Union Anonymous1;
@@ -226712,7 +226849,7 @@ namespace Windows.Win32.Graphics.Printing;
public interface IPrintAsyncNotifyDataObject : IUnknown
{
[Documentation ("https://learn.microsoft.com/windows/win32/api/prnasnot/nf-prnasnot-iprintasyncnotifydataobject-acquiredata")]
- unsafe HRESULT AcquireData ([Optional][Out] byte** ppNotificationData, [Optional][Out] uint* pSize, [Optional][Out] Guid** ppSchema);
+ unsafe HRESULT AcquireData ([Optional][Out][NativeArrayInfo (CountParamIndex = 1)] byte** ppNotificationData, [Optional][Out] uint* pSize, [Optional][Out] Guid** ppSchema);
[Documentation ("https://learn.microsoft.com/windows/win32/api/prnasnot/nf-prnasnot-iprintasyncnotifydataobject-releasedata")]
HRESULT ReleaseData ();
@@ -226784,17 +226921,17 @@ namespace Windows.Win32.Graphics.Printing;
[Windows.Win32.Foundation.Metadata.Guid (2828977470u, 14597, 18886, 156, 26, 192, 168, 129, 23, 253, 182)]
public interface IPrintCoreHelper : IUnknown
{
- unsafe HRESULT GetOption ([Optional][In][Const][MemorySize (BytesParamIndex = 1)] DEVMODEA* pDevmode, [In] uint cbSize, [In][Const] PSTR pszFeatureRequested, [Out][Const] PSTR* ppszOption);
+ unsafe HRESULT GetOption ([Optional][In][Const][MemorySize (BytesParamIndex = 1)] DEVMODEW* pDevmode, [In] uint cbSize, [In][Const] PSTR pszFeatureRequested, [Out][Const] PSTR* ppszOption);
- unsafe HRESULT SetOptions ([In][Out] DEVMODEA* pDevmode, [In] uint cbSize, [In] BOOL bResolveConflicts, [In][Const] PRINT_FEATURE_OPTION* pFOPairs, [In] uint cPairs, [In][Out] uint* pcPairsWritten, [In][Out] uint* pdwResult);
+ unsafe HRESULT SetOptions ([In][Out] DEVMODEW* pDevmode, [In] uint cbSize, [In] BOOL bResolveConflicts, [In][Const] PRINT_FEATURE_OPTION* pFOPairs, [In] uint cPairs, [In][Out] uint* pcPairsWritten, [In][Out] uint* pdwResult);
- unsafe HRESULT EnumConstrainedOptions ([In][Const] DEVMODEA* pDevmode, [In] uint cbSize, [In][Const] PSTR pszFeatureKeyword, [In][Const] PSTR*** pConstrainedOptionList, [In][Out] uint* pdwNumOptions);
+ unsafe HRESULT EnumConstrainedOptions ([In][Const] DEVMODEW* pDevmode, [In] uint cbSize, [In][Const] PSTR pszFeatureKeyword, [In][Const] PSTR*** pConstrainedOptionList, [In][Out] uint* pdwNumOptions);
- unsafe HRESULT WhyConstrained ([Optional][In][Const][MemorySize (BytesParamIndex = 1)] DEVMODEA* pDevmode, [In] uint cbSize, [In][Const] PSTR pszFeatureKeyword, [In][Const] PSTR pszOptionKeyword, [Out][Const] PRINT_FEATURE_OPTION** ppFOConstraints, [Out] uint* pdwNumOptions);
+ unsafe HRESULT WhyConstrained ([Optional][In][Const][MemorySize (BytesParamIndex = 1)] DEVMODEW* pDevmode, [In] uint cbSize, [In][Const] PSTR pszFeatureKeyword, [In][Const] PSTR pszOptionKeyword, [Out][Const][NativeArrayInfo (CountParamIndex = 5)] PRINT_FEATURE_OPTION** ppFOConstraints, [Out] uint* pdwNumOptions);
- unsafe HRESULT EnumFeatures ([Out][Const] PSTR*** pFeatureList, [Out] uint* pdwNumFeatures);
+ unsafe HRESULT EnumFeatures ([Out][Const][NativeArrayInfo (CountParamIndex = 1)] PSTR*** pFeatureList, [Out] uint* pdwNumFeatures);
- unsafe HRESULT EnumOptions ([In][Const] PSTR pszFeatureKeyword, [Out][Const] PSTR*** pOptionList, [Out] uint* pdwNumOptions);
+ unsafe HRESULT EnumOptions ([In][Const] PSTR pszFeatureKeyword, [Out][Const][NativeArrayInfo (CountParamIndex = 2)] PSTR*** pOptionList, [Out] uint* pdwNumOptions);
unsafe HRESULT GetFontSubstitution ([In][Const] PWSTR pszTrueTypeFontName, [In][Const] PWSTR* ppszDevFontName);
@@ -226812,11 +226949,11 @@ namespace Windows.Win32.Graphics.Printing;
[Windows.Win32.Foundation.Metadata.Guid (3267448687u, 38355, 19811, 150, 207, 107, 217, 230, 201, 7, 194)]
public interface IPrintCoreHelperPS : IPrintCoreHelper
{
- unsafe HRESULT GetGlobalAttribute ([In][Const] PSTR pszAttribute, [Out] uint* pdwDataType, [Out] byte** ppbData, [Out] uint* pcbSize);
+ unsafe HRESULT GetGlobalAttribute ([In][Const] PSTR pszAttribute, [Out] uint* pdwDataType, [Out][NativeArrayInfo (CountParamIndex = 3)] byte** ppbData, [Out] uint* pcbSize);
- unsafe HRESULT GetFeatureAttribute ([In][Const] PSTR pszFeatureKeyword, [In][Const] PSTR pszAttribute, [Out] uint* pdwDataType, [Out] byte** ppbData, [Out] uint* pcbSize);
+ unsafe HRESULT GetFeatureAttribute ([In][Const] PSTR pszFeatureKeyword, [In][Const] PSTR pszAttribute, [Out] uint* pdwDataType, [Out][NativeArrayInfo (CountParamIndex = 4)] byte** ppbData, [Out] uint* pcbSize);
- unsafe HRESULT GetOptionAttribute ([In][Const] PSTR pszFeatureKeyword, [In][Const] PSTR pszOptionKeyword, [Optional][In][Const] PSTR pszAttribute, [Out] uint* pdwDataType, [Out] byte** ppbData, [Out] uint* pcbSize);
+ unsafe HRESULT GetOptionAttribute ([In][Const] PSTR pszFeatureKeyword, [In][Const] PSTR pszOptionKeyword, [Optional][In][Const] PSTR pszAttribute, [Out] uint* pdwDataType, [Out][NativeArrayInfo (CountParamIndex = 5)] byte** ppbData, [Out] uint* pcbSize);
}
using System.Runtime.InteropServices;
@@ -226830,7 +226967,7 @@ namespace Windows.Win32.Graphics.Printing;
[Windows.Win32.Foundation.Metadata.Guid (2123256278u, 58862, 17446, 129, 123, 149, 139, 148, 68, 235, 121)]
public interface IPrintCoreHelperUni : IPrintCoreHelper
{
- unsafe HRESULT CreateGDLSnapshot ([In][Out] DEVMODEA* pDevmode, [In] uint cbSize, [In] uint dwFlags, [Out] IStream* ppSnapshotStream);
+ unsafe HRESULT CreateGDLSnapshot ([In][Out] DEVMODEW* pDevmode, [In] uint cbSize, [In] uint dwFlags, [Out] IStream* ppSnapshotStream);
unsafe HRESULT CreateDefaultGDLSnapshot ([In] uint dwFlags, [Out] IStream* ppSnapshotStream);
}
@@ -226845,7 +226982,7 @@ namespace Windows.Win32.Graphics.Printing;
[Windows.Win32.Foundation.Metadata.Guid (1821048316u, 60112, 19757, 128, 113, 155, 240, 23, 90, 108, 58)]
public interface IPrintCoreHelperUni2 : IPrintCoreHelperUni
{
- unsafe HRESULT GetNamedCommand ([Optional][In][MemorySize (BytesParamIndex = 1)] DEVMODEA* pDevmode, [In] uint cbSize, [In][Const] PWSTR pszCommandName, [Out] byte** ppCommandBytes, [Out] uint* pcbCommandSize);
+ unsafe HRESULT GetNamedCommand ([Optional][In][MemorySize (BytesParamIndex = 1)] DEVMODEW* pDevmode, [In] uint cbSize, [In][Const] PWSTR pszCommandName, [Out] byte** ppCommandBytes, [Out] uint* pcbCommandSize);
}
using System.Runtime.InteropServices;
@@ -226981,10 +227118,10 @@ public interface IPrintOemUI : IPrintOemCommon
unsafe HRESULT DevicePropertySheets ([In] PROPSHEETUI_INFO* pPSUIInfo, [In] LPARAM lParam);
- unsafe HRESULT DevQueryPrintEx ([In] OEMUIOBJ* poemuiobj, [In] DEVQUERYPRINT_INFO* pDQPInfo, [In] DEVMODEA* pPublicDM, [In] void* pOEMDM);
+ unsafe HRESULT DevQueryPrintEx ([In] OEMUIOBJ* poemuiobj, [In] DEVQUERYPRINT_INFO* pDQPInfo, [In] DEVMODEW* pPublicDM, [In] void* pOEMDM);
- [Ansi]
- unsafe HRESULT DeviceCapabilitiesA ([In][Out] OEMUIOBJ* poemuiobj, [In] HANDLE hPrinter, [In] PWSTR pDeviceName, [In] ushort wCapability, [Out] void* pOutput, [In] DEVMODEA* pPublicDM, [In] void* pOEMDM, [In] uint dwOld, [Out] uint* dwResult);
+ [Unicode]
+ unsafe HRESULT DeviceCapabilitiesA ([In][Out] OEMUIOBJ* poemuiobj, [In] HANDLE hPrinter, [In] PWSTR pDeviceName, [In] ushort wCapability, [Out] void* pOutput, [In] DEVMODEW* pPublicDM, [In] void* pOEMDM, [In] uint dwOld, [Out] uint* dwResult);
unsafe HRESULT UpgradePrinter ([In] uint dwLevel, [In] byte* pDriverUpgradeInfo);
@@ -226992,7 +227129,7 @@ public interface IPrintOemUI : IPrintOemCommon
unsafe HRESULT DriverEvent ([In] uint dwDriverEvent, [In] uint dwLevel, [In] byte* pDriverInfo, [In] LPARAM lParam);
- unsafe HRESULT QueryColorProfile ([In] PRINTER_HANDLE hPrinter, [In] OEMUIOBJ* poemuiobj, [In] DEVMODEA* pPublicDM, [In] void* pOEMDM, [In] uint ulQueryMode, [Out][NativeArrayInfo (CountParamIndex = 6)] void* pvProfileData, [In][Out] uint* pcbProfileData, [Out] uint* pflProfileData);
+ unsafe HRESULT QueryColorProfile ([In] PRINTER_HANDLE hPrinter, [In] OEMUIOBJ* poemuiobj, [In] DEVMODEW* pPublicDM, [In] void* pOEMDM, [In] uint ulQueryMode, [Out][NativeArrayInfo (CountParamIndex = 6)] void* pvProfileData, [In][Out] uint* pcbProfileData, [Out] uint* pflProfileData);
HRESULT FontInstallerDlgProc ([In] HWND hWnd, [In] uint usMsg, [In] WPARAM wParam, [In] LPARAM lParam);
@@ -227009,7 +227146,7 @@ namespace Windows.Win32.Graphics.Printing;
[Windows.Win32.Foundation.Metadata.Guid (690296313u, 46411, 18587, 146, 117, 186, 181, 104, 33, 57, 94)]
public interface IPrintOemUI2 : IPrintOemUI
{
- unsafe HRESULT QueryJobAttributes ([In] PRINTER_HANDLE hPrinter, [In] DEVMODEA* pDevmode, [In] uint dwLevel, [In] byte* lpAttributeInfo);
+ unsafe HRESULT QueryJobAttributes ([In] PRINTER_HANDLE hPrinter, [In] DEVMODEW* pDevmode, [In] uint dwLevel, [In] byte* lpAttributeInfo);
HRESULT HideStandardUI ([In] uint dwMode);
@@ -227027,11 +227164,11 @@ namespace Windows.Win32.Graphics.Printing;
[Windows.Win32.Foundation.Metadata.Guid (1934219045u, 58049, 19914, 175, 181, 193, 62, 145, 188, 147, 6)]
public interface IPrintOemUIMXDC : IUnknown
{
- unsafe HRESULT AdjustImageableArea ([In] PRINTER_HANDLE hPrinter, [In] uint cbDevMode, [In][Const] DEVMODEA* pDevMode, [In] uint cbOEMDM, [In][Const] void* pOEMDM, [In][Out] RECTL* prclImageableArea);
+ unsafe HRESULT AdjustImageableArea ([In] PRINTER_HANDLE hPrinter, [In] uint cbDevMode, [In][Const] DEVMODEW* pDevMode, [In] uint cbOEMDM, [In][Const] void* pOEMDM, [In][Out] RECTL* prclImageableArea);
- unsafe HRESULT AdjustImageCompression ([In] PRINTER_HANDLE hPrinter, [In] uint cbDevMode, [In][Const] DEVMODEA* pDevMode, [In] uint cbOEMDM, [In][Const] void* pOEMDM, [In][Out] int* pCompressionMode);
+ unsafe HRESULT AdjustImageCompression ([In] PRINTER_HANDLE hPrinter, [In] uint cbDevMode, [In][Const] DEVMODEW* pDevMode, [In] uint cbOEMDM, [In][Const] void* pOEMDM, [In][Out] int* pCompressionMode);
- unsafe HRESULT AdjustDPI ([In] PRINTER_HANDLE hPrinter, [In] uint cbDevMode, [In][Const] DEVMODEA* pDevMode, [In] uint cbOEMDM, [In][Const] void* pOEMDM, [In][Out] int* pDPI);
+ unsafe HRESULT AdjustDPI ([In] PRINTER_HANDLE hPrinter, [In] uint cbDevMode, [In][Const] DEVMODEW* pDevMode, [In] uint cbOEMDM, [In][Const] void* pOEMDM, [In][Out] int* pDPI);
}
using System.Runtime.InteropServices;
@@ -227473,9 +227610,9 @@ public interface IPrintTicketProvider : IUnknown
unsafe HRESULT QueryDeviceNamespace ([In][Out] BSTR* pDefaultNamespace);
- unsafe HRESULT ConvertPrintTicketToDevMode ([In] IXMLDOMDocument2 pPrintTicket, [In] uint cbDevmodeIn, [In][Out] DEVMODEA* pDevmodeIn, [In][Out] uint* pcbDevmodeOut, [In][Out] DEVMODEA** ppDevmodeOut);
+ unsafe HRESULT ConvertPrintTicketToDevMode ([In] IXMLDOMDocument2 pPrintTicket, [In] uint cbDevmodeIn, [In][Out] DEVMODEW* pDevmodeIn, [In][Out] uint* pcbDevmodeOut, [In][Out] DEVMODEW** ppDevmodeOut);
- unsafe HRESULT ConvertDevModeToPrintTicket ([In] uint cbDevmode, [In][Out] DEVMODEA* pDevmode, [In] IXMLDOMDocument2 pPrintTicket);
+ unsafe HRESULT ConvertDevModeToPrintTicket ([In] uint cbDevmode, [In][Out] DEVMODEW* pDevmode, [In] IXMLDOMDocument2 pPrintTicket);
unsafe HRESULT GetPrintCapabilities ([In] IXMLDOMDocument2 pPrintTicket, [Out] IXMLDOMDocument2* ppCapabilities);
@@ -228883,7 +229020,7 @@ public struct OEMCUIPPARAM
public HANDLE hOEMHeap;
- public unsafe DEVMODEA* pPublicDM;
+ public unsafe DEVMODEW* pPublicDM;
public unsafe void* pOEMDM;
@@ -228919,9 +229056,9 @@ public struct OEMDMPARAM
public HANDLE hModule;
- public unsafe DEVMODEA* pPublicDMIn;
+ public unsafe DEVMODEW* pPublicDMIn;
- public unsafe DEVMODEA* pPublicDMOut;
+ public unsafe DEVMODEW* pPublicDMOut;
public unsafe void* pOEMDMIn;
@@ -228993,7 +229130,7 @@ public struct OEMUIPSPARAM
public HANDLE hOEMHeap;
- public unsafe DEVMODEA* pPublicDM;
+ public unsafe DEVMODEW* pPublicDM;
public unsafe void* pOEMDM;
@@ -2290
|
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Preserve existing semantic RetVal attributes during SAL lowering, including qualified and Attribute-suffixed spellings. Add native COM, BSTR, callback and function final-winmd controls across all architectures. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Emit HASTHIS for instance constructors so local attribute constructor definitions match their references. Strengthen native final-winmd signature binding and add a complete-SDK constructor invariant without changing static PInvoke signatures. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Keep native signatures when logical enum associations are present instead of guessing an unrelated same-short-name type. Cover scalar, pointer and array fields, parameters, and returns through final winmd emission on all three architectures. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Pass prior cross-partition discoveries separately from authored settings. Keep legacy cache behavior below manual overrides while annotated translation units use their own discoveries. Clear obsolete per-translation-unit discovery output and cover first, repeated, and opt-in-transition builds through actual SDK targets and final winmd signatures on x86, x64, and ARM64. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Use only authored remaps and exclusions for AST discovery while retaining derived settings for legacy binding generation. Verify stable per-partition sidecars, emitted pointer-reduction response files, and frozen-nonselected plus selected reduction inputs across repeated SDK-target builds on x86, x64, and ARM64. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Use canonical Win32 SupportedOS macros, resolve header-local nested defaults and explicit overrides, and preserve native typedef and callback aliases. Lower native field-count SAL through CountFieldName without inventing parameter indices or changing existing parameter lowering. Cover real x86, x64 and ARM64 winmd output, native ABI and strict conflicts. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Keep SupportedOS scope adoption independent of SDK-wide native field SAL activation. Restrict inferred field counts to pointer and array shapes, preserve default behavior, and cover enabled and disabled native emission on all three architectures. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Recognize enum-member postfix annotations and const-qualified variable targets. Project each fact onto its exact emitted field without raising sibling or enum floors, while preserving strict placement and target diagnostics. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Use metadata-only enum groups, native lexical availability scopes, typed import arguments and unevaluated cleanup references. Keep ignored metadata diagnostics local and preserve native SDK warning behavior. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
Qualified current tooling source Downloaded image SHA256: Independent comparison against the previously qualified Zero API differences; no known-differences file or normalization. This is incremental equivalence to the last qualified tooling source, not a claim that the earlier reviewed Printing changes vanish relative to main. Workflow-dispatch runs skip the PR-only automatic diff steps, so the comparison was performed independently on both downloaded images. This clears the tooling/default-image gate only. The updated pilot #2365 still needs its own source-bound image, original-IDL preparation/provenance and current-head CI qualification. Full-SDK migration remains paused. |
Move Clang encoding, diagnostics, IDL preparation and pipeline notes behind the public annotation contract. Explain the local ignored-attribute diagnostic guard without changing the qualified helper. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Leave the SDK transport as plain annotate and supply local ignored-attribute checking through the scraper invocation. Reject global warning suppression only in annotation mode. Clarify the complete annotation mode, existing remap-cache isolation, and actual MIDL transport limits; add physical type/member and compiler-policy regressions. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Preserve native RPC and SAL while binding metadata to the actual interface method, without reading source tokens or reparsing expressions. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Keep the repository-backed sample aligned with packaged SDK assets without adding the recompiled SDK header tree to its include path. Document missing-original-IDL residual handling and bootstrap asset coverage. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Combine compatible original-AST and cross-partition logical groups without absorbing native or legacy enum definitions. Preserve explicit conflicts, architecture variants, namespace routing, and residual use-site facts. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Bind conversions to actual header-group symbols after namespace and architecture processing. Retain declared scalar storage, constant overflow diagnostics, native-enum errors, and the separate full-image source-admission gates. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Retain the new file-local default contract and its acceptance gates alongside the qualified IDL guidance. Distinguish the current Clang transport from the unimplemented default resolver. Import the upstream workflow regression coverage without changing production tooling or generation inputs. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Keep the generated patch unchanged in both artifact uploads, and truncate only the rendered PR comment while retaining full-diff statistics and budgeting for Markdown fences and the artifact notice. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: c22b7dbd-d44e-4340-b66c-04ca2520967a
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3bc8894e-bedd-45c6-8231-cad0a275dc8f
…ers (#2376) Annotate 25 producer out-parameters with the cleanup function that releases the handle they return, and mark 0 as the invalid value for the 8 handle typedefs that had no invalid value. The annotations go on the producers. Typedefs such as PHIDP_PREPARSED_DATA also describe caller-allocated buffers that the cleanup function must not free, so the typedefs carry no RAIIFree. Fixes #2375 Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 62a90e5b-2b4b-46ac-b2e3-4a42da4989fc
* Update Windows SDK to 10.0.28000.2705 Use current shipped headers, add DXGI 1.7 and CXL/MTM coverage, and remove retired SDK inputs. Preserve architecture-specific Hyper-V enums and WinHTTP callback identity, fix MTM IOCTL extraction and WebAuthn imports, and make integrity checks and API dumps architecture-aware. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 1a5db4f3-9b9e-4621-a599-c5578cee0cac * Preserve SDK compatibility and narrow required tooling fixes Restore existing AllJoyn, Peer and OPMXbox inputs and DLL mappings. Keep only the enum-emission and architecture-validator fixes reproduced with the current SDK and otherwise unchanged tools. Drop optional MTM projection and review-only API-dumper changes. Preserve the WinHTTP callback's canonical identity on every architecture. Verify fresh SDK ingestion, all 114 .NET and 36 workflow tests, native and managed samples, and the preserved legacy API surface. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 1a5db4f3-9b9e-4621-a599-c5578cee0cac --------- Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 1a5db4f3-9b9e-4621-a599-c5578cee0cac
Keep Unicode authoritative while recovering only compiler-proven, import-mapped native declarations. Validate recursive native contracts, preserve exact existing scoped remap intent, and retain fresh SDK and physical-image proof. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 26213770-7ef5-40d1-b93c-93707612f5ef
Keep authored member names authoritative while projecting otherwise unconfigured macro-selected members at their exact compiler-proven source identity. Preserve primary Unicode signatures and encoding facts. Compose explicitly retained opaque struct-pointer factories only with fresh matching native and retained intent, without losing real extra parameter indirection. Honor existing complete explicit alias projections in remap discovery. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 26213770-7ef5-40d1-b93c-93707612f5ef
Add valueless EnumDecl-only metadata Flags without native diagnostic or storage changes. Preserve the original recompiled mirror's input and output spellings in strict MIDL preparation, with physical enum and closed-preparation controls. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 26213770-7ef5-40d1-b93c-93707612f5ef
Compile native owner headers independently and retain invalid-original aggregate diagnostics. Classify only compiler-linked annotated self typedefs, preserve raw multiplicities, and report every owner difference. Replace stale all-retired and no-Hlsl assertions with the complete inherited eight-record/import snapshot and exact 436 retired identities. Keep actual VDS SAL failures and original-IDL coverage holds substantive. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 26213770-7ef5-40d1-b93c-93707612f5ef
Restore the original recompiled mirror parameter directions and size/length contracts instead of bypassing remote declarations. Preserve authored SAL/metadata payloads and existing local pointer behavior. Keep native MIDL2495 warnings and closed input/output provenance visible; helper changes require fresh strict preparation identities. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 26213770-7ef5-40d1-b93c-93707612f5ef
Batch up to 4096 native constant probes per translation-unit parse while retaining recursive diagnostic isolation and the existing extraction rules. Keep the timed native-integer guard genuinely cross-batch with 8193 integer macros and its unchanged 3000 ms budget. Cover recursive header diagnostics, malformed and unsupported macros, and retained facts on all three targets. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 26213770-7ef5-40d1-b93c-93707612f5ef
Retain exact native identities and compiler provenance when constants are owned by logical header groups, ordinary source enums, or projected fields. Keep native scalar dependency storage independent of projected group storage and preserve independent legacy expressions and ordinary default behavior. Include the qualified generic typedef and function-pointer lowering repairs, constant-selection transport, diagnostics, regression coverage, and spec updates. Do not import SDK migration patches or the held EnumStorage work. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 26213770-7ef5-40d1-b93c-93707612f5ef
Match the published forward-only void-pointer storage contract while retaining complete and empty record checks, exact pointer signatures and API alias identity. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 26213770-7ef5-40d1-b93c-93707612f5ef
Read supported simple macro values with the existing constants scanner. Evaluate unresolved value expressions in an isolated Clang translation unit, without probing structural or declaration fragments. Preserve native target storage, active definitions, aliases, ownership and diagnostic provenance. Require every planned root probe and compiler-backed type-operand ownership. Keep rejected UUID operands explicit and reject unrelated escaped declarations. Retain semantic provider discovery while sharing generated syntax roots and counting immutable native diagnostics once. Add opt-in generation timing and targeted route, containment, dependency and public-output controls. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 26213770-7ef5-40d1-b93c-93707612f5ef
Avoid semantic provider queries for reserved predefined C# types and their pointer/array wrappers. Keep named types, aliases, inferred types and custom pointees compiler-bound, and retain original immutable bindings for projection validation. Scope companion member ownership before qualified-name work and reuse native file/name materialization without changing capture or parsing. Add work-count and custom-pointee controls. The actual default-output census avoids 791242 of 1615689 provider queries; this is not a timing acceptance. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 26213770-7ef5-40d1-b93c-93707612f5ef
Share native cursor identities and resolve selected managed declaration paths without eagerly constructing the complete ClangSharp child graph. Preserve native recovery, dependency validation, traversal order, canonical storage checks, and the full semantic provider analysis. Split the header-annotation WinMD tests into independent concrete classes over a test-free abstract helper so xUnit can schedule the existing cases concurrently. Preserve existing test bodies and opt-in coverage. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 26213770-7ef5-40d1-b93c-93707612f5ef
Replace the expanded native integration matrix with synthetic-header contract batches that share scraper inputs and physical metadata emissions. Remove the superseded migration and per-case native fixtures, and update the structural guard for the batched suite. Keep the ordinary test runner's project arguments, order and error handling. Add built-in detailed console and suite-specific TRX logging under bin\logs. No production scraper/emitter, SDK inputs, workflow or timeout is changed. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 26213770-7ef5-40d1-b93c-93707612f5ef
Bind retained native facts to the recorded prepared SDK payload and source identity before accepting direct or relocated headers. Preserve independent validation failures across native, constants and managed generation without authorizing incomplete output or legacy fallback for invalid inputs. Validate producer receipts before transformation, continue later independent proof checks in rejected inputs, and keep successful legacy receipts valid. Compare constant types and literal payloads independently in WinmdUtils. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 26213770-7ef5-40d1-b93c-93707612f5ef
Distinguish SDK-created conventional settings from explicit caller inputs. Allow absent implicit defaults while retaining contextual rejection of explicit missing files and malformed settings. Extend the existing compact default-path regression through the real SDK properties and targets, including removal of previously present defaults. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 26213770-7ef5-40d1-b93c-93707612f5ef
Record anticipated generated-source deletion failures through the existing validation path, retaining their original causes and continuing independent input checks without compiling stale auto-types or publishing a new image. Extend the existing strict locked-file regression and document the diagnostics. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 26213770-7ef5-40d1-b93c-93707612f5ef
Authorize external headers from explicitly selected include roots and exact planned input owners. Preserve strict SDK, source and header hash validation, rejecting missing or ambiguous ownership. Bind incremental constants reuse to physical header content and the independently generated ownership plan. Cover authorization and actual task invalidation with focused managed regressions. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 26213770-7ef5-40d1-b93c-93707612f5ef
Compose callback-dependent owners per architecture and retain exact local callback targets, including native aliases resolved within their full scope. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 26213770-7ef5-40d1-b93c-93707612f5ef
Preserve written scalar and pointer aliases transitively, including referenced dependencies and actual inline record pointees. Retire the public NativeTypedef annotation while keeping authored metadata opt-in and intrinsic ABI mappings. Compose the reviewed transitive struct identity and GUID/scalar/UCHAR fixes. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 26213770-7ef5-40d1-b93c-93707612f5ef
Limit inferred wrappers to supported scalar and data-pointer shapes outside template-owned declarations. Preserve ordinary array/dependent binding and strict concrete pointer-width/intrinsic validation. Cover the actual SDK forms in the existing native batch and remove impossible nullable processor branches. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 26213770-7ef5-40d1-b93c-93707612f5ef
Back non-target-width data pointers with compiler-sized unsigned storage while retaining nominal aliases and written native provenance. Keep incompatible explicit storage mappings and mismatched opaque-provider widths rejecting. Respect parser-disabled native enums and existing opaque-handle ownership. Preserve primitive/keyword identities and distinguish synthesized buffers from their enclosing native records without relaxing source-identity validation. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 26213770-7ef5-40d1-b93c-93707612f5ef
Resolve named nominal and provider pointees through their written native aliases, retaining effective owned storage and physical width/alignment checks. Accept intrinsic integer pointees without inventing another native pointer layer. Keep unrelated nominal identities, incompatible CLR storage and narrowing opaque-provider mappings rejecting in the existing native batch. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 26213770-7ef5-40d1-b93c-93707612f5ef
Resolve canonical native owners for shared typedef declarators and authored opaque provider views while retaining pointer width and identity validation. Preserve validated pointer remaps and native source transport through retained provider composition. Compare nominal native backing without flattening emitted aliases, retaining same-width integral resource encodings only under the existing close-function and invalid-value contract. Extend the existing native batch with sibling/provider storage and negative controls. Keep incompatible primitive mappings and provider narrowing rejecting. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 26213770-7ef5-40d1-b93c-93707612f5ef
Select native redeclarations before deduplicating owner identities, and prove secondary ownership through the written native typedef chain. Preserve existing excluded complete POD integer providers only with coherent tag ownership and matching single-field storage, signedness, width, offset and alignment. Extend the existing native batch with the three residual generic shapes and complete-provider narrowing and incompatible-storage controls. Preserve ordinary intrinsic/provider behavior, nominal fields and parameters, fixed-width pointer storage and all existing incompatible primitive and wrong-owner rejections. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 26213770-7ef5-40d1-b93c-93707612f5ef
Compare each fragment's validated native backing before lowering fixed-integer constants. Preserve retained field encoding, public alias chains, nominal API parameters and returns, and existing incompatible-storage rejection. Extend the existing four scalar controls with repeated native and retained providers, two-level backing chains and physical metadata assertions. Retain strict signedness, width and floating-storage negatives. Namespace routing, syntax preflight, native export and SDK/API inputs are unchanged. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 26213770-7ef5-40d1-b93c-93707612f5ef
Use the already source-bound native variable and original translation unit to preserve fixed-integer conversion bits in generated constant initializers. Keep nominal field types and source transport. Leave managed emission's invalid casts, overflow and conflicting storage validation unchanged. Extend the existing native control with character-to-byte and negative-to- unsigned constants, native static assertions and physical metadata payload checks in its four existing architecture/mode cases. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 26213770-7ef5-40d1-b93c-93707612f5ef
Select traversed and required logical-group owners consistently in ordinary bindings and constants-only annotation export. Discover the same native typedef dependencies before exporting constants-only group declarations. Select compiler include roots through a shared strict prerequisite for both header and constant targets. Independently validate the cold SkipScraping consumer rather than trusting retained ownership files or a skipped header task's output. Use the same roots for native compilation, name scanning and constant ownership, and track them in native incremental state. Let native Windows PowerShell construct its own module path. Extend the existing constant-selection controls with external required and redeclared owners, constants-only exports and actual SDK targets in separate producer/consumer MSBuild processes. Preserve invalid-auto, explicit-valid and relative-root controls in both normal and cold paths. Keep binding and physical-header checks strict. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 26213770-7ef5-40d1-b93c-93707612f5ef
Compare complete architecture provider-signature sets before callback identity binding. Preserve distinct source fragments through variant deduplication so strict nominal owner/storage composition sees every provider. Keep checked Single selection and reject conflicting native aliases instead of dropping fragments. Compare header-only integer provider chains through their exact terminal fixed-integer backing without rewriting nominal storage. Preserve retained provider, signedness, owner and cycle constraints. Recognize only an explicitly remapped, source-bound native enum as owner of its matching inferred scalar typedef. Request native source-location identity for this path even without authored annotations or record pointees. Preserve native width/alignment and invalid pointer/float/wider-storage rejection. Add managed architecture/provider-placement controls and extend the existing native typedef fixture with enum-only and storage controls. Leave default fixture cost optimization and fresh-process root-wiring tests separate. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 26213770-7ef5-40d1-b93c-93707612f5ef
Reuse one native input per architecture for independent discovery/storage errors and retain enum-projection errors in their own later-phase batch. Assert every exact named diagnostic so one failure cannot hide another. Keep all four positive mode/architecture cases, six physical images, fixed-pointer storage/ABI assertions and the standalone enum-only positive. Leave all production and fresh-process compiler-root tests unchanged. The bounded paired four-CPU fixture uses10 rather than20 scraper processes and still emits6 physical images. Its test time is21.3783405s before versus 14.4662810s after; normal command time including build is40.4650134s versus 36.4718414s. These are not complete-default or SDK timing claims. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 26213770-7ef5-40d1-b93c-93707612f5ef
Scope
Generic header-annotation, constant-selection and cross-architecture metadata tooling, independently scoped from the SDK/header migration in #2365. The canonical annotation helper and SAL bootstrap are tooling infrastructure. No API header/IDL pilot patches, SDK replacement, migration recipe, API-specific workaround or mass sidecar retirement is included. Earlier descriptions are preserved in the owning session.
Current qualification
Published head
ced6964abf13860760051d1e39962689c19f6a98, sole parent5a6430584219edb2f0f5764b7cff5f6a1607736e, tree28bc7643e1a7350eb6ea4f0a55e38e45eee1de23, published by guarded normal fast-forward. This final successor changes onlyAutomaticTypedefPrototypeTests.cs. The preceding eight-path callback/enum-provider correction is published as5a6430584219edb2f0f5764b7cff5f6a1607736e, tree3c1ea5d1237d4b7b0c78999a8166f03cefd71297, sole parenta2864206c1ba768a1d804130288d749482ee09ca.Changed-head ordinary SDK CI failed: PR Validation 40721494889, the automatic
pull_requestrun for exactced6964, completed with failure at 2026-10-28 16:51:32 UTC. Workflow checks and all three native scrapes passed. Consumer job122955719686failed during metadata emission atemitter.typedef-compositionwith 47 unique CSSW005 type/diagnostic entries: 24 storage conflicts, 17 Value-field metadata rejections, two unresolved storage bindings, two architecture-coverage rejections, one duplicate HRESULT projection and one retained-provider overlap. These are diagnostic categories, not a count of independent root causes. Its ordinary tests did not qualify this head. The existing managed replay reproduces all 47 primary entries exactly through the normal consumer targets, actual archived generated inputs, routing and reference construction. A generic correction is being validated locally; no successor has been published.The preceding callback head's 40719354495 passed x64 and Arm64, but x86 was cancelled after successor publication. That is neither a new code failure nor full callback CI success. No current image, complete-default, package, sample, full-SDK or gap acceptance is claimed.
The callback correction compares complete architecture provider-signature sets, preserves distinct scoped fragments through deduplication and keeps checked
Singleselection and strict nominal composition. Header-only providers require identical terminal fixed-integer backing. An inferred alias can share an explicitly remapped native enum projection only through its actual source-bound owner and compatible native storage; source-location identity is requested even for enum-only ordinary input. The matched-parent controls fail at checkedSinglein all 16 managed cases and with two nativeCS0101errors. The final same-test managed controls pass 16/16, and the full emitter suite passes 574/574. All three genuine production analyzer Rebuilds pass with zero warnings/errors.The full scraper attempt remains 134/135, with its sole failure caused by missing standard
BuildTools.proj.nuget.g.propspreparation. Normaldotnet build BuildTools -c Releasegenerated that input, and only the failed Fact was rerun and passed. This is not relabeled a fresh full 135/135 run. The ordinary utility suite passes 206/206 and the existing Python SDK annotation-coverage auditor suite passes 26/26. These results precede the separate test-only cost change and remain image-independent source qualifications. The exact final callback native proof is the passing AutomaticTypedef row in that full scraper attempt; earlier native evidence is supporting evidence, not an identical eight-file source run. All executed sources and normal Git CRLF-to-LF staging qualifications remain explicit.The separate one-file fixture optimization batches independent negative declarations, asserting all 13 exact named diagnostics in three phase-separated inputs. Four positive mode/architecture cases, both fixed-width physical/storage proofs, six physical images and standalone enum-only coverage remain. The fresh-process compiler-root Fact is unchanged. The bounded four-CPU before/after pair passes: 20 to 10 scraper child processes, 6 to 6 physical image emissions, 21.3783405s to 14.4662810s Fact time, and 40.4650134s to 36.4718414s complete command time including normal build. These measurements do not establish complete-default or annotated-SDK performance.
Historical
a28642040705453741 passed all three native scrapes, then failed during metadata emission at the callback dependency boundary; its Run tests step was skipped. The preceding compiler-root/provider correction retains actual SDK-target tests in separate producer/consumer MSBuild processes, independent compiler selection, corrupted retained-ownership replacement, exact physical header/hash/value and invalid-auto/explicit-valid/relative-root controls. Historical2624440687436369 also failed at the callback boundary after three successful native scrapes. Historical7c4440670990199 failed on nominal HRESULT backing; subsequent fixes preserve nominal storage and compiler-evaluated fixed-integer bits. Later numeric-namespace diagnostics were secondary syntax collection, not grounds for a namespace patch or preflight bypass.Earlier
4c2772passed 40591416271: all six jobs, 924 ordinary tests in the observed 203-second step (186 utility, 556 emitter, 129 scraper, 27 WinMD integrity, 26 Python), and 47 separate workflow tests. It cannot qualify this head. Its last-release comparison reported unknown differences; image equivalence is not inferred. Other failed/cancelled runs and the retained-private scraper attempt with two missing-extraction-input failures remain failed or cancelled. No stale or migration image, filtered default invocation or relaxed test is used.Tooling changes and preserved behavior
--traverse. Required dependency projection remains separate from emission ownership. Real record/enum declarations retain ordinary projection; incomplete records remain empty records. Callback discovery remains separate. The publicNativeTypedefinput fact/helper is retired and rejected; emittedNativeTypedefAttributeremains the identity contract.uint/ulong) for a non-target-width data-pointer level, retaining nominal chains, ordinary outer pointers and native provenance. Capture canonical physical width before unwrapping attributes. Incompatible explicit CLR storage or unsupported width/alignment rejects. Native compiler storage and direct parameter/return feasibility was checked in both width directions; CLR-runtime acceptance is not inferred.NativeTypedef,RAIIFreeandInvalidHandleValuecontract. This is not an IntPtr/UIntPtr, ordinary integer, incompatible-width or explicit native-storage-remap exception. One semantically resolved stringNativeTypeNamesource-transport field attribute is accepted without relaxing other field/storage checks.SkipScraping=true. Use the selected roots consistently for compilation, name scanning, ownership and incremental state. Retained ownership JSON is not an independently authoritative compiler selection. Invalid automatic roots and relative explicit roots reject; valid explicit roots remain supported.IntPtr/UIntPtrABI checks.NATIVE_GUID_COLLISIONand provenance; legitimate GUID deduplication remains. Legacy signed UCHAR macro casts wrap explicitly to bytes.No dependency upgrade, native test-inventory relaxation, warning suppression, timeout increase or API-name inference allowlist is included.
Preserved contracts
--config parse-win32-annotationsremains opt-in; native field-array inference remains separately default-off. Legacy/default RSP/JSON facts, manual C# inputs and optional documentation mapping remain supported. Explicit missing/malformed inputs, conflicting facts, ambiguous ownership and invalid native representations reject rather than producing partial or fallback metadata.Selected native inputs require independently configured include roots and exact planned source, architecture, namespace, traversal and current physical header/content identity. Roots are not inferred from macro names, basenames or values. Incremental reuse remains content-bound. Existing typed diagnostics, independent failure accumulation, completed-receipt validation and atomic output publication remain intact. Stale source or rejected selections cannot publish an image.
The names file remains a query index, not an all-name probe list. Supported simple constants use shared scanners; genuine unresolved scalar expressions use a separate Clang value translation unit. Structural fragments are not scalar-probed. Native spelling, source/namespace ownership, logical groups, native scoped enums, synthetic unscoped groups, primitive versus projected storage, and native-versus-legacy provenance remain distinct. Generated C#
NativeTypeNameremains source transport consumed by the ordinary emitter; no public WinMDNativeTypeNameattribute is added.Typedef/function-pointer composition preserves qualified identity, native qualifiers, pointer depth and calling convention. Bare function typedefs receive only their first pointer reduction. Real complete/empty records, incomplete native backing records, raw pointers and opaque aliases remain distinct. No blanket pointer equivalence, native-type flattening, source/WinMD fallback or per-API override is introduced.
PreserveResult still lowers to CLR PreserveSig on free functions, interface methods and callback Invoke without changing ordinary methods or callback constructors. Existing SAL composition and original-IDL limitations remain explicit. No blanket SetLastError, packing or PreserveSig restoration is added.
Authoritative SDK import discovery precedes DLL overrides. Existing manual/forward/QI provider ownership, legacy enum ownership, architecture overlaps and compatible-provider coalescing remain unchanged. Authored member remaps still win; compiler-proven macro-selected OLD member identity remains a declaration-identity rule, not an ABI inference. UNICODE remains shared across parse/bind/constants/recovery with explicit
-UUNICODEprecedence; proven A/W recovery remains bounded.MIDL producer identity, current tool/preparation validation, established SAL and explicit-local/plain-pointer semantics remain unchanged. No MIDL diagnostic suppression or
/WXchange is included.Separate migration and PR state
SDK header/IDL cleanup, PBI header annotations, full annotated-SDK generation, original native evidence, physical ABI/QI grading and fresh OLD-to-NEW gap evaluation remain in #2365 and its qualification. Current source fixes do not confer actual new-head image, default or gap acceptance. Historical failed/rejected runs and immutable control images remain retained.
Native stack2385 remains #2363 below #2365, with existing bases and draft states. Only this lower head was fast-forwarded. No restack, rebase, force-push, merge, draft conversion, Agent merge or upper-head change was performed. Review and merge decisions remain with the user.
See the annotation specification, constant contracts, migration playbook, native const contracts, generation options and diagnostics, and recorded decisions.