April 07
https://issues.dlang.org/show_bug.cgi?id=24487

          Issue ID: 24487
           Summary: ImportC does not pick up some macros in Windows
                    headers
           Product: D
           Version: D2
          Hardware: x86_64
                OS: Windows
            Status: NEW
          Severity: normal
          Priority: P1
         Component: dmd
          Assignee: nobody@puremagic.com
          Reporter: sturtivant@gmail.com

//======== comheaders.c
#define WINVER 0x0A00
#define _WIN32_WINNT 0x0A00

#include <winerror.h> //not parsed by ImportC for E_NOINTERFACE

#undef E_NOINTERFACE
const ULONG E_NOINTERFACE = 0x80004002;


#include <guiddef.h> //not parsed by ImportC for REFIID

#undef REFIID
typedef const IID* REFIID;

#include <wtypes.h>
#include <oleauto.h>
#include <oaidl.h>
#include <ole2.h>
#include <objbase.h>
#include <activscp.h> //not parsed by ImportC for IActiveScriptParse

#undef IActiveScriptParse
typedef IActiveScriptParse64 IActiveScriptParse;
//=========

When compiled by dmd 2.108.0 (64-bit) with ImportC imported in D source, the above macros have not been made available, hopefully for a systematic reason.

--