diff --git a/include/axcore.idl b/include/axcore.idl
index bb9f5e701ed432858f822a47bde406de04a6f180..52e695935befa0ab5648335ad6eb0cb1efc40004 100644
--- a/include/axcore.idl
+++ b/include/axcore.idl
@@ -48,7 +48,11 @@ cpp_quote("#define MAX_PIN_NAME    128")
 cpp_quote("#define MAX_FILTER_NAME 128")
 
 typedef LONGLONG REFERENCE_TIME;
+
+cpp_quote("#ifndef REFTIME_DEFINED")
+cpp_quote("#define REFTIME_DEFINED")
 typedef DOUBLE REFTIME;
+cpp_quote("#endif")
 
 typedef DWORD_PTR HSEMAPHORE;
 typedef DWORD_PTR HEVENT;
diff --git a/include/control.idl b/include/control.idl
index af8a2f9e971ca8f9f2ace22d5b0132832999dca4..ddb52795b6039c9e1906e9fb82c815d7b3767932 100644
--- a/include/control.idl
+++ b/include/control.idl
@@ -17,10 +17,7 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
-cpp_quote("#if 0")  /* FIXME: these files are not included on Windows */
-import "shldisp.idl";
-import "strmif.idl";
-cpp_quote("#endif")
+import "oaidl.idl";
 
 interface IMediaControl;
 interface IBasicAudio;
@@ -34,6 +31,11 @@ typedef long OAFilterState;
 typedef LONG_PTR OAHWND;
 typedef LONG_PTR OAEVENT;
 
+cpp_quote("#ifndef REFTIME_DEFINED")
+cpp_quote("#define REFTIME_DEFINED")
+typedef DOUBLE REFTIME;
+cpp_quote("#endif")
+
 /*****************************************************************************
  * IMediaControl interface
  */