1 // Licensed to the .NET Foundation under one or more agreements.
2 // The .NET Foundation licenses this file to you under the MIT license.
3 // See the LICENSE file in the project root for more information.
4 // This file contains the classes, methods, and field used by the EE from mscorlib
7 // To use this, define one of the following macros & include the file like so:
9 // #define DEFINE_CLASS(id, nameSpace, stringName) CLASS__ ## id,
10 // #define DEFINE_METHOD(classId, id, stringName, gSign)
11 // #define DEFINE_FIELD(classId, id, stringName)
12 // #include "mscorlib.h"
14 // Note: To determine if the namespace you want to use in DEFINE_CLASS is supported or not,
15 // examine vm\namespace.h. If it is not present, define it there and then proceed to use it below.
19 // Note: This file gets parsed by the Mono IL Linker (https://github.com/mono/linker/) which may throw an exception during parsing.
20 // Specifically, this (https://github.com/mono/linker/blob/master/corebuild/integration/ILLink.Tasks/CreateRuntimeRootDescriptorFile.cs) will try to
21 // parse this header, and it may throw an exception while doing that. If you edit this file and get a build failure on msbuild.exe D:\repos\coreclr\build.proj
22 // you might want to check out the parser linked above.
26 // Note: The SM_* and IM_* are signatures defined in file:metasig.h using IM() and SM() macros.
30 #define DEFINE_CLASS(id, nameSpace, stringName)
34 #define DEFINE_METHOD(classId, id, stringName, gSign)
38 #define DEFINE_FIELD(classId, id, stringName)
41 #ifndef DEFINE_PROPERTY
42 #define DEFINE_PROPERTY(classId, id, stringName, gSign) DEFINE_METHOD(classId, GET_ ## id, get_ ## stringName, IM_Ret ## gSign)
45 #ifndef DEFINE_STATIC_PROPERTY
46 #define DEFINE_STATIC_PROPERTY(classId, id, stringName, gSign) DEFINE_METHOD(classId, GET_ ## id, get_ ## stringName, SM_Ret ## gSign)
49 #ifndef DEFINE_SET_PROPERTY
50 #define DEFINE_SET_PROPERTY(classId, id, stringName, gSign) \
51 DEFINE_PROPERTY(classId, id, stringName, gSign) \
52 DEFINE_METHOD(classId, SET_ ## id, set_ ## stringName, IM_## gSign ## _RetVoid)
55 #ifndef DEFINE_STATIC_SET_PROPERTY
56 #define DEFINE_STATIC_SET_PROPERTY(classId, id, stringName, gSign) \
57 DEFINE_STATIC_PROPERTY(classId, id, stringName, gSign) \
58 DEFINE_METHOD(classId, SET_ ## id, set_ ## stringName, SM_## gSign ## _RetVoid)
62 // DEFINE_CLASS_U and DEFINE_FIELD_U are debug-only checks to verify that the managed and unmanaged layouts are in sync
64 #ifndef DEFINE_CLASS_U
65 #define DEFINE_CLASS_U(nameSpace, stringName, unmanagedType)
68 #ifndef DEFINE_FIELD_U
69 #define DEFINE_FIELD_U(stringName, unmanagedContainingType, unmanagedOffset)
72 // NOTE: Make this window really wide if you want to read the table...
74 DEFINE_CLASS(ACTIVATOR, System, Activator)
75 DEFINE_METHOD(ACTIVATOR, CREATE_INSTANCE_OF_T, CreateInstance, GM_RetT)
76 DEFINE_METHOD(ACTIVATOR, CREATE_DEFAULT_INSTANCE_OF_T, CreateDefaultInstance, GM_RetT)
78 DEFINE_CLASS(ACCESS_VIOLATION_EXCEPTION, System, AccessViolationException)
79 DEFINE_FIELD(ACCESS_VIOLATION_EXCEPTION, IP, _ip)
80 DEFINE_FIELD(ACCESS_VIOLATION_EXCEPTION, TARGET, _target)
81 DEFINE_FIELD(ACCESS_VIOLATION_EXCEPTION, ACCESSTYPE, _accessType)
83 DEFINE_CLASS(APPCONTEXT, System, AppContext)
84 DEFINE_METHOD(APPCONTEXT, SETUP, Setup, SM_PtrPtrChar_PtrPtrChar_Int_RetVoid)
85 DEFINE_METHOD(APPCONTEXT, ON_PROCESS_EXIT, OnProcessExit, SM_RetVoid)
86 DEFINE_FIELD(APPCONTEXT, UNHANDLED_EXCEPTION, UnhandledException)
87 DEFINE_FIELD(APPCONTEXT, FIRST_CHANCE_EXCEPTION, FirstChanceException)
89 DEFINE_CLASS(ARG_ITERATOR, System, ArgIterator)
90 DEFINE_CLASS_U(System, ArgIterator, VARARGS) // Includes a SigPointer.
91 DEFINE_METHOD(ARG_ITERATOR, CTOR2, .ctor, IM_RuntimeArgumentHandle_PtrVoid_RetVoid)
93 DEFINE_CLASS(ARGUMENT_HANDLE, System, RuntimeArgumentHandle)
95 DEFINE_CLASS(ARRAY, System, Array)
96 DEFINE_PROPERTY(ARRAY, LENGTH, Length, Int)
97 DEFINE_METHOD(ARRAY, GET_RAW_ARRAY_DATA, GetRawArrayData, IM_RetRefByte)
99 DEFINE_CLASS(ARRAY_WITH_OFFSET, Interop, ArrayWithOffset)
100 DEFINE_FIELD(ARRAY_WITH_OFFSET, M_ARRAY, m_array)
101 DEFINE_FIELD(ARRAY_WITH_OFFSET, M_OFFSET, m_offset)
102 DEFINE_FIELD(ARRAY_WITH_OFFSET, M_COUNT, m_count)
105 DEFINE_CLASS(ASSEMBLY_BUILDER, ReflectionEmit, AssemblyBuilder)
106 DEFINE_CLASS(INTERNAL_ASSEMBLY_BUILDER, ReflectionEmit, InternalAssemblyBuilder)
108 DEFINE_CLASS(ASSEMBLY_HASH_ALGORITHM, Assemblies, AssemblyHashAlgorithm)
109 DEFINE_CLASS(PORTABLE_EXECUTABLE_KINDS, Reflection, PortableExecutableKinds)
110 DEFINE_CLASS(IMAGE_FILE_MACHINE, Reflection, ImageFileMachine)
112 DEFINE_CLASS_U(Reflection, AssemblyName, AssemblyNameBaseObject)
113 DEFINE_FIELD_U(_name, AssemblyNameBaseObject, _name)
114 DEFINE_FIELD_U(_publicKey, AssemblyNameBaseObject, _publicKey)
115 DEFINE_FIELD_U(_publicKeyToken, AssemblyNameBaseObject, _publicKeyToken)
116 DEFINE_FIELD_U(_cultureInfo, AssemblyNameBaseObject, _cultureInfo)
117 DEFINE_FIELD_U(_codeBase, AssemblyNameBaseObject, _codeBase)
118 DEFINE_FIELD_U(_version, AssemblyNameBaseObject, _version)
119 DEFINE_FIELD_U(_hashAlgorithm, AssemblyNameBaseObject, _hashAlgorithm)
120 DEFINE_FIELD_U(_versionCompatibility, AssemblyNameBaseObject, _versionCompatibility)
121 DEFINE_FIELD_U(_flags, AssemblyNameBaseObject, _flags)
122 DEFINE_CLASS(ASSEMBLY_NAME, Reflection, AssemblyName)
123 DEFINE_METHOD(ASSEMBLY_NAME, CTOR, .ctor, IM_Str_ArrB_ArrB_Ver_CI_AHA_AVC_Str_ANF_SNKP_RetV)
124 DEFINE_METHOD(ASSEMBLY_NAME, SET_PROC_ARCH_INDEX, SetProcArchIndex, IM_PEK_IFM_RetV)
126 DEFINE_CLASS_U(System, Version, VersionBaseObject)
127 DEFINE_FIELD_U(_Major, VersionBaseObject, m_Major)
128 DEFINE_FIELD_U(_Minor, VersionBaseObject, m_Minor)
129 DEFINE_FIELD_U(_Build, VersionBaseObject, m_Build)
130 DEFINE_FIELD_U(_Revision, VersionBaseObject, m_Revision)
131 DEFINE_CLASS(VERSION, System, Version)
132 DEFINE_METHOD(VERSION, CTOR_Ix2, .ctor, IM_Int_Int_RetVoid)
133 DEFINE_METHOD(VERSION, CTOR_Ix3, .ctor, IM_Int_Int_Int_RetVoid)
134 DEFINE_METHOD(VERSION, CTOR_Ix4, .ctor, IM_Int_Int_Int_Int_RetVoid)
136 DEFINE_CLASS(ASSEMBLY_VERSION_COMPATIBILITY, Assemblies, AssemblyVersionCompatibility)
138 DEFINE_CLASS(ASSEMBLY_NAME_FLAGS, Reflection, AssemblyNameFlags)
140 // ASSEMBLYBASE is System.ReflectionAssembly while ASSEMBLY is System.Reflection.RuntimeAssembly
141 // Maybe we should reverse these two names
142 DEFINE_CLASS(ASSEMBLYBASE, Reflection, Assembly)
144 DEFINE_CLASS_U(Reflection, RuntimeAssembly, AssemblyBaseObject)
145 DEFINE_FIELD_U(_ModuleResolve, AssemblyBaseObject, m_pModuleEventHandler)
146 DEFINE_FIELD_U(m_fullname, AssemblyBaseObject, m_fullname)
147 DEFINE_FIELD_U(m_syncRoot, AssemblyBaseObject, m_pSyncRoot)
148 DEFINE_FIELD_U(m_assembly, AssemblyBaseObject, m_pAssembly)
149 DEFINE_CLASS(ASSEMBLY, Reflection, RuntimeAssembly)
150 DEFINE_FIELD(ASSEMBLY, HANDLE, m_assembly)
151 DEFINE_METHOD(ASSEMBLY, GET_NAME, GetName, IM_RetAssemblyName)
152 DEFINE_METHOD(ASSEMBLY, ON_MODULE_RESOLVE, OnModuleResolveEvent, IM_Str_RetModule)
155 DEFINE_CLASS(ASYNCCALLBACK, System, AsyncCallback)
156 DEFINE_CLASS(ATTRIBUTE, System, Attribute)
159 DEFINE_CLASS(BINDER, Reflection, Binder)
160 DEFINE_METHOD(BINDER, CHANGE_TYPE, ChangeType, IM_Obj_Type_CultureInfo_RetObj)
162 DEFINE_CLASS(BINDING_FLAGS, Reflection, BindingFlags)
164 DEFINE_CLASS_U(System, RuntimeType, ReflectClassBaseObject)
165 DEFINE_FIELD_U(m_cache, ReflectClassBaseObject, m_cache)
166 DEFINE_FIELD_U(m_handle, ReflectClassBaseObject, m_typeHandle)
167 DEFINE_FIELD_U(m_keepalive, ReflectClassBaseObject, m_keepalive)
168 DEFINE_CLASS(CLASS, System, RuntimeType)
169 DEFINE_FIELD(CLASS, TYPEHANDLE, m_handle)
170 DEFINE_METHOD(CLASS, GET_PROPERTIES, GetProperties, IM_BindingFlags_RetArrPropertyInfo)
171 DEFINE_METHOD(CLASS, GET_FIELDS, GetFields, IM_BindingFlags_RetArrFieldInfo)
172 DEFINE_METHOD(CLASS, GET_METHODS, GetMethods, IM_BindingFlags_RetArrMethodInfo)
173 DEFINE_METHOD(CLASS, INVOKE_MEMBER, InvokeMember, IM_Str_BindingFlags_Binder_Obj_ArrObj_ArrParameterModifier_CultureInfo_ArrStr_RetObj)
174 DEFINE_METHOD(CLASS, GET_METHOD_BASE, GetMethodBase, SM_RuntimeType_RuntimeMethodHandleInternal_RetMethodBase)
175 DEFINE_METHOD(CLASS, GET_FIELD_INFO, GetFieldInfo, SM_RuntimeType_IRuntimeFieldInfo_RetFieldInfo)
176 DEFINE_METHOD(CLASS, GET_PROPERTY_INFO, GetPropertyInfo, SM_RuntimeType_Int_RetPropertyInfo)
178 #ifdef FEATURE_COMINTEROP
179 DEFINE_METHOD(CLASS, FORWARD_CALL_TO_INVOKE, ForwardCallToInvokeMember, IM_Str_BindingFlags_Obj_ArrObj_ArrBool_ArrInt_ArrType_Type_RetObj)
180 #endif // FEATURE_COMINTEROP
182 #ifdef FEATURE_COMINTEROP
183 DEFINE_CLASS(BSTR_WRAPPER, Interop, BStrWrapper)
184 DEFINE_CLASS(CURRENCY_WRAPPER, Interop, CurrencyWrapper)
185 DEFINE_CLASS(DISPATCH_WRAPPER, Interop, DispatchWrapper)
186 DEFINE_CLASS(ERROR_WRAPPER, Interop, ErrorWrapper)
187 DEFINE_CLASS(UNKNOWN_WRAPPER, Interop, UnknownWrapper)
188 DEFINE_CLASS(VARIANT_WRAPPER, Interop, VariantWrapper)
189 #endif // FEATURE_COMINTEROP
191 #ifdef FEATURE_COMINTEROP
192 DEFINE_CLASS_U(System, __ComObject, ComObject)
193 DEFINE_FIELD_U(m_ObjectToDataMap, ComObject, m_ObjectToDataMap)
194 DEFINE_CLASS(COM_OBJECT, System, __ComObject)
195 DEFINE_METHOD(COM_OBJECT, RELEASE_ALL_DATA, ReleaseAllData, IM_RetVoid)
196 DEFINE_METHOD(COM_OBJECT, GET_EVENT_PROVIDER, GetEventProvider, IM_Class_RetObj)
198 DEFINE_CLASS(LICENSE_INTEROP_PROXY, InternalInteropServices, LicenseInteropProxy)
199 DEFINE_METHOD(LICENSE_INTEROP_PROXY, CREATE, Create, SM_RetObj)
200 DEFINE_METHOD(LICENSE_INTEROP_PROXY, GETCURRENTCONTEXTINFO, GetCurrentContextInfo, IM_RuntimeTypeHandle_RefBool_RefIntPtr_RetVoid)
201 DEFINE_METHOD(LICENSE_INTEROP_PROXY, SAVEKEYINCURRENTCONTEXT, SaveKeyInCurrentContext, IM_IntPtr_RetVoid)
203 DEFINE_CLASS(RUNTIME_CLASS, WinRT, RuntimeClass)
205 #endif // FEATURE_COMINTEROP
207 DEFINE_CLASS_U(Interop, CriticalHandle, CriticalHandle)
208 DEFINE_FIELD_U(handle, CriticalHandle, m_handle)
209 DEFINE_FIELD_U(_isClosed, CriticalHandle, m_isClosed)
210 DEFINE_CLASS(CRITICAL_HANDLE, Interop, CriticalHandle)
211 DEFINE_FIELD(CRITICAL_HANDLE, HANDLE, handle)
212 DEFINE_METHOD(CRITICAL_HANDLE, RELEASE_HANDLE, ReleaseHandle, IM_RetBool)
213 DEFINE_METHOD(CRITICAL_HANDLE, GET_IS_INVALID, get_IsInvalid, IM_RetBool)
214 DEFINE_METHOD(CRITICAL_HANDLE, DISPOSE, Dispose, IM_RetVoid)
215 DEFINE_METHOD(CRITICAL_HANDLE, DISPOSE_BOOL, Dispose, IM_Bool_RetVoid)
217 DEFINE_CLASS(HANDLE_REF, Interop, HandleRef)
218 DEFINE_FIELD(HANDLE_REF, WRAPPER, _wrapper)
219 DEFINE_FIELD(HANDLE_REF, HANDLE, _handle)
221 DEFINE_CLASS(CRITICAL_FINALIZER_OBJECT, ConstrainedExecution, CriticalFinalizerObject)
222 DEFINE_METHOD(CRITICAL_FINALIZER_OBJECT, FINALIZE, Finalize, IM_RetVoid)
224 DEFINE_CLASS_U(Reflection, RuntimeConstructorInfo, NoClass)
225 DEFINE_FIELD_U(m_handle, ReflectMethodObject, m_pMD)
226 DEFINE_CLASS(CONSTRUCTOR, Reflection, RuntimeConstructorInfo)
228 DEFINE_CLASS_U(System, RuntimeMethodInfoStub, ReflectMethodObject)
229 DEFINE_FIELD_U(m_value, ReflectMethodObject, m_pMD)
230 DEFINE_CLASS(STUBMETHODINFO, System, RuntimeMethodInfoStub)
231 DEFINE_FIELD(STUBMETHODINFO, HANDLE, m_value)
233 DEFINE_CLASS(CONSTRUCTOR_INFO, Reflection, ConstructorInfo)
235 DEFINE_CLASS_U(Reflection, CustomAttributeEncodedArgument, CustomAttributeValue)
236 DEFINE_FIELD_U(m_primitiveValue, CustomAttributeValue, m_rawValue)
237 DEFINE_FIELD_U(m_arrayValue, CustomAttributeValue, m_value)
238 DEFINE_FIELD_U(m_stringValue, CustomAttributeValue, m_enumOrTypeName)
239 DEFINE_FIELD_U(m_type, CustomAttributeValue, m_type)
240 DEFINE_CLASS(CUSTOM_ATTRIBUTE_ENCODED_ARGUMENT, Reflection, CustomAttributeEncodedArgument)
242 DEFINE_CLASS_U(Reflection, CustomAttributeNamedParameter, CustomAttributeNamedArgument)
243 DEFINE_FIELD_U(m_argumentName, CustomAttributeNamedArgument, m_argumentName)
244 DEFINE_FIELD_U(m_fieldOrProperty, CustomAttributeNamedArgument, m_propertyOrField)
245 DEFINE_FIELD_U(m_padding, CustomAttributeNamedArgument, m_padding)
246 DEFINE_FIELD_U(m_type, CustomAttributeNamedArgument, m_type)
247 DEFINE_FIELD_U(m_encodedArgument, CustomAttributeNamedArgument, m_value)
249 DEFINE_CLASS_U(Reflection, CustomAttributeCtorParameter, CustomAttributeArgument)
250 DEFINE_FIELD_U(m_type, CustomAttributeArgument, m_type)
251 DEFINE_FIELD_U(m_encodedArgument, CustomAttributeArgument, m_value)
253 DEFINE_CLASS_U(Reflection, CustomAttributeType, CustomAttributeType)
254 DEFINE_FIELD_U(m_enumName, CustomAttributeType, m_enumName)
255 DEFINE_FIELD_U(m_encodedType, CustomAttributeType, m_tag)
256 DEFINE_FIELD_U(m_encodedEnumType, CustomAttributeType, m_enumType)
257 DEFINE_FIELD_U(m_encodedArrayType, CustomAttributeType, m_arrayType)
258 DEFINE_FIELD_U(m_padding, CustomAttributeType, m_padding)
260 DEFINE_CLASS_U(Globalization, CultureInfo, CultureInfoBaseObject)
261 DEFINE_FIELD_U(_compareInfo, CultureInfoBaseObject, _compareInfo)
262 DEFINE_FIELD_U(_textInfo, CultureInfoBaseObject, _textInfo)
263 DEFINE_FIELD_U(_numInfo, CultureInfoBaseObject, _numInfo)
264 DEFINE_FIELD_U(_dateTimeInfo, CultureInfoBaseObject, _dateTimeInfo)
265 DEFINE_FIELD_U(_calendar, CultureInfoBaseObject, _calendar)
266 DEFINE_FIELD_U(_consoleFallbackCulture, CultureInfoBaseObject, _consoleFallbackCulture)
267 DEFINE_FIELD_U(_name, CultureInfoBaseObject, _name)
268 DEFINE_FIELD_U(_nonSortName, CultureInfoBaseObject, _nonSortName)
269 DEFINE_FIELD_U(_sortName, CultureInfoBaseObject, _sortName)
270 DEFINE_FIELD_U(_parent, CultureInfoBaseObject, _parent)
271 DEFINE_FIELD_U(_isReadOnly, CultureInfoBaseObject, _isReadOnly)
272 DEFINE_FIELD_U(_isInherited, CultureInfoBaseObject, _isInherited)
273 DEFINE_CLASS(CULTURE_INFO, Globalization, CultureInfo)
274 DEFINE_METHOD(CULTURE_INFO, STR_CTOR, .ctor, IM_Str_RetVoid)
275 DEFINE_FIELD(CULTURE_INFO, CURRENT_CULTURE, s_userDefaultCulture)
276 DEFINE_PROPERTY(CULTURE_INFO, NAME, Name, Str)
277 DEFINE_METHOD(CULTURE_INFO, INT_CTOR, .ctor, IM_Int_RetVoid)
278 DEFINE_PROPERTY(CULTURE_INFO, ID, LCID, Int)
279 DEFINE_FIELD(CULTURE_INFO, CULTURE, s_currentThreadCulture)
280 DEFINE_FIELD(CULTURE_INFO, UI_CULTURE, s_currentThreadUICulture)
281 DEFINE_STATIC_SET_PROPERTY(CULTURE_INFO, CURRENT_CULTURE, CurrentCulture, CultureInfo)
282 DEFINE_STATIC_SET_PROPERTY(CULTURE_INFO, CURRENT_UI_CULTURE, CurrentUICulture, CultureInfo)
284 DEFINE_CLASS(CURRENCY, System, Currency)
285 DEFINE_METHOD(CURRENCY, DECIMAL_CTOR, .ctor, IM_Dec_RetVoid)
287 DEFINE_CLASS(DATE_TIME, System, DateTime)
288 DEFINE_METHOD(DATE_TIME, LONG_CTOR, .ctor, IM_Long_RetVoid)
290 #ifdef FEATURE_COMINTEROP
291 DEFINE_CLASS(DATE_TIME_OFFSET, System, DateTimeOffset)
292 #endif // FEATURE_COMINTEROP
294 DEFINE_CLASS(DECIMAL, System, Decimal)
295 DEFINE_METHOD(DECIMAL, CURRENCY_CTOR, .ctor, IM_Currency_RetVoid)
297 DEFINE_CLASS_U(System, Delegate, NoClass)
298 DEFINE_FIELD_U(_target, DelegateObject, _target)
299 DEFINE_FIELD_U(_methodBase, DelegateObject, _methodBase)
300 DEFINE_FIELD_U(_methodPtr, DelegateObject, _methodPtr)
301 DEFINE_FIELD_U(_methodPtrAux, DelegateObject, _methodPtrAux)
302 DEFINE_CLASS(DELEGATE, System, Delegate)
303 DEFINE_FIELD(DELEGATE, TARGET, _target)
304 DEFINE_FIELD(DELEGATE, METHOD_PTR, _methodPtr)
305 DEFINE_FIELD(DELEGATE, METHOD_PTR_AUX, _methodPtrAux)
306 DEFINE_METHOD(DELEGATE, CONSTRUCT_DELEGATE, DelegateConstruct, IM_Obj_IntPtr_RetVoid)
307 DEFINE_METHOD(DELEGATE, GET_INVOKE_METHOD, GetInvokeMethod, IM_RetIntPtr)
309 DEFINE_CLASS(DYNAMICMETHOD, ReflectionEmit, DynamicMethod)
311 DEFINE_CLASS(DYNAMICRESOLVER, ReflectionEmit, DynamicResolver)
312 DEFINE_FIELD(DYNAMICRESOLVER, DYNAMIC_METHOD, m_method)
314 DEFINE_CLASS(EMPTY, System, Empty)
316 DEFINE_CLASS(ENC_HELPER, Diagnostics, EditAndContinueHelper)
317 DEFINE_FIELD(ENC_HELPER, OBJECT_REFERENCE, _objectReference)
319 DEFINE_CLASS(ENCODING, Text, Encoding)
321 DEFINE_CLASS(RUNE, Text, Rune)
323 #ifdef FEATURE_UTF8STRING
324 DEFINE_CLASS(CHAR8, System, Char8)
325 #endif // FEATURE_UTF8STRING
327 DEFINE_CLASS(ENUM, System, Enum)
329 DEFINE_CLASS(ENVIRONMENT, System, Environment)
330 DEFINE_METHOD(ENVIRONMENT, GET_RESOURCE_STRING_LOCAL, GetResourceStringLocal, SM_Str_RetStr)
331 DEFINE_METHOD(ENVIRONMENT, SET_COMMAND_LINE_ARGS, SetCommandLineArgs, SM_ArrStr_RetVoid)
333 DEFINE_CLASS(EVENT, Reflection, RuntimeEventInfo)
335 DEFINE_CLASS(EVENT_ARGS, System, EventArgs)
337 DEFINE_CLASS(EVENT_HANDLERGENERIC, System, EventHandler`1)
339 DEFINE_CLASS(EVENT_INFO, Reflection, EventInfo)
341 DEFINE_CLASS_U(System, Exception, ExceptionObject)
342 DEFINE_FIELD_U(_exceptionMethod, ExceptionObject, _exceptionMethod)
343 DEFINE_FIELD_U(_message, ExceptionObject, _message)
344 DEFINE_FIELD_U(_data, ExceptionObject, _data)
345 DEFINE_FIELD_U(_innerException, ExceptionObject, _innerException)
346 DEFINE_FIELD_U(_helpURL, ExceptionObject, _helpURL)
347 DEFINE_FIELD_U(_source, ExceptionObject, _source)
348 DEFINE_FIELD_U(_stackTrace, ExceptionObject, _stackTrace)
349 DEFINE_FIELD_U(_watsonBuckets, ExceptionObject, _watsonBuckets)
350 DEFINE_FIELD_U(_stackTraceString, ExceptionObject, _stackTraceString)
351 DEFINE_FIELD_U(_remoteStackTraceString, ExceptionObject, _remoteStackTraceString)
352 DEFINE_FIELD_U(_dynamicMethods, ExceptionObject, _dynamicMethods)
353 DEFINE_FIELD_U(_xptrs, ExceptionObject, _xptrs)
354 DEFINE_FIELD_U(_HResult, ExceptionObject, _HResult)
355 DEFINE_FIELD_U(_xcode, ExceptionObject, _xcode)
356 DEFINE_FIELD_U(_ipForWatsonBuckets,ExceptionObject, _ipForWatsonBuckets)
357 DEFINE_CLASS(EXCEPTION, System, Exception)
358 DEFINE_METHOD(EXCEPTION, GET_CLASS_NAME, GetClassName, IM_RetStr)
359 DEFINE_PROPERTY(EXCEPTION, MESSAGE, Message, Str)
360 DEFINE_PROPERTY(EXCEPTION, SOURCE, Source, Str)
361 DEFINE_PROPERTY(EXCEPTION, HELP_LINK, HelpLink, Str)
362 DEFINE_METHOD(EXCEPTION, INTERNAL_PRESERVE_STACK_TRACE, InternalPreserveStackTrace, IM_RetVoid)
363 #ifdef FEATURE_COMINTEROP
364 DEFINE_METHOD(EXCEPTION, ADD_EXCEPTION_DATA_FOR_RESTRICTED_ERROR_INFO, AddExceptionDataForRestrictedErrorInfo, IM_Str_Str_Str_Obj_Bool_RetVoid)
365 DEFINE_METHOD(EXCEPTION, TRY_GET_RESTRICTED_LANGUAGE_ERROR_OBJECT, TryGetRestrictedLanguageErrorObject, IM_RefObject_RetBool)
366 #endif // FEATURE_COMINTEROP
369 DEFINE_CLASS(SYSTEM_EXCEPTION, System, SystemException)
370 DEFINE_METHOD(SYSTEM_EXCEPTION, STR_EX_CTOR, .ctor, IM_Str_Exception_RetVoid)
373 DEFINE_CLASS(TYPE_INIT_EXCEPTION, System, TypeInitializationException)
374 DEFINE_METHOD(TYPE_INIT_EXCEPTION, STR_EX_CTOR, .ctor, IM_Str_Exception_RetVoid)
376 DEFINE_CLASS(THREAD_START_EXCEPTION,Threading, ThreadStartException)
377 DEFINE_METHOD(THREAD_START_EXCEPTION,EX_CTOR, .ctor, IM_Exception_RetVoid)
379 DEFINE_CLASS(TYPE_HANDLE, System, RuntimeTypeHandle)
380 DEFINE_CLASS(RT_TYPE_HANDLE, System, RuntimeTypeHandle)
381 DEFINE_METHOD(RT_TYPE_HANDLE, GET_TYPE_HELPER, GetTypeHelper, SM_Type_ArrType_IntPtr_int_RetType)
382 DEFINE_METHOD(RT_TYPE_HANDLE, PVOID_CTOR, .ctor, IM_RuntimeType_RetVoid)
383 DEFINE_METHOD(RT_TYPE_HANDLE, GETVALUEINTERNAL, GetValueInternal, SM_RuntimeTypeHandle_RetIntPtr)
384 DEFINE_FIELD(RT_TYPE_HANDLE, M_TYPE, m_type)
386 DEFINE_CLASS_U(Reflection, RtFieldInfo, NoClass)
387 DEFINE_FIELD_U(m_fieldHandle, ReflectFieldObject, m_pFD)
388 DEFINE_CLASS(RT_FIELD_INFO, Reflection, RtFieldInfo)
389 DEFINE_FIELD(RT_FIELD_INFO, HANDLE, m_fieldHandle)
391 DEFINE_CLASS_U(System, RuntimeFieldInfoStub, ReflectFieldObject)
392 DEFINE_FIELD_U(m_fieldHandle, ReflectFieldObject, m_pFD)
393 DEFINE_CLASS(STUBFIELDINFO, System, RuntimeFieldInfoStub)
395 DEFINE_CLASS(FIELD, Reflection, RuntimeFieldInfo)
396 DEFINE_METHOD(FIELD, SET_VALUE, SetValue, IM_Obj_Obj_BindingFlags_Binder_CultureInfo_RetVoid)
397 DEFINE_METHOD(FIELD, GET_VALUE, GetValue, IM_Obj_RetObj)
399 DEFINE_CLASS(FIELD_HANDLE, System, RuntimeFieldHandle)
400 DEFINE_FIELD(FIELD_HANDLE, M_FIELD, m_ptr)
402 DEFINE_CLASS(I_RT_FIELD_INFO, System, IRuntimeFieldInfo)
404 DEFINE_CLASS(FIELD_INFO, Reflection, FieldInfo)
407 DEFINE_CLASS(GUID, System, Guid)
409 #ifdef FEATURE_COMINTEROP
410 DEFINE_CLASS(HSTRING_HEADER_MANAGED, WinRT, HSTRING_HEADER)
412 DEFINE_CLASS(ICUSTOMPROPERTY, WinRT, ICustomProperty)
413 DEFINE_CLASS(ICUSTOMPROPERTYPROVIDERIMPL, WinRT, ICustomPropertyProviderImpl)
414 DEFINE_METHOD(ICUSTOMPROPERTYPROVIDERIMPL, CREATE_PROPERTY, CreateProperty, SM_Obj_Str_RetICustomProperty)
415 DEFINE_METHOD(ICUSTOMPROPERTYPROVIDERIMPL, CREATE_INDEXED_PROPERTY, CreateIndexedProperty, SM_Obj_Str_PtrTypeName_RetICustomProperty)
416 DEFINE_METHOD(ICUSTOMPROPERTYPROVIDERIMPL, GET_TYPE, GetType, SM_Obj_PtrTypeName_RetVoid)
417 DEFINE_CLASS(ICUSTOMPROPERTYPROVIDERPROXY, WinRT, ICustomPropertyProviderProxy`2)
418 DEFINE_METHOD(ICUSTOMPROPERTYPROVIDERPROXY, CREATE_INSTANCE, CreateInstance, SM_Obj_RetObj)
420 DEFINE_CLASS(FACTORYFORIREFERENCE, WinRT, IReferenceFactory)
421 DEFINE_METHOD(FACTORYFORIREFERENCE, CREATE_IREFERENCE, CreateIReference, SM_Obj_RetObj)
422 DEFINE_CLASS(CLRIREFERENCEIMPL, WinRT, CLRIReferenceImpl`1)
423 DEFINE_METHOD(CLRIREFERENCEIMPL, UNBOXHELPER, UnboxHelper, SM_Obj_RetObj)
424 DEFINE_CLASS(CLRIREFERENCEARRAYIMPL, WinRT, CLRIReferenceArrayImpl`1)
425 DEFINE_METHOD(CLRIREFERENCEARRAYIMPL,UNBOXHELPER, UnboxHelper, SM_Obj_RetObj)
426 DEFINE_CLASS(IREFERENCE, WinRT, IReference`1)
427 DEFINE_CLASS(CLRIKEYVALUEPAIRIMPL, WinRT, CLRIKeyValuePairImpl`2)
428 DEFINE_METHOD(CLRIKEYVALUEPAIRIMPL, BOXHELPER, BoxHelper, SM_Obj_RetObj)
429 DEFINE_METHOD(CLRIKEYVALUEPAIRIMPL, UNBOXHELPER, UnboxHelper, SM_Obj_RetObj)
431 DEFINE_CLASS(WINDOWS_FOUNDATION_EVENTHANDLER, WinRT, WindowsFoundationEventHandler`1)
433 DEFINE_CLASS(VARIANT, System, Variant)
434 DEFINE_METHOD(VARIANT, CONVERT_OBJECT_TO_VARIANT,MarshalHelperConvertObjectToVariant,SM_Obj_RefVariant_RetVoid)
435 DEFINE_METHOD(VARIANT, CAST_VARIANT, MarshalHelperCastVariant, SM_Obj_Int_RefVariant_RetVoid)
436 DEFINE_METHOD(VARIANT, CONVERT_VARIANT_TO_OBJECT,MarshalHelperConvertVariantToObject,SM_RefVariant_RetObject)
438 DEFINE_CLASS_U(System, Variant, VariantData)
439 DEFINE_FIELD_U(_objref, VariantData, m_objref)
440 DEFINE_FIELD_U(_data, VariantData, m_data)
441 DEFINE_FIELD_U(_flags, VariantData, m_flags)
442 #endif // FEATURE_COMINTEROP
444 DEFINE_CLASS(IASYNCRESULT, System, IAsyncResult)
446 DEFINE_CLASS(ICUSTOM_ATTR_PROVIDER, Reflection, ICustomAttributeProvider)
447 DEFINE_METHOD(ICUSTOM_ATTR_PROVIDER,GET_CUSTOM_ATTRIBUTES, GetCustomAttributes, IM_Type_RetArrObj)
449 DEFINE_CLASS(ICUSTOM_MARSHALER, Interop, ICustomMarshaler)
450 DEFINE_METHOD(ICUSTOM_MARSHALER, MARSHAL_NATIVE_TO_MANAGED,MarshalNativeToManaged, IM_IntPtr_RetObj)
451 DEFINE_METHOD(ICUSTOM_MARSHALER, MARSHAL_MANAGED_TO_NATIVE,MarshalManagedToNative, IM_Obj_RetIntPtr)
452 DEFINE_METHOD(ICUSTOM_MARSHALER, CLEANUP_NATIVE_DATA, CleanUpNativeData, IM_IntPtr_RetVoid)
453 DEFINE_METHOD(ICUSTOM_MARSHALER, CLEANUP_MANAGED_DATA, CleanUpManagedData, IM_Obj_RetVoid)
454 DEFINE_METHOD(ICUSTOM_MARSHALER, GET_NATIVE_DATA_SIZE, GetNativeDataSize, IM_RetInt)
456 #ifdef FEATURE_COMINTEROP
457 DEFINE_CLASS(ICUSTOM_QUERYINTERFACE, Interop, ICustomQueryInterface)
458 DEFINE_METHOD(ICUSTOM_QUERYINTERFACE, GET_INTERFACE, GetInterface, IM_RefGuid_OutIntPtr_RetCustomQueryInterfaceResult)
459 DEFINE_CLASS(CUSTOMQUERYINTERFACERESULT, Interop, CustomQueryInterfaceResult)
460 #endif //FEATURE_COMINTEROP
462 DEFINE_CLASS(SERIALIZATION_INFO, Serialization, SerializationInfo)
463 DEFINE_CLASS(DESERIALIZATION_TRACKER, Serialization, DeserializationTracker)
465 DEFINE_CLASS(IENUMERATOR, Collections, IEnumerator)
467 DEFINE_CLASS(IENUMERABLE, Collections, IEnumerable)
468 DEFINE_CLASS(ICOLLECTION, Collections, ICollection)
469 DEFINE_CLASS(ILIST, Collections, IList)
470 DEFINE_CLASS(IDISPOSABLE, System, IDisposable)
472 DEFINE_CLASS(IEXPANDO, Expando, IExpando)
473 DEFINE_METHOD(IEXPANDO, ADD_FIELD, AddField, IM_Str_RetFieldInfo)
474 DEFINE_METHOD(IEXPANDO, REMOVE_MEMBER, RemoveMember, IM_MemberInfo_RetVoid)
476 DEFINE_CLASS(IREFLECT, Reflection, IReflect)
477 DEFINE_METHOD(IREFLECT, GET_PROPERTIES, GetProperties, IM_BindingFlags_RetArrPropertyInfo)
478 DEFINE_METHOD(IREFLECT, GET_FIELDS, GetFields, IM_BindingFlags_RetArrFieldInfo)
479 DEFINE_METHOD(IREFLECT, GET_METHODS, GetMethods, IM_BindingFlags_RetArrMethodInfo)
480 DEFINE_METHOD(IREFLECT, INVOKE_MEMBER, InvokeMember, IM_Str_BindingFlags_Binder_Obj_ArrObj_ArrParameterModifier_CultureInfo_ArrStr_RetObj)
483 #ifdef FEATURE_COMINTEROP
484 DEFINE_CLASS(LCID_CONVERSION_TYPE, Interop, LCIDConversionAttribute)
485 #endif // FEATURE_COMINTEROP
488 DEFINE_CLASS(MARSHAL, Interop, Marshal)
489 #ifdef FEATURE_COMINTEROP
490 DEFINE_METHOD(MARSHAL, GET_HR_FOR_EXCEPTION, GetHRForException, SM_Exception_RetInt)
491 #endif // FEATURE_COMINTEROP
492 DEFINE_METHOD(MARSHAL, GET_FUNCTION_POINTER_FOR_DELEGATE, GetFunctionPointerForDelegate, SM_Delegate_RetIntPtr)
493 DEFINE_METHOD(MARSHAL, GET_DELEGATE_FOR_FUNCTION_POINTER, GetDelegateForFunctionPointer, SM_IntPtr_Type_RetDelegate)
494 DEFINE_METHOD(MARSHAL, ALLOC_CO_TASK_MEM, AllocCoTaskMem, SM_Int_RetIntPtr)
495 DEFINE_METHOD(MARSHAL, FREE_CO_TASK_MEM, FreeCoTaskMem, SM_IntPtr_RetVoid)
496 DEFINE_FIELD(MARSHAL, SYSTEM_MAX_DBCS_CHAR_SIZE, SystemMaxDBCSCharSize)
498 DEFINE_CLASS(NATIVELIBRARY, Interop, NativeLibrary)
499 DEFINE_METHOD(NATIVELIBRARY, LOADLIBRARYCALLBACKSTUB, LoadLibraryCallbackStub, SM_Str_AssemblyBase_Bool_UInt_RetIntPtr)
501 DEFINE_CLASS(MEMBER, Reflection, MemberInfo)
504 DEFINE_CLASS_U(Reflection, RuntimeMethodInfo, NoClass)
505 DEFINE_FIELD_U(m_handle, ReflectMethodObject, m_pMD)
506 DEFINE_CLASS(METHOD, Reflection, RuntimeMethodInfo)
507 DEFINE_METHOD(METHOD, INVOKE, Invoke, IM_Obj_BindingFlags_Binder_ArrObj_CultureInfo_RetObj)
508 DEFINE_METHOD(METHOD, GET_PARAMETERS, GetParameters, IM_RetArrParameterInfo)
510 DEFINE_CLASS(METHOD_BASE, Reflection, MethodBase)
511 DEFINE_METHOD(METHOD_BASE, GET_METHODDESC, GetMethodDesc, IM_RetIntPtr)
513 DEFINE_CLASS_U(Reflection, RuntimeExceptionHandlingClause, RuntimeExceptionHandlingClause)
514 DEFINE_FIELD_U(_methodBody, RuntimeExceptionHandlingClause, _methodBody)
515 DEFINE_FIELD_U(_flags, RuntimeExceptionHandlingClause, _flags)
516 DEFINE_FIELD_U(_tryOffset, RuntimeExceptionHandlingClause, _tryOffset)
517 DEFINE_FIELD_U(_tryLength, RuntimeExceptionHandlingClause, _tryLength)
518 DEFINE_FIELD_U(_handlerOffset, RuntimeExceptionHandlingClause, _handlerOffset)
519 DEFINE_FIELD_U(_handlerLength, RuntimeExceptionHandlingClause, _handlerLength)
520 DEFINE_FIELD_U(_catchMetadataToken, RuntimeExceptionHandlingClause, _catchToken)
521 DEFINE_FIELD_U(_filterOffset, RuntimeExceptionHandlingClause, _filterOffset)
522 DEFINE_CLASS(RUNTIME_EH_CLAUSE, Reflection, RuntimeExceptionHandlingClause)
524 DEFINE_CLASS_U(Reflection, RuntimeLocalVariableInfo, RuntimeLocalVariableInfo)
525 DEFINE_FIELD_U(_type, RuntimeLocalVariableInfo, _type)
526 DEFINE_FIELD_U(_localIndex, RuntimeLocalVariableInfo, _localIndex)
527 DEFINE_FIELD_U(_isPinned, RuntimeLocalVariableInfo, _isPinned)
528 DEFINE_CLASS(RUNTIME_LOCAL_VARIABLE_INFO, Reflection, RuntimeLocalVariableInfo)
530 DEFINE_CLASS_U(Reflection, RuntimeMethodBody, RuntimeMethodBody)
531 DEFINE_FIELD_U(_IL, RuntimeMethodBody, _IL)
532 DEFINE_FIELD_U(_exceptionHandlingClauses, RuntimeMethodBody, _exceptionClauses)
533 DEFINE_FIELD_U(_localVariables, RuntimeMethodBody, _localVariables)
534 DEFINE_FIELD_U(_methodBase, RuntimeMethodBody, _methodBase)
535 DEFINE_FIELD_U(_localSignatureMetadataToken, RuntimeMethodBody, _localVarSigToken)
536 DEFINE_FIELD_U(_maxStackSize, RuntimeMethodBody, _maxStackSize)
537 DEFINE_FIELD_U(_initLocals, RuntimeMethodBody, _initLocals)
538 DEFINE_CLASS(RUNTIME_METHOD_BODY, Reflection, RuntimeMethodBody)
540 DEFINE_CLASS(METHOD_INFO, Reflection, MethodInfo)
542 DEFINE_CLASS(METHOD_HANDLE_INTERNAL,System, RuntimeMethodHandleInternal)
544 DEFINE_CLASS(METHOD_HANDLE, System, RuntimeMethodHandle)
545 DEFINE_FIELD(METHOD_HANDLE, METHOD, m_value)
546 DEFINE_METHOD(METHOD_HANDLE, GETVALUEINTERNAL, GetValueInternal, SM_RuntimeMethodHandle_RetIntPtr)
548 DEFINE_CLASS(MISSING, Reflection, Missing)
549 DEFINE_FIELD(MISSING, VALUE, Value)
551 DEFINE_CLASS_U(Reflection, RuntimeModule, ReflectModuleBaseObject)
552 DEFINE_FIELD_U(m_runtimeType, ReflectModuleBaseObject, m_runtimeType)
553 DEFINE_FIELD_U(m_pRefClass, ReflectModuleBaseObject, m_ReflectClass)
554 DEFINE_FIELD_U(m_pData, ReflectModuleBaseObject, m_pData)
555 DEFINE_FIELD_U(m_pGlobals, ReflectModuleBaseObject, m_pGlobals)
556 DEFINE_FIELD_U(m_pFields, ReflectModuleBaseObject, m_pGlobalsFlds)
557 DEFINE_CLASS(MODULE, Reflection, RuntimeModule)
558 DEFINE_FIELD(MODULE, DATA, m_pData)
560 DEFINE_CLASS(MODULE_BUILDER, ReflectionEmit, InternalModuleBuilder)
561 DEFINE_CLASS(TYPE_BUILDER, ReflectionEmit, TypeBuilder)
562 DEFINE_CLASS(ENUM_BUILDER, ReflectionEmit, EnumBuilder)
564 DEFINE_CLASS_U(System, MulticastDelegate, DelegateObject)
565 DEFINE_FIELD_U(_invocationList, DelegateObject, _invocationList)
566 DEFINE_FIELD_U(_invocationCount, DelegateObject, _invocationCount)
567 DEFINE_CLASS(MULTICAST_DELEGATE, System, MulticastDelegate)
568 DEFINE_FIELD(MULTICAST_DELEGATE, INVOCATION_LIST, _invocationList)
569 DEFINE_FIELD(MULTICAST_DELEGATE, INVOCATION_COUNT, _invocationCount)
570 DEFINE_METHOD(MULTICAST_DELEGATE, CTOR_CLOSED, CtorClosed, IM_Obj_IntPtr_RetVoid)
571 DEFINE_METHOD(MULTICAST_DELEGATE, CTOR_CLOSED_STATIC, CtorClosedStatic, IM_Obj_IntPtr_RetVoid)
572 DEFINE_METHOD(MULTICAST_DELEGATE, CTOR_RT_CLOSED, CtorRTClosed, IM_Obj_IntPtr_RetVoid)
573 DEFINE_METHOD(MULTICAST_DELEGATE, CTOR_OPENED, CtorOpened, IM_Obj_IntPtr_IntPtr_RetVoid)
574 DEFINE_METHOD(MULTICAST_DELEGATE, CTOR_VIRTUAL_DISPATCH, CtorVirtualDispatch, IM_Obj_IntPtr_IntPtr_RetVoid)
575 DEFINE_METHOD(MULTICAST_DELEGATE, CTOR_COLLECTIBLE_CLOSED_STATIC, CtorCollectibleClosedStatic, IM_Obj_IntPtr_IntPtr_RetVoid)
576 DEFINE_METHOD(MULTICAST_DELEGATE, CTOR_COLLECTIBLE_OPENED, CtorCollectibleOpened, IM_Obj_IntPtr_IntPtr_IntPtr_RetVoid)
577 DEFINE_METHOD(MULTICAST_DELEGATE, CTOR_COLLECTIBLE_VIRTUAL_DISPATCH, CtorCollectibleVirtualDispatch, IM_Obj_IntPtr_IntPtr_IntPtr_RetVoid)
579 DEFINE_CLASS(NULL, System, DBNull)
580 DEFINE_FIELD(NULL, VALUE, Value)
582 DEFINE_CLASS(NULLABLE, System, Nullable`1)
584 DEFINE_CLASS(BYREFERENCE, System, ByReference`1)
585 DEFINE_CLASS(SPAN, System, Span`1)
586 DEFINE_METHOD(SPAN, GET_ITEM, get_Item, IM_Int_RetRefT)
587 DEFINE_CLASS(READONLY_SPAN, System, ReadOnlySpan`1)
588 DEFINE_METHOD(READONLY_SPAN, GET_ITEM, get_Item, IM_Int_RetReadOnlyRefT)
590 // Defined as element type alias
591 // DEFINE_CLASS(OBJECT, System, Object)
592 DEFINE_METHOD(OBJECT, CTOR, .ctor, IM_RetVoid)
593 DEFINE_METHOD(OBJECT, FINALIZE, Finalize, IM_RetVoid)
594 DEFINE_METHOD(OBJECT, TO_STRING, ToString, IM_RetStr)
595 DEFINE_METHOD(OBJECT, GET_TYPE, GetType, IM_RetType)
596 DEFINE_METHOD(OBJECT, GET_HASH_CODE, GetHashCode, IM_RetInt)
597 DEFINE_METHOD(OBJECT, EQUALS, Equals, IM_Obj_RetBool)
599 // DEFINE_CLASS(DOUBLE, System, Double)
600 DEFINE_METHOD(DOUBLE, GET_HASH_CODE, GetHashCode, IM_RetInt)
602 // DEFINE_CLASS(SINGLE, System, Single)
603 DEFINE_METHOD(SINGLE, GET_HASH_CODE, GetHashCode, IM_RetInt)
605 DEFINE_CLASS(__CANON, System, __Canon)
608 #ifdef FEATURE_COMINTEROP
609 DEFINE_CLASS(OLE_AUT_BINDER, System, OleAutBinder)
610 #endif // FEATURE_COMINTEROP
612 DEFINE_CLASS(MONITOR, Threading, Monitor)
613 DEFINE_METHOD(MONITOR, ENTER, Enter, SM_Obj_RetVoid)
615 DEFINE_CLASS_U(Threading, OverlappedData, OverlappedDataObject)
616 DEFINE_FIELD_U(_asyncResult, OverlappedDataObject, m_asyncResult)
617 DEFINE_FIELD_U(_callback, OverlappedDataObject, m_callback)
618 DEFINE_FIELD_U(_overlapped, OverlappedDataObject, m_overlapped)
619 DEFINE_FIELD_U(_userObject, OverlappedDataObject, m_userObject)
620 DEFINE_FIELD_U(_pNativeOverlapped, OverlappedDataObject, m_pNativeOverlapped)
621 DEFINE_FIELD_U(_offsetLow, OverlappedDataObject, m_offsetLow)
622 DEFINE_FIELD_U(_offsetHigh, OverlappedDataObject, m_offsetHigh)
623 DEFINE_FIELD_U(_eventHandle, OverlappedDataObject, m_eventHandle)
624 DEFINE_CLASS(OVERLAPPEDDATA, Threading, OverlappedData)
626 DEFINE_CLASS(NATIVEOVERLAPPED, Threading, NativeOverlapped)
629 DEFINE_CLASS(VOLATILE, Threading, Volatile)
631 #define DEFINE_VOLATILE_METHODS(methodType, paramType) \
632 DEFINE_METHOD(VOLATILE, READ_##paramType, Read, methodType##_Ref##paramType##_Ret##paramType) \
633 DEFINE_METHOD(VOLATILE, WRITE_##paramType, Write, methodType##_Ref##paramType##_##paramType)
635 DEFINE_VOLATILE_METHODS(SM,Bool)
636 DEFINE_VOLATILE_METHODS(SM,SByt)
637 DEFINE_VOLATILE_METHODS(SM,Byte)
638 DEFINE_VOLATILE_METHODS(SM,Shrt)
639 DEFINE_VOLATILE_METHODS(SM,UShrt)
640 DEFINE_VOLATILE_METHODS(SM,Int)
641 DEFINE_VOLATILE_METHODS(SM,UInt)
642 DEFINE_VOLATILE_METHODS(SM,Long)
643 DEFINE_VOLATILE_METHODS(SM,ULong)
644 DEFINE_VOLATILE_METHODS(SM,IntPtr)
645 DEFINE_VOLATILE_METHODS(SM,UIntPtr)
646 DEFINE_VOLATILE_METHODS(SM,Flt)
647 DEFINE_VOLATILE_METHODS(SM,Dbl)
648 DEFINE_VOLATILE_METHODS(GM,T)
650 #undef DEFINE_VOLATILE_METHODS
652 DEFINE_CLASS(PARAMETER, Reflection, ParameterInfo)
654 DEFINE_CLASS(PARAMETER_MODIFIER, Reflection, ParameterModifier)
656 DEFINE_CLASS(POINTER, Reflection, Pointer)
658 DEFINE_CLASS_U(Reflection, Pointer, ReflectionPointer)
659 DEFINE_FIELD_U(_ptr, ReflectionPointer, _ptr)
660 DEFINE_FIELD_U(_ptrType, ReflectionPointer, _ptrType)
662 DEFINE_CLASS(PROPERTY, Reflection, RuntimePropertyInfo)
663 DEFINE_METHOD(PROPERTY, SET_VALUE, SetValue, IM_Obj_Obj_BindingFlags_Binder_ArrObj_CultureInfo_RetVoid)
664 DEFINE_METHOD(PROPERTY, GET_VALUE, GetValue, IM_Obj_BindingFlags_Binder_ArrObj_CultureInfo_RetObj)
665 DEFINE_METHOD(PROPERTY, GET_INDEX_PARAMETERS, GetIndexParameters, IM_RetArrParameterInfo)
666 DEFINE_METHOD(PROPERTY, GET_TOKEN, get_MetadataToken, IM_RetInt)
667 DEFINE_METHOD(PROPERTY, GET_MODULE, GetRuntimeModule, IM_RetModule)
668 DEFINE_METHOD(PROPERTY, GET_SETTER, GetSetMethod, IM_Bool_RetMethodInfo)
669 DEFINE_METHOD(PROPERTY, GET_GETTER, GetGetMethod, IM_Bool_RetMethodInfo)
671 DEFINE_CLASS(PROPERTY_INFO, Reflection, PropertyInfo)
675 DEFINE_CLASS(METADATA_IMPORT, Reflection, MetadataImport)
676 DEFINE_METHOD(METADATA_IMPORT, THROW_ERROR, ThrowError, SM_Int_RetVoid)
678 DEFINE_CLASS(RESOLVER, System, Resolver)
679 DEFINE_METHOD(RESOLVER, GET_JIT_CONTEXT, GetJitContext, IM_RefInt_RetRuntimeType)
680 DEFINE_METHOD(RESOLVER, GET_CODE_INFO, GetCodeInfo, IM_RefInt_RefInt_RefInt_RetArrByte)
681 DEFINE_METHOD(RESOLVER, GET_LOCALS_SIGNATURE, GetLocalsSignature, IM_RetArrByte)
682 DEFINE_METHOD(RESOLVER, GET_EH_INFO, GetEHInfo, IM_Int_VoidPtr_RetVoid)
683 DEFINE_METHOD(RESOLVER, GET_RAW_EH_INFO, GetRawEHInfo, IM_RetArrByte)
684 DEFINE_METHOD(RESOLVER, GET_STRING_LITERAL, GetStringLiteral, IM_Int_RetStr)
685 DEFINE_METHOD(RESOLVER, RESOLVE_TOKEN, ResolveToken, IM_Int_RefIntPtr_RefIntPtr_RefIntPtr_RetVoid)
686 DEFINE_METHOD(RESOLVER, RESOLVE_SIGNATURE, ResolveSignature, IM_IntInt_RetArrByte)
688 DEFINE_CLASS(RESOURCE_MANAGER, Resources, ResourceManager)
690 DEFINE_CLASS(RTFIELD, Reflection, RtFieldInfo)
691 DEFINE_METHOD(RTFIELD, GET_FIELDHANDLE, GetFieldHandle, IM_RetIntPtr)
693 DEFINE_CLASS(RUNTIME_HELPERS, CompilerServices, RuntimeHelpers)
694 DEFINE_METHOD(RUNTIME_HELPERS, PREPARE_CONSTRAINED_REGIONS, PrepareConstrainedRegions, SM_RetVoid)
695 DEFINE_METHOD(RUNTIME_HELPERS, PREPARE_CONSTRAINED_REGIONS_NOOP, PrepareConstrainedRegionsNoOP, SM_RetVoid)
696 DEFINE_METHOD(RUNTIME_HELPERS, EXECUTE_BACKOUT_CODE_HELPER, ExecuteBackoutCodeHelper, SM_Obj_Obj_Bool_RetVoid)
697 DEFINE_METHOD(RUNTIME_HELPERS, IS_REFERENCE_OR_CONTAINS_REFERENCES, IsReferenceOrContainsReferences, NoSig)
698 DEFINE_METHOD(RUNTIME_HELPERS, IS_BITWISE_EQUATABLE, IsBitwiseEquatable, NoSig)
700 DEFINE_CLASS(JIT_HELPERS, CompilerServices, JitHelpers)
701 DEFINE_METHOD(JIT_HELPERS, ENUM_EQUALS, EnumEquals, NoSig)
702 DEFINE_METHOD(JIT_HELPERS, ENUM_COMPARE_TO, EnumCompareTo, NoSig)
703 DEFINE_METHOD(JIT_HELPERS, GET_RAW_SZ_ARRAY_DATA, GetRawSzArrayData, NoSig)
705 DEFINE_CLASS(UNSAFE, InternalCompilerServices, Unsafe)
706 DEFINE_METHOD(UNSAFE, AS_POINTER, AsPointer, NoSig)
707 DEFINE_METHOD(UNSAFE, AS_REF_IN, AsRef, GM_RefT_RetRefT)
708 DEFINE_METHOD(UNSAFE, AS_REF_POINTER, AsRef, GM_VoidPtr_RetRefT)
709 DEFINE_METHOD(UNSAFE, SIZEOF, SizeOf, NoSig)
710 DEFINE_METHOD(UNSAFE, BYREF_AS, As, GM_RefTFrom_RetRefTTo)
711 DEFINE_METHOD(UNSAFE, OBJECT_AS, As, GM_Obj_RetT)
712 DEFINE_METHOD(UNSAFE, BYREF_ADD, Add, GM_RefT_Int_RetRefT)
713 DEFINE_METHOD(UNSAFE, BYREF_INTPTR_ADD, Add, GM_RefT_IntPtr_RetRefT)
714 DEFINE_METHOD(UNSAFE, PTR_ADD, Add, GM_PtrVoid_Int_RetPtrVoid)
715 DEFINE_METHOD(UNSAFE, BYREF_BYTE_OFFSET, ByteOffset, NoSig)
716 DEFINE_METHOD(UNSAFE, BYREF_ADD_BYTE_OFFSET, AddByteOffset, NoSig)
717 DEFINE_METHOD(UNSAFE, BYREF_ARE_SAME, AreSame, NoSig)
718 DEFINE_METHOD(UNSAFE, BYREF_IS_ADDRESS_GREATER_THAN, IsAddressGreaterThan, NoSig)
719 DEFINE_METHOD(UNSAFE, BYREF_IS_ADDRESS_LESS_THAN, IsAddressLessThan, NoSig)
720 DEFINE_METHOD(UNSAFE, BYREF_INIT_BLOCK_UNALIGNED, InitBlockUnaligned, NoSig)
721 DEFINE_METHOD(UNSAFE, BYREF_READ_UNALIGNED, ReadUnaligned, GM_RefByte_RetT)
722 DEFINE_METHOD(UNSAFE, BYREF_WRITE_UNALIGNED, WriteUnaligned, GM_RefByte_T_RetVoid)
723 DEFINE_METHOD(UNSAFE, PTR_READ_UNALIGNED, ReadUnaligned, GM_PtrVoid_RetT)
724 DEFINE_METHOD(UNSAFE, PTR_WRITE_UNALIGNED, WriteUnaligned, GM_PtrVoid_T_RetVoid)
726 DEFINE_CLASS(INTERLOCKED, Threading, Interlocked)
727 DEFINE_METHOD(INTERLOCKED, COMPARE_EXCHANGE_T, CompareExchange, GM_RefT_T_T_RetT)
728 DEFINE_METHOD(INTERLOCKED, COMPARE_EXCHANGE_OBJECT,CompareExchange, SM_RefObject_Object_Object_RetObject)
730 DEFINE_CLASS(RAW_DATA, CompilerServices, RawData)
731 DEFINE_FIELD(RAW_DATA, DATA, Data)
733 DEFINE_CLASS(RAW_SZARRAY_DATA, CompilerServices, RawSzArrayData)
734 DEFINE_FIELD(RAW_SZARRAY_DATA, COUNT, Count)
735 DEFINE_FIELD(RAW_SZARRAY_DATA, DATA, Data)
737 DEFINE_CLASS(RUNTIME_WRAPPED_EXCEPTION, CompilerServices, RuntimeWrappedException)
738 DEFINE_METHOD(RUNTIME_WRAPPED_EXCEPTION, OBJ_CTOR, .ctor, IM_Obj_RetVoid)
739 DEFINE_FIELD(RUNTIME_WRAPPED_EXCEPTION, WRAPPED_EXCEPTION, _wrappedException)
741 DEFINE_CLASS_U(Interop, SafeHandle, SafeHandle)
742 DEFINE_FIELD_U(handle, SafeHandle, m_handle)
743 DEFINE_FIELD_U(_state, SafeHandle, m_state)
744 DEFINE_FIELD_U(_ownsHandle, SafeHandle, m_ownsHandle)
745 DEFINE_FIELD_U(_fullyInitialized, SafeHandle, m_fullyInitialized)
746 DEFINE_CLASS(SAFE_HANDLE, Interop, SafeHandle)
747 DEFINE_FIELD(SAFE_HANDLE, HANDLE, handle)
748 DEFINE_METHOD(SAFE_HANDLE, GET_IS_INVALID, get_IsInvalid, IM_RetBool)
749 DEFINE_METHOD(SAFE_HANDLE, RELEASE_HANDLE, ReleaseHandle, IM_RetBool)
750 DEFINE_METHOD(SAFE_HANDLE, DISPOSE, Dispose, IM_RetVoid)
751 DEFINE_METHOD(SAFE_HANDLE, DISPOSE_BOOL, Dispose, IM_Bool_RetVoid)
754 DEFINE_CLASS(SAFE_TYPENAMEPARSER_HANDLE, System, SafeTypeNameParserHandle)
755 DEFINE_METHOD(SAFE_TYPENAMEPARSER_HANDLE, CTOR, .ctor, IM_RetVoid)
757 DEFINE_CLASS(SECURITY_EXCEPTION, Security, SecurityException)
759 DEFINE_CLASS_U(Diagnostics, StackFrameHelper, StackFrameHelper)
760 DEFINE_FIELD_U(targetThread, StackFrameHelper, targetThread)
761 DEFINE_FIELD_U(rgiOffset, StackFrameHelper, rgiOffset)
762 DEFINE_FIELD_U(rgiILOffset, StackFrameHelper, rgiILOffset)
763 DEFINE_FIELD_U(dynamicMethods, StackFrameHelper, dynamicMethods)
764 DEFINE_FIELD_U(rgMethodHandle, StackFrameHelper, rgMethodHandle)
765 DEFINE_FIELD_U(rgAssemblyPath, StackFrameHelper, rgAssemblyPath)
766 DEFINE_FIELD_U(rgAssembly, StackFrameHelper, rgAssembly)
767 DEFINE_FIELD_U(rgLoadedPeAddress, StackFrameHelper, rgLoadedPeAddress)
768 DEFINE_FIELD_U(rgiLoadedPeSize, StackFrameHelper, rgiLoadedPeSize)
769 DEFINE_FIELD_U(rgInMemoryPdbAddress, StackFrameHelper, rgInMemoryPdbAddress)
770 DEFINE_FIELD_U(rgiInMemoryPdbSize, StackFrameHelper, rgiInMemoryPdbSize)
771 DEFINE_FIELD_U(rgiMethodToken, StackFrameHelper, rgiMethodToken)
772 DEFINE_FIELD_U(rgFilename, StackFrameHelper, rgFilename)
773 DEFINE_FIELD_U(rgiLineNumber, StackFrameHelper, rgiLineNumber)
774 DEFINE_FIELD_U(rgiColumnNumber, StackFrameHelper, rgiColumnNumber)
775 DEFINE_FIELD_U(rgiLastFrameFromForeignExceptionStackTrace, StackFrameHelper, rgiLastFrameFromForeignExceptionStackTrace)
776 DEFINE_FIELD_U(iFrameCount, StackFrameHelper, iFrameCount)
778 DEFINE_CLASS(STARTUP_HOOK_PROVIDER, System, StartupHookProvider)
779 DEFINE_METHOD(STARTUP_HOOK_PROVIDER, PROCESS_STARTUP_HOOKS, ProcessStartupHooks, SM_RetVoid)
781 DEFINE_CLASS(STREAM, IO, Stream)
782 DEFINE_METHOD(STREAM, BEGIN_READ, BeginRead, IM_ArrByte_Int_Int_AsyncCallback_Object_RetIAsyncResult)
783 DEFINE_METHOD(STREAM, END_READ, EndRead, IM_IAsyncResult_RetInt)
784 DEFINE_METHOD(STREAM, BEGIN_WRITE, BeginWrite, IM_ArrByte_Int_Int_AsyncCallback_Object_RetIAsyncResult)
785 DEFINE_METHOD(STREAM, END_WRITE, EndWrite, IM_IAsyncResult_RetVoid)
787 // Defined as element type alias
788 // DEFINE_CLASS(INTPTR, System, IntPtr)
789 DEFINE_FIELD(INTPTR, ZERO, Zero)
791 // Defined as element type alias
792 // DEFINE_CLASS(UINTPTR, System, UIntPtr)
793 DEFINE_FIELD(UINTPTR, ZERO, Zero)
795 DEFINE_CLASS(BITCONVERTER, System, BitConverter)
796 DEFINE_FIELD(BITCONVERTER, ISLITTLEENDIAN, IsLittleEndian)
798 // Defined as element type alias
799 // DEFINE_CLASS(STRING, System, String)
800 DEFINE_FIELD(STRING, M_FIRST_CHAR, _firstChar)
801 DEFINE_FIELD(STRING, EMPTY, Empty)
802 DEFINE_METHOD(STRING, CTOR_CHARPTR, .ctor, IM_PtrChar_RetVoid)
803 DEFINE_METHOD(STRING, CTORF_CHARARRAY, Ctor, IM_ArrChar_RetStr)
804 DEFINE_METHOD(STRING, CTORF_CHARARRAY_START_LEN,Ctor, IM_ArrChar_Int_Int_RetStr)
805 DEFINE_METHOD(STRING, CTORF_CHAR_COUNT, Ctor, IM_Char_Int_RetStr)
806 DEFINE_METHOD(STRING, CTORF_CHARPTR, Ctor, IM_PtrChar_RetStr)
807 DEFINE_METHOD(STRING, CTORF_CHARPTR_START_LEN,Ctor, IM_PtrChar_Int_Int_RetStr)
808 DEFINE_METHOD(STRING, CTORF_READONLYSPANOFCHAR,Ctor, IM_ReadOnlySpanOfChar_RetStr)
809 DEFINE_METHOD(STRING, CTORF_SBYTEPTR, Ctor, IM_PtrSByt_RetStr)
810 DEFINE_METHOD(STRING, CTORF_SBYTEPTR_START_LEN, Ctor, IM_PtrSByt_Int_Int_RetStr)
811 DEFINE_METHOD(STRING, CTORF_SBYTEPTR_START_LEN_ENCODING, Ctor, IM_PtrSByt_Int_Int_Encoding_RetStr)
812 DEFINE_METHOD(STRING, INTERNAL_COPY, InternalCopy, SM_Str_IntPtr_Int_RetVoid)
813 DEFINE_METHOD(STRING, WCSLEN, wcslen, SM_PtrChar_RetInt)
814 DEFINE_METHOD(STRING, STRLEN, strlen, SM_PtrByte_RetInt)
815 DEFINE_PROPERTY(STRING, LENGTH, Length, Int)
817 #ifdef FEATURE_UTF8STRING
818 DEFINE_CLASS(UTF8_STRING, System, Utf8String)
819 DEFINE_METHOD(UTF8_STRING, CTORF_READONLYSPANOFBYTE,Ctor, IM_ReadOnlySpanOfByte_RetUtf8Str)
820 DEFINE_METHOD(UTF8_STRING, CTORF_READONLYSPANOFCHAR,Ctor, IM_ReadOnlySpanOfChar_RetUtf8Str)
821 DEFINE_METHOD(UTF8_STRING, CTORF_BYTEARRAY_START_LEN,Ctor, IM_ArrByte_Int_Int_RetUtf8Str)
822 DEFINE_METHOD(UTF8_STRING, CTORF_BYTEPTR, Ctor, IM_PtrByte_RetUtf8Str)
823 DEFINE_METHOD(UTF8_STRING, CTORF_CHARARRAY_START_LEN,Ctor, IM_ArrChar_Int_Int_RetUtf8Str)
824 DEFINE_METHOD(UTF8_STRING, CTORF_CHARPTR, Ctor, IM_PtrChar_RetUtf8Str)
825 DEFINE_METHOD(UTF8_STRING, CTORF_STRING, Ctor, IM_String_RetUtf8Str)
826 #endif // FEATURE_UTF8STRING
828 DEFINE_CLASS(STRING_BUILDER, Text, StringBuilder)
829 DEFINE_PROPERTY(STRING_BUILDER, LENGTH, Length, Int)
830 DEFINE_PROPERTY(STRING_BUILDER, CAPACITY, Capacity, Int)
831 DEFINE_METHOD(STRING_BUILDER, CTOR_INT, .ctor, IM_Int_RetVoid)
832 DEFINE_METHOD(STRING_BUILDER, TO_STRING, ToString, IM_RetStr)
833 DEFINE_METHOD(STRING_BUILDER, INTERNAL_COPY, InternalCopy, IM_IntPtr_Int_RetVoid)
834 DEFINE_METHOD(STRING_BUILDER, REPLACE_BUFFER_INTERNAL,ReplaceBufferInternal, IM_PtrChar_Int_RetVoid)
835 DEFINE_METHOD(STRING_BUILDER, REPLACE_BUFFER_ANSI_INTERNAL,ReplaceBufferAnsiInternal, IM_PtrSByt_Int_RetVoid)
837 DEFINE_CLASS(STRONG_NAME_KEY_PAIR, Reflection, StrongNameKeyPair)
839 DEFINE_CLASS_U(Threading, SynchronizationContext, SynchronizationContextObject)
840 DEFINE_FIELD_U(_requireWaitNotification, SynchronizationContextObject, _requireWaitNotification)
841 DEFINE_CLASS(SYNCHRONIZATION_CONTEXT, Threading, SynchronizationContext)
842 DEFINE_METHOD(SYNCHRONIZATION_CONTEXT, INVOKE_WAIT_METHOD_HELPER, InvokeWaitMethodHelper, SM_SyncCtx_ArrIntPtr_Bool_Int_RetInt)
845 DEFINE_CLASS(STACKCRAWMARK, Threading, StackCrawlMark)
848 DEFINE_CLASS_U(Threading, Thread, ThreadBaseObject)
849 DEFINE_FIELD_U(_name, ThreadBaseObject, m_Name)
850 DEFINE_FIELD_U(_delegate, ThreadBaseObject, m_Delegate)
851 DEFINE_FIELD_U(_threadStartArg, ThreadBaseObject, m_ThreadStartArg)
852 DEFINE_FIELD_U(_DONT_USE_InternalThread, ThreadBaseObject, m_InternalThread)
853 DEFINE_FIELD_U(_priority, ThreadBaseObject, m_Priority)
854 DEFINE_CLASS(THREAD, Threading, Thread)
855 DEFINE_METHOD(THREAD, INTERNAL_GET_CURRENT_THREAD, InternalGetCurrentThread, SM_RetIntPtr)
857 DEFINE_CLASS(PARAMETERIZEDTHREADSTART, Threading, ParameterizedThreadStart)
859 DEFINE_CLASS(IOCB_HELPER, Threading, _IOCompletionCallback)
860 DEFINE_METHOD(IOCB_HELPER, PERFORM_IOCOMPLETION_CALLBACK, PerformIOCompletionCallback, SM_UInt_UInt_PtrNativeOverlapped_RetVoid)
862 DEFINE_CLASS(TPWAITORTIMER_HELPER, Threading, _ThreadPoolWaitOrTimerCallback)
863 DEFINE_METHOD(TPWAITORTIMER_HELPER, PERFORM_WAITORTIMER_CALLBACK, PerformWaitOrTimerCallback, SM__ThreadPoolWaitOrTimerCallback_Bool_RetVoid)
865 DEFINE_CLASS(TP_WAIT_CALLBACK, Threading, _ThreadPoolWaitCallback)
866 DEFINE_METHOD(TP_WAIT_CALLBACK, PERFORM_WAIT_CALLBACK, PerformWaitCallback, SM_RetBool)
868 DEFINE_CLASS(TIMER_QUEUE, Threading, TimerQueue)
869 DEFINE_METHOD(TIMER_QUEUE, APPDOMAIN_TIMER_CALLBACK, AppDomainTimerCallback, SM_Int_RetVoid)
871 DEFINE_CLASS(TIMESPAN, System, TimeSpan)
874 DEFINE_CLASS(TYPE, System, Type)
875 DEFINE_METHOD(TYPE, GET_TYPE_FROM_HANDLE, GetTypeFromHandle, SM_RuntimeTypeHandle_RetType)
876 DEFINE_PROPERTY(TYPE, IS_IMPORT, IsImport, Bool)
878 DEFINE_CLASS(TYPE_DELEGATOR, Reflection, TypeDelegator)
880 DEFINE_CLASS(UNHANDLED_EVENTARGS, System, UnhandledExceptionEventArgs)
881 DEFINE_METHOD(UNHANDLED_EVENTARGS, CTOR, .ctor, IM_Obj_Bool_RetVoid)
883 DEFINE_CLASS(FIRSTCHANCE_EVENTARGS, ExceptionServices, FirstChanceExceptionEventArgs)
884 DEFINE_METHOD(FIRSTCHANCE_EVENTARGS, CTOR, .ctor, IM_Exception_RetVoid)
886 DEFINE_CLASS_U(Loader, AssemblyLoadContext, AssemblyLoadContextBaseObject)
887 DEFINE_FIELD_U(_unloadLock, AssemblyLoadContextBaseObject, _unloadLock)
888 DEFINE_FIELD_U(_resolvingUnmanagedDll, AssemblyLoadContextBaseObject, _resovlingUnmanagedDll)
889 DEFINE_FIELD_U(_resolving, AssemblyLoadContextBaseObject, _resolving)
890 DEFINE_FIELD_U(_unloading, AssemblyLoadContextBaseObject, _unloading)
891 DEFINE_FIELD_U(_name, AssemblyLoadContextBaseObject, _name)
892 DEFINE_FIELD_U(_nativeAssemblyLoadContext, AssemblyLoadContextBaseObject, _nativeAssemblyLoadContext)
893 DEFINE_FIELD_U(_id, AssemblyLoadContextBaseObject, _id)
894 DEFINE_FIELD_U(_state, AssemblyLoadContextBaseObject, _state)
895 DEFINE_FIELD_U(_isCollectible, AssemblyLoadContextBaseObject, _isCollectible)
896 DEFINE_CLASS(ASSEMBLYLOADCONTEXT, Loader, AssemblyLoadContext)
897 DEFINE_METHOD(ASSEMBLYLOADCONTEXT, RESOLVE, Resolve, SM_IntPtr_AssemblyName_RetAssemblyBase)
898 DEFINE_METHOD(ASSEMBLYLOADCONTEXT, RESOLVEUNMANAGEDDLL, ResolveUnmanagedDll, SM_Str_IntPtr_RetIntPtr)
899 DEFINE_METHOD(ASSEMBLYLOADCONTEXT, RESOLVEUNMANAGEDDLLUSINGEVENT, ResolveUnmanagedDllUsingEvent, SM_Str_AssemblyBase_IntPtr_RetIntPtr)
900 DEFINE_METHOD(ASSEMBLYLOADCONTEXT, RESOLVEUSINGEVENT, ResolveUsingResolvingEvent, SM_IntPtr_AssemblyName_RetAssemblyBase)
901 DEFINE_METHOD(ASSEMBLYLOADCONTEXT, RESOLVESATELLITEASSEMBLY, ResolveSatelliteAssembly, SM_IntPtr_AssemblyName_RetAssemblyBase)
902 DEFINE_FIELD(ASSEMBLYLOADCONTEXT, ASSEMBLY_LOAD, AssemblyLoad)
903 DEFINE_METHOD(ASSEMBLYLOADCONTEXT, ON_ASSEMBLY_LOAD, OnAssemblyLoad, SM_Assembly_RetVoid)
904 DEFINE_METHOD(ASSEMBLYLOADCONTEXT, ON_RESOURCE_RESOLVE, OnResourceResolve, SM_Assembly_Str_RetAssembly)
905 DEFINE_METHOD(ASSEMBLYLOADCONTEXT, ON_TYPE_RESOLVE, OnTypeResolve, SM_Assembly_Str_RetAssembly)
906 DEFINE_METHOD(ASSEMBLYLOADCONTEXT, ON_ASSEMBLY_RESOLVE, OnAssemblyResolve, SM_Assembly_Str_RetAssembly)
908 #ifdef FEATURE_COMINTEROP
909 DEFINE_CLASS(WINDOWSRUNTIMEMETATADA, WinRT, WindowsRuntimeMetadata)
910 DEFINE_METHOD(WINDOWSRUNTIMEMETATADA, ON_DESIGNER_NAMESPACE_RESOLVE, OnDesignerNamespaceResolve, SM_Str_RetArrStr)
911 #endif //FEATURE_COMINTEROP
913 DEFINE_CLASS(LAZY, System, Lazy`1)
915 DEFINE_CLASS(LAZY_INITIALIZER, Threading, LazyInitializer)
917 DEFINE_CLASS(VALUE_TYPE, System, ValueType)
918 DEFINE_METHOD(VALUE_TYPE, GET_HASH_CODE, GetHashCode, IM_RetInt)
919 DEFINE_METHOD(VALUE_TYPE, EQUALS, Equals, IM_Obj_RetBool)
921 DEFINE_CLASS(GC, System, GC)
922 DEFINE_METHOD(GC, KEEP_ALIVE, KeepAlive, SM_Obj_RetVoid)
923 DEFINE_METHOD(GC, COLLECT, Collect, SM_RetVoid)
924 DEFINE_METHOD(GC, WAIT_FOR_PENDING_FINALIZERS, WaitForPendingFinalizers, SM_RetVoid)
926 DEFINE_CLASS_U(System, WeakReference, WeakReferenceObject)
927 DEFINE_FIELD_U(m_handle, WeakReferenceObject, m_Handle)
928 DEFINE_CLASS(WEAKREFERENCE, System, WeakReference)
930 DEFINE_CLASS_U(Threading, WaitHandle, WaitHandleBase)
931 DEFINE_FIELD_U(_waitHandle, WaitHandleBase, m_safeHandle)
933 DEFINE_CLASS(DEBUGGER, Diagnostics, Debugger)
934 DEFINE_METHOD(DEBUGGER, BREAK_CAN_THROW, BreakCanThrow, SM_RetVoid)
936 DEFINE_CLASS(BUFFER, System, Buffer)
937 DEFINE_METHOD(BUFFER, MEMCPY_PTRBYTE_ARRBYTE, Memcpy, SM_PtrByte_Int_ArrByte_Int_Int_RetVoid)
938 DEFINE_METHOD(BUFFER, MEMCPY, Memcpy, SM_PtrByte_PtrByte_Int_RetVoid)
940 #ifdef FEATURE_COMINTEROP
941 DEFINE_CLASS(WINDOWSRUNTIMEMARSHAL, WinRT, WindowsRuntimeMarshal)
942 DEFINE_METHOD(WINDOWSRUNTIMEMARSHAL, GET_HR_FOR_EXCEPTION, GetHRForException, SM_Exception_RetInt)
943 DEFINE_METHOD(WINDOWSRUNTIMEMARSHAL, INITIALIZE_WRAPPER, InitializeWrapper, SM_Obj_RefIntPtr_RetVoid)
944 #ifdef FEATURE_COMINTEROP_WINRT_MANAGED_ACTIVATION
945 DEFINE_METHOD(WINDOWSRUNTIMEMARSHAL, GET_ACTIVATION_FACTORY_FOR_TYPE, GetActivationFactoryForType, SM_Type_RetIntPtr)
946 #endif // FEATURE_COMINTEROP_WINRT_MANAGED_ACTIVATION
948 DEFINE_CLASS(IACTIVATIONFACTORY, WinRT, IActivationFactory)
949 DEFINE_METHOD(IACTIVATIONFACTORY, ACTIVATE_INSTANCE, ActivateInstance, IM_RetObj)
950 DEFINE_CLASS(ISTRINGABLEHELPER, WinRT, IStringableHelper)
951 DEFINE_METHOD(ISTRINGABLEHELPER, TO_STRING, ToString, SM_Obj_RetStr)
952 #endif // FEATURE_COMINTEROP
954 DEFINE_CLASS(STUBHELPERS, StubHelpers, StubHelpers)
955 DEFINE_METHOD(STUBHELPERS, IS_QCALL, IsQCall, SM_IntPtr_RetBool)
956 DEFINE_METHOD(STUBHELPERS, INIT_DECLARING_TYPE, InitDeclaringType, SM_IntPtr_RetVoid)
957 DEFINE_METHOD(STUBHELPERS, GET_NDIRECT_TARGET, GetNDirectTarget, SM_IntPtr_RetIntPtr)
958 DEFINE_METHOD(STUBHELPERS, GET_DELEGATE_TARGET, GetDelegateTarget, SM_Delegate_RefIntPtr_RetIntPtr)
959 #ifdef FEATURE_COMINTEROP
960 DEFINE_METHOD(STUBHELPERS, GET_COM_HR_EXCEPTION_OBJECT, GetCOMHRExceptionObject, SM_Int_IntPtr_Obj_RetException)
961 DEFINE_METHOD(STUBHELPERS, GET_COM_HR_EXCEPTION_OBJECT_WINRT, GetCOMHRExceptionObject_WinRT, SM_Int_IntPtr_Obj_RetException)
962 DEFINE_METHOD(STUBHELPERS, GET_COM_IP_FROM_RCW, GetCOMIPFromRCW, SM_Obj_IntPtr_RefIntPtr_RefBool_RetIntPtr)
963 DEFINE_METHOD(STUBHELPERS, GET_COM_IP_FROM_RCW_WINRT, GetCOMIPFromRCW_WinRT, SM_Obj_IntPtr_RefIntPtr_RetIntPtr)
964 DEFINE_METHOD(STUBHELPERS, GET_COM_IP_FROM_RCW_WINRT_SHARED_GENERIC, GetCOMIPFromRCW_WinRTSharedGeneric, SM_Obj_IntPtr_RefIntPtr_RetIntPtr)
965 DEFINE_METHOD(STUBHELPERS, GET_COM_IP_FROM_RCW_WINRT_DELEGATE, GetCOMIPFromRCW_WinRTDelegate, SM_Obj_IntPtr_RefIntPtr_RetIntPtr)
966 DEFINE_METHOD(STUBHELPERS, SHOULD_CALL_WINRT_INTERFACE, ShouldCallWinRTInterface, SM_Obj_IntPtr_RetBool)
967 DEFINE_METHOD(STUBHELPERS, GET_WINRT_FACTORY_OBJECT, GetWinRTFactoryObject, SM_IntPtr_RetObj)
968 DEFINE_METHOD(STUBHELPERS, GET_DELEGATE_INVOKE_METHOD, GetDelegateInvokeMethod, SM_Delegate_RetIntPtr)
969 DEFINE_METHOD(STUBHELPERS, GET_WINRT_FACTORY_RETURN_VALUE, GetWinRTFactoryReturnValue, SM_Obj_IntPtr_RetIntPtr)
970 DEFINE_METHOD(STUBHELPERS, GET_OUTER_INSPECTABLE, GetOuterInspectable, SM_Obj_IntPtr_RetIntPtr)
971 #endif // FEATURE_COMINTEROP
972 DEFINE_METHOD(STUBHELPERS, SET_LAST_ERROR, SetLastError, SM_RetVoid)
973 DEFINE_METHOD(STUBHELPERS, CLEAR_LAST_ERROR, ClearLastError, SM_RetVoid)
975 DEFINE_METHOD(STUBHELPERS, THROW_INTEROP_PARAM_EXCEPTION, ThrowInteropParamException, SM_Int_Int_RetVoid)
976 DEFINE_METHOD(STUBHELPERS, ADD_TO_CLEANUP_LIST_SAFEHANDLE, AddToCleanupList, SM_RefCleanupWorkListElement_SafeHandle_RetIntPtr)
977 DEFINE_METHOD(STUBHELPERS, ADD_TO_CLEANUP_LIST_DELEGATE, AddToCleanupList, SM_RefCleanupWorkListElement_Delegate_RetVoid)
978 DEFINE_METHOD(STUBHELPERS, DESTROY_CLEANUP_LIST, DestroyCleanupList, SM_RefCleanupWorkListElement_RetVoid)
979 DEFINE_METHOD(STUBHELPERS, GET_HR_EXCEPTION_OBJECT, GetHRExceptionObject, SM_Int_RetException)
980 DEFINE_METHOD(STUBHELPERS, CREATE_CUSTOM_MARSHALER_HELPER, CreateCustomMarshalerHelper, SM_IntPtr_Int_IntPtr_RetIntPtr)
982 DEFINE_METHOD(STUBHELPERS, CHECK_STRING_LENGTH, CheckStringLength, SM_Int_RetVoid)
984 DEFINE_METHOD(STUBHELPERS, FMT_CLASS_UPDATE_NATIVE_INTERNAL, FmtClassUpdateNativeInternal, SM_Obj_PtrByte_RefCleanupWorkListElement_RetVoid)
985 DEFINE_METHOD(STUBHELPERS, FMT_CLASS_UPDATE_CLR_INTERNAL, FmtClassUpdateCLRInternal, SM_Obj_PtrByte_RetVoid)
986 DEFINE_METHOD(STUBHELPERS, LAYOUT_DESTROY_NATIVE_INTERNAL, LayoutDestroyNativeInternal, SM_PtrByte_IntPtr_RetVoid)
987 DEFINE_METHOD(STUBHELPERS, ALLOCATE_INTERNAL, AllocateInternal, SM_IntPtr_RetObj)
988 DEFINE_METHOD(STUBHELPERS, MARSHAL_TO_MANAGED_VA_LIST_INTERNAL,MarshalToManagedVaListInternal, SM_IntPtr_IntPtr_RetVoid)
989 DEFINE_METHOD(STUBHELPERS, MARSHAL_TO_UNMANAGED_VA_LIST_INTERNAL,MarshalToUnmanagedVaListInternal,SM_IntPtr_UInt_IntPtr_RetVoid)
990 DEFINE_METHOD(STUBHELPERS, CALC_VA_LIST_SIZE, CalcVaListSize, SM_IntPtr_RetUInt)
991 DEFINE_METHOD(STUBHELPERS, VALIDATE_OBJECT, ValidateObject, SM_Obj_IntPtr_Obj_RetVoid)
992 DEFINE_METHOD(STUBHELPERS, VALIDATE_BYREF, ValidateByref, SM_IntPtr_IntPtr_Obj_RetVoid)
993 DEFINE_METHOD(STUBHELPERS, GET_STUB_CONTEXT, GetStubContext, SM_RetIntPtr)
994 DEFINE_METHOD(STUBHELPERS, LOG_PINNED_ARGUMENT, LogPinnedArgument, SM_IntPtr_IntPtr_RetVoid)
995 #ifdef _TARGET_64BIT_
996 DEFINE_METHOD(STUBHELPERS, GET_STUB_CONTEXT_ADDR, GetStubContextAddr, SM_RetIntPtr)
997 #endif // _TARGET_64BIT_
998 DEFINE_METHOD(STUBHELPERS, SAFE_HANDLE_ADD_REF, SafeHandleAddRef, SM_SafeHandle_RefBool_RetIntPtr)
999 DEFINE_METHOD(STUBHELPERS, SAFE_HANDLE_RELEASE, SafeHandleRelease, SM_SafeHandle_RetVoid)
1001 #ifdef PROFILING_SUPPORTED
1002 DEFINE_METHOD(STUBHELPERS, PROFILER_BEGIN_TRANSITION_CALLBACK, ProfilerBeginTransitionCallback, SM_IntPtr_IntPtr_Obj_RetIntPtr)
1003 DEFINE_METHOD(STUBHELPERS, PROFILER_END_TRANSITION_CALLBACK, ProfilerEndTransitionCallback, SM_IntPtr_IntPtr_RetVoid)
1006 #ifdef FEATURE_ARRAYSTUB_AS_IL
1007 DEFINE_METHOD(STUBHELPERS, ARRAY_TYPE_CHECK, ArrayTypeCheck, SM_Obj_ArrObject_RetVoid)
1010 #ifdef FEATURE_MULTICASTSTUB_AS_IL
1011 DEFINE_METHOD(STUBHELPERS, MULTICAST_DEBUGGER_TRACE_HELPER, MulticastDebuggerTraceHelper, SM_Obj_Int_RetVoid)
1014 DEFINE_CLASS(CLEANUP_WORK_LIST_ELEMENT, StubHelpers, CleanupWorkListElement)
1016 #ifdef FEATURE_COMINTEROP
1017 DEFINE_CLASS(DATETIMENATIVE, StubHelpers, DateTimeNative)
1018 DEFINE_CLASS(TYPENAMENATIVE, StubHelpers, TypeNameNative)
1020 DEFINE_CLASS_U(StubHelpers, TypeNameNative, TypeNameNative)
1021 DEFINE_FIELD_U(typeName, TypeNameNative, typeName)
1022 DEFINE_FIELD_U(typeKind, TypeNameNative, typeKind)
1025 DEFINE_CLASS(ANSICHARMARSHALER, StubHelpers, AnsiCharMarshaler)
1026 DEFINE_METHOD(ANSICHARMARSHALER, CONVERT_TO_NATIVE, ConvertToNative, SM_Char_Bool_Bool_RetByte)
1027 DEFINE_METHOD(ANSICHARMARSHALER, CONVERT_TO_MANAGED, ConvertToManaged, SM_Byte_RetChar)
1028 DEFINE_METHOD(ANSICHARMARSHALER, DO_ANSI_CONVERSION, DoAnsiConversion, SM_Str_Bool_Bool_RefInt_RetArrByte)
1030 DEFINE_CLASS(CSTRMARSHALER, StubHelpers, CSTRMarshaler)
1031 DEFINE_METHOD(CSTRMARSHALER, CONVERT_TO_NATIVE, ConvertToNative, SM_Int_Str_IntPtr_RetIntPtr)
1032 DEFINE_METHOD(CSTRMARSHALER, CONVERT_TO_MANAGED, ConvertToManaged, SM_IntPtr_RetStr)
1033 DEFINE_METHOD(CSTRMARSHALER, CLEAR_NATIVE, ClearNative, SM_IntPtr_RetVoid)
1035 DEFINE_CLASS(WSTRBUFFERMARSHALER, StubHelpers, WSTRBufferMarshaler)
1036 DEFINE_METHOD(WSTRBUFFERMARSHALER, CONVERT_TO_NATIVE, ConvertToNative, SM_Str_RetIntPtr)
1037 DEFINE_METHOD(WSTRBUFFERMARSHALER, CONVERT_TO_MANAGED, ConvertToManaged, SM_IntPtr_RetStr)
1038 DEFINE_METHOD(WSTRBUFFERMARSHALER, CLEAR_NATIVE, ClearNative, SM_IntPtr_RetVoid)
1040 DEFINE_CLASS(BSTRMARSHALER, StubHelpers, BSTRMarshaler)
1041 DEFINE_METHOD(BSTRMARSHALER, CONVERT_TO_NATIVE, ConvertToNative, SM_Str_IntPtr_RetIntPtr)
1042 DEFINE_METHOD(BSTRMARSHALER, CONVERT_TO_MANAGED, ConvertToManaged, SM_IntPtr_RetStr)
1043 DEFINE_METHOD(BSTRMARSHALER, CLEAR_NATIVE, ClearNative, SM_IntPtr_RetVoid)
1045 DEFINE_CLASS(ANSIBSTRMARSHALER, StubHelpers, AnsiBSTRMarshaler)
1046 DEFINE_METHOD(ANSIBSTRMARSHALER, CONVERT_TO_NATIVE, ConvertToNative, SM_Int_Str_RetIntPtr)
1047 DEFINE_METHOD(ANSIBSTRMARSHALER, CONVERT_TO_MANAGED, ConvertToManaged, SM_IntPtr_RetStr)
1048 DEFINE_METHOD(ANSIBSTRMARSHALER, CLEAR_NATIVE, ClearNative, SM_IntPtr_RetVoid)
1050 #ifdef FEATURE_COMINTEROP
1051 DEFINE_CLASS(OBJECTMARSHALER, StubHelpers, ObjectMarshaler)
1052 DEFINE_METHOD(OBJECTMARSHALER, CONVERT_TO_NATIVE, ConvertToNative, SM_ObjIntPtr_RetVoid)
1053 DEFINE_METHOD(OBJECTMARSHALER, CONVERT_TO_MANAGED, ConvertToManaged, SM_IntPtr_RetObj)
1054 DEFINE_METHOD(OBJECTMARSHALER, CLEAR_NATIVE, ClearNative, SM_IntPtr_RetVoid)
1056 DEFINE_CLASS(HSTRINGMARSHALER, StubHelpers, HStringMarshaler)
1057 DEFINE_METHOD(HSTRINGMARSHALER, CONVERT_TO_NATIVE_REFERENCE, ConvertToNativeReference, SM_Str_PtrHStringHeader_RetIntPtr)
1058 DEFINE_METHOD(HSTRINGMARSHALER, CONVERT_TO_NATIVE, ConvertToNative, SM_Str_RetIntPtr)
1059 DEFINE_METHOD(HSTRINGMARSHALER, CONVERT_TO_MANAGED, ConvertToManaged, SM_IntPtr_RetStr)
1060 DEFINE_METHOD(HSTRINGMARSHALER, CLEAR_NATIVE, ClearNative, SM_IntPtr_RetVoid)
1062 DEFINE_CLASS(URIMARSHALER, StubHelpers, UriMarshaler)
1063 DEFINE_METHOD(URIMARSHALER, GET_RAWURI_FROM_NATIVE, GetRawUriFromNative, SM_IntPtr_RetStr)
1064 DEFINE_METHOD(URIMARSHALER, CREATE_NATIVE_URI_INSTANCE, CreateNativeUriInstance, SM_Str_RetIntPtr)
1066 DEFINE_CLASS(INTERFACEMARSHALER, StubHelpers, InterfaceMarshaler)
1067 DEFINE_METHOD(INTERFACEMARSHALER, CONVERT_TO_NATIVE, ConvertToNative, SM_Obj_IntPtr_IntPtr_Int_RetIntPtr)
1068 DEFINE_METHOD(INTERFACEMARSHALER, CONVERT_TO_MANAGED, ConvertToManaged, SM_IntPtr_IntPtr_IntPtr_Int_RetObj)
1069 DEFINE_METHOD(INTERFACEMARSHALER, CLEAR_NATIVE, ClearNative, SM_IntPtr_RetVoid)
1072 DEFINE_CLASS(MNGD_SAFE_ARRAY_MARSHALER, StubHelpers, MngdSafeArrayMarshaler)
1073 DEFINE_METHOD(MNGD_SAFE_ARRAY_MARSHALER, CREATE_MARSHALER, CreateMarshaler, SM_IntPtr_IntPtr_Int_Int_RetVoid)
1074 DEFINE_METHOD(MNGD_SAFE_ARRAY_MARSHALER, CONVERT_SPACE_TO_NATIVE, ConvertSpaceToNative, SM_IntPtr_RefObj_IntPtr_RetVoid)
1075 DEFINE_METHOD(MNGD_SAFE_ARRAY_MARSHALER, CONVERT_CONTENTS_TO_NATIVE, ConvertContentsToNative, SM_IntPtr_RefObj_IntPtr_Obj_RetVoid)
1076 DEFINE_METHOD(MNGD_SAFE_ARRAY_MARSHALER, CONVERT_SPACE_TO_MANAGED, ConvertSpaceToManaged, SM_IntPtr_RefObj_IntPtr_RetVoid)
1077 DEFINE_METHOD(MNGD_SAFE_ARRAY_MARSHALER, CONVERT_CONTENTS_TO_MANAGED, ConvertContentsToManaged, SM_IntPtr_RefObj_IntPtr_RetVoid)
1078 DEFINE_METHOD(MNGD_SAFE_ARRAY_MARSHALER, CLEAR_NATIVE, ClearNative, SM_IntPtr_RefObj_IntPtr_RetVoid)
1080 DEFINE_CLASS(MNGD_HIDDEN_LENGTH_ARRAY_MARSHALER, StubHelpers, MngdHiddenLengthArrayMarshaler)
1081 DEFINE_METHOD(MNGD_HIDDEN_LENGTH_ARRAY_MARSHALER, CREATE_MARSHALER, CreateMarshaler, SM_IntPtr_IntPtr_IntPtr_UShrt_RetVoid)
1082 DEFINE_METHOD(MNGD_HIDDEN_LENGTH_ARRAY_MARSHALER, CONVERT_SPACE_TO_MANAGED, ConvertSpaceToManaged, SM_IntPtr_RefObj_IntPtr_Int_RetVoid)
1083 DEFINE_METHOD(MNGD_HIDDEN_LENGTH_ARRAY_MARSHALER, CONVERT_CONTENTS_TO_MANAGED, ConvertContentsToManaged, SM_IntPtr_RefObj_IntPtr_RetVoid)
1084 DEFINE_METHOD(MNGD_HIDDEN_LENGTH_ARRAY_MARSHALER, CONVERT_SPACE_TO_NATIVE, ConvertSpaceToNative, SM_IntPtr_RefObj_IntPtr_RetVoid)
1085 DEFINE_METHOD(MNGD_HIDDEN_LENGTH_ARRAY_MARSHALER, CONVERT_CONTENTS_TO_NATIVE, ConvertContentsToNative, SM_IntPtr_RefObj_IntPtr_RetVoid)
1086 DEFINE_METHOD(MNGD_HIDDEN_LENGTH_ARRAY_MARSHALER, CLEAR_NATIVE_CONTENTS, ClearNativeContents, SM_IntPtr_IntPtr_Int_RetVoid)
1087 DEFINE_METHOD(MNGD_HIDDEN_LENGTH_ARRAY_MARSHALER, CLEAR_NATIVE_CONTENTS_TYPE, ClearNativeContents_Type, NoSig)
1089 DEFINE_METHOD(MNGD_HIDDEN_LENGTH_ARRAY_MARSHALER, CONVERT_CONTENTS_TO_MANAGED_DATETIME, ConvertContentsToManaged_DateTime, NoSig)
1090 DEFINE_METHOD(MNGD_HIDDEN_LENGTH_ARRAY_MARSHALER, CONVERT_CONTENTS_TO_MANAGED_TYPE, ConvertContentsToManaged_Type, NoSig)
1091 DEFINE_METHOD(MNGD_HIDDEN_LENGTH_ARRAY_MARSHALER, CONVERT_CONTENTS_TO_MANAGED_EXCEPTION, ConvertContentsToManaged_Exception, NoSig)
1092 DEFINE_METHOD(MNGD_HIDDEN_LENGTH_ARRAY_MARSHALER, CONVERT_CONTENTS_TO_MANAGED_NULLABLE, ConvertContentsToManaged_Nullable, NoSig)
1093 DEFINE_METHOD(MNGD_HIDDEN_LENGTH_ARRAY_MARSHALER, CONVERT_CONTENTS_TO_MANAGED_KEYVALUEPAIR, ConvertContentsToManaged_KeyValuePair, NoSig)
1095 DEFINE_METHOD(MNGD_HIDDEN_LENGTH_ARRAY_MARSHALER, CONVERT_CONTENTS_TO_NATIVE_DATETIME, ConvertContentsToNative_DateTime, NoSig)
1096 DEFINE_METHOD(MNGD_HIDDEN_LENGTH_ARRAY_MARSHALER, CONVERT_CONTENTS_TO_NATIVE_TYPE, ConvertContentsToNative_Type, NoSig)
1097 DEFINE_METHOD(MNGD_HIDDEN_LENGTH_ARRAY_MARSHALER, CONVERT_CONTENTS_TO_NATIVE_EXCEPTION, ConvertContentsToNative_Exception, NoSig)
1098 DEFINE_METHOD(MNGD_HIDDEN_LENGTH_ARRAY_MARSHALER, CONVERT_CONTENTS_TO_NATIVE_NULLABLE, ConvertContentsToNative_Nullable, NoSig)
1099 DEFINE_METHOD(MNGD_HIDDEN_LENGTH_ARRAY_MARSHALER, CONVERT_CONTENTS_TO_NATIVE_KEYVALUEPAIR, ConvertContentsToNative_KeyValuePair, NoSig)
1101 DEFINE_CLASS(DATETIMEOFFSETMARSHALER, StubHelpers, DateTimeOffsetMarshaler)
1102 DEFINE_METHOD(DATETIMEOFFSETMARSHALER, CONVERT_TO_NATIVE, ConvertToNative, SM_RefDateTimeOffset_RefDateTimeNative_RetVoid)
1103 DEFINE_METHOD(DATETIMEOFFSETMARSHALER, CONVERT_TO_MANAGED, ConvertToManaged, SM_RefDateTimeOffset_RefDateTimeNative_RetVoid)
1105 DEFINE_CLASS(NULLABLEMARSHALER, StubHelpers, NullableMarshaler)
1106 DEFINE_METHOD(NULLABLEMARSHALER, CONVERT_TO_NATIVE, ConvertToNative, NoSig)
1107 DEFINE_METHOD(NULLABLEMARSHALER, CONVERT_TO_MANAGED, ConvertToManaged, NoSig)
1108 DEFINE_METHOD(NULLABLEMARSHALER, CONVERT_TO_MANAGED_RET_VOID, ConvertToManagedRetVoid, NoSig)
1110 DEFINE_CLASS(SYSTEMTYPEMARSHALER, StubHelpers, SystemTypeMarshaler)
1112 DEFINE_METHOD(SYSTEMTYPEMARSHALER, CONVERT_TO_NATIVE, ConvertToNative, SM_Type_PtrTypeName_RetVoid)
1113 DEFINE_METHOD(SYSTEMTYPEMARSHALER, CONVERT_TO_MANAGED, ConvertToManaged, SM_PtrTypeName_RefType_RetVoid)
1114 DEFINE_METHOD(SYSTEMTYPEMARSHALER, CLEAR_NATIVE, ClearNative, SM_PtrTypeName_RetVoid)
1116 DEFINE_CLASS(KEYVALUEPAIRMARSHALER, StubHelpers, KeyValuePairMarshaler)
1117 DEFINE_METHOD(KEYVALUEPAIRMARSHALER, CONVERT_TO_NATIVE, ConvertToNative, NoSig)
1118 DEFINE_METHOD(KEYVALUEPAIRMARSHALER, CONVERT_TO_MANAGED, ConvertToManaged, NoSig)
1119 DEFINE_METHOD(KEYVALUEPAIRMARSHALER, CONVERT_TO_MANAGED_BOX, ConvertToManagedBox, NoSig)
1121 DEFINE_CLASS(HRESULTEXCEPTIONMARSHALER, StubHelpers, HResultExceptionMarshaler)
1122 DEFINE_METHOD(HRESULTEXCEPTIONMARSHALER, CONVERT_TO_NATIVE, ConvertToNative, SM_Exception_RetInt)
1123 DEFINE_METHOD(HRESULTEXCEPTIONMARSHALER, CONVERT_TO_MANAGED, ConvertToManaged, SM_Int_RetException)
1125 #endif // FEATURE_COMINTEROP
1127 DEFINE_CLASS(VALUECLASSMARSHALER, StubHelpers, ValueClassMarshaler)
1128 DEFINE_METHOD(VALUECLASSMARSHALER, CONVERT_TO_NATIVE, ConvertToNative, SM_IntPtrIntPtrIntPtr_RefCleanupWorkListElement_RetVoid)
1129 DEFINE_METHOD(VALUECLASSMARSHALER, CONVERT_TO_MANAGED, ConvertToManaged, SM_IntPtrIntPtrIntPtr_RetVoid)
1130 DEFINE_METHOD(VALUECLASSMARSHALER, CLEAR_NATIVE, ClearNative, SM_IntPtr_IntPtr_RetVoid)
1132 DEFINE_CLASS(DATEMARSHALER, StubHelpers, DateMarshaler)
1133 DEFINE_METHOD(DATEMARSHALER, CONVERT_TO_NATIVE, ConvertToNative, SM_DateTime_RetDbl)
1134 DEFINE_METHOD(DATEMARSHALER, CONVERT_TO_MANAGED, ConvertToManaged, SM_Dbl_RetLong)
1136 DEFINE_CLASS(VBBYVALSTRMARSHALER, StubHelpers, VBByValStrMarshaler)
1137 DEFINE_METHOD(VBBYVALSTRMARSHALER, CONVERT_TO_NATIVE, ConvertToNative, SM_Str_Bool_Bool_RefInt_RetIntPtr)
1138 DEFINE_METHOD(VBBYVALSTRMARSHALER, CONVERT_TO_MANAGED, ConvertToManaged, SM_IntPtr_Int_RetStr)
1139 DEFINE_METHOD(VBBYVALSTRMARSHALER, CLEAR_NATIVE, ClearNative, SM_IntPtr_RetVoid)
1141 DEFINE_CLASS(MNGD_NATIVE_ARRAY_MARSHALER, StubHelpers, MngdNativeArrayMarshaler)
1142 DEFINE_METHOD(MNGD_NATIVE_ARRAY_MARSHALER, CREATE_MARSHALER, CreateMarshaler, SM_IntPtr_IntPtr_Int_RetVoid)
1143 DEFINE_METHOD(MNGD_NATIVE_ARRAY_MARSHALER, CONVERT_SPACE_TO_NATIVE, ConvertSpaceToNative, SM_IntPtr_RefObj_IntPtr_RetVoid)
1144 DEFINE_METHOD(MNGD_NATIVE_ARRAY_MARSHALER, CONVERT_CONTENTS_TO_NATIVE, ConvertContentsToNative, SM_IntPtr_RefObj_IntPtr_RetVoid)
1145 DEFINE_METHOD(MNGD_NATIVE_ARRAY_MARSHALER, CONVERT_SPACE_TO_MANAGED, ConvertSpaceToManaged, SM_IntPtr_RefObj_IntPtr_Int_RetVoid)
1146 DEFINE_METHOD(MNGD_NATIVE_ARRAY_MARSHALER, CONVERT_CONTENTS_TO_MANAGED, ConvertContentsToManaged, SM_IntPtr_RefObj_IntPtr_RetVoid)
1147 DEFINE_METHOD(MNGD_NATIVE_ARRAY_MARSHALER, CLEAR_NATIVE, ClearNative, SM_IntPtr_IntPtr_Int_RetVoid)
1148 DEFINE_METHOD(MNGD_NATIVE_ARRAY_MARSHALER, CLEAR_NATIVE_CONTENTS, ClearNativeContents, SM_IntPtr_IntPtr_Int_RetVoid)
1150 DEFINE_CLASS(MNGD_REF_CUSTOM_MARSHALER, StubHelpers, MngdRefCustomMarshaler)
1151 DEFINE_METHOD(MNGD_REF_CUSTOM_MARSHALER, CREATE_MARSHALER, CreateMarshaler, SM_IntPtr_IntPtr_RetVoid)
1152 DEFINE_METHOD(MNGD_REF_CUSTOM_MARSHALER, CONVERT_CONTENTS_TO_NATIVE, ConvertContentsToNative, SM_IntPtr_RefObj_IntPtr_RetVoid)
1153 DEFINE_METHOD(MNGD_REF_CUSTOM_MARSHALER, CONVERT_CONTENTS_TO_MANAGED, ConvertContentsToManaged, SM_IntPtr_RefObj_IntPtr_RetVoid)
1154 DEFINE_METHOD(MNGD_REF_CUSTOM_MARSHALER, CLEAR_NATIVE, ClearNative, SM_IntPtr_RefObj_IntPtr_RetVoid)
1155 DEFINE_METHOD(MNGD_REF_CUSTOM_MARSHALER, CLEAR_MANAGED, ClearManaged, SM_IntPtr_RefObj_IntPtr_RetVoid)
1157 DEFINE_CLASS(ASANY_MARSHALER, StubHelpers, AsAnyMarshaler)
1158 DEFINE_METHOD(ASANY_MARSHALER, CTOR, .ctor, IM_IntPtr_RetVoid)
1159 DEFINE_METHOD(ASANY_MARSHALER, CONVERT_TO_NATIVE, ConvertToNative, IM_Obj_Int_RetIntPtr)
1160 DEFINE_METHOD(ASANY_MARSHALER, CONVERT_TO_MANAGED, ConvertToManaged, IM_Obj_IntPtr_RetVoid)
1161 DEFINE_METHOD(ASANY_MARSHALER, CLEAR_NATIVE, ClearNative, IM_IntPtr_RetVoid)
1163 DEFINE_CLASS(NATIVEVARIANT, StubHelpers, NativeVariant)
1165 #ifdef FEATURE_COMINTEROP
1166 DEFINE_CLASS(IITERABLE, WinRT, IIterable`1)
1167 DEFINE_CLASS(IVECTOR, WinRT, IVector`1)
1168 DEFINE_CLASS(IMAP, WinRT, IMap`2)
1169 DEFINE_CLASS(IKEYVALUEPAIR, WinRT, IKeyValuePair`2)
1170 DEFINE_CLASS(IVECTORVIEW, WinRT, IVectorView`1)
1171 DEFINE_CLASS(IMAPVIEW, WinRT, IMapView`2)
1172 DEFINE_CLASS(IITERATOR, WinRT, IIterator`1)
1173 DEFINE_CLASS(IPROPERTYVALUE, WinRT, IPropertyValue)
1174 DEFINE_CLASS(IBINDABLEITERABLE, WinRT, IBindableIterable)
1175 DEFINE_CLASS(IBINDABLEITERATOR, WinRT, IBindableIterator)
1176 DEFINE_CLASS(IBINDABLEVECTOR, WinRT, IBindableVector)
1177 DEFINE_CLASS(ICLOSABLE, WinRT, IClosable)
1179 DEFINE_CLASS(GET_ENUMERATOR_DELEGATE, WinRT, GetEnumerator_Delegate`1)
1180 DEFINE_CLASS(ITERABLE_TO_ENUMERABLE_ADAPTER, WinRT, IterableToEnumerableAdapter)
1181 DEFINE_METHOD(ITERABLE_TO_ENUMERABLE_ADAPTER, GET_ENUMERATOR_STUB, GetEnumerator_Stub, NoSig)
1182 DEFINE_METHOD(ITERABLE_TO_ENUMERABLE_ADAPTER, GET_ENUMERATOR_VARIANCE_STUB, GetEnumerator_Variance_Stub, NoSig)
1184 DEFINE_CLASS(VECTOR_TO_LIST_ADAPTER, WinRT, VectorToListAdapter)
1185 DEFINE_METHOD(VECTOR_TO_LIST_ADAPTER, INDEXER_GET, Indexer_Get, NoSig)
1186 DEFINE_METHOD(VECTOR_TO_LIST_ADAPTER, INDEXER_SET, Indexer_Set, NoSig)
1187 DEFINE_METHOD(VECTOR_TO_LIST_ADAPTER, INDEX_OF, IndexOf, NoSig)
1188 DEFINE_METHOD(VECTOR_TO_LIST_ADAPTER, INSERT, Insert, NoSig)
1189 DEFINE_METHOD(VECTOR_TO_LIST_ADAPTER, REMOVE_AT, RemoveAt, NoSig)
1191 DEFINE_CLASS(MAP_TO_DICTIONARY_ADAPTER, WinRT, MapToDictionaryAdapter)
1192 DEFINE_METHOD(MAP_TO_DICTIONARY_ADAPTER, INDEXER_GET, Indexer_Get, NoSig)
1193 DEFINE_METHOD(MAP_TO_DICTIONARY_ADAPTER, INDEXER_SET, Indexer_Set, NoSig)
1194 DEFINE_METHOD(MAP_TO_DICTIONARY_ADAPTER, KEYS, Keys, NoSig)
1195 DEFINE_METHOD(MAP_TO_DICTIONARY_ADAPTER, VALUES, Values, NoSig)
1196 DEFINE_METHOD(MAP_TO_DICTIONARY_ADAPTER, CONTAINS_KEY, ContainsKey, NoSig)
1197 DEFINE_METHOD(MAP_TO_DICTIONARY_ADAPTER, ADD, Add, NoSig)
1198 DEFINE_METHOD(MAP_TO_DICTIONARY_ADAPTER, REMOVE, Remove, NoSig)
1199 DEFINE_METHOD(MAP_TO_DICTIONARY_ADAPTER, TRY_GET_VALUE, TryGetValue, NoSig)
1201 DEFINE_CLASS(VECTOR_TO_COLLECTION_ADAPTER, WinRT, VectorToCollectionAdapter)
1202 DEFINE_METHOD(VECTOR_TO_COLLECTION_ADAPTER, COUNT, Count, NoSig)
1203 DEFINE_METHOD(VECTOR_TO_COLLECTION_ADAPTER, IS_READ_ONLY, IsReadOnly, NoSig)
1204 DEFINE_METHOD(VECTOR_TO_COLLECTION_ADAPTER, ADD, Add, NoSig)
1205 DEFINE_METHOD(VECTOR_TO_COLLECTION_ADAPTER, CLEAR, Clear, NoSig)
1206 DEFINE_METHOD(VECTOR_TO_COLLECTION_ADAPTER, CONTAINS, Contains, NoSig)
1207 DEFINE_METHOD(VECTOR_TO_COLLECTION_ADAPTER, COPY_TO, CopyTo, NoSig)
1208 DEFINE_METHOD(VECTOR_TO_COLLECTION_ADAPTER, REMOVE, Remove, NoSig)
1210 DEFINE_CLASS(MAP_TO_COLLECTION_ADAPTER, WinRT, MapToCollectionAdapter)
1211 DEFINE_METHOD(MAP_TO_COLLECTION_ADAPTER, COUNT, Count, NoSig)
1212 DEFINE_METHOD(MAP_TO_COLLECTION_ADAPTER, IS_READ_ONLY, IsReadOnly, NoSig)
1213 DEFINE_METHOD(MAP_TO_COLLECTION_ADAPTER, ADD, Add, NoSig)
1214 DEFINE_METHOD(MAP_TO_COLLECTION_ADAPTER, CLEAR, Clear, NoSig)
1215 DEFINE_METHOD(MAP_TO_COLLECTION_ADAPTER, CONTAINS, Contains, NoSig)
1216 DEFINE_METHOD(MAP_TO_COLLECTION_ADAPTER, COPY_TO, CopyTo, NoSig)
1217 DEFINE_METHOD(MAP_TO_COLLECTION_ADAPTER, REMOVE, Remove, NoSig)
1219 DEFINE_CLASS(BINDABLEITERABLE_TO_ENUMERABLE_ADAPTER, WinRT, BindableIterableToEnumerableAdapter)
1220 DEFINE_METHOD(BINDABLEITERABLE_TO_ENUMERABLE_ADAPTER, GET_ENUMERATOR_STUB, GetEnumerator_Stub, NoSig)
1222 DEFINE_CLASS(BINDABLEVECTOR_TO_LIST_ADAPTER, WinRT, BindableVectorToListAdapter)
1223 DEFINE_METHOD(BINDABLEVECTOR_TO_LIST_ADAPTER, INDEXER_GET, Indexer_Get, NoSig)
1224 DEFINE_METHOD(BINDABLEVECTOR_TO_LIST_ADAPTER, INDEXER_SET, Indexer_Set, NoSig)
1225 DEFINE_METHOD(BINDABLEVECTOR_TO_LIST_ADAPTER, ADD, Add, NoSig)
1226 DEFINE_METHOD(BINDABLEVECTOR_TO_LIST_ADAPTER, CONTAINS, Contains, NoSig)
1227 DEFINE_METHOD(BINDABLEVECTOR_TO_LIST_ADAPTER, CLEAR, Clear, NoSig)
1228 DEFINE_METHOD(BINDABLEVECTOR_TO_LIST_ADAPTER, IS_READ_ONLY, IsReadOnly, NoSig)
1229 DEFINE_METHOD(BINDABLEVECTOR_TO_LIST_ADAPTER, IS_FIXED_SIZE, IsFixedSize, NoSig)
1230 DEFINE_METHOD(BINDABLEVECTOR_TO_LIST_ADAPTER, INDEX_OF, IndexOf, NoSig)
1231 DEFINE_METHOD(BINDABLEVECTOR_TO_LIST_ADAPTER, INSERT, Insert, NoSig)
1232 DEFINE_METHOD(BINDABLEVECTOR_TO_LIST_ADAPTER, REMOVE, Remove, NoSig)
1233 DEFINE_METHOD(BINDABLEVECTOR_TO_LIST_ADAPTER, REMOVE_AT, RemoveAt, NoSig)
1235 DEFINE_CLASS(BINDABLEVECTOR_TO_COLLECTION_ADAPTER, WinRT, BindableVectorToCollectionAdapter)
1236 DEFINE_METHOD(BINDABLEVECTOR_TO_COLLECTION_ADAPTER, COPY_TO, CopyTo, NoSig)
1237 DEFINE_METHOD(BINDABLEVECTOR_TO_COLLECTION_ADAPTER, COUNT, Count, NoSig)
1238 DEFINE_METHOD(BINDABLEVECTOR_TO_COLLECTION_ADAPTER, SYNC_ROOT, SyncRoot, NoSig)
1239 DEFINE_METHOD(BINDABLEVECTOR_TO_COLLECTION_ADAPTER, IS_SYNCHRONIZED, IsSynchronized, NoSig)
1241 DEFINE_CLASS(ENUMERABLE_TO_ITERABLE_ADAPTER, WinRT, EnumerableToIterableAdapter)
1242 DEFINE_METHOD(ENUMERABLE_TO_ITERABLE_ADAPTER, FIRST_STUB, First_Stub, NoSig)
1244 DEFINE_CLASS(LIST_TO_VECTOR_ADAPTER, WinRT, ListToVectorAdapter)
1245 DEFINE_METHOD(LIST_TO_VECTOR_ADAPTER, GET_AT, GetAt, NoSig)
1246 DEFINE_METHOD(LIST_TO_VECTOR_ADAPTER, SIZE, Size, NoSig)
1247 DEFINE_METHOD(LIST_TO_VECTOR_ADAPTER, GET_VIEW, GetView, NoSig)
1248 DEFINE_METHOD(LIST_TO_VECTOR_ADAPTER, INDEX_OF, IndexOf, NoSig)
1249 DEFINE_METHOD(LIST_TO_VECTOR_ADAPTER, SET_AT, SetAt, NoSig)
1250 DEFINE_METHOD(LIST_TO_VECTOR_ADAPTER, INSERT_AT, InsertAt, NoSig)
1251 DEFINE_METHOD(LIST_TO_VECTOR_ADAPTER, REMOVE_AT, RemoveAt, NoSig)
1252 DEFINE_METHOD(LIST_TO_VECTOR_ADAPTER, APPEND, Append, NoSig)
1253 DEFINE_METHOD(LIST_TO_VECTOR_ADAPTER, REMOVE_AT_END, RemoveAtEnd, NoSig)
1254 DEFINE_METHOD(LIST_TO_VECTOR_ADAPTER, CLEAR, Clear, NoSig)
1255 DEFINE_METHOD(LIST_TO_VECTOR_ADAPTER, GET_MANY, GetMany, NoSig)
1256 DEFINE_METHOD(LIST_TO_VECTOR_ADAPTER, REPLACE_ALL, ReplaceAll, NoSig)
1258 DEFINE_CLASS(DICTIONARY_TO_MAP_ADAPTER, WinRT, DictionaryToMapAdapter)
1259 DEFINE_METHOD(DICTIONARY_TO_MAP_ADAPTER, LOOKUP, Lookup, NoSig)
1260 DEFINE_METHOD(DICTIONARY_TO_MAP_ADAPTER, SIZE, Size, NoSig)
1261 DEFINE_METHOD(DICTIONARY_TO_MAP_ADAPTER, HAS_KEY, HasKey, NoSig)
1262 DEFINE_METHOD(DICTIONARY_TO_MAP_ADAPTER, GET_VIEW, GetView, NoSig)
1263 DEFINE_METHOD(DICTIONARY_TO_MAP_ADAPTER, INSERT, Insert, NoSig)
1264 DEFINE_METHOD(DICTIONARY_TO_MAP_ADAPTER, REMOVE, Remove, NoSig)
1265 DEFINE_METHOD(DICTIONARY_TO_MAP_ADAPTER, CLEAR, Clear, NoSig)
1267 DEFINE_CLASS(IVECTORVIEW_TO_IREADONLYCOLLECTION_ADAPTER, WinRT, VectorViewToReadOnlyCollectionAdapter)
1268 DEFINE_METHOD(IVECTORVIEW_TO_IREADONLYCOLLECTION_ADAPTER, COUNT, Count, NoSig)
1270 DEFINE_CLASS(IMAPVIEW_TO_IREADONLYCOLLECTION_ADAPTER, WinRT, MapViewToReadOnlyCollectionAdapter)
1271 DEFINE_METHOD(IMAPVIEW_TO_IREADONLYCOLLECTION_ADAPTER, COUNT, Count, NoSig)
1273 DEFINE_CLASS(IREADONLYLIST_TO_IVECTORVIEW_ADAPTER, WinRT, IReadOnlyListToIVectorViewAdapter)
1274 DEFINE_METHOD(IREADONLYLIST_TO_IVECTORVIEW_ADAPTER, GETAT, GetAt, NoSig)
1275 DEFINE_METHOD(IREADONLYLIST_TO_IVECTORVIEW_ADAPTER, GETMANY, GetMany, NoSig)
1276 DEFINE_METHOD(IREADONLYLIST_TO_IVECTORVIEW_ADAPTER, INDEXOF, IndexOf, NoSig)
1277 DEFINE_METHOD(IREADONLYLIST_TO_IVECTORVIEW_ADAPTER, SIZE, Size, NoSig)
1279 DEFINE_CLASS(INDEXER_GET_DELEGATE, WinRT, Indexer_Get_Delegate`1)
1280 DEFINE_CLASS(IVECTORVIEW_TO_IREADONLYLIST_ADAPTER, WinRT, IVectorViewToIReadOnlyListAdapter)
1281 DEFINE_METHOD(IVECTORVIEW_TO_IREADONLYLIST_ADAPTER, INDEXER_GET, Indexer_Get, NoSig)
1282 DEFINE_METHOD(IVECTORVIEW_TO_IREADONLYLIST_ADAPTER, INDEXER_GET_VARIANCE, Indexer_Get_Variance, NoSig)
1284 DEFINE_CLASS(IREADONLYDICTIONARY_TO_IMAPVIEW_ADAPTER, WinRT, IReadOnlyDictionaryToIMapViewAdapter)
1285 DEFINE_METHOD(IREADONLYDICTIONARY_TO_IMAPVIEW_ADAPTER, HASKEY, HasKey, NoSig)
1286 DEFINE_METHOD(IREADONLYDICTIONARY_TO_IMAPVIEW_ADAPTER, LOOKUP, Lookup, NoSig)
1287 DEFINE_METHOD(IREADONLYDICTIONARY_TO_IMAPVIEW_ADAPTER, SIZE, Size, NoSig)
1288 DEFINE_METHOD(IREADONLYDICTIONARY_TO_IMAPVIEW_ADAPTER, SPLIT, Split, NoSig)
1290 DEFINE_CLASS(IMAPVIEW_TO_IREADONLYDICTIONARY_ADAPTER, WinRT, IMapViewToIReadOnlyDictionaryAdapter)
1291 DEFINE_METHOD(IMAPVIEW_TO_IREADONLYDICTIONARY_ADAPTER, CONTAINSKEY, ContainsKey, NoSig)
1292 DEFINE_METHOD(IMAPVIEW_TO_IREADONLYDICTIONARY_ADAPTER, INDEXER_GET, Indexer_Get, NoSig)
1293 DEFINE_METHOD(IMAPVIEW_TO_IREADONLYDICTIONARY_ADAPTER, TRYGETVALUE, TryGetValue, NoSig)
1294 DEFINE_METHOD(IMAPVIEW_TO_IREADONLYDICTIONARY_ADAPTER, KEYS, Keys, NoSig)
1295 DEFINE_METHOD(IMAPVIEW_TO_IREADONLYDICTIONARY_ADAPTER, VALUES, Values, NoSig)
1297 DEFINE_CLASS(ENUMERABLE_TO_BINDABLEITERABLE_ADAPTER, WinRT, EnumerableToBindableIterableAdapter)
1298 DEFINE_METHOD(ENUMERABLE_TO_BINDABLEITERABLE_ADAPTER, FIRST_STUB, First_Stub, NoSig)
1300 DEFINE_CLASS(LIST_TO_BINDABLEVECTOR_ADAPTER, WinRT, ListToBindableVectorAdapter)
1301 DEFINE_METHOD(LIST_TO_BINDABLEVECTOR_ADAPTER, GET_AT, GetAt, NoSig)
1302 DEFINE_METHOD(LIST_TO_BINDABLEVECTOR_ADAPTER, SIZE, Size, NoSig)
1303 DEFINE_METHOD(LIST_TO_BINDABLEVECTOR_ADAPTER, GET_VIEW, GetView, NoSig)
1304 DEFINE_METHOD(LIST_TO_BINDABLEVECTOR_ADAPTER, INDEX_OF, IndexOf, NoSig)
1305 DEFINE_METHOD(LIST_TO_BINDABLEVECTOR_ADAPTER, SET_AT, SetAt, NoSig)
1306 DEFINE_METHOD(LIST_TO_BINDABLEVECTOR_ADAPTER, INSERT_AT, InsertAt, NoSig)
1307 DEFINE_METHOD(LIST_TO_BINDABLEVECTOR_ADAPTER, REMOVE_AT, RemoveAt, NoSig)
1308 DEFINE_METHOD(LIST_TO_BINDABLEVECTOR_ADAPTER, APPEND, Append, NoSig)
1309 DEFINE_METHOD(LIST_TO_BINDABLEVECTOR_ADAPTER, REMOVE_AT_END, RemoveAtEnd, NoSig)
1310 DEFINE_METHOD(LIST_TO_BINDABLEVECTOR_ADAPTER, CLEAR, Clear, NoSig)
1312 DEFINE_CLASS(IDISPOSABLE_TO_ICLOSABLE_ADAPTER, WinRT, IDisposableToIClosableAdapter)
1313 DEFINE_METHOD(IDISPOSABLE_TO_ICLOSABLE_ADAPTER, CLOSE, Close, NoSig)
1315 DEFINE_CLASS(ICLOSABLE_TO_IDISPOSABLE_ADAPTER, WinRT, IClosableToIDisposableAdapter)
1316 DEFINE_METHOD(ICLOSABLE_TO_IDISPOSABLE_ADAPTER, DISPOSE, Dispose, NoSig)
1318 #endif // FEATURE_COMINTEROP
1320 DEFINE_CLASS(SZARRAYHELPER, System, SZArrayHelper)
1321 // Note: The order of methods here has to match order they are implemented on the interfaces in
1323 DEFINE_METHOD(SZARRAYHELPER, GETENUMERATOR, GetEnumerator, NoSig)
1324 // ICollection`1/IReadOnlyCollection`1
1325 DEFINE_METHOD(SZARRAYHELPER, GET_COUNT, get_Count, NoSig)
1326 DEFINE_METHOD(SZARRAYHELPER, ISREADONLY, get_IsReadOnly, NoSig)
1327 DEFINE_METHOD(SZARRAYHELPER, ADD, Add, NoSig)
1328 DEFINE_METHOD(SZARRAYHELPER, CLEAR, Clear, NoSig)
1329 DEFINE_METHOD(SZARRAYHELPER, CONTAINS, Contains, NoSig)
1330 DEFINE_METHOD(SZARRAYHELPER, COPYTO, CopyTo, NoSig)
1331 DEFINE_METHOD(SZARRAYHELPER, REMOVE, Remove, NoSig)
1332 // IList`1/IReadOnlyList`1
1333 DEFINE_METHOD(SZARRAYHELPER, GET_ITEM, get_Item, NoSig)
1334 DEFINE_METHOD(SZARRAYHELPER, SET_ITEM, set_Item, NoSig)
1335 DEFINE_METHOD(SZARRAYHELPER, INDEXOF, IndexOf, NoSig)
1336 DEFINE_METHOD(SZARRAYHELPER, INSERT, Insert, NoSig)
1337 DEFINE_METHOD(SZARRAYHELPER, REMOVEAT, RemoveAt, NoSig)
1339 DEFINE_CLASS(IENUMERABLEGENERIC, CollectionsGeneric, IEnumerable`1)
1340 DEFINE_CLASS(IENUMERATORGENERIC, CollectionsGeneric, IEnumerator`1)
1341 DEFINE_CLASS(ICOLLECTIONGENERIC, CollectionsGeneric, ICollection`1)
1342 DEFINE_CLASS(ILISTGENERIC, CollectionsGeneric, IList`1)
1343 DEFINE_CLASS(IREADONLYCOLLECTIONGENERIC,CollectionsGeneric, IReadOnlyCollection`1)
1344 DEFINE_CLASS(IREADONLYLISTGENERIC, CollectionsGeneric, IReadOnlyList`1)
1345 DEFINE_CLASS(IREADONLYDICTIONARYGENERIC,CollectionsGeneric, IReadOnlyDictionary`2)
1346 DEFINE_CLASS(IDICTIONARYGENERIC, CollectionsGeneric, IDictionary`2)
1347 DEFINE_CLASS(KEYVALUEPAIRGENERIC, CollectionsGeneric, KeyValuePair`2)
1349 DEFINE_CLASS(ICOMPARABLEGENERIC, System, IComparable`1)
1350 DEFINE_METHOD(ICOMPARABLEGENERIC, COMPARE_TO, CompareTo, NoSig)
1352 DEFINE_CLASS(IEQUATABLEGENERIC, System, IEquatable`1)
1354 DEFINE_CLASS_U(Reflection, LoaderAllocator, LoaderAllocatorObject)
1355 DEFINE_FIELD_U(m_slots, LoaderAllocatorObject, m_pSlots)
1356 DEFINE_FIELD_U(m_slotsUsed, LoaderAllocatorObject, m_slotsUsed)
1357 DEFINE_CLASS(LOADERALLOCATOR, Reflection, LoaderAllocator)
1358 DEFINE_METHOD(LOADERALLOCATOR, CTOR, .ctor, IM_RetVoid)
1360 DEFINE_CLASS_U(Reflection, LoaderAllocatorScout, LoaderAllocatorScoutObject)
1361 DEFINE_FIELD_U(m_nativeLoaderAllocator, LoaderAllocatorScoutObject, m_nativeLoaderAllocator)
1362 DEFINE_CLASS(LOADERALLOCATORSCOUT, Reflection, LoaderAllocatorScout)
1364 DEFINE_CLASS(CONTRACTEXCEPTION, CodeContracts, ContractException)
1366 DEFINE_CLASS_U(CodeContracts, ContractException, ContractExceptionObject)
1367 DEFINE_FIELD_U(_kind, ContractExceptionObject, _Kind)
1368 DEFINE_FIELD_U(_userMessage, ContractExceptionObject, _UserMessage)
1369 DEFINE_FIELD_U(_condition, ContractExceptionObject, _Condition)
1371 #ifdef FEATURE_COMINTEROP
1372 DEFINE_CLASS(CAUSALITY_TRACE_LEVEL, WindowsFoundationDiag, CausalityTraceLevel)
1373 DEFINE_CLASS(ASYNC_TRACING_EVENT_ARGS, WindowsFoundationDiag, TracingStatusChangedEventArgs)
1374 DEFINE_PROPERTY(ASYNC_TRACING_EVENT_ARGS, ENABLED, Enabled, Bool)
1375 DEFINE_PROPERTY(ASYNC_TRACING_EVENT_ARGS, TRACELEVEL, TraceLevel, CausalityTraceLevel)
1376 DEFINE_CLASS(IASYNC_TRACING_EVENT_ARGS, WindowsFoundationDiag, ITracingStatusChangedEventArgs)
1377 DEFINE_PROPERTY(IASYNC_TRACING_EVENT_ARGS, ENABLED, Enabled, Bool)
1378 DEFINE_PROPERTY(IASYNC_TRACING_EVENT_ARGS, TRACELEVEL, TraceLevel, CausalityTraceLevel)
1379 #endif // FEATURE_COMINTEROP
1381 DEFINE_CLASS(MODULEBASE, Reflection, Module)
1383 #ifdef FEATURE_ICASTABLE
1384 DEFINE_CLASS(ICASTABLE, CompilerServices, ICastable)
1386 DEFINE_CLASS(ICASTABLEHELPERS, CompilerServices, ICastableHelpers)
1387 DEFINE_METHOD(ICASTABLEHELPERS, ISINSTANCEOF, IsInstanceOfInterface, SM_ICastable_RtType_RefException_RetBool)
1388 DEFINE_METHOD(ICASTABLEHELPERS, GETIMPLTYPE, GetImplType, SM_ICastable_RtType_RetRtType)
1390 #endif // FEATURE_ICASTABLE
1392 DEFINE_CLASS(CUTF8MARSHALER, StubHelpers, UTF8Marshaler)
1393 DEFINE_METHOD(CUTF8MARSHALER, CONVERT_TO_NATIVE, ConvertToNative, SM_Int_Str_IntPtr_RetIntPtr)
1394 DEFINE_METHOD(CUTF8MARSHALER, CONVERT_TO_MANAGED, ConvertToManaged, SM_IntPtr_RetStr)
1395 DEFINE_METHOD(CUTF8MARSHALER, CLEAR_NATIVE, ClearNative, SM_IntPtr_RetVoid)
1397 DEFINE_CLASS(UTF8BUFFERMARSHALER, StubHelpers, UTF8BufferMarshaler)
1398 DEFINE_METHOD(UTF8BUFFERMARSHALER, CONVERT_TO_NATIVE, ConvertToNative, NoSig)
1399 DEFINE_METHOD(UTF8BUFFERMARSHALER, CONVERT_TO_MANAGED, ConvertToManaged, NoSig)
1401 // Classes referenced in EqualityComparer<T>.Default optimization
1403 DEFINE_CLASS(BYTE_EQUALITYCOMPARER, CollectionsGeneric, ByteEqualityComparer)
1404 DEFINE_CLASS(ENUM_EQUALITYCOMPARER, CollectionsGeneric, EnumEqualityComparer`1)
1405 DEFINE_CLASS(NULLABLE_EQUALITYCOMPARER, CollectionsGeneric, NullableEqualityComparer`1)
1406 DEFINE_CLASS(GENERIC_EQUALITYCOMPARER, CollectionsGeneric, GenericEqualityComparer`1)
1407 DEFINE_CLASS(OBJECT_EQUALITYCOMPARER, CollectionsGeneric, ObjectEqualityComparer`1)
1409 DEFINE_CLASS(INATTRIBUTE, Interop, InAttribute)
1411 DEFINE_CLASS_U(CompilerServices, GCHeapHash, GCHeapHashObject)
1412 DEFINE_FIELD_U(_data, GCHeapHashObject, _data)
1413 DEFINE_FIELD_U(_count, GCHeapHashObject, _count)
1414 DEFINE_FIELD_U(_deletedCount, GCHeapHashObject, _deletedCount)
1416 DEFINE_CLASS(GCHEAPHASH, CompilerServices, GCHeapHash)
1418 DEFINE_CLASS_U(CompilerServices, LAHashDependentHashTracker, LAHashDependentHashTrackerObject)
1419 DEFINE_FIELD_U(_dependentHandle, LAHashDependentHashTrackerObject,_dependentHandle)
1420 DEFINE_FIELD_U(_loaderAllocator, LAHashDependentHashTrackerObject,_loaderAllocator)
1422 DEFINE_CLASS(LAHASHDEPENDENTHASHTRACKER, CompilerServices, LAHashDependentHashTracker)
1424 DEFINE_CLASS_U(CompilerServices, LAHashKeyToTrackers, LAHashKeyToTrackersObject)
1425 DEFINE_FIELD_U(_trackerOrTrackerSet, LAHashKeyToTrackersObject, _trackerOrTrackerSet)
1426 DEFINE_FIELD_U(_laLocalKeyValueStore, LAHashKeyToTrackersObject, _laLocalKeyValueStore)
1428 DEFINE_CLASS(LAHASHKEYTOTRACKERS, CompilerServices, LAHashKeyToTrackers)
1431 #undef DEFINE_METHOD
1433 #undef DEFINE_CLASS_U
1434 #undef DEFINE_FIELD_U