Nui
Loading...
Searching...
No Matches
def.h
Go to the documentation of this file.
1//
2// Copyright (C) Microsoft Corporation
3// All rights reserved.
4//
5// Code in details namespace is for internal usage within the library code
6//
7#pragma once
8
9#include "patch.h"
10
11#include <sdkddkver.h>
12#include <sal.h>
13
14// Warnings outside of the push/pop sequence will be disabled for all user
15// projects. The only warnings that should be disabled outside the push/pop
16// are warnings that are a) benign and b) will show up in user projects
17// without being directly caused by the user
18#ifdef _MSC_VER
19# pragma region disable warnings
20
21# pragma warning(disable : 4505) // unreferenced local function has been removed
22# pragma warning(disable : 4503) // decorated name length exceeded, name was truncated
23# pragma warning(disable : 4482) // nonstandard extension used: enum 'enum::enumvalue' used in qualified name
24
25# pragma endregion // disable warnings
26
27// Minimal requirements for compiler
28# if _MSC_VER < 1600
29# error WRL requires compiler version 16.00 or greater
30# endif
31
32// Requires to be compiled by C++ compiler
33# ifndef __cplusplus
34# error WRL requires C++ compilation (use a .cpp suffix)
35# endif
36
37// Don't allow to compile sources with /clr
38# ifdef _MANAGED
39# error WRL cannot be compiled with /clr option enabled
40# endif
41
42// Minimal requirement set to Windows Vista
43# if NTDDI_VERSION < NTDDI_VISTA
44# error WRL requires NTDDI_VERSION to be #defined at least to NTDDI_VISTA or greater
45# endif
46
47// IA64 architecture is not supported by WRL
48# ifdef _M_IA64
49# error WRL doesn't support IA64 architecture
50# endif
51
52# if ((!defined(_PREFAST_) || (_MSC_FULL_VER >= 160021202))) /* BUG ESC:849 - disabling under prefast */
53# else /* BUG ESC:849 - disabling under prefast */
54// PLACEHOLDER CODE:
55# define nullptr 0
56# endif /* BUG ESC:849 - disabling under prefast */
57#endif