Reserved keywords (MIDL 3.0)
This topic lists the reserved keywords in MIDL 3.0. You may not use these keywords in the names of your runtime classes and members. Many of these reserved keywords are documented in the MIDL 1.0 language reference.
Note
MIDL 3.0 is a strict superset of MIDL 1.0, MIDL 2.0, and MIDL 3.0. So this list encompasses the union of the reserved keywords for MIDL 1.0, MIDL 2.0, and MIDL 3.0.
List of keywords that are reserved
FALSE
ISO_LATIN_1
ISO_MULTI_LINGUAL
ISO_UCS
NULL
SAFEARRAY
TRUE
__alignof
__asm
__cdecl
__declspec
__export
__external_symbol
__far
__fastcall
__float128
__float80
__fortran
__huge
__inline
__int128
__int32
__int3264
__int64
__interface_interception_info
__loadds
__method_property
__near
__pascal
__ptr32
__ptr64
__saveregs
__segment
__self
__stdcall
__unaligned
__w64
__winrt_type_serialization_info
_asm
_cdecl
_declspec
_export
_far
_fastcall
_fortran
_huge
_inline
_loadds
_near
_pascal
_saveregs
_segment
_self
_stdcall
apicontract
attribute
attributename
attributeusage
auto
boolean
byte
case
cdecl
char
coclass
composable
const
constructor_name
contract
contractversion
cpp_quote
declare
declare_guid
default
delegate
deprecate
deprecated
dispinterface
double
enum
event
eventadd
eventremove
exclusiveto
experimental
extern
far
feature
feature_name
float
from_contract
get
handle_t
hyper
import
importlib
include
inline
int
interface
interface_name
internal
library
long
methods
midl_pragma
module
namespace
near
overridable
overridable_name
partial
pascal
pipe
private_char_16
private_char_8
properties
protected
protected_name
register
remote_async
remote_sync
remove
requires
return_name
runtimeclass
set
short
signed
sizeof
small
static
static_name
stdcall
struct
switch
typedef
type
union
unsealed
unsigned
void
volatile
List of keywords that are reserved within a "[ ]" combination
activatable
aggregatable
agile
align
allocate
allowmultiple
annotation
appobject
async
async_uuid
auto_handle
bem_handle
bindable
both
broadcast
bstring
byte_count
call_as
callback
code
comm_status
context_handle
context_handle_noserialize
context_handle_serialize
control
cs_char
cs_drtag
cs_rtag
cs_stag
cs_tag_rtn
custom
custom_allocator
decode
default_allocator
default_interface
default_overload
defaultbind
defaultcollelem
defaultvalue
defaultvtable
disable_consistency_check
displaybind
dllname
dual
enable_allocate
encode
endpoint
entry
explicit_handle
extension
fault_status
first_is
flags
force_allocate
funcdescattr
handle
handle_t
heap
helpcontext
helpfile
helpstring
helpstringcontext
helpstringdll
hidden
hostContract
hyper
id
idempotent
idldescattr
ignore
iid_is
immediatebind
implicit_handle
import
importlib
in
in_line
include
inline
input_sync
int
interface
interpret
last_is
lcid
length_is
library
licensed
local
local_call
long
long_enum
manual
marshaling_behavior
max_is
maybe
message
method_name
methods
midl_pragma
min_is
module
ms_conf_struct
ms_union
mta
near
nocode
nointerpret
nonbrowsable
noncreatable
none
nonextensible
notify
notify_flag
object
odl
off_line
oleautomation
optimize
optional
optional_interface
out
out_of_line
overload
partial_ignore
pascal
pipe
pointer_default
predeclid
propget
propput
propputref
proxy
ptr
public
range
readonly
ref
replaceable
represent_as
requestedit
restricted
retval
sh_composition
sh_event
sh_file
sh_job
sh_mutex
sh_pipe
sh_process
sh_reg_key
sh_section
sh_semaphore
sh_socket
sh_thread
sh_token
shape
short_enum
size_is
source
sta
standard
strict_context_handle
string
switch_is
switch_type
system_handle
target_all
target_delegate
target_enum
target_event
target_field
target_interface
target_method
target_parameter
target_property
target_runtimeclass
target_runtimeclass_member
target_struct
threading
transmit_as
type_strict_context_handle
typedescattr
uidefault
unaligned
unique
user_marshal
usesgetlasterror
uuid
v1_array
v1_enum
v1_string
v1_struct
vararg
vardescattr
version
wire_marshal
winrt_remote_async
wire_marshal
zeroout_alignmentgap