From 5ee08f3095ba18cfc848f5cd8fa5106e35c52d0d Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 12 Feb 2026 17:44:48 +0000 Subject: [PATCH 1/7] Initial plan From 9e27a5b2401803cb65d83c3f9edb34e0e01be8c4 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 12 Feb 2026 17:49:53 +0000 Subject: [PATCH 2/7] Add RAIIFree metadata for AvSetMmThreadCharacteristics functions Co-authored-by: jevansaks <20667023+jevansaks@users.noreply.github.com> --- generation/WinSDK/emitter.settings.rsp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/generation/WinSDK/emitter.settings.rsp b/generation/WinSDK/emitter.settings.rsp index 5c752069..6b070041 100644 --- a/generation/WinSDK/emitter.settings.rsp +++ b/generation/WinSDK/emitter.settings.rsp @@ -624,6 +624,10 @@ IAgileReference::Resolve::ppvObjectReference=[ComOutPtr] OpenVirtualDisk::return=WIN32_ERROR CreateVirtualDisk::return=WIN32_ERROR AttachVirtualDisk::return=WIN32_ERROR +AvSetMmMaxThreadCharacteristicsA::return=[RAIIFree("AvRevertMmThreadCharacteristics")] +AvSetMmMaxThreadCharacteristicsW::return=[RAIIFree("AvRevertMmThreadCharacteristics")] +AvSetMmThreadCharacteristicsA::return=[RAIIFree("AvRevertMmThreadCharacteristics")] +AvSetMmThreadCharacteristicsW::return=[RAIIFree("AvRevertMmThreadCharacteristics")] DetachVirtualDisk::return=WIN32_ERROR GetVirtualDiskPhysicalPath::return=WIN32_ERROR GetAllAttachedVirtualDiskPhysicalPaths::return=WIN32_ERROR From 69dca8bcfae43f1d02167db789c966caa95811fc Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 12 Feb 2026 17:54:06 +0000 Subject: [PATCH 3/7] Add RAIIFree metadata for HttpCreateRequestQueue Co-authored-by: jevansaks <20667023+jevansaks@users.noreply.github.com> --- generation/WinSDK/emitter.settings.rsp | 1 + 1 file changed, 1 insertion(+) diff --git a/generation/WinSDK/emitter.settings.rsp b/generation/WinSDK/emitter.settings.rsp index 6b070041..1db5059b 100644 --- a/generation/WinSDK/emitter.settings.rsp +++ b/generation/WinSDK/emitter.settings.rsp @@ -1003,6 +1003,7 @@ HttpAddFragmentToCache::Overlapped=[In][Out][Optional][Retained] HttpCancelHttpRequest::Overlapped=[In][Out][Optional][Retained] HttpCreateRequestQueue::Flags=[Optional] HttpCreateRequestQueue::Name=[Optional] +HttpCreateRequestQueue::RequestQueueHandle=[RAIIFree("HttpCloseRequestQueue")] HttpCreateRequestQueue::SecurityAttributes=[Optional] HttpFlushResponseCache::Overlapped=[In][Out][Optional][Retained] HttpReadFragmentFromCache::ByteRange=[Optional] From bdd3ca68f22460796c5e87795b3f48093cf29b88 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 12 Feb 2026 18:01:11 +0000 Subject: [PATCH 4/7] Add custom handle types for AvSetMmThreadCharacteristics and HttpCreateRequestQueue Co-authored-by: jevansaks <20667023+jevansaks@users.noreply.github.com> --- generation/WinSDK/autoTypes.json | 16 ++++++++++++++++ generation/WinSDK/emitter.settings.rsp | 12 +++++++----- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/generation/WinSDK/autoTypes.json b/generation/WinSDK/autoTypes.json index 0f41cb92..56d6bf26 100644 --- a/generation/WinSDK/autoTypes.json +++ b/generation/WinSDK/autoTypes.json @@ -678,6 +678,14 @@ "InvalidHandleValues": [ -1, 0 ], "NativeTypedef": true }, + { + "Namespace": "Windows.Win32.System.Threading", + "Name": "AVRT_TASK_HANDLE", + "ValueType": "void*", + "CloseApi": "AvRevertMmThreadCharacteristics", + "InvalidHandleValues": [ 0 ], + "NativeTypedef": false + }, { "Namespace": "Windows.Win32.Devices.DeviceAndDriverInstallation", "Name": "HCMNOTIFICATION", @@ -999,6 +1007,14 @@ "InvalidHandleValues": [ -1, 0 ], "NativeTypedef": true }, + { + "Namespace": "Windows.Win32.Networking.HttpServer", + "Name": "HTTP_REQUEST_QUEUE_HANDLE", + "ValueType": "void*", + "CloseApi": "HttpCloseRequestQueue", + "InvalidHandleValues": [ 0 ], + "NativeTypedef": false + }, { "Namespace": "Windows.Win32.Globalization", "Name": "HSAVEDUILANGUAGES", diff --git a/generation/WinSDK/emitter.settings.rsp b/generation/WinSDK/emitter.settings.rsp index 1db5059b..0f4f13fb 100644 --- a/generation/WinSDK/emitter.settings.rsp +++ b/generation/WinSDK/emitter.settings.rsp @@ -624,10 +624,11 @@ IAgileReference::Resolve::ppvObjectReference=[ComOutPtr] OpenVirtualDisk::return=WIN32_ERROR CreateVirtualDisk::return=WIN32_ERROR AttachVirtualDisk::return=WIN32_ERROR -AvSetMmMaxThreadCharacteristicsA::return=[RAIIFree("AvRevertMmThreadCharacteristics")] -AvSetMmMaxThreadCharacteristicsW::return=[RAIIFree("AvRevertMmThreadCharacteristics")] -AvSetMmThreadCharacteristicsA::return=[RAIIFree("AvRevertMmThreadCharacteristics")] -AvSetMmThreadCharacteristicsW::return=[RAIIFree("AvRevertMmThreadCharacteristics")] +AvRevertMmThreadCharacteristics::AvrtHandle=AVRT_TASK_HANDLE +AvSetMmMaxThreadCharacteristicsA::return=AVRT_TASK_HANDLE +AvSetMmMaxThreadCharacteristicsW::return=AVRT_TASK_HANDLE +AvSetMmThreadCharacteristicsA::return=AVRT_TASK_HANDLE +AvSetMmThreadCharacteristicsW::return=AVRT_TASK_HANDLE DetachVirtualDisk::return=WIN32_ERROR GetVirtualDiskPhysicalPath::return=WIN32_ERROR GetAllAttachedVirtualDiskPhysicalPaths::return=WIN32_ERROR @@ -1001,9 +1002,10 @@ IDCompositionDevice::GetFrameStatistics::statistics=[RetVal] IDCompositionDevice2::GetFrameStatistics::statistics=[RetVal] HttpAddFragmentToCache::Overlapped=[In][Out][Optional][Retained] HttpCancelHttpRequest::Overlapped=[In][Out][Optional][Retained] +HttpCloseRequestQueue::RequestQueueHandle=HTTP_REQUEST_QUEUE_HANDLE HttpCreateRequestQueue::Flags=[Optional] HttpCreateRequestQueue::Name=[Optional] -HttpCreateRequestQueue::RequestQueueHandle=[RAIIFree("HttpCloseRequestQueue")] +HttpCreateRequestQueue::RequestQueueHandle=HTTP_REQUEST_QUEUE_HANDLE* HttpCreateRequestQueue::SecurityAttributes=[Optional] HttpFlushResponseCache::Overlapped=[In][Out][Optional][Retained] HttpReadFragmentFromCache::ByteRange=[Optional] From 549d4f144a4ff0e4dbb844e3078a8ba17461398c Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 12 Feb 2026 18:05:17 +0000 Subject: [PATCH 5/7] Add remaining AVRT handle mappings and thread ordering group handle type Co-authored-by: jevansaks <20667023+jevansaks@users.noreply.github.com> --- generation/WinSDK/autoTypes.json | 8 ++++++++ generation/WinSDK/emitter.settings.rsp | 9 +++++++++ 2 files changed, 17 insertions(+) diff --git a/generation/WinSDK/autoTypes.json b/generation/WinSDK/autoTypes.json index 56d6bf26..4bd05fe3 100644 --- a/generation/WinSDK/autoTypes.json +++ b/generation/WinSDK/autoTypes.json @@ -686,6 +686,14 @@ "InvalidHandleValues": [ 0 ], "NativeTypedef": false }, + { + "Namespace": "Windows.Win32.System.Threading", + "Name": "AVRT_THREAD_ORDERING_GROUP_HANDLE", + "ValueType": "void*", + "CloseApi": "AvRtDeleteThreadOrderingGroup", + "InvalidHandleValues": [ 0 ], + "NativeTypedef": false + }, { "Namespace": "Windows.Win32.Devices.DeviceAndDriverInstallation", "Name": "HCMNOTIFICATION", diff --git a/generation/WinSDK/emitter.settings.rsp b/generation/WinSDK/emitter.settings.rsp index 0f4f13fb..2335d009 100644 --- a/generation/WinSDK/emitter.settings.rsp +++ b/generation/WinSDK/emitter.settings.rsp @@ -624,11 +624,20 @@ IAgileReference::Resolve::ppvObjectReference=[ComOutPtr] OpenVirtualDisk::return=WIN32_ERROR CreateVirtualDisk::return=WIN32_ERROR AttachVirtualDisk::return=WIN32_ERROR +AvQuerySystemResponsiveness::AvrtHandle=AVRT_TASK_HANDLE AvRevertMmThreadCharacteristics::AvrtHandle=AVRT_TASK_HANDLE +AvRtCreateThreadOrderingGroup::Context=AVRT_THREAD_ORDERING_GROUP_HANDLE* +AvRtCreateThreadOrderingGroupExA::Context=AVRT_THREAD_ORDERING_GROUP_HANDLE* +AvRtCreateThreadOrderingGroupExW::Context=AVRT_THREAD_ORDERING_GROUP_HANDLE* +AvRtDeleteThreadOrderingGroup::Context=AVRT_THREAD_ORDERING_GROUP_HANDLE +AvRtJoinThreadOrderingGroup::Context=AVRT_THREAD_ORDERING_GROUP_HANDLE* +AvRtLeaveThreadOrderingGroup::Context=AVRT_THREAD_ORDERING_GROUP_HANDLE +AvRtWaitOnThreadOrderingGroup::Context=AVRT_THREAD_ORDERING_GROUP_HANDLE AvSetMmMaxThreadCharacteristicsA::return=AVRT_TASK_HANDLE AvSetMmMaxThreadCharacteristicsW::return=AVRT_TASK_HANDLE AvSetMmThreadCharacteristicsA::return=AVRT_TASK_HANDLE AvSetMmThreadCharacteristicsW::return=AVRT_TASK_HANDLE +AvSetMmThreadPriority::AvrtHandle=AVRT_TASK_HANDLE DetachVirtualDisk::return=WIN32_ERROR GetVirtualDiskPhysicalPath::return=WIN32_ERROR GetAllAttachedVirtualDiskPhysicalPaths::return=WIN32_ERROR From e0a187ce121bbebce2f6327f82114b07a066e028 Mon Sep 17 00:00:00 2001 From: Jevan Saks Date: Thu, 12 Feb 2026 11:27:56 -0800 Subject: [PATCH 6/7] Update changes txt --- scripts/ChangesSinceLastRelease.txt | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/scripts/ChangesSinceLastRelease.txt b/scripts/ChangesSinceLastRelease.txt index e88e365e..8433a94e 100644 --- a/scripts/ChangesSinceLastRelease.txt +++ b/scripts/ChangesSinceLastRelease.txt @@ -65,3 +65,23 @@ Windows.Win32.NetworkManagement.WindowsFilteringPlatform.IPSEC_SA_CONTEXT_ENUM_H Windows.Win32.NetworkManagement.WindowsFilteringPlatform.IPSEC_SA_ENUM_HANDLE added # Make ITfCandidateListUIElement::GetPageIndex pIndex parameter optional Windows.Win32.UI.TextServices.ITfCandidateListUIElement.GetPageIndex : pIndex : [NativeArrayInfo(CountParamIndex=1),Out] => [NativeArrayInfo(CountParamIndex=1),Optional,Out] +# Add synthetic handles for Av* and Http APIs +Windows.Win32.Networking.HttpServer.Apis.HttpCloseRequestQueue : RequestQueueHandle...HANDLE => HTTP_REQUEST_QUEUE_HANDLE +Windows.Win32.Networking.HttpServer.Apis.HttpCreateRequestQueue : RequestQueueHandle...HANDLE* => HTTP_REQUEST_QUEUE_HANDLE* +Windows.Win32.Networking.HttpServer.HTTP_REQUEST_QUEUE_HANDLE added +Windows.Win32.System.Threading.Apis.AvQuerySystemResponsiveness : AvrtHandle...HANDLE => AVRT_TASK_HANDLE +Windows.Win32.System.Threading.Apis.AvRevertMmThreadCharacteristics : AvrtHandle...HANDLE => AVRT_TASK_HANDLE +Windows.Win32.System.Threading.Apis.AvRtCreateThreadOrderingGroup : Context...HANDLE* => AVRT_THREAD_ORDERING_GROUP_HANDLE* +Windows.Win32.System.Threading.Apis.AvRtCreateThreadOrderingGroupExA : Context...HANDLE* => AVRT_THREAD_ORDERING_GROUP_HANDLE* +Windows.Win32.System.Threading.Apis.AvRtCreateThreadOrderingGroupExW : Context...HANDLE* => AVRT_THREAD_ORDERING_GROUP_HANDLE* +Windows.Win32.System.Threading.Apis.AvRtDeleteThreadOrderingGroup : Context...HANDLE => AVRT_THREAD_ORDERING_GROUP_HANDLE +Windows.Win32.System.Threading.Apis.AvRtJoinThreadOrderingGroup : Context...HANDLE* => AVRT_THREAD_ORDERING_GROUP_HANDLE* +Windows.Win32.System.Threading.Apis.AvRtLeaveThreadOrderingGroup : Context...HANDLE => AVRT_THREAD_ORDERING_GROUP_HANDLE +Windows.Win32.System.Threading.Apis.AvRtWaitOnThreadOrderingGroup : Context...HANDLE => AVRT_THREAD_ORDERING_GROUP_HANDLE +Windows.Win32.System.Threading.Apis.AvSetMmMaxThreadCharacteristicsA : return...HANDLE => AVRT_TASK_HANDLE +Windows.Win32.System.Threading.Apis.AvSetMmMaxThreadCharacteristicsW : return...HANDLE => AVRT_TASK_HANDLE +Windows.Win32.System.Threading.Apis.AvSetMmThreadCharacteristicsA : return...HANDLE => AVRT_TASK_HANDLE +Windows.Win32.System.Threading.Apis.AvSetMmThreadCharacteristicsW : return...HANDLE => AVRT_TASK_HANDLE +Windows.Win32.System.Threading.Apis.AvSetMmThreadPriority : AvrtHandle...HANDLE => AVRT_TASK_HANDLE +Windows.Win32.System.Threading.AVRT_TASK_HANDLE added +Windows.Win32.System.Threading.AVRT_THREAD_ORDERING_GROUP_HANDLE added From 24385b9b7ea29e322522e3a4fb2c0bd02a23709e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 12 Feb 2026 19:30:54 +0000 Subject: [PATCH 7/7] Merge main and resolve conflicts in ChangesSinceLastRelease.txt Co-authored-by: jevansaks <20667023+jevansaks@users.noreply.github.com> --- generation/WinSDK/emitter.settings.rsp | 4 +++- scripts/ChangesSinceLastRelease.txt | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/generation/WinSDK/emitter.settings.rsp b/generation/WinSDK/emitter.settings.rsp index 2335d009..26a9526d 100644 --- a/generation/WinSDK/emitter.settings.rsp +++ b/generation/WinSDK/emitter.settings.rsp @@ -2382,4 +2382,6 @@ IPsecSaCreateEnumHandle0::enumHandle=IPSEC_SA_ENUM_HANDLE* IPsecSaEnum0::enumHandle=IPSEC_SA_ENUM_HANDLE IPsecSaEnum1::enumHandle=IPSEC_SA_ENUM_HANDLE IPsecSaDestroyEnumHandle0::enumHandle=IPSEC_SA_ENUM_HANDLE -ITfCandidateListUIElement::GetPageIndex::pIndex=[Optional] \ No newline at end of file +ITfCandidateListUIElement::GetPageIndex::pIndex=[Optional] +RasEnumConnectionsA::param0=[NativeArrayInfo(CountParamIndex = 2), MemorySize(BytesParamIndex = 1)] +RasEnumConnectionsW::param0=[NativeArrayInfo(CountParamIndex = 2), MemorySize(BytesParamIndex = 1)] \ No newline at end of file diff --git a/scripts/ChangesSinceLastRelease.txt b/scripts/ChangesSinceLastRelease.txt index 8433a94e..9d7a74d4 100644 --- a/scripts/ChangesSinceLastRelease.txt +++ b/scripts/ChangesSinceLastRelease.txt @@ -85,3 +85,6 @@ Windows.Win32.System.Threading.Apis.AvSetMmThreadCharacteristicsW : return...HAN Windows.Win32.System.Threading.Apis.AvSetMmThreadPriority : AvrtHandle...HANDLE => AVRT_TASK_HANDLE Windows.Win32.System.Threading.AVRT_TASK_HANDLE added Windows.Win32.System.Threading.AVRT_THREAD_ORDERING_GROUP_HANDLE added +# Annotate RasEnumConnections function parameters +Windows.Win32.NetworkManagement.Rras.Apis.RasEnumConnectionsA : param0 : [In,Optional,Out] => [In,MemorySize(BytesParamIndex=1),NativeArrayInfo(CountParamIndex=2),Optional,Out] +Windows.Win32.NetworkManagement.Rras.Apis.RasEnumConnectionsW : param0 : [In,Optional,Out] => [In,MemorySize(BytesParamIndex=1),NativeArrayInfo(CountParamIndex=2),Optional,Out]