Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
win32_sane.hpp
Go to the documentation of this file.
1#pragma once
2
3#if defined(_WIN32)
4#ifndef WIN32_LEAN_AND_MEAN
5#define WIN32_LEAN_AND_MEAN
6#endif
7#ifndef NOMINMAX
8#define NOMINMAX
9#endif
10#include <windows.h>
11
12// WIN32_LEAN_AND_MEAN strips COM/OLE headers from <windows.h>. Include
13// the COM base types explicitly so downstream TUs that pull in
14// <UIAutomation.h>, <dwrite.h>, <dcomp.h>, etc. get IUnknown,
15// ITextProvider, IDropTargetProvider, and friends with a consistent
16// definition, not a partial forward-declaration that MSVC refuses to
17// reconcile later.
18//
19// Without this, v0.15.0–v0.18.0's release-cli.yml failed on MSVC with
20// C2146 / C2371 in UIAutomationCore.h. Followup to #383. See #384 for
21// the full story and the PR-gate tightening.
22#include <ObjBase.h>
23#include <oleidl.h>
24#endif