diff --git a/dlls/mshtml/htmlanchor.c b/dlls/mshtml/htmlanchor.c
index 48095438bee..819c80c2833 100644
--- a/dlls/mshtml/htmlanchor.c
+++ b/dlls/mshtml/htmlanchor.c
@@ -38,7 +38,7 @@ typedef struct {
const IHTMLAnchorElementVtbl *lpHTMLAnchorElementVtbl;
} HTMLAnchorElement;
-#define HTMLANCHOR(x) ((IHTMLAnchorElement*) &(x)->lpHTMLAnchorElementVtbl)
+#define HTMLANCHOR(x) (&(x)->lpHTMLAnchorElementVtbl)
#define HTMLANCHOR_THIS(iface) DEFINE_THIS(HTMLAnchorElement, HTMLAnchorElement, iface)
diff --git a/dlls/mshtml/htmlbody.c b/dlls/mshtml/htmlbody.c
index 623d83d1a60..0cbfc06be67 100644
--- a/dlls/mshtml/htmlbody.c
+++ b/dlls/mshtml/htmlbody.c
@@ -42,7 +42,7 @@ typedef struct {
nsIDOMHTMLBodyElement *nsbody;
} HTMLBodyElement;
-#define HTMLBODY(x) ((IHTMLBodyElement*) &(x)->lpHTMLBodyElementVtbl)
+#define HTMLBODY(x) (&(x)->lpHTMLBodyElementVtbl)
static BOOL variant_to_nscolor(const VARIANT *v, nsAString *nsstr)
{
diff --git a/dlls/mshtml/htmlcomment.c b/dlls/mshtml/htmlcomment.c
index 82e05b3e070..f29d887453e 100644
--- a/dlls/mshtml/htmlcomment.c
+++ b/dlls/mshtml/htmlcomment.c
@@ -37,7 +37,7 @@ struct HTMLCommentElement {
const IHTMLCommentElementVtbl *lpIHTMLCommentElementVtbl;
};
-#define HTMLCOMMENT(x) ((IHTMLCommentElement*) &(x)->lpIHTMLCommentElementVtbl)
+#define HTMLCOMMENT(x) (&(x)->lpIHTMLCommentElementVtbl)
#define HTMLCOMMENT_THIS(iface) DEFINE_THIS(HTMLCommentElement, IHTMLCommentElement, iface)
diff --git a/dlls/mshtml/htmlgeneric.c b/dlls/mshtml/htmlgeneric.c
index fc53ee0b595..07e453e5c9c 100644
--- a/dlls/mshtml/htmlgeneric.c
+++ b/dlls/mshtml/htmlgeneric.c
@@ -38,7 +38,7 @@ typedef struct {
const IHTMLGenericElementVtbl *lpHTMLGenericElementVtbl;
} HTMLGenericElement;
-#define HTMLGENERIC(x) ((IHTMLGenericElement*) &(x)->lpHTMLGenericElementVtbl)
+#define HTMLGENERIC(x) (&(x)->lpHTMLGenericElementVtbl)
#define HTMLGENERIC_THIS(iface) DEFINE_THIS(HTMLGenericElement, HTMLGenericElement, iface)
diff --git a/dlls/mshtml/htmliframe.c b/dlls/mshtml/htmliframe.c
index f56bc16fda2..146432ba76f 100644
--- a/dlls/mshtml/htmliframe.c
+++ b/dlls/mshtml/htmliframe.c
@@ -41,7 +41,7 @@ typedef struct {
HTMLDocument *content_doc;
} HTMLIFrame;
-#define HTMLFRAMEBASE2(x) ((IHTMLFrameBase2*) &(x)->lpIHTMLFrameBase2Vtbl)
+#define HTMLFRAMEBASE2(x) (&(x)->lpIHTMLFrameBase2Vtbl)
#define HTMLFRAMEBASE2_THIS(iface) DEFINE_THIS(HTMLIFrame, IHTMLFrameBase2, iface)
diff --git a/dlls/mshtml/htmlimg.c b/dlls/mshtml/htmlimg.c
index e5c03722068..a2a27c88bcb 100644
--- a/dlls/mshtml/htmlimg.c
+++ b/dlls/mshtml/htmlimg.c
@@ -39,7 +39,7 @@ typedef struct {
nsIDOMHTMLImageElement *nsimg;
} HTMLImgElement;
-#define HTMLIMG(x) ((IHTMLImgElement*) &(x)->lpHTMLImgElementVtbl)
+#define HTMLIMG(x) (&(x)->lpHTMLImgElementVtbl)
#define HTMLIMG_THIS(iface) DEFINE_THIS(HTMLImgElement, HTMLImgElement, iface)
diff --git a/dlls/mshtml/htmlinput.c b/dlls/mshtml/htmlinput.c
index 3c851183fe2..dd40326e4c5 100644
--- a/dlls/mshtml/htmlinput.c
+++ b/dlls/mshtml/htmlinput.c
@@ -41,7 +41,7 @@ typedef struct {
} HTMLInputElement;
#define HTMLINPUT(x) ((IHTMLInputElement*) &(x)->lpHTMLInputElementVtbl)
-#define HTMLINPUTTEXT(x) ((IHTMLInputTextElement*) &(x)->lpHTMLInputTextElementVtbl)
+#define HTMLINPUTTEXT(x) (&(x)->lpHTMLInputTextElementVtbl)
#define HTMLINPUT_THIS(iface) DEFINE_THIS(HTMLInputElement, HTMLInputElement, iface)
diff --git a/dlls/mshtml/htmloption.c b/dlls/mshtml/htmloption.c
index fc3f89298b8..ae36a99f753 100644
--- a/dlls/mshtml/htmloption.c
+++ b/dlls/mshtml/htmloption.c
@@ -39,7 +39,7 @@ typedef struct {
nsIDOMHTMLOptionElement *nsoption;
} HTMLOptionElement;
-#define HTMLOPTION(x) ((IHTMLOptionElement*) &(x)->lpHTMLOptionElementVtbl)
+#define HTMLOPTION(x) (&(x)->lpHTMLOptionElementVtbl)
#define HTMLOPTION_THIS(iface) DEFINE_THIS(HTMLOptionElement, HTMLOptionElement, iface)
diff --git a/dlls/mshtml/htmlscript.c b/dlls/mshtml/htmlscript.c
index 8953b0994fd..958877a37a7 100644
--- a/dlls/mshtml/htmlscript.c
+++ b/dlls/mshtml/htmlscript.c
@@ -39,7 +39,7 @@ typedef struct {
nsIDOMHTMLScriptElement *nsscript;
} HTMLScriptElement;
-#define HTMLSCRIPT(x) ((IHTMLScriptElement*) &(x)->lpHTMLScriptElementVtbl)
+#define HTMLSCRIPT(x) (&(x)->lpHTMLScriptElementVtbl)
#define HTMLSCRIPT_THIS(iface) DEFINE_THIS(HTMLScriptElement, HTMLScriptElement, iface)
diff --git a/dlls/mshtml/htmlstyle.c b/dlls/mshtml/htmlstyle.c
index 18d3e315c77..4ff81c01818 100644
--- a/dlls/mshtml/htmlstyle.c
+++ b/dlls/mshtml/htmlstyle.c
@@ -2163,7 +2163,7 @@ static HRESULT WINAPI HTMLStyle_setAttribute(IHTMLStyle *iface, BSTR strAttribut
if(lFlags == 1)
FIXME("Parameter lFlags ignored\n");
- hres = HTMLStyle_GetIDsOfNames(iface, &IID_NULL, (LPOLESTR*)&strAttributeName, 1,
+ hres = HTMLStyle_GetIDsOfNames(iface, &IID_NULL, &strAttributeName, 1,
LOCALE_USER_DEFAULT, &dispid);
if(hres == S_OK)
{
@@ -2205,7 +2205,7 @@ static HRESULT WINAPI HTMLStyle_getAttribute(IHTMLStyle *iface, BSTR strAttribut
if(lFlags == 1)
FIXME("Parameter lFlags ignored\n");
- hres = HTMLStyle_GetIDsOfNames(iface, &IID_NULL, (LPOLESTR*)&strAttributeName, 1,
+ hres = HTMLStyle_GetIDsOfNames(iface, &IID_NULL, &strAttributeName, 1,
LOCALE_USER_DEFAULT, &dispid);
if(hres == S_OK)
{
diff --git a/dlls/mshtml/htmltable.c b/dlls/mshtml/htmltable.c
index 9396f448706..b842e90d449 100644
--- a/dlls/mshtml/htmltable.c
+++ b/dlls/mshtml/htmltable.c
@@ -40,7 +40,7 @@ typedef struct {
nsIDOMHTMLTableElement *nstable;
} HTMLTable;
-#define HTMLTABLE(x) ((IHTMLTable*) &(x)->lpHTMLTableVtbl)
+#define HTMLTABLE(x) (&(x)->lpHTMLTableVtbl)
#define HTMLTABLE_THIS(iface) DEFINE_THIS(HTMLTable, HTMLTable, iface)
diff --git a/dlls/mshtml/htmltablerow.c b/dlls/mshtml/htmltablerow.c
index e040ac06f41..89c7e47c4ed 100644
--- a/dlls/mshtml/htmltablerow.c
+++ b/dlls/mshtml/htmltablerow.c
@@ -39,7 +39,7 @@ typedef struct {
nsIDOMHTMLTableRowElement *nsrow;
} HTMLTableRow;
-#define HTMLTABLEROW(x) ((IHTMLTableRow*) &(x)->lpHTMLTableRowVtbl)
+#define HTMLTABLEROW(x) (&(x)->lpHTMLTableRowVtbl)
#define HTMLTABLEROW_THIS(iface) DEFINE_THIS(HTMLTableRow, HTMLTableRow, iface)
diff --git a/dlls/mshtml/htmltextnode.c b/dlls/mshtml/htmltextnode.c
index 76199613a4a..630d2ba8056 100644
--- a/dlls/mshtml/htmltextnode.c
+++ b/dlls/mshtml/htmltextnode.c
@@ -37,7 +37,7 @@ struct HTMLDOMTextNode {
const IHTMLDOMTextNodeVtbl *lpIHTMLDOMTextNodeVtbl;
};
-#define HTMLTEXT(x) ((IHTMLDOMTextNode*) &(x)->lpIHTMLDOMTextNodeVtbl)
+#define HTMLTEXT(x) (&(x)->lpIHTMLDOMTextNodeVtbl)
#define HTMLTEXT_THIS(iface) DEFINE_THIS(HTMLDOMTextNode, IHTMLDOMTextNode, iface)
diff --git a/dlls/mshtml/protocol.c b/dlls/mshtml/protocol.c
index e5e22daaeaf..220ef8aa038 100644
--- a/dlls/mshtml/protocol.c
+++ b/dlls/mshtml/protocol.c
@@ -39,9 +39,9 @@ WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
* common ProtocolFactory implementation
*/
-#define PROTOCOLINFO(x) ((IInternetProtocolInfo*) &(x)->lpInternetProtocolInfoVtbl)
-#define CLASSFACTORY(x) ((IClassFactory*) &(x)->lpClassFactoryVtbl)
+#define CLASSFACTORY(x) (&(x)->lpClassFactoryVtbl)
#define PROTOCOL(x) ((IInternetProtocol*) &(x)->lpInternetProtocolVtbl)
+#define PROTOCOLINFO(x) ((IInternetProtocolInfo*) &(x)->lpInternetProtocolInfoVtbl)
typedef struct {
const IInternetProtocolInfoVtbl *lpInternetProtocolInfoVtbl;
diff --git a/dlls/mshtml/script.c b/dlls/mshtml/script.c
index fb90b468a90..55636d2118e 100644
--- a/dlls/mshtml/script.c
+++ b/dlls/mshtml/script.c
@@ -63,9 +63,9 @@ typedef struct {
} ScriptHost;
#define ACTSCPSITE(x) ((IActiveScriptSite*) &(x)->lpIActiveScriptSiteVtbl)
-#define ACTSCPPOLL(x) ((IActiveScriptSiteInterruptPoll*) &(x)->lpIActiveScriptSiteInterruptPollVtbl)
-#define ACTSCPWIN(x) ((IActiveScriptSiteWindow*) &(x)->lpIActiveScriptSiteWindowVtbl)
-#define ACTSCPDBG32(x) ((IActiveScriptSiteDebug32*) &(x)->lpIActiveScriptSiteDebug32Vtbl)
+#define ACTSCPPOLL(x) (&(x)->lpIActiveScriptSiteInterruptPollVtbl)
+#define ACTSCPWIN(x) (&(x)->lpIActiveScriptSiteWindowVtbl)
+#define ACTSCPDBG32(x) (&(x)->lpIActiveScriptSiteDebug32Vtbl)
static BOOL init_script_engine(ScriptHost *script_host)
{
diff --git a/dlls/mshtml/tests/dom.c b/dlls/mshtml/tests/dom.c
index bcb14ef4ea7..e52e33e78bd 100644
--- a/dlls/mshtml/tests/dom.c
+++ b/dlls/mshtml/tests/dom.c
@@ -1798,7 +1798,7 @@ static void _test_border_styles(unsigned line, IHTMLStyle *pStyle, BSTR Name)
HRESULT hres;
DISPID dispid;
- hres = IHTMLStyle_GetIDsOfNames(pStyle, &IID_NULL, (LPOLESTR*)&Name, 1,
+ hres = IHTMLStyle_GetIDsOfNames(pStyle, &IID_NULL, &Name, 1,
LOCALE_USER_DEFAULT, &dispid);
ok_(__FILE__,line) (hres == S_OK, "GetIDsOfNames: %08x\n", hres);
if(hres == S_OK)