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