diff --git a/mingw-w64-headers/Makefile.in b/mingw-w64-headers/Makefile.in
index 2492b70..10860e2 100644
--- a/mingw-w64-headers/Makefile.in
+++ b/mingw-w64-headers/Makefile.in
@@ -458,6 +458,7 @@
 @HAVE_WIDL_TRUE@  include/fusion.idl \
 @HAVE_WIDL_TRUE@  include/fwptypes.idl \
 @HAVE_WIDL_TRUE@  include/hstring.idl \
+@HAVE_WIDL_TRUE@  include/httprequest.idl \
 @HAVE_WIDL_TRUE@  include/icftypes.idl \
 @HAVE_WIDL_TRUE@  include/icodecapi.idl \
 @HAVE_WIDL_TRUE@  include/iketypes.idl \
diff --git a/mingw-w64-headers/include/d3d8.h b/mingw-w64-headers/include/d3d8.h
index f29bb46..72e7a7c 100644
--- a/mingw-w64-headers/include/d3d8.h
+++ b/mingw-w64-headers/include/d3d8.h
@@ -1115,7 +1115,7 @@
 #define IDirect3DDevice8_DrawIndexedPrimitive(p,a,b,c,d,e)         (p)->DrawIndexedPrimitive(a,b,c,d,e)
 #define IDirect3DDevice8_DrawPrimitiveUP(p,a,b,c,d)                (p)->DrawPrimitiveUP(a,b,c,d)
 #define IDirect3DDevice8_DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h) (p)->DrawIndexedPrimitiveUP(a,b,c,d,e,f,g,h)
-#define IDirect3DDevice8_ProcessVertices(p,a,b,c,d,e)              (p)->processVertices(a,b,c,d,e)
+#define IDirect3DDevice8_ProcessVertices(p,a,b,c,d,e)              (p)->ProcessVertices(a,b,c,d,e)
 #define IDirect3DDevice8_CreateVertexShader(p,a,b,c,d)             (p)->CreateVertexShader(a,b,c,d)
 #define IDirect3DDevice8_SetVertexShader(p,a)                      (p)->SetVertexShader(a)
 #define IDirect3DDevice8_GetVertexShader(p,a)                      (p)->GetVertexShader(a)
diff --git a/mingw-w64-headers/include/d3d8caps.h b/mingw-w64-headers/include/d3d8caps.h
index 469dace..345884f 100644
--- a/mingw-w64-headers/include/d3d8caps.h
+++ b/mingw-w64-headers/include/d3d8caps.h
@@ -20,7 +20,7 @@
 #define __WINE_D3D8CAPS_H
 
 #ifdef __i386__
-#include <pshpack4.h>
+#pragma pack(push,4)
 #endif
 
 /*
@@ -290,7 +290,7 @@
 } D3DCAPS8;
 
 #ifdef __i386__
-#include <poppack.h>
+#pragma pack(pop)
 #endif
 
 #endif  /* __WINE_D3D8CAPS_H */
diff --git a/mingw-w64-headers/include/d3d8types.h b/mingw-w64-headers/include/d3d8types.h
index 9182861..64a5727 100644
--- a/mingw-w64-headers/include/d3d8types.h
+++ b/mingw-w64-headers/include/d3d8types.h
@@ -20,7 +20,7 @@
 #define __WINE_D3D8TYPES_H
 
 #ifdef __i386__
-#include <pshpack4.h>
+#pragma pack(push,4)
 #endif
 
 /*****************************************************************************
@@ -1220,7 +1220,7 @@
 } D3DVOLUME_DESC;
 
 #ifdef __i386__
-#include <poppack.h>
+#pragma pack(pop)
 #endif
 
 #endif  /* __WINE_D3D8TYPES_H */
diff --git a/mingw-w64-headers/include/d3d9caps.h b/mingw-w64-headers/include/d3d9caps.h
index c62780b..ac21fac 100644
--- a/mingw-w64-headers/include/d3d9caps.h
+++ b/mingw-w64-headers/include/d3d9caps.h
@@ -21,7 +21,7 @@
 #define __WINE_D3D9CAPS_H
 
 #ifdef __i386__
-#include <pshpack4.h>
+#pragma pack(push,4)
 #endif
 
 /*
@@ -449,7 +449,7 @@
 #endif
 
 #ifdef __i386__
-#include <poppack.h>
+#pragma pack(pop)
 #endif
 
 #endif
diff --git a/mingw-w64-headers/include/d3d9types.h b/mingw-w64-headers/include/d3d9types.h
index d2b0f08..e6335a6 100644
--- a/mingw-w64-headers/include/d3d9types.h
+++ b/mingw-w64-headers/include/d3d9types.h
@@ -22,7 +22,7 @@
 #define __WINE_D3D9TYPES_H
 
 #ifdef __i386__
-#include <pshpack4.h>
+#pragma pack(push,4)
 #endif
 
 /*****************************************************************************
@@ -1632,7 +1632,7 @@
 } D3DSHADER_COMPARISON;
 
 #ifdef __i386__
-#include <poppack.h>
+#pragma pack(pop)
 #endif
 
 #endif /* __WINE_D3D9TYPES_H */
diff --git a/mingw-w64-headers/include/d3dcaps.h b/mingw-w64-headers/include/d3dcaps.h
index 877513e..2721072 100644
--- a/mingw-w64-headers/include/d3dcaps.h
+++ b/mingw-w64-headers/include/d3dcaps.h
@@ -22,7 +22,7 @@
 #include <ddraw.h>
 
 #ifdef __i386__
-#include <pshpack4.h>
+#pragma pack(push,4)
 #endif
 
 typedef struct _D3DTRANSFORMCAPS {
@@ -433,7 +433,7 @@
 } D3DDEVINFO_TEXTURING, *LPD3DDEVINFO_TEXTURING;
 
 #ifdef __i386__
-#include <poppack.h>
+#pragma pack(pop)
 #endif
 
 #endif
diff --git a/mingw-w64-headers/include/d3drmobj.h b/mingw-w64-headers/include/d3drmobj.h
index 0484322..80de9a8 100644
--- a/mingw-w64-headers/include/d3drmobj.h
+++ b/mingw-w64-headers/include/d3drmobj.h
@@ -279,7 +279,7 @@
 #define IDirect3DRMObject2_AddDestroyCallback(p,a,b)    (p)->lpVtbl->AddDestroyCallback(p,a,b)
 #define IDirect3DRMObject2_Clone(p,a,b,c)               (p)->lpVtbl->Clone(p,a,b,c)
 #define IDirect3DRMObject2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
-#define IDirect3DRMObject2_GetClientData(p,a,b)         (p)->lpVtbl->SetClientData(p,a,b)
+#define IDirect3DRMObject2_GetClientData(p,a,b)         (p)->lpVtbl->GetClientData(p,a,b)
 #define IDirect3DRMObject2_GetDirect3DRM(p,a)           (p)->lpVtbl->GetDirect3DRM(p,a)
 #define IDirect3DRMObject2_GetName(p,a,b)               (p)->lpVtbl->GetName(p,a,b)
 #define IDirect3DRMObject2_SetClientData(p,a,b,c)       (p)->lpVtbl->SetClientData(p,a,b,c)
@@ -294,7 +294,7 @@
 #define IDirect3DRMObject2_AddDestroyCallback(p,a,b)    (p)->AddDestroyCallback(a,b)
 #define IDirect3DRMObject2_Clone(p,a,b,c)               (p)->Clone(a,b,c)
 #define IDirect3DRMObject2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
-#define IDirect3DRMObject2_GetClientData(p,a,b)         (p)->SetClientData(a,b)
+#define IDirect3DRMObject2_GetClientData(p,a,b)         (p)->GetClientData(a,b)
 #define IDirect3DRMObject2_GetDirect3DRM(p,a)           (p)->GetDirect3DRM(a)
 #define IDirect3DRMObject2_GetName(p,a,b)               (p)->GetName(a,b)
 #define IDirect3DRMObject2_SetClientData(p,a,b,c)       (p)->SetClientData(a,b,c)
@@ -991,7 +991,7 @@
 #define IDirect3DRMViewport2_AddRef(p)                        (p)->lpVtbl->AddRef(p)
 #define IDirect3DRMViewport2_Release(p)                       (p)->lpVtbl->Release(p)
 /*** IDirect3DRMObject methods ***/
-#define IDirect3DRMViewport_2Clone(p,a,b,c)                   (p)->lpVtbl->Clone(p,a,b,c)
+#define IDirect3DRMViewport2_Clone(p,a,b,c)                   (p)->lpVtbl->Clone(p,a,b,c)
 #define IDirect3DRMViewport2_AddDestroyCallback(p,a,b)        (p)->lpVtbl->AddDestroyCallback(p,a,b)
 #define IDirect3DRMViewport2_DeleteDestroyCallback(p,a,b)     (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
 #define IDirect3DRMViewport2_SetAppData(p,a)                  (p)->lpVtbl->SetAppData(p,a)
@@ -2155,7 +2155,7 @@
 #define IDirect3DRMShadow_GetName(p,a,b)                 (p)->lpVtbl->GetName(p,a,b)
 #define IDirect3DRMShadow_GetClassName(p,a,b)            (p)->lpVtbl->GetClassName(p,a,b)
 /*** IDirect3DRMShadow methods ***/
-#define IDirect3DRMShadow_Init(p,a,b,c,d,e,f,g)          (p)->lpVtbl->Load(p,a,b,c,d,e,f,g)
+#define IDirect3DRMShadow_Init(p,a,b,c,d,e,f,g)          (p)->lpVtbl->Init(p,a,b,c,d,e,f,g)
 #else
 /*** IUnknown methods ***/
 #define IDirect3DRMShadow_QueryInterface(p,a,b)          (p)->QueryInterface(a,b)
@@ -2171,7 +2171,7 @@
 #define IDirect3DRMShadow_GetName(p,a,b)                 (p)->GetName(a,b)
 #define IDirect3DRMShadow_GetClassName(p,a,b)            (p)->GetClassName(a,b)
 /*** IDirect3DRMShadow methods ***/
-#define IDirect3DRMShadow_Init(p,a,b,c,d,e,f,g)          (p)->Load(a,b,c,d,e,f,g)
+#define IDirect3DRMShadow_Init(p,a,b,c,d,e,f,g)          (p)->Init(a,b,c,d,e,f,g)
 #endif
 
 /*****************************************************************************
@@ -3251,7 +3251,7 @@
 #define IDirect3DRMTexture_SetDecalOrigin(p,a,b)            (p)->lpVtbl->SetDecalOrigin(p,a,b)
 #define IDirect3DRMTexture_SetDecalScale(p,a)               (p)->lpVtbl->SetDecalScale(p,a)
 #define IDirect3DRMTexture_SetDecalTransparency(p,a)        (p)->lpVtbl->SetDecalTransparency(p,a)
-#define IDirect3DRMTexture_SetDecalTransparencyColor(p,a)   (p)->lpVtbl->SetDecalTransparentColor(p,a)
+#define IDirect3DRMTexture_SetDecalTransparentColor(p,a)    (p)->lpVtbl->SetDecalTransparentColor(p,a)
 #define IDirect3DRMTexture_GetDecalSize(p,a,b)              (p)->lpVtbl->GetDecalSize(p,a,b)
 #define IDirect3DRMTexture_GetDecalOrigin(p,a,b)            (p)->lpVtbl->GetDecalOrigin(p,a,b)
 #define IDirect3DRMTexture_GetImage(p)                      (p)->lpVtbl->GetImage(p)
@@ -3367,7 +3367,7 @@
 #define IDirect3DRMTexture2_SetDecalOrigin(p,a,b)            (p)->lpVtbl->SetDecalOrigin(p,a,b)
 #define IDirect3DRMTexture2_SetDecalScale(p,a)               (p)->lpVtbl->SetDecalScale(p,a)
 #define IDirect3DRMTexture2_SetDecalTransparency(p,a)        (p)->lpVtbl->SetDecalTransparency(p,a)
-#define IDirect3DRMTexture2_SetDecalTransparencyColor(p,a)   (p)->lpVtbl->SetDecalTransparentColor(p,a)
+#define IDirect3DRMTexture2_SetDecalTransparentColor(p,a)   (p)->lpVtbl->SetDecalTransparentColor(p,a)
 #define IDirect3DRMTexture2_GetDecalSize(p,a,b)              (p)->lpVtbl->GetDecalSize(p,a,b)
 #define IDirect3DRMTexture2_GetDecalOrigin(p,a,b)            (p)->lpVtbl->GetDecalOrigin(p,a,b)
 #define IDirect3DRMTexture2_GetImage(p)                      (p)->lpVtbl->GetImage(p)
@@ -3537,7 +3537,7 @@
 #define IDirect3DRMTexture3_SetDecalOrigin(p,a,b)            (p)->SetDecalOrigin(a,b)
 #define IDirect3DRMTexture3_SetDecalScale(p,a)               (p)->SetDecalScale(a)
 #define IDirect3DRMTexture3_SetDecalTransparency(p,a)        (p)->SetDecalTransparency(a)
-#define IDirect3DRMTexture3_SetDecalTransparencyColor(p,a)   (p)->SetDecalTransparentColor(a)
+#define IDirect3DRMTexture3_SetDecalTransparentColor(p,a)    (p)->SetDecalTransparentColor(a)
 #define IDirect3DRMTexture3_GetDecalSize(p,a,b)              (p)->GetDecalSize(a,b)
 #define IDirect3DRMTexture3_GetDecalOrigin(p,a,b)            (p)->GetDecalOrigin(a,b)
 #define IDirect3DRMTexture3_GetImage(p)                      (p)->GetImage()
diff --git a/mingw-w64-headers/include/d3dtypes.h b/mingw-w64-headers/include/d3dtypes.h
index e7ae4d5..bd6f409 100644
--- a/mingw-w64-headers/include/d3dtypes.h
+++ b/mingw-w64-headers/include/d3dtypes.h
@@ -30,7 +30,7 @@
 #include <ddraw.h>
 
 #ifdef __i386__
-#include <pshpack4.h>
+#pragma pack(push,4)
 #endif
 
 #define D3DVALP(val, prec)      ((float)(val))
@@ -1364,7 +1364,7 @@
 #define D3DFVF_TEXCOORDSIZE1(CoordIndex) (D3DFVF_TEXTUREFORMAT1 << (CoordIndex*2 + 16))
 
 #ifdef __i386__
-#include <poppack.h>
+#pragma pack(pop)
 #endif
 
 #endif
diff --git a/mingw-w64-headers/include/d3dx9shader.h b/mingw-w64-headers/include/d3dx9shader.h
index cd00a87..483b627 100644
--- a/mingw-w64-headers/include/d3dx9shader.h
+++ b/mingw-w64-headers/include/d3dx9shader.h
@@ -214,7 +214,7 @@
 /*** ID3DXConstantTable methods ***/
 #define ID3DXConstantTable_GetDesc(p,a)                               (p)->GetDesc(a)
 #define ID3DXConstantTable_GetConstantDesc(p,a,b,c)                   (p)->GetConstantDesc(a,b,c)
-#define ID3DXConstantTable_GetSamplerIndex(p,a)                       (p)->GetConstantDesc(a)
+#define ID3DXConstantTable_GetSamplerIndex(p,a)                       (p)->GetSamplerIndex(a)
 #define ID3DXConstantTable_GetConstant(p,a,b)                         (p)->GetConstant(a,b)
 #define ID3DXConstantTable_GetConstantByName(p,a,b)                   (p)->GetConstantByName(a,b)
 #define ID3DXConstantTable_GetConstantElement(p,a,b)                  (p)->GetConstantElement(a,b)
diff --git a/mingw-w64-headers/include/dmplugin.h b/mingw-w64-headers/include/dmplugin.h
index 5b35f7e..8fc33d9 100644
--- a/mingw-w64-headers/include/dmplugin.h
+++ b/mingw-w64-headers/include/dmplugin.h
@@ -28,7 +28,7 @@
 #include <objbase.h>
 #include <mmsystem.h>
 #include <dmusici.h>
-#include <pshpack8.h>
+#pragma pack(push,8)
 
 #ifdef __cplusplus
 extern "C" {
@@ -292,6 +292,6 @@
 }
 #endif
 
-#include <poppack.h>
+#pragma pack(pop)
 
 #endif /* __WINE_DMUSIC_PLUGIN_H */
diff --git a/mingw-w64-headers/include/dmusbuff.h b/mingw-w64-headers/include/dmusbuff.h
index 7632b1a..fbba370 100644
--- a/mingw-w64-headers/include/dmusbuff.h
+++ b/mingw-w64-headers/include/dmusbuff.h
@@ -40,13 +40,13 @@
 typedef struct _DMUS_EVENTHEADER DMUS_EVENTHEADER, *LPDMUS_EVENTHEADER;
 
 /* actual structure*/ 
-#include <pshpack4.h>
+#pragma pack(push,4)
 struct _DMUS_EVENTHEADER {
     DWORD           cbEvent;
     DWORD           dwChannelGroup;
     REFERENCE_TIME  rtDelta;
     DWORD           dwFlags;
 };
-#include <poppack.h>
+#pragma pack(pop)
 
 #endif /* __WINE_DMUSIC_BUFFER_H */
diff --git a/mingw-w64-headers/include/dmusicc.h b/mingw-w64-headers/include/dmusicc.h
index 44a5650..106fd93 100644
--- a/mingw-w64-headers/include/dmusicc.h
+++ b/mingw-w64-headers/include/dmusicc.h
@@ -34,7 +34,7 @@
 #include <dmusbuff.h>
 #include <strmif.h>
 
-#include <pshpack8.h>
+#pragma pack(push,8)
 
 #ifdef __cplusplus
 extern "C" {
@@ -724,6 +724,6 @@
 }
 #endif
 
-#include <poppack.h>
+#pragma pack(pop)
 
 #endif /* __WINE_DMUSIC_CORE_H */
diff --git a/mingw-w64-headers/include/dmusicf.h b/mingw-w64-headers/include/dmusicf.h
index 9fdef51..4e22b1b 100644
--- a/mingw-w64-headers/include/dmusicf.h
+++ b/mingw-w64-headers/include/dmusicf.h
@@ -26,7 +26,7 @@
 #define COM_NO_WINDOWS_H
 #include <objbase.h>
 #include <mmsystem.h>
-#include <pshpack8.h>
+#pragma pack(push,8)
 
 #ifdef __cplusplus
 extern "C" {
@@ -903,6 +903,6 @@
 }
 #endif
 
-#include <poppack.h>
+#pragma pack(pop)
 
 #endif /* __WINE_DMUSIC_FILEFORMATS_H */
diff --git a/mingw-w64-headers/include/dmusici.h b/mingw-w64-headers/include/dmusici.h
index 0e5599c..77f94db 100644
--- a/mingw-w64-headers/include/dmusici.h
+++ b/mingw-w64-headers/include/dmusici.h
@@ -29,7 +29,7 @@
 #include <mmsystem.h>
 #include <dmusicc.h>
 #include <dmplugin.h>
-#include <pshpack8.h>
+#pragma pack(push,8)
 
 #ifdef WINE_NO_UNICODE_MACROS
 #undef AddPort
@@ -1714,6 +1714,6 @@
 }
 #endif
 
-#include <poppack.h>
+#pragma pack(pop)
 
 #endif /* __WINE_DMUSIC_PERFORMANCE_H */
diff --git a/mingw-w64-headers/include/dpnathlp.h b/mingw-w64-headers/include/dpnathlp.h
index 05c6082..10ac1c7 100644
--- a/mingw-w64-headers/include/dpnathlp.h
+++ b/mingw-w64-headers/include/dpnathlp.h
@@ -183,7 +183,7 @@
 #define IDirectPlayNATHelp_QueryAddress(p,a,b,c,d,e) (p)->lpVtbl->QueryAddress(p,a,b,c,d,e)
 #define IDirectPlayNATHelp_SetAlertEvent(p,a,b) (p)->lpVtbl->SetAlertEvent(p,a,b)
 #define IDirectPlayNATHelp_SetAlertIOCompletionPort(p,a,b,c,d) (p)->lpVtbl->SetAlertIOCompletionPort(p,a,b,c,d)
-#define IDirectPlayNATHelp_ExtendRegisteredPortsLease(p,a,b,c) (p)->lpVtbl->SetAlertIOCompletionPort(p,a,b,c)
+#define IDirectPlayNATHelp_ExtendRegisteredPortsLease(p,a,b,c) (p)->lpVtbl->ExtendRegisteredPortsLease(p,a,b,c)
 #endif
 
 #ifdef __cplusplus
diff --git a/mingw-w64-headers/include/dxva.h b/mingw-w64-headers/include/dxva.h
index 6bbf27f..e58e2d9 100644
--- a/mingw-w64-headers/include/dxva.h
+++ b/mingw-w64-headers/include/dxva.h
@@ -118,7 +118,7 @@
 #define DXVA_FILM_GRAIN_SYNTHESIS_FUNCTION      6
 #define DXVA_STATUS_REPORTING_FUNCTION          7
 
-#include <pshpack1.h>
+#pragma pack(push,1)
 
 typedef struct _DXVA_PicEntry_H264
 {
@@ -964,7 +964,7 @@
     USHORT NumMbsAffected;
 } DXVA_Status_AV1, *LPDXVA_Status_AV1;
 
-#include <poppack.h>
+#pragma pack(pop)
 
 typedef enum _DXVA_VideoChromaSubsampling
 {
diff --git a/mingw-w64-headers/include/httprequest.idl b/mingw-w64-headers/include/httprequest.idl
new file mode 100644
index 0000000..838ce26
--- /dev/null
+++ b/mingw-w64-headers/include/httprequest.idl
@@ -0,0 +1,192 @@
+/*
+ * Copyright 2011 Hans Leidekker for CodeWeavers
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#include "httprequestid.h"
+
+import "oaidl.idl";
+
+#ifndef __WIDL__
+#define threading(model)
+#define progid(str)
+#define vi_progid(str)
+#endif
+
+[
+    uuid(662901fc-6951-4854-9eb2-d9a2570f2b2e),
+    helpstring("Microsoft WinHTTP Services, version 5.1"),
+    lcid(0x0000),
+    version(5.1)
+]
+library WinHttp {
+
+importlib ("stdole2.tlb");
+
+typedef [public] LONG   HTTPREQUEST_PROXY_SETTING;
+const HTTPREQUEST_PROXY_SETTING HTTPREQUEST_PROXYSETTING_DEFAULT    = 0x00000000;
+const HTTPREQUEST_PROXY_SETTING HTTPREQUEST_PROXYSETTING_PRECONFIG  = 0x00000000;
+const HTTPREQUEST_PROXY_SETTING HTTPREQUEST_PROXYSETTING_DIRECT     = 0x00000001;
+const HTTPREQUEST_PROXY_SETTING HTTPREQUEST_PROXYSETTING_PROXY      = 0x00000002;
+
+typedef [public] LONG   HTTPREQUEST_SETCREDENTIALS_FLAGS;
+const HTTPREQUEST_SETCREDENTIALS_FLAGS  HTTPREQUEST_SETCREDENTIALS_FOR_SERVER   = 0x00000000;
+const HTTPREQUEST_SETCREDENTIALS_FLAGS  HTTPREQUEST_SETCREDENTIALS_FOR_PROXY    = 0x00000001;
+
+typedef
+[uuid(12782009-fe90-4877-9730-e5e183669b19)]
+enum WinHttpRequestOption
+{
+    WinHttpRequestOption_UserAgentString,
+    WinHttpRequestOption_URL,
+    WinHttpRequestOption_URLCodePage,
+    WinHttpRequestOption_EscapePercentInURL,
+    WinHttpRequestOption_SslErrorIgnoreFlags,
+    WinHttpRequestOption_SelectCertificate,
+    WinHttpRequestOption_EnableRedirects,
+    WinHttpRequestOption_UrlEscapeDisable,
+    WinHttpRequestOption_UrlEscapeDisableQuery,
+    WinHttpRequestOption_SecureProtocols,
+    WinHttpRequestOption_EnableTracing,
+    WinHttpRequestOption_RevertImpersonationOverSsl,
+    WinHttpRequestOption_EnableHttpsToHttpRedirects,
+    WinHttpRequestOption_EnablePassportAuthentication,
+    WinHttpRequestOption_MaxAutomaticRedirects,
+    WinHttpRequestOption_MaxResponseHeaderSize,
+    WinHttpRequestOption_MaxResponseDrainSize,
+    WinHttpRequestOption_EnableHttp1_1,
+    WinHttpRequestOption_EnableCertificateRevocationCheck,
+    WinHttpRequestOption_RejectUserpwd
+} WinHttpRequestOption;
+
+typedef
+[uuid(9d8a6df8-13de-4b1f-a330-67c719d62514)]
+enum WinHttpRequestAutoLogonPolicy
+{
+    AutoLogonPolicy_Always,
+    AutoLogonPolicy_OnlyIfBypassProxy,
+    AutoLogonPolicy_Never
+} WinHttpRequestAutoLogonPolicy;
+
+[
+    object,
+    uuid(016fe2ec-b2c8-45f8-b23b-39e53a75396b),
+    odl,
+    dual,
+    oleautomation,
+    nonextensible,
+    pointer_default(unique)
+]
+interface IWinHttpRequest : IDispatch
+{
+    [id(DISPID_HTTPREQUEST_SETPROXY)]
+    HRESULT SetProxy(
+        [in] HTTPREQUEST_PROXY_SETTING proxy_setting,
+        [in, optional] VARIANT proxy_server,
+        [in, optional] VARIANT bypass_list);
+
+    [id(DISPID_HTTPREQUEST_SETCREDENTIALS)]
+    HRESULT SetCredentials(
+        [in] BSTR username,
+        [in] BSTR password,
+        [in] HTTPREQUEST_SETCREDENTIALS_FLAGS flags);
+
+    [id(DISPID_HTTPREQUEST_OPEN)]
+    HRESULT Open(
+        [in] BSTR method,
+        [in] BSTR url,
+        [in, optional] VARIANT async);
+
+    [id(DISPID_HTTPREQUEST_SETREQUESTHEADER)]
+    HRESULT SetRequestHeader(
+        [in] BSTR header,
+        [in] BSTR value);
+
+    [id(DISPID_HTTPREQUEST_GETRESPONSEHEADER)]
+    HRESULT GetResponseHeader(
+        [in] BSTR header,
+        [out, retval] BSTR *value);
+
+    [id(DISPID_HTTPREQUEST_GETALLRESPONSEHEADERS)]
+    HRESULT GetAllResponseHeaders(
+        [out, retval] BSTR *headers);
+
+    [id(DISPID_HTTPREQUEST_SEND)]
+    HRESULT Send(
+        [in, optional] VARIANT body);
+
+    [propget, id(DISPID_HTTPREQUEST_STATUS)]
+    HRESULT Status(
+        [out, retval] LONG *status);
+
+    [propget, id(DISPID_HTTPREQUEST_STATUSTEXT)]
+    HRESULT StatusText(
+        [out, retval] BSTR *status);
+
+    [propget, id(DISPID_HTTPREQUEST_RESPONSETEXT)]
+    HRESULT ResponseText(
+        [out, retval] BSTR *body);
+
+    [propget, id(DISPID_HTTPREQUEST_RESPONSEBODY)]
+    HRESULT ResponseBody(
+        [out, retval] VARIANT *body);
+
+    [propget, id(DISPID_HTTPREQUEST_RESPONSESTREAM)]
+    HRESULT ResponseStream(
+        [out, retval] VARIANT *body);
+
+    [propget, id(DISPID_HTTPREQUEST_OPTION)]
+    HRESULT Option(
+        [in] WinHttpRequestOption option,
+        [out, retval] VARIANT *value);
+
+    [propput, id(DISPID_HTTPREQUEST_OPTION)]
+    HRESULT Option(
+        [in] WinHttpRequestOption option,
+        [in] VARIANT value);
+
+    [id(DISPID_HTTPREQUEST_WAITFORRESPONSE)]
+    HRESULT WaitForResponse(
+        [in, optional] VARIANT timeout,
+        [out, retval] VARIANT_BOOL *succeeded);
+
+    [id(DISPID_HTTPREQUEST_ABORT)]
+    HRESULT Abort();
+
+    [id(DISPID_HTTPREQUEST_SETTIMEOUTS)]
+    HRESULT SetTimeouts(
+        [in] LONG resolve_timeout,
+        [in] LONG connect_timeout,
+        [in] LONG send_timeout,
+        [in] LONG receive_timeout);
+
+    [id(DISPID_HTTPREQUEST_SETCLIENTCERTIFICATE)]
+    HRESULT SetClientCertificate(
+        [in] BSTR certificate);
+
+    [id(DISPID_HTTPREQUEST_SETAUTOLOGONPOLICY)]
+    HRESULT SetAutoLogonPolicy(
+        [in] WinHttpRequestAutoLogonPolicy policy);
+}
+[
+    helpstring("WinHttpRequest Component version 5.1"),
+    threading(apartment),
+    progid("WinHttp.WinHttpRequest.5.1"),
+    uuid(2087c2f4-2cef-4953-a8ab-66779b670495)
+]
+coclass WinHttpRequest { interface IWinHttpRequest; }
+
+} /* WinHttp */
diff --git a/mingw-w64-headers/include/mscat.h b/mingw-w64-headers/include/mscat.h
index af0201f..24715da 100644
--- a/mingw-w64-headers/include/mscat.h
+++ b/mingw-w64-headers/include/mscat.h
@@ -66,7 +66,7 @@
 #define CRYPTCAT_VERSION_1  0x100
 #define CRYPTCAT_VERSION_2  0x200
 
-#include <pshpack8.h>
+#pragma pack(push,8)
 
 typedef struct CRYPTCATATTRIBUTE_
 {
@@ -110,7 +110,7 @@
     HANDLE hCATStore;
 } CRYPTCATCDF;
 
-#include <poppack.h>
+#pragma pack(pop)
 
 typedef void (WINAPI *PFN_CDF_PARSE_ERROR_CALLBACK)(DWORD, DWORD, WCHAR *);
 
diff --git a/mingw-w64-headers/include/windows.networking.connectivity.idl b/mingw-w64-headers/include/windows.networking.connectivity.idl
index 0507882..e452b2e 100644
--- a/mingw-w64-headers/include/windows.networking.connectivity.idl
+++ b/mingw-w64-headers/include/windows.networking.connectivity.idl
@@ -432,7 +432,7 @@
 
     [
         contract(Windows.Foundation.UniversalApiContract, 1.0),
-        exclusiveto(Windows.Networking.Connectivity.NetworkInformation),
+        exclusiveto(Windows.Networking.Connectivity.NetworkItem),
         uuid(01bc4d39-f5e0-4567-a28c-42080c831b2b),
     ]
     interface INetworkItem : IInspectable
@@ -454,7 +454,7 @@
 
     [
         contract(Windows.Foundation.UniversalApiContract, 1.0),
-        exclusiveto(Windows.Networking.Connectivity.NetworkSecuritySettings),
+        exclusiveto(Windows.Networking.Connectivity.ProxyConfiguration),
         uuid(ef3a60b4-9004-4dd6-b7d8-b3e502f4aad0),
     ]
     interface IProxyConfiguration : IInspectable
diff --git a/mingw-w64-headers/include/winhttp.h b/mingw-w64-headers/include/winhttp.h
index d0ba52d..4b3683a 100644
--- a/mingw-w64-headers/include/winhttp.h
+++ b/mingw-w64-headers/include/winhttp.h
@@ -20,9 +20,9 @@
 #define __WINE_WINHTTP_H
 
 #ifdef _WIN64
-#include <pshpack8.h>
+#pragma pack(push,8)
 #else
-#include <pshpack4.h>
+#pragma pack(push,4)
 #endif
 
 #ifdef _WINHTTP_INTERNAL_
@@ -178,7 +178,53 @@
 #define WINHTTP_OPTION_HTTP_PROTOCOL_REQUIRED           145
 #define WINHTTP_OPTION_REQUEST_STATS                    146
 #define WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT        147
-#define WINHTTP_LAST_OPTION                          WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT
+#define WINHTTP_OPTION_CONNECTION_STATS_V1              150
+#define WINHTTP_OPTION_SECURITY_INFO                    151
+#define WINHTTP_OPTION_TCP_KEEPALIVE                    152
+#define WINHTTP_OPTION_TCP_FAST_OPEN                    153
+#define WINHTTP_OPTION_TCP_FALSE_START                  154
+#define WINHTTP_OPTION_IGNORE_CERT_REVOCATION_OFFLINE   155
+#define WINHTTP_OPTION_TLS_PROTOCOL_INSECURE_FALLBACK   158
+#define WINHTTP_OPTION_STREAM_ERROR_CODE                159
+#define WINHTTP_OPTION_REQUIRE_STREAM_END               160
+#define WINHTTP_OPTION_ENABLE_HTTP2_PLUS_CLIENT_CERT    161
+#define WINHTTP_OPTION_FAILED_CONNECTION_RETRIES        162
+#define WINHTTP_OPTION_HTTP2_KEEPALIVE                  164
+#define WINHTTP_OPTION_RESOLUTION_HOSTNAME              165
+#define WINHTTP_OPTION_SET_TOKEN_BINDING                166
+#define WINHTTP_OPTION_TOKEN_BINDING_PUBLIC_KEY         167
+#define WINHTTP_OPTION_REFERER_TOKEN_BINDING_HOSTNAME   168
+#define WINHTTP_OPTION_HTTP2_PLUS_TRANSFER_ENCODING     169
+#define WINHTTP_OPTION_RESOLVER_CACHE_CONFIG            170
+#define WINHTTP_OPTION_DISABLE_CERT_CHAIN_BUILDING      171
+#define WINHTTP_OPTION_BACKGROUND_CONNECTIONS           172
+#define WINHTTP_OPTION_FIRST_AVAILABLE_CONNECTION       173
+#define WINHTTP_OPTION_TCP_PRIORITY_STATUS              177
+#define WINHTTP_OPTION_CONNECTION_GUID                  178
+#define WINHTTP_OPTION_MATCH_CONNECTION_GUID            179
+#define WINHTTP_OPTION_HTTP2_RECEIVE_WINDOW             183
+#define WINHTTP_OPTION_FEATURE_SUPPORTED                184
+#define WINHTTP_OPTION_QUIC_STATS                       185
+#define WINHTTP_OPTION_HTTP3_KEEPALIVE                  188
+#define WINHTTP_OPTION_HTTP3_HANDSHAKE_TIMEOUT          189
+#define WINHTTP_OPTION_HTTP3_INITIAL_RTT                190
+#define WINHTTP_OPTION_HTTP3_STREAM_ERROR_CODE          191
+#define WINHTTP_OPTION_REQUEST_ANNOTATION               192
+#define WINHTTP_OPTION_DISABLE_PROXY_AUTH_SCHEMES       193
+#define WINHTTP_OPTION_REVERT_IMPERSONATION_SERVER_CERT 194
+#define WINHTTP_OPTION_DISABLE_GLOBAL_POOLING           195
+#define WINHTTP_OPTION_USE_SESSION_SCH_CRED             196
+#define WINHTTP_OPTION_QUIC_STATS_V2                    200
+#define WINHTTP_OPTION_QUIC_STREAM_STATS                202
+#define WINHTTP_OPTION_USE_LOOKASIDE                    203
+#define WINHTTP_OPTION_ERROR_LOG_GUID                   204
+#define WINHTTP_OPTION_ENABLE_FAST_FORWARDING           205
+#define WINHTTP_OPTION_FAST_FORWARDING_RESPONSE_DATA    206
+#define WINHTTP_OPTION_UPGRADE_TO_PROTOCOL              207
+#define WINHTTP_OPTION_CONNECTION_STATS_V2              208
+#define WINHTTP_OPTION_FAST_FORWARDING_RESPONSE_STATUS  209
+
+#define WINHTTP_LAST_OPTION                          WINHTTP_OPTION_FAST_FORWARDING_RESPONSE_STATUS
 #define WINHTTP_OPTION_USERNAME                      0x1000
 #define WINHTTP_OPTION_PASSWORD                      0x1001
 #define WINHTTP_OPTION_PROXY_USERNAME                0x1002
@@ -816,6 +862,16 @@
 #define WINHTTP_WEB_SOCKET_MAX_CLOSE_REASON_LENGTH   123
 #define WINHTTP_WEB_SOCKET_MIN_KEEPALIVE_VALUE     15000
 
+#ifdef __SCHANNEL_H__
+
+typedef struct _WINHTTP_SECURITY_INFO
+{
+    SecPkgContext_ConnectionInfo ConnectionInfo;
+    SecPkgContext_CipherInfo CipherInfo;
+} WINHTTP_SECURITY_INFO, *PWINHTTP_SECURITY_INFO;
+
+#endif
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -872,6 +928,6 @@
 }
 #endif
 
-#include <poppack.h>
+#pragma pack(pop)
 
 #endif  /* __WINE_WINHTTP_H */
