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.
20 // Note: The SM_* and IM_* are signatures defined in file:metasig.h using IM() and SM() macros.
24 #define DEFINE_CLASS(id, nameSpace, stringName)
28 #define DEFINE_METHOD(classId, id, stringName, gSign)
32 #define DEFINE_FIELD(classId, id, stringName)
35 #ifndef DEFINE_PROPERTY
36 #define DEFINE_PROPERTY(classId, id, stringName, gSign) DEFINE_METHOD(classId, GET_ ## id, get_ ## stringName, IM_Ret ## gSign)
39 #ifndef DEFINE_STATIC_PROPERTY
40 #define DEFINE_STATIC_PROPERTY(classId, id, stringName, gSign) DEFINE_METHOD(classId, GET_ ## id, get_ ## stringName, SM_Ret ## gSign)
43 #ifndef DEFINE_SET_PROPERTY
44 #define DEFINE_SET_PROPERTY(classId, id, stringName, gSign) \
45 DEFINE_PROPERTY(classId, id, stringName, gSign) \
46 DEFINE_METHOD(classId, SET_ ## id, set_ ## stringName, IM_## gSign ## _RetVoid)
50 // DEFINE_CLASS_U and DEFINE_FIELD_U are debug-only checks to verify that the managed and unmanaged layouts are in sync
52 #ifndef DEFINE_CLASS_U
53 #define DEFINE_CLASS_U(nameSpace, stringName, unmanagedType)
56 #ifndef DEFINE_FIELD_U
57 #define DEFINE_FIELD_U(stringName, unmanagedContainingType, unmanagedOffset)
60 // NOTE: Make this window really wide if you want to read the table...
62 DEFINE_CLASS(ACTIVATOR, System, Activator)
64 DEFINE_CLASS(ACCESS_VIOLATION_EXCEPTION, System, AccessViolationException)
65 DEFINE_FIELD(ACCESS_VIOLATION_EXCEPTION, IP, _ip)
66 DEFINE_FIELD(ACCESS_VIOLATION_EXCEPTION, TARGET, _target)
67 DEFINE_FIELD(ACCESS_VIOLATION_EXCEPTION, ACCESSTYPE, _accessType)
69 DEFINE_CLASS_U(System, AppDomain, AppDomainBaseObject)
70 DEFINE_FIELD_U(AssemblyLoad, AppDomainBaseObject, m_pAssemblyEventHandler)
71 DEFINE_FIELD_U(_TypeResolve, AppDomainBaseObject, m_pTypeEventHandler)
72 DEFINE_FIELD_U(_ResourceResolve, AppDomainBaseObject, m_pResourceEventHandler)
73 DEFINE_FIELD_U(_AssemblyResolve, AppDomainBaseObject, m_pAsmResolveEventHandler)
74 DEFINE_FIELD_U(_processExit, AppDomainBaseObject, m_pProcessExitEventHandler)
75 DEFINE_FIELD_U(_domainUnload, AppDomainBaseObject, m_pDomainUnloadEventHandler)
76 DEFINE_FIELD_U(_unhandledException, AppDomainBaseObject, m_pUnhandledExceptionEventHandler)
77 DEFINE_FIELD_U(_firstChanceException, AppDomainBaseObject, m_pFirstChanceExceptionHandler)
78 DEFINE_FIELD_U(_pDomain, AppDomainBaseObject, m_pDomain)
80 DEFINE_CLASS(APP_DOMAIN, System, AppDomain)
81 DEFINE_METHOD(APP_DOMAIN, SETUP,Setup,SM_Str_ArrStr_ArrStr_RetVoid)
82 DEFINE_METHOD(APP_DOMAIN, ON_ASSEMBLY_LOAD, OnAssemblyLoadEvent, IM_Assembly_RetVoid)
83 DEFINE_METHOD(APP_DOMAIN, ON_RESOURCE_RESOLVE, OnResourceResolveEvent, IM_Assembly_Str_RetAssembly)
84 DEFINE_METHOD(APP_DOMAIN, ON_TYPE_RESOLVE, OnTypeResolveEvent, IM_Assembly_Str_RetAssembly)
85 DEFINE_METHOD(APP_DOMAIN, ON_ASSEMBLY_RESOLVE, OnAssemblyResolveEvent, IM_Assembly_Str_RetAssembly)
86 #ifdef FEATURE_COMINTEROP
87 DEFINE_METHOD(APP_DOMAIN, ON_DESIGNER_NAMESPACE_RESOLVE, OnDesignerNamespaceResolveEvent, IM_Str_RetArrStr)
88 #endif //FEATURE_COMINTEROP
90 DEFINE_CLASS(CLEANUP_WORK_LIST_ELEMENT, StubHelpers, CleanupWorkListElement)
92 #ifdef FEATURE_COMINTEROP
93 // Define earlier in mscorlib.h to avoid BinderClassID to const BYTE truncation warning
94 DEFINE_CLASS(DATETIMENATIVE, StubHelpers, DateTimeNative)
95 DEFINE_CLASS(TYPENAMENATIVE, StubHelpers, TypeNameNative)
97 DEFINE_CLASS_U(StubHelpers, TypeNameNative, TypeNameNative)
98 DEFINE_FIELD_U(typeName, TypeNameNative, typeName)
99 DEFINE_FIELD_U(typeKind, TypeNameNative, typeKind)
103 DEFINE_CLASS(ARG_ITERATOR, System, ArgIterator)
104 DEFINE_CLASS_U(System, ArgIterator, VARARGS) // Includes a SigPointer.
105 DEFINE_METHOD(ARG_ITERATOR, CTOR2, .ctor, IM_RuntimeArgumentHandle_PtrVoid_RetVoid)
107 DEFINE_CLASS(ARGUMENT_HANDLE, System, RuntimeArgumentHandle)
109 DEFINE_CLASS(ARRAY, System, Array)
110 DEFINE_PROPERTY(ARRAY, LENGTH, Length, Int)
111 DEFINE_METHOD(ARRAY, GET_DATA_PTR_OFFSET_INTERNAL, GetDataPtrOffsetInternal, IM_RetInt)
113 DEFINE_CLASS(ARRAY_WITH_OFFSET, Interop, ArrayWithOffset)
114 DEFINE_FIELD(ARRAY_WITH_OFFSET, M_ARRAY, m_array)
115 DEFINE_FIELD(ARRAY_WITH_OFFSET, M_OFFSET, m_offset)
116 DEFINE_FIELD(ARRAY_WITH_OFFSET, M_COUNT, m_count)
119 DEFINE_CLASS(ASSEMBLY_BUILDER, ReflectionEmit, AssemblyBuilder)
120 DEFINE_CLASS(INTERNAL_ASSEMBLY_BUILDER, ReflectionEmit, InternalAssemblyBuilder)
122 DEFINE_CLASS(ASSEMBLY_HASH_ALGORITHM, Assemblies, AssemblyHashAlgorithm)
123 DEFINE_CLASS(PORTABLE_EXECUTABLE_KINDS, Reflection, PortableExecutableKinds)
124 DEFINE_CLASS(IMAGE_FILE_MACHINE, Reflection, ImageFileMachine)
126 DEFINE_CLASS_U(Reflection, AssemblyName, AssemblyNameBaseObject)
127 DEFINE_FIELD_U(_name, AssemblyNameBaseObject, _name)
128 DEFINE_FIELD_U(_publicKey, AssemblyNameBaseObject, _publicKey)
129 DEFINE_FIELD_U(_publicKeyToken, AssemblyNameBaseObject, _publicKeyToken)
130 DEFINE_FIELD_U(_cultureInfo, AssemblyNameBaseObject, _cultureInfo)
131 DEFINE_FIELD_U(_codeBase, AssemblyNameBaseObject, _codeBase)
132 DEFINE_FIELD_U(_version, AssemblyNameBaseObject, _version)
133 DEFINE_FIELD_U(_hashForControl, AssemblyNameBaseObject, _hashForControl)
134 DEFINE_FIELD_U(_hashAlgorithm, AssemblyNameBaseObject, _hashAlgorithm)
135 DEFINE_FIELD_U(_hashAlgorithmForControl, AssemblyNameBaseObject, _hashAlgorithmForControl)
136 DEFINE_FIELD_U(_versionCompatibility, AssemblyNameBaseObject, _versionCompatibility)
137 DEFINE_FIELD_U(_flags, AssemblyNameBaseObject, _flags)
138 DEFINE_CLASS(ASSEMBLY_NAME, Reflection, AssemblyName)
139 DEFINE_METHOD(ASSEMBLY_NAME, INIT, Init, IM_Str_ArrB_ArrB_Ver_CI_AHA_AVC_Str_ANF_SNKP_RetV)
140 DEFINE_METHOD(ASSEMBLY_NAME, SET_PROC_ARCH_INDEX, SetProcArchIndex, IM_PEK_IFM_RetV)
142 DEFINE_CLASS_U(System, Version, VersionBaseObject)
143 DEFINE_FIELD_U(_Major, VersionBaseObject, m_Major)
144 DEFINE_FIELD_U(_Minor, VersionBaseObject, m_Minor)
145 DEFINE_FIELD_U(_Build, VersionBaseObject, m_Build)
146 DEFINE_FIELD_U(_Revision, VersionBaseObject, m_Revision)
147 DEFINE_CLASS(VERSION, System, Version)
148 DEFINE_METHOD(VERSION, CTOR_Ix2, .ctor, IM_Int_Int_RetVoid)
149 DEFINE_METHOD(VERSION, CTOR_Ix3, .ctor, IM_Int_Int_Int_RetVoid)
150 DEFINE_METHOD(VERSION, CTOR_Ix4, .ctor, IM_Int_Int_Int_Int_RetVoid)
152 DEFINE_CLASS(ASSEMBLY_VERSION_COMPATIBILITY, Assemblies, AssemblyVersionCompatibility)
154 DEFINE_CLASS(ASSEMBLY_NAME_FLAGS, Reflection, AssemblyNameFlags)
156 // ASSEMBLYBASE is System.ReflectionAssembly while ASSEMBLY is System.Reflection.RuntimeAssembly
157 // Maybe we should reverse these two names
158 DEFINE_CLASS(ASSEMBLYBASE, Reflection, Assembly)
160 DEFINE_CLASS_U(Reflection, RuntimeAssembly, AssemblyBaseObject)
161 DEFINE_FIELD_U(_ModuleResolve, AssemblyBaseObject, m_pModuleEventHandler)
162 DEFINE_FIELD_U(m_fullname, AssemblyBaseObject, m_fullname)
163 DEFINE_FIELD_U(m_syncRoot, AssemblyBaseObject, m_pSyncRoot)
164 DEFINE_FIELD_U(m_assembly, AssemblyBaseObject, m_pAssembly)
165 DEFINE_CLASS(ASSEMBLY, Reflection, RuntimeAssembly)
166 DEFINE_FIELD(ASSEMBLY, HANDLE, m_assembly)
167 DEFINE_METHOD(ASSEMBLY, GET_NAME, GetName, IM_RetAssemblyName)
168 DEFINE_METHOD(ASSEMBLY, ON_MODULE_RESOLVE, OnModuleResolveEvent, IM_Str_RetModule)
171 DEFINE_CLASS(ASYNCCALLBACK, System, AsyncCallback)
172 DEFINE_CLASS(ATTRIBUTE, System, Attribute)
175 DEFINE_CLASS(BINDER, Reflection, Binder)
176 DEFINE_METHOD(BINDER, CHANGE_TYPE, ChangeType, IM_Obj_Type_CultureInfo_RetObj)
178 DEFINE_CLASS(BINDING_FLAGS, Reflection, BindingFlags)
180 DEFINE_CLASS_U(System, RuntimeType, ReflectClassBaseObject)
181 DEFINE_FIELD_U(m_cache, ReflectClassBaseObject, m_cache)
182 DEFINE_FIELD_U(m_handle, ReflectClassBaseObject, m_typeHandle)
183 DEFINE_FIELD_U(m_keepalive, ReflectClassBaseObject, m_keepalive)
184 DEFINE_CLASS(CLASS, System, RuntimeType)
185 DEFINE_FIELD(CLASS, TYPEHANDLE, m_handle)
186 DEFINE_METHOD(CLASS, GET_PROPERTIES, GetProperties, IM_BindingFlags_RetArrPropertyInfo)
187 DEFINE_METHOD(CLASS, GET_FIELDS, GetFields, IM_BindingFlags_RetArrFieldInfo)
188 DEFINE_METHOD(CLASS, GET_METHODS, GetMethods, IM_BindingFlags_RetArrMethodInfo)
189 DEFINE_METHOD(CLASS, INVOKE_MEMBER, InvokeMember, IM_Str_BindingFlags_Binder_Obj_ArrObj_ArrParameterModifier_CultureInfo_ArrStr_RetObj)
190 DEFINE_METHOD(CLASS, GET_METHOD_BASE, GetMethodBase, SM_RuntimeType_RuntimeMethodHandleInternal_RetMethodBase)
191 DEFINE_METHOD(CLASS, GET_FIELD_INFO, GetFieldInfo, SM_RuntimeType_IRuntimeFieldInfo_RetFieldInfo)
192 DEFINE_METHOD(CLASS, GET_PROPERTY_INFO, GetPropertyInfo, SM_RuntimeType_Int_RetPropertyInfo)
194 #ifdef FEATURE_COMINTEROP
195 DEFINE_METHOD(CLASS, FORWARD_CALL_TO_INVOKE, ForwardCallToInvokeMember, IM_Str_BindingFlags_Obj_ArrObj_ArrBool_ArrInt_ArrType_Type_RetObj)
196 #endif // FEATURE_COMINTEROP
198 #ifdef FEATURE_COMINTEROP
199 DEFINE_CLASS(BSTR_WRAPPER, Interop, BStrWrapper)
200 DEFINE_CLASS(CURRENCY_WRAPPER, Interop, CurrencyWrapper)
201 DEFINE_CLASS(DISPATCH_WRAPPER, Interop, DispatchWrapper)
202 DEFINE_CLASS(ERROR_WRAPPER, Interop, ErrorWrapper)
203 DEFINE_CLASS(UNKNOWN_WRAPPER, Interop, UnknownWrapper)
204 DEFINE_CLASS(VARIANT_WRAPPER, Interop, VariantWrapper)
205 #endif // FEATURE_COMINTEROP
207 #ifdef FEATURE_COMINTEROP
208 DEFINE_CLASS_U(System, __ComObject, ComObject)
209 DEFINE_FIELD_U(m_ObjectToDataMap, ComObject, m_ObjectToDataMap)
210 DEFINE_CLASS(COM_OBJECT, System, __ComObject)
211 DEFINE_METHOD(COM_OBJECT, RELEASE_ALL_DATA, ReleaseAllData, IM_RetVoid)
212 DEFINE_METHOD(COM_OBJECT, GET_EVENT_PROVIDER, GetEventProvider, IM_Class_RetObj)
214 DEFINE_CLASS(RUNTIME_CLASS, WinRT, RuntimeClass)
216 #endif // FEATURE_COMINTEROP
218 DEFINE_CLASS_U(Interop, CriticalHandle, CriticalHandle)
219 DEFINE_FIELD_U(handle, CriticalHandle, m_handle)
220 DEFINE_FIELD_U(_isClosed, CriticalHandle, m_isClosed)
221 DEFINE_CLASS(CRITICAL_HANDLE, Interop, CriticalHandle)
222 DEFINE_FIELD(CRITICAL_HANDLE, HANDLE, handle)
223 DEFINE_METHOD(CRITICAL_HANDLE, RELEASE_HANDLE, ReleaseHandle, IM_RetBool)
224 DEFINE_METHOD(CRITICAL_HANDLE, GET_IS_INVALID, get_IsInvalid, IM_RetBool)
225 DEFINE_METHOD(CRITICAL_HANDLE, DISPOSE, Dispose, IM_RetVoid)
226 DEFINE_METHOD(CRITICAL_HANDLE, DISPOSE_BOOL, Dispose, IM_Bool_RetVoid)
228 DEFINE_CLASS(HANDLE_REF, Interop, HandleRef)
229 DEFINE_FIELD(HANDLE_REF, WRAPPER, _wrapper)
230 DEFINE_FIELD(HANDLE_REF, HANDLE, _handle)
232 DEFINE_CLASS(CRITICAL_FINALIZER_OBJECT, ConstrainedExecution, CriticalFinalizerObject)
233 DEFINE_METHOD(CRITICAL_FINALIZER_OBJECT, FINALIZE, Finalize, IM_RetVoid)
235 DEFINE_CLASS_U(Reflection, RuntimeConstructorInfo, NoClass)
236 DEFINE_FIELD_U(m_handle, ReflectMethodObject, m_pMD)
237 DEFINE_CLASS(CONSTRUCTOR, Reflection, RuntimeConstructorInfo)
239 DEFINE_CLASS_U(System, RuntimeMethodInfoStub, ReflectMethodObject)
240 DEFINE_FIELD_U(m_value, ReflectMethodObject, m_pMD)
241 DEFINE_CLASS(STUBMETHODINFO, System, RuntimeMethodInfoStub)
242 DEFINE_FIELD(STUBMETHODINFO, HANDLE, m_value)
244 DEFINE_CLASS(CONSTRUCTOR_INFO, Reflection, ConstructorInfo)
246 DEFINE_CLASS_U(Reflection, CustomAttributeEncodedArgument, CustomAttributeValue)
247 DEFINE_FIELD_U(m_primitiveValue, CustomAttributeValue, m_rawValue)
248 DEFINE_FIELD_U(m_arrayValue, CustomAttributeValue, m_value)
249 DEFINE_FIELD_U(m_stringValue, CustomAttributeValue, m_enumOrTypeName)
250 DEFINE_FIELD_U(m_type, CustomAttributeValue, m_type)
251 DEFINE_CLASS(CUSTOM_ATTRIBUTE_ENCODED_ARGUMENT, Reflection, CustomAttributeEncodedArgument)
253 DEFINE_CLASS_U(Reflection, CustomAttributeNamedParameter, CustomAttributeNamedArgument)
254 DEFINE_FIELD_U(m_argumentName, CustomAttributeNamedArgument, m_argumentName)
255 DEFINE_FIELD_U(m_fieldOrProperty, CustomAttributeNamedArgument, m_propertyOrField)
256 DEFINE_FIELD_U(m_padding, CustomAttributeNamedArgument, m_padding)
257 DEFINE_FIELD_U(m_type, CustomAttributeNamedArgument, m_type)
258 DEFINE_FIELD_U(m_encodedArgument, CustomAttributeNamedArgument, m_value)
260 DEFINE_CLASS_U(Reflection, CustomAttributeCtorParameter, CustomAttributeArgument)
261 DEFINE_FIELD_U(m_type, CustomAttributeArgument, m_type)
262 DEFINE_FIELD_U(m_encodedArgument, CustomAttributeArgument, m_value)
264 DEFINE_CLASS_U(Reflection, CustomAttributeType, CustomAttributeType)
265 DEFINE_FIELD_U(m_enumName, CustomAttributeType, m_enumName)
266 DEFINE_FIELD_U(m_encodedType, CustomAttributeType, m_tag)
267 DEFINE_FIELD_U(m_encodedEnumType, CustomAttributeType, m_enumType)
268 DEFINE_FIELD_U(m_encodedArrayType, CustomAttributeType, m_arrayType)
269 DEFINE_FIELD_U(m_padding, CustomAttributeType, m_padding)
271 DEFINE_CLASS_U(Globalization, CultureInfo, CultureInfoBaseObject)
272 DEFINE_FIELD_U(compareInfo, CultureInfoBaseObject, compareInfo)
273 DEFINE_FIELD_U(textInfo, CultureInfoBaseObject, textInfo)
274 DEFINE_FIELD_U(numInfo, CultureInfoBaseObject, numInfo)
275 DEFINE_FIELD_U(dateTimeInfo, CultureInfoBaseObject, dateTimeInfo)
276 DEFINE_FIELD_U(calendar, CultureInfoBaseObject, calendar)
277 DEFINE_FIELD_U(_consoleFallbackCulture, CultureInfoBaseObject, _consoleFallbackCulture)
278 DEFINE_FIELD_U(_name, CultureInfoBaseObject, _name)
279 DEFINE_FIELD_U(_nonSortName, CultureInfoBaseObject, _nonSortName)
280 DEFINE_FIELD_U(_sortName, CultureInfoBaseObject, _sortName)
281 DEFINE_FIELD_U(_parent, CultureInfoBaseObject, _parent)
282 DEFINE_FIELD_U(_isReadOnly, CultureInfoBaseObject, _isReadOnly)
283 DEFINE_FIELD_U(_isInherited, CultureInfoBaseObject, _isInherited)
284 DEFINE_FIELD_U(_useUserOverride, CultureInfoBaseObject, _useUserOverride)
285 DEFINE_CLASS(CULTURE_INFO, Globalization, CultureInfo)
286 DEFINE_METHOD(CULTURE_INFO, STR_CTOR, .ctor, IM_Str_RetVoid)
287 DEFINE_FIELD(CULTURE_INFO, CURRENT_CULTURE, s_userDefaultCulture)
288 DEFINE_PROPERTY(CULTURE_INFO, NAME, Name, Str)
289 #ifdef FEATURE_USE_LCID
290 DEFINE_METHOD(CULTURE_INFO, INT_CTOR, .ctor, IM_Int_RetVoid)
291 DEFINE_PROPERTY(CULTURE_INFO, ID, LCID, Int)
293 DEFINE_PROPERTY(CULTURE_INFO, PARENT, Parent, CultureInfo)
295 DEFINE_CLASS(CURRENCY, System, Currency)
296 DEFINE_METHOD(CURRENCY, DECIMAL_CTOR, .ctor, IM_Dec_RetVoid)
298 DEFINE_CLASS(DATE_TIME, System, DateTime)
299 DEFINE_METHOD(DATE_TIME, LONG_CTOR, .ctor, IM_Long_RetVoid)
301 #ifdef FEATURE_COMINTEROP
302 DEFINE_CLASS(DATE_TIME_OFFSET, System, DateTimeOffset)
303 #endif // FEATURE_COMINTEROP
305 DEFINE_CLASS(DECIMAL, System, Decimal)
306 DEFINE_METHOD(DECIMAL, CURRENCY_CTOR, .ctor, IM_Currency_RetVoid)
308 DEFINE_CLASS_U(System, Delegate, NoClass)
309 DEFINE_FIELD_U(_target, DelegateObject, _target)
310 DEFINE_FIELD_U(_methodBase, DelegateObject, _methodBase)
311 DEFINE_FIELD_U(_methodPtr, DelegateObject, _methodPtr)
312 DEFINE_FIELD_U(_methodPtrAux, DelegateObject, _methodPtrAux)
313 DEFINE_CLASS(DELEGATE, System, Delegate)
314 DEFINE_FIELD(DELEGATE, TARGET, _target)
315 DEFINE_FIELD(DELEGATE, METHOD_PTR, _methodPtr)
316 DEFINE_FIELD(DELEGATE, METHOD_PTR_AUX, _methodPtrAux)
317 DEFINE_METHOD(DELEGATE, CONSTRUCT_DELEGATE, DelegateConstruct, IM_Obj_IntPtr_RetVoid)
318 DEFINE_METHOD(DELEGATE, GET_INVOKE_METHOD, GetInvokeMethod, IM_RetIntPtr)
320 DEFINE_CLASS(DYNAMICMETHOD, ReflectionEmit, DynamicMethod)
322 DEFINE_CLASS(DYNAMICRESOLVER, ReflectionEmit, DynamicResolver)
323 DEFINE_FIELD(DYNAMICRESOLVER, DYNAMIC_METHOD, m_method)
325 DEFINE_CLASS(EMPTY, System, Empty)
327 DEFINE_CLASS(ENC_HELPER, Diagnostics, EditAndContinueHelper)
328 DEFINE_FIELD(ENC_HELPER, OBJECT_REFERENCE, _objectReference)
330 DEFINE_CLASS(ENCODING, Text, Encoding)
332 DEFINE_CLASS(ENUM, System, Enum)
334 DEFINE_CLASS(ENVIRONMENT, System, Environment)
335 DEFINE_METHOD(ENVIRONMENT, GET_RESOURCE_STRING_LOCAL, GetResourceStringLocal, SM_Str_RetStr)
336 DEFINE_METHOD(ENVIRONMENT, SET_COMMAND_LINE_ARGS, SetCommandLineArgs, SM_ArrStr_RetVoid)
338 DEFINE_CLASS(EVENT, Reflection, RuntimeEventInfo)
340 DEFINE_CLASS(EVENT_ARGS, System, EventArgs)
342 DEFINE_CLASS(EVENT_HANDLERGENERIC, System, EventHandler`1)
344 DEFINE_CLASS(EVENT_INFO, Reflection, EventInfo)
346 DEFINE_CLASS_U(System, Exception, ExceptionObject)
347 DEFINE_FIELD_U(_className, ExceptionObject, _className)
348 DEFINE_FIELD_U(_exceptionMethod, ExceptionObject, _exceptionMethod)
349 DEFINE_FIELD_U(_message, ExceptionObject, _message)
350 DEFINE_FIELD_U(_data, ExceptionObject, _data)
351 DEFINE_FIELD_U(_innerException, ExceptionObject, _innerException)
352 DEFINE_FIELD_U(_helpURL, ExceptionObject, _helpURL)
353 DEFINE_FIELD_U(_source, ExceptionObject, _source)
354 DEFINE_FIELD_U(_stackTrace, ExceptionObject, _stackTrace)
355 DEFINE_FIELD_U(_watsonBuckets, ExceptionObject, _watsonBuckets)
356 DEFINE_FIELD_U(_stackTraceString, ExceptionObject, _stackTraceString)
357 DEFINE_FIELD_U(_remoteStackTraceString, ExceptionObject, _remoteStackTraceString)
358 DEFINE_FIELD_U(_dynamicMethods, ExceptionObject, _dynamicMethods)
359 DEFINE_FIELD_U(_xptrs, ExceptionObject, _xptrs)
360 DEFINE_FIELD_U(_HResult, ExceptionObject, _HResult)
361 DEFINE_FIELD_U(_xcode, ExceptionObject, _xcode)
362 DEFINE_FIELD_U(_remoteStackIndex, ExceptionObject, _remoteStackIndex)
363 DEFINE_FIELD_U(_ipForWatsonBuckets,ExceptionObject, _ipForWatsonBuckets)
364 DEFINE_CLASS(EXCEPTION, System, Exception)
365 DEFINE_METHOD(EXCEPTION, GET_CLASS_NAME, GetClassName, IM_RetStr)
366 DEFINE_PROPERTY(EXCEPTION, MESSAGE, Message, Str)
367 DEFINE_PROPERTY(EXCEPTION, SOURCE, Source, Str)
368 DEFINE_PROPERTY(EXCEPTION, HELP_LINK, HelpLink, Str)
369 DEFINE_METHOD(EXCEPTION, INTERNAL_TO_STRING, InternalToString, IM_RetStr)
370 DEFINE_METHOD(EXCEPTION, TO_STRING, ToString, IM_Bool_Bool_RetStr)
371 DEFINE_METHOD(EXCEPTION, INTERNAL_PRESERVE_STACK_TRACE, InternalPreserveStackTrace, IM_RetVoid)
372 #ifdef FEATURE_COMINTEROP
373 DEFINE_METHOD(EXCEPTION, ADD_EXCEPTION_DATA_FOR_RESTRICTED_ERROR_INFO, AddExceptionDataForRestrictedErrorInfo, IM_Str_Str_Str_Obj_Bool_RetVoid)
374 DEFINE_METHOD(EXCEPTION, TRY_GET_RESTRICTED_LANGUAGE_ERROR_OBJECT, TryGetRestrictedLanguageErrorObject, IM_RefObject_RetBool)
375 #endif // FEATURE_COMINTEROP
378 DEFINE_CLASS(SYSTEM_EXCEPTION, System, SystemException)
379 DEFINE_METHOD(SYSTEM_EXCEPTION, STR_EX_CTOR, .ctor, IM_Str_Exception_RetVoid)
382 DEFINE_CLASS(TYPE_INIT_EXCEPTION, System, TypeInitializationException)
383 DEFINE_METHOD(TYPE_INIT_EXCEPTION, STR_EX_CTOR, .ctor, IM_Str_Exception_RetVoid)
385 DEFINE_CLASS(THREAD_START_EXCEPTION,Threading, ThreadStartException)
386 DEFINE_METHOD(THREAD_START_EXCEPTION,EX_CTOR, .ctor, IM_Exception_RetVoid)
388 DEFINE_CLASS(TYPE_HANDLE, System, RuntimeTypeHandle)
389 DEFINE_CLASS(RT_TYPE_HANDLE, System, RuntimeTypeHandle)
390 DEFINE_METHOD(RT_TYPE_HANDLE, GET_TYPE_HELPER, GetTypeHelper, SM_Type_ArrType_IntPtr_int_RetType)
391 DEFINE_METHOD(RT_TYPE_HANDLE, PVOID_CTOR, .ctor, IM_RuntimeType_RetVoid)
392 DEFINE_METHOD(RT_TYPE_HANDLE, GETVALUEINTERNAL, GetValueInternal, SM_RuntimeTypeHandle_RetIntPtr)
393 DEFINE_FIELD(RT_TYPE_HANDLE, M_TYPE, m_type)
395 DEFINE_CLASS_U(Reflection, RtFieldInfo, NoClass)
396 DEFINE_FIELD_U(m_fieldHandle, ReflectFieldObject, m_pFD)
397 DEFINE_CLASS(RT_FIELD_INFO, Reflection, RtFieldInfo)
398 DEFINE_FIELD(RT_FIELD_INFO, HANDLE, m_fieldHandle)
400 DEFINE_CLASS_U(System, RuntimeFieldInfoStub, ReflectFieldObject)
401 DEFINE_FIELD_U(m_fieldHandle, ReflectFieldObject, m_pFD)
402 DEFINE_CLASS(STUBFIELDINFO, System, RuntimeFieldInfoStub)
404 DEFINE_CLASS(FIELD, Reflection, RuntimeFieldInfo)
405 DEFINE_METHOD(FIELD, SET_VALUE, SetValue, IM_Obj_Obj_BindingFlags_Binder_CultureInfo_RetVoid)
406 DEFINE_METHOD(FIELD, GET_VALUE, GetValue, IM_Obj_RetObj)
408 DEFINE_CLASS(FIELD_HANDLE, System, RuntimeFieldHandle)
409 DEFINE_FIELD(FIELD_HANDLE, M_FIELD, m_ptr)
411 DEFINE_CLASS(I_RT_FIELD_INFO, System, IRuntimeFieldInfo)
413 DEFINE_CLASS(FIELD_INFO, Reflection, FieldInfo)
416 DEFINE_CLASS(GUID, System, Guid)
418 #ifdef FEATURE_COMINTEROP
419 DEFINE_CLASS(HSTRING_HEADER_MANAGED, WinRT, HSTRING_HEADER)
421 DEFINE_CLASS(ICUSTOMPROPERTY, WinRT, ICustomProperty)
422 DEFINE_CLASS(ICUSTOMPROPERTYPROVIDERIMPL, WinRT, ICustomPropertyProviderImpl)
423 DEFINE_METHOD(ICUSTOMPROPERTYPROVIDERIMPL, CREATE_PROPERTY, CreateProperty, SM_Obj_Str_RetICustomProperty)
424 DEFINE_METHOD(ICUSTOMPROPERTYPROVIDERIMPL, CREATE_INDEXED_PROPERTY, CreateIndexedProperty, SM_Obj_Str_PtrTypeName_RetICustomProperty)
425 DEFINE_METHOD(ICUSTOMPROPERTYPROVIDERIMPL, GET_TYPE, GetType, SM_Obj_PtrTypeName_RetVoid)
426 DEFINE_CLASS(ICUSTOMPROPERTYPROVIDERPROXY, WinRT, ICustomPropertyProviderProxy`2)
427 DEFINE_METHOD(ICUSTOMPROPERTYPROVIDERPROXY, CREATE_INSTANCE, CreateInstance, SM_Obj_RetObj)
429 DEFINE_CLASS(FACTORYFORIREFERENCE, WinRT, IReferenceFactory)
430 DEFINE_METHOD(FACTORYFORIREFERENCE, CREATE_IREFERENCE, CreateIReference, SM_Obj_RetObj)
431 DEFINE_CLASS(CLRIREFERENCEIMPL, WinRT, CLRIReferenceImpl`1)
432 DEFINE_METHOD(CLRIREFERENCEIMPL, UNBOXHELPER, UnboxHelper, SM_Obj_RetObj)
433 DEFINE_CLASS(CLRIREFERENCEARRAYIMPL, WinRT, CLRIReferenceArrayImpl`1)
434 DEFINE_METHOD(CLRIREFERENCEARRAYIMPL,UNBOXHELPER, UnboxHelper, SM_Obj_RetObj)
435 DEFINE_CLASS(IREFERENCE, WinRT, IReference`1)
436 DEFINE_CLASS(CLRIKEYVALUEPAIRIMPL, WinRT, CLRIKeyValuePairImpl`2)
437 DEFINE_METHOD(CLRIKEYVALUEPAIRIMPL, BOXHELPER, BoxHelper, SM_Obj_RetObj)
438 DEFINE_METHOD(CLRIKEYVALUEPAIRIMPL, UNBOXHELPER, UnboxHelper, SM_Obj_RetObj)
440 DEFINE_CLASS(WINDOWS_FOUNDATION_EVENTHANDLER, WinRT, WindowsFoundationEventHandler`1)
442 DEFINE_CLASS(VARIANT, System, Variant)
443 DEFINE_METHOD(VARIANT, CONVERT_OBJECT_TO_VARIANT,MarshalHelperConvertObjectToVariant,SM_Obj_RefVariant_RetVoid)
444 DEFINE_METHOD(VARIANT, CAST_VARIANT, MarshalHelperCastVariant, SM_Obj_Int_RefVariant_RetVoid)
445 DEFINE_METHOD(VARIANT, CONVERT_VARIANT_TO_OBJECT,MarshalHelperConvertVariantToObject,SM_RefVariant_RetObject)
446 #endif // FEATURE_COMINTEROP
448 DEFINE_CLASS(IASYNCRESULT, System, IAsyncResult)
450 DEFINE_CLASS(ICUSTOM_ATTR_PROVIDER, Reflection, ICustomAttributeProvider)
451 DEFINE_METHOD(ICUSTOM_ATTR_PROVIDER,GET_CUSTOM_ATTRIBUTES, GetCustomAttributes, IM_Type_RetArrObj)
453 DEFINE_CLASS(ICUSTOM_MARSHALER, Interop, ICustomMarshaler)
454 DEFINE_METHOD(ICUSTOM_MARSHALER, MARSHAL_NATIVE_TO_MANAGED,MarshalNativeToManaged, IM_IntPtr_RetObj)
455 DEFINE_METHOD(ICUSTOM_MARSHALER, MARSHAL_MANAGED_TO_NATIVE,MarshalManagedToNative, IM_Obj_RetIntPtr)
456 DEFINE_METHOD(ICUSTOM_MARSHALER, CLEANUP_NATIVE_DATA, CleanUpNativeData, IM_IntPtr_RetVoid)
457 DEFINE_METHOD(ICUSTOM_MARSHALER, CLEANUP_MANAGED_DATA, CleanUpManagedData, IM_Obj_RetVoid)
458 DEFINE_METHOD(ICUSTOM_MARSHALER, GET_NATIVE_DATA_SIZE, GetNativeDataSize, IM_RetInt)
460 #ifdef FEATURE_COMINTEROP
461 DEFINE_CLASS(ICUSTOM_QUERYINTERFACE, Interop, ICustomQueryInterface)
462 DEFINE_METHOD(ICUSTOM_QUERYINTERFACE, GET_INTERFACE, GetInterface, IM_RefGuid_OutIntPtr_RetCustomQueryInterfaceResult)
463 DEFINE_CLASS(CUSTOMQUERYINTERFACERESULT, Interop, CustomQueryInterfaceResult)
464 #endif //FEATURE_COMINTEROP
467 DEFINE_CLASS(ISERIALIZABLE, Serialization, ISerializable)
468 DEFINE_CLASS(IOBJECTREFERENCE, Serialization, IObjectReference)
469 DEFINE_CLASS(IDESERIALIZATIONCB, Serialization, IDeserializationCallback)
470 DEFINE_CLASS(STREAMING_CONTEXT, Serialization, StreamingContext)
471 DEFINE_CLASS(SERIALIZATION_INFO, Serialization, SerializationInfo)
475 DEFINE_CLASS(IENUMERATOR, Collections, IEnumerator)
477 DEFINE_CLASS(IENUMERABLE, Collections, IEnumerable)
478 DEFINE_CLASS(ICOLLECTION, Collections, ICollection)
479 DEFINE_CLASS(ILIST, Collections, IList)
480 DEFINE_CLASS(IDISPOSABLE, System, IDisposable)
482 DEFINE_CLASS(IEXPANDO, Expando, IExpando)
483 DEFINE_METHOD(IEXPANDO, ADD_FIELD, AddField, IM_Str_RetFieldInfo)
484 DEFINE_METHOD(IEXPANDO, REMOVE_MEMBER, RemoveMember, IM_MemberInfo_RetVoid)
486 DEFINE_CLASS(IREFLECT, Reflection, IReflect)
487 DEFINE_METHOD(IREFLECT, GET_PROPERTIES, GetProperties, IM_BindingFlags_RetArrPropertyInfo)
488 DEFINE_METHOD(IREFLECT, GET_FIELDS, GetFields, IM_BindingFlags_RetArrFieldInfo)
489 DEFINE_METHOD(IREFLECT, GET_METHODS, GetMethods, IM_BindingFlags_RetArrMethodInfo)
490 DEFINE_METHOD(IREFLECT, INVOKE_MEMBER, InvokeMember, IM_Str_BindingFlags_Binder_Obj_ArrObj_ArrParameterModifier_CultureInfo_ArrStr_RetObj)
493 #ifdef FEATURE_COMINTEROP
494 DEFINE_CLASS(LCID_CONVERSION_TYPE, Interop, LCIDConversionAttribute)
495 #endif // FEATURE_COMINTEROP
498 DEFINE_CLASS(MARSHAL, Interop, Marshal)
499 #ifdef FEATURE_COMINTEROP
500 DEFINE_METHOD(MARSHAL, LOAD_LICENSE_MANAGER, LoadLicenseManager, SM_Void_RetIntPtr)
501 DEFINE_METHOD(MARSHAL, INITIALIZE_WRAPPER_FOR_WINRT, InitializeWrapperForWinRT, SM_Obj_RefIntPtr_RetVoid)
502 DEFINE_METHOD(MARSHAL, GET_HR_FOR_EXCEPTION, GetHRForException, SM_Exception_RetInt)
503 DEFINE_METHOD(MARSHAL, GET_HR_FOR_EXCEPTION_WINRT, GetHRForException_WinRT, SM_Exception_RetInt)
504 #endif // FEATURE_COMINTEROP
505 DEFINE_METHOD(MARSHAL, GET_FUNCTION_POINTER_FOR_DELEGATE, GetFunctionPointerForDelegate, SM_Delegate_RetIntPtr)
506 DEFINE_METHOD(MARSHAL, GET_DELEGATE_FOR_FUNCTION_POINTER, GetDelegateForFunctionPointer, SM_IntPtr_Type_RetDelegate)
507 DEFINE_METHOD(MARSHAL, ALLOC_CO_TASK_MEM, AllocCoTaskMem, SM_Int_RetIntPtr)
508 DEFINE_FIELD(MARSHAL, SYSTEM_MAX_DBCS_CHAR_SIZE, SystemMaxDBCSCharSize)
511 DEFINE_CLASS(MEMBER, Reflection, MemberInfo)
514 DEFINE_CLASS_U(Reflection, RuntimeMethodInfo, NoClass)
515 DEFINE_FIELD_U(m_handle, ReflectMethodObject, m_pMD)
516 DEFINE_CLASS(METHOD, Reflection, RuntimeMethodInfo)
517 DEFINE_METHOD(METHOD, INVOKE, Invoke, IM_Obj_BindingFlags_Binder_ArrObj_CultureInfo_RetObj)
518 DEFINE_METHOD(METHOD, GET_PARAMETERS, GetParameters, IM_RetArrParameterInfo)
520 DEFINE_CLASS(METHOD_BASE, Reflection, MethodBase)
521 DEFINE_METHOD(METHOD_BASE, GET_METHODDESC, GetMethodDesc, IM_RetIntPtr)
523 DEFINE_CLASS_U(Reflection, RuntimeExceptionHandlingClause, RuntimeExceptionHandlingClause)
524 DEFINE_FIELD_U(_methodBody, RuntimeExceptionHandlingClause, _methodBody)
525 DEFINE_FIELD_U(_flags, RuntimeExceptionHandlingClause, _flags)
526 DEFINE_FIELD_U(_tryOffset, RuntimeExceptionHandlingClause, _tryOffset)
527 DEFINE_FIELD_U(_tryLength, RuntimeExceptionHandlingClause, _tryLength)
528 DEFINE_FIELD_U(_handlerOffset, RuntimeExceptionHandlingClause, _handlerOffset)
529 DEFINE_FIELD_U(_handlerLength, RuntimeExceptionHandlingClause, _handlerLength)
530 DEFINE_FIELD_U(_catchMetadataToken, RuntimeExceptionHandlingClause, _catchToken)
531 DEFINE_FIELD_U(_filterOffset, RuntimeExceptionHandlingClause, _filterOffset)
532 DEFINE_CLASS(RUNTIME_EH_CLAUSE, Reflection, RuntimeExceptionHandlingClause)
534 DEFINE_CLASS_U(Reflection, RuntimeLocalVariableInfo, RuntimeLocalVariableInfo)
535 DEFINE_FIELD_U(_type, RuntimeLocalVariableInfo, _type)
536 DEFINE_FIELD_U(_localIndex, RuntimeLocalVariableInfo, _localIndex)
537 DEFINE_FIELD_U(_isPinned, RuntimeLocalVariableInfo, _isPinned)
538 DEFINE_CLASS(RUNTIME_LOCAL_VARIABLE_INFO, Reflection, RuntimeLocalVariableInfo)
540 DEFINE_CLASS_U(Reflection, RuntimeMethodBody, RuntimeMethodBody)
541 DEFINE_FIELD_U(_IL, RuntimeMethodBody, _IL)
542 DEFINE_FIELD_U(_exceptionHandlingClauses, RuntimeMethodBody, _exceptionClauses)
543 DEFINE_FIELD_U(_localVariables, RuntimeMethodBody, _localVariables)
544 DEFINE_FIELD_U(_methodBase, RuntimeMethodBody, _methodBase)
545 DEFINE_FIELD_U(_localSignatureMetadataToken, RuntimeMethodBody, _localVarSigToken)
546 DEFINE_FIELD_U(_maxStackSize, RuntimeMethodBody, _maxStackSize)
547 DEFINE_FIELD_U(_initLocals, RuntimeMethodBody, _initLocals)
548 DEFINE_CLASS(RUNTIME_METHOD_BODY, Reflection, RuntimeMethodBody)
550 DEFINE_CLASS(METHOD_INFO, Reflection, MethodInfo)
552 DEFINE_CLASS(METHOD_HANDLE_INTERNAL,System, RuntimeMethodHandleInternal)
554 DEFINE_CLASS(METHOD_HANDLE, System, RuntimeMethodHandle)
555 DEFINE_FIELD(METHOD_HANDLE, METHOD, m_value)
556 DEFINE_METHOD(METHOD_HANDLE, GETVALUEINTERNAL, GetValueInternal, SM_RuntimeMethodHandle_RetIntPtr)
558 DEFINE_CLASS(MISSING, Reflection, Missing)
559 DEFINE_FIELD(MISSING, VALUE, Value)
561 DEFINE_CLASS_U(Reflection, RuntimeModule, ReflectModuleBaseObject)
562 DEFINE_FIELD_U(m_runtimeType, ReflectModuleBaseObject, m_runtimeType)
563 DEFINE_FIELD_U(m_pRefClass, ReflectModuleBaseObject, m_ReflectClass)
564 DEFINE_FIELD_U(m_pData, ReflectModuleBaseObject, m_pData)
565 DEFINE_FIELD_U(m_pGlobals, ReflectModuleBaseObject, m_pGlobals)
566 DEFINE_FIELD_U(m_pFields, ReflectModuleBaseObject, m_pGlobalsFlds)
567 DEFINE_CLASS(MODULE, Reflection, RuntimeModule)
568 DEFINE_FIELD(MODULE, DATA, m_pData)
570 DEFINE_CLASS(MODULE_BUILDER, ReflectionEmit, InternalModuleBuilder)
571 DEFINE_CLASS(TYPE_BUILDER, ReflectionEmit, TypeBuilder)
572 DEFINE_CLASS(ENUM_BUILDER, ReflectionEmit, EnumBuilder)
574 DEFINE_CLASS_U(System, MulticastDelegate, DelegateObject)
575 DEFINE_FIELD_U(_invocationList, DelegateObject, _invocationList)
576 DEFINE_FIELD_U(_invocationCount, DelegateObject, _invocationCount)
577 DEFINE_CLASS(MULTICAST_DELEGATE, System, MulticastDelegate)
578 DEFINE_FIELD(MULTICAST_DELEGATE, INVOCATION_LIST, _invocationList)
579 DEFINE_FIELD(MULTICAST_DELEGATE, INVOCATION_COUNT, _invocationCount)
580 DEFINE_METHOD(MULTICAST_DELEGATE, CTOR_CLOSED, CtorClosed, IM_Obj_IntPtr_RetVoid)
581 DEFINE_METHOD(MULTICAST_DELEGATE, CTOR_CLOSED_STATIC, CtorClosedStatic, IM_Obj_IntPtr_RetVoid)
582 DEFINE_METHOD(MULTICAST_DELEGATE, CTOR_RT_CLOSED, CtorRTClosed, IM_Obj_IntPtr_RetVoid)
583 DEFINE_METHOD(MULTICAST_DELEGATE, CTOR_OPENED, CtorOpened, IM_Obj_IntPtr_IntPtr_RetVoid)
584 DEFINE_METHOD(MULTICAST_DELEGATE, CTOR_VIRTUAL_DISPATCH, CtorVirtualDispatch, IM_Obj_IntPtr_IntPtr_RetVoid)
585 DEFINE_METHOD(MULTICAST_DELEGATE, CTOR_COLLECTIBLE_CLOSED_STATIC, CtorCollectibleClosedStatic, IM_Obj_IntPtr_IntPtr_RetVoid)
586 DEFINE_METHOD(MULTICAST_DELEGATE, CTOR_COLLECTIBLE_OPENED, CtorCollectibleOpened, IM_Obj_IntPtr_IntPtr_IntPtr_RetVoid)
587 DEFINE_METHOD(MULTICAST_DELEGATE, CTOR_COLLECTIBLE_VIRTUAL_DISPATCH, CtorCollectibleVirtualDispatch, IM_Obj_IntPtr_IntPtr_IntPtr_RetVoid)
589 DEFINE_CLASS(NULL, System, DBNull)
590 DEFINE_FIELD(NULL, VALUE, Value)
592 DEFINE_CLASS(NULLABLE, System, Nullable`1)
594 DEFINE_CLASS(BYREFERENCE, System, ByReference`1)
595 DEFINE_CLASS(SPAN, System, Span`1)
596 DEFINE_METHOD(SPAN, GET_ITEM, get_Item, IM_Int_RetRefT)
597 DEFINE_CLASS(READONLY_SPAN, System, ReadOnlySpan`1)
598 DEFINE_METHOD(READONLY_SPAN, GET_ITEM, get_Item, IM_Int_RetReadOnlyRefT)
600 // Keep this in sync with System.Globalization.NumberFormatInfo
601 DEFINE_CLASS_U(Globalization, NumberFormatInfo, NumberFormatInfo)
602 DEFINE_FIELD_U(numberGroupSizes, NumberFormatInfo, cNumberGroup)
603 DEFINE_FIELD_U(currencyGroupSizes, NumberFormatInfo, cCurrencyGroup)
604 DEFINE_FIELD_U(percentGroupSizes, NumberFormatInfo, cPercentGroup)
605 DEFINE_FIELD_U(positiveSign, NumberFormatInfo, sPositive)
606 DEFINE_FIELD_U(negativeSign, NumberFormatInfo, sNegative)
607 DEFINE_FIELD_U(numberDecimalSeparator, NumberFormatInfo, sNumberDecimal)
608 DEFINE_FIELD_U(numberGroupSeparator, NumberFormatInfo, sNumberGroup)
609 DEFINE_FIELD_U(currencyGroupSeparator, NumberFormatInfo, sCurrencyGroup)
610 DEFINE_FIELD_U(currencyDecimalSeparator,NumberFormatInfo, sCurrencyDecimal)
611 DEFINE_FIELD_U(currencySymbol, NumberFormatInfo, sCurrency)
612 DEFINE_FIELD_U(nanSymbol, NumberFormatInfo, sNaN)
613 DEFINE_FIELD_U(positiveInfinitySymbol, NumberFormatInfo, sPositiveInfinity)
614 DEFINE_FIELD_U(negativeInfinitySymbol, NumberFormatInfo, sNegativeInfinity)
615 DEFINE_FIELD_U(percentDecimalSeparator,NumberFormatInfo, sPercentDecimal)
616 DEFINE_FIELD_U(percentGroupSeparator, NumberFormatInfo, sPercentGroup)
617 DEFINE_FIELD_U(percentSymbol, NumberFormatInfo, sPercent)
618 DEFINE_FIELD_U(perMilleSymbol, NumberFormatInfo, sPerMille)
619 DEFINE_FIELD_U(nativeDigits, NumberFormatInfo, sNativeDigits)
620 DEFINE_FIELD_U(numberDecimalDigits, NumberFormatInfo, cNumberDecimals)
621 DEFINE_FIELD_U(currencyDecimalDigits, NumberFormatInfo, cCurrencyDecimals)
622 DEFINE_FIELD_U(currencyPositivePattern,NumberFormatInfo, cPosCurrencyFormat)
623 DEFINE_FIELD_U(currencyNegativePattern,NumberFormatInfo, cNegCurrencyFormat)
624 DEFINE_FIELD_U(numberNegativePattern, NumberFormatInfo, cNegativeNumberFormat)
625 DEFINE_FIELD_U(percentPositivePattern, NumberFormatInfo, cPositivePercentFormat)
626 DEFINE_FIELD_U(percentNegativePattern, NumberFormatInfo, cNegativePercentFormat)
627 DEFINE_FIELD_U(percentDecimalDigits, NumberFormatInfo, cPercentDecimals)
628 DEFINE_FIELD_U(digitSubstitution, NumberFormatInfo, iDigitSubstitution)
629 DEFINE_FIELD_U(isReadOnly, NumberFormatInfo, bIsReadOnly)
630 DEFINE_FIELD_U(m_isInvariant, NumberFormatInfo, bIsInvariant)
632 // Defined as element type alias
633 // DEFINE_CLASS(OBJECT, System, Object)
634 DEFINE_METHOD(OBJECT, CTOR, .ctor, IM_RetVoid)
635 DEFINE_METHOD(OBJECT, FINALIZE, Finalize, IM_RetVoid)
636 DEFINE_METHOD(OBJECT, TO_STRING, ToString, IM_RetStr)
637 DEFINE_METHOD(OBJECT, GET_TYPE, GetType, IM_RetType)
638 DEFINE_METHOD(OBJECT, GET_HASH_CODE, GetHashCode, IM_RetInt)
639 DEFINE_METHOD(OBJECT, EQUALS, Equals, IM_Obj_RetBool)
641 // DEFINE_CLASS(DOUBLE, System, Double)
642 DEFINE_METHOD(DOUBLE, GET_HASH_CODE, GetHashCode, IM_RetInt)
644 // DEFINE_CLASS(SINGLE, System, Single)
645 DEFINE_METHOD(SINGLE, GET_HASH_CODE, GetHashCode, IM_RetInt)
647 DEFINE_CLASS(__CANON, System, __Canon)
650 #ifdef FEATURE_COMINTEROP
651 DEFINE_CLASS(OLE_AUT_BINDER, System, OleAutBinder)
652 #endif // FEATURE_COMINTEROP
654 DEFINE_CLASS(MONITOR, Threading, Monitor)
655 DEFINE_METHOD(MONITOR, ENTER, Enter, SM_Obj_RetVoid)
657 DEFINE_CLASS_U(Threading, OverlappedData, OverlappedDataObject)
658 DEFINE_FIELD_U(_asyncResult, OverlappedDataObject, m_asyncResult)
659 DEFINE_FIELD_U(_callback, OverlappedDataObject, m_callback)
660 DEFINE_FIELD_U(_overlapped, OverlappedDataObject, m_overlapped)
661 DEFINE_FIELD_U(_userObject, OverlappedDataObject, m_userObject)
662 DEFINE_FIELD_U(_pNativeOverlapped, OverlappedDataObject, m_pNativeOverlapped)
663 DEFINE_FIELD_U(_offsetLow, OverlappedDataObject, m_offsetLow)
664 DEFINE_FIELD_U(_offsetHigh, OverlappedDataObject, m_offsetHigh)
665 DEFINE_FIELD_U(_eventHandle, OverlappedDataObject, m_eventHandle)
666 DEFINE_CLASS(OVERLAPPEDDATA, Threading, OverlappedData)
668 DEFINE_CLASS(NATIVEOVERLAPPED, Threading, NativeOverlapped)
671 DEFINE_CLASS(VOLATILE, Threading, Volatile)
673 #define DEFINE_VOLATILE_METHODS(methodType, paramType) \
674 DEFINE_METHOD(VOLATILE, READ_##paramType, Read, methodType##_Ref##paramType##_Ret##paramType) \
675 DEFINE_METHOD(VOLATILE, WRITE_##paramType, Write, methodType##_Ref##paramType##_##paramType)
677 DEFINE_VOLATILE_METHODS(SM,Bool)
678 DEFINE_VOLATILE_METHODS(SM,SByt)
679 DEFINE_VOLATILE_METHODS(SM,Byte)
680 DEFINE_VOLATILE_METHODS(SM,Shrt)
681 DEFINE_VOLATILE_METHODS(SM,UShrt)
682 DEFINE_VOLATILE_METHODS(SM,Int)
683 DEFINE_VOLATILE_METHODS(SM,UInt)
684 DEFINE_VOLATILE_METHODS(SM,Long)
685 DEFINE_VOLATILE_METHODS(SM,ULong)
686 DEFINE_VOLATILE_METHODS(SM,IntPtr)
687 DEFINE_VOLATILE_METHODS(SM,UIntPtr)
688 DEFINE_VOLATILE_METHODS(SM,Flt)
689 DEFINE_VOLATILE_METHODS(SM,Dbl)
690 DEFINE_VOLATILE_METHODS(GM,T)
692 #undef DEFINE_VOLATILE_METHODS
694 DEFINE_CLASS(PARAMETER, Reflection, ParameterInfo)
696 DEFINE_CLASS(PARAMETER_MODIFIER, Reflection, ParameterModifier)
698 DEFINE_CLASS(POINTER, Reflection, Pointer)
700 DEFINE_CLASS_U(Reflection, Pointer, ReflectionPointer)
701 DEFINE_FIELD_U(_ptr, ReflectionPointer, _ptr)
702 DEFINE_FIELD_U(_ptrType, ReflectionPointer, _ptrType)
704 DEFINE_CLASS(PROPERTY, Reflection, RuntimePropertyInfo)
705 DEFINE_METHOD(PROPERTY, SET_VALUE, SetValue, IM_Obj_Obj_BindingFlags_Binder_ArrObj_CultureInfo_RetVoid)
706 DEFINE_METHOD(PROPERTY, GET_VALUE, GetValue, IM_Obj_BindingFlags_Binder_ArrObj_CultureInfo_RetObj)
707 DEFINE_METHOD(PROPERTY, GET_INDEX_PARAMETERS, GetIndexParameters, IM_RetArrParameterInfo)
708 DEFINE_METHOD(PROPERTY, GET_TOKEN, get_MetadataToken, IM_RetInt)
709 DEFINE_METHOD(PROPERTY, GET_MODULE, GetRuntimeModule, IM_RetModule)
710 DEFINE_METHOD(PROPERTY, GET_SETTER, GetSetMethod, IM_Bool_RetMethodInfo)
711 DEFINE_METHOD(PROPERTY, GET_GETTER, GetGetMethod, IM_Bool_RetMethodInfo)
713 DEFINE_CLASS(PROPERTY_INFO, Reflection, PropertyInfo)
717 DEFINE_CLASS(METADATA_IMPORT, Reflection, MetadataImport)
718 DEFINE_METHOD(METADATA_IMPORT, THROW_ERROR, ThrowError, SM_Int_RetVoid)
720 DEFINE_CLASS(RESOLVER, System, Resolver)
721 DEFINE_METHOD(RESOLVER, GET_JIT_CONTEXT, GetJitContext, IM_RefInt_RetRuntimeType)
722 DEFINE_METHOD(RESOLVER, GET_CODE_INFO, GetCodeInfo, IM_RefInt_RefInt_RefInt_RetArrByte)
723 DEFINE_METHOD(RESOLVER, GET_LOCALS_SIGNATURE, GetLocalsSignature, IM_RetArrByte)
724 DEFINE_METHOD(RESOLVER, GET_EH_INFO, GetEHInfo, IM_Int_VoidPtr_RetVoid)
725 DEFINE_METHOD(RESOLVER, GET_RAW_EH_INFO, GetRawEHInfo, IM_RetArrByte)
726 DEFINE_METHOD(RESOLVER, GET_STRING_LITERAL, GetStringLiteral, IM_Int_RetStr)
727 DEFINE_METHOD(RESOLVER, RESOLVE_TOKEN, ResolveToken, IM_Int_RefIntPtr_RefIntPtr_RefIntPtr_RetVoid)
728 DEFINE_METHOD(RESOLVER, RESOLVE_SIGNATURE, ResolveSignature, IM_IntInt_RetArrByte)
730 DEFINE_CLASS(RESOURCE_MANAGER, Resources, ResourceManager)
732 DEFINE_CLASS(RTFIELD, Reflection, RtFieldInfo)
733 DEFINE_METHOD(RTFIELD, GET_FIELDHANDLE, GetFieldHandle, IM_RetIntPtr)
735 DEFINE_CLASS(RUNTIME_HELPERS, CompilerServices, RuntimeHelpers)
736 DEFINE_METHOD(RUNTIME_HELPERS, PREPARE_CONSTRAINED_REGIONS, PrepareConstrainedRegions, SM_RetVoid)
737 DEFINE_METHOD(RUNTIME_HELPERS, PREPARE_CONSTRAINED_REGIONS_NOOP, PrepareConstrainedRegionsNoOP, SM_RetVoid)
738 DEFINE_METHOD(RUNTIME_HELPERS, EXECUTE_BACKOUT_CODE_HELPER, ExecuteBackoutCodeHelper, SM_Obj_Obj_Bool_RetVoid)
739 DEFINE_METHOD(RUNTIME_HELPERS, IS_REFERENCE_OR_CONTAINS_REFERENCES, IsReferenceOrContainsReferences, NoSig)
741 DEFINE_CLASS(JIT_HELPERS, CompilerServices, JitHelpers)
743 DEFINE_METHOD(JIT_HELPERS, UNSAFE_ENUM_CAST, UnsafeEnumCastInternal, NoSig)
744 DEFINE_METHOD(JIT_HELPERS, UNSAFE_ENUM_CAST_LONG, UnsafeEnumCastLongInternal, NoSig)
745 DEFINE_METHOD(JIT_HELPERS, UNSAFE_CAST_TO_STACKPTR,UnsafeCastToStackPointerInternal, NoSig)
747 DEFINE_METHOD(JIT_HELPERS, UNSAFE_ENUM_CAST, UnsafeEnumCast, NoSig)
748 DEFINE_METHOD(JIT_HELPERS, UNSAFE_ENUM_CAST_LONG, UnsafeEnumCastLong, NoSig)
749 DEFINE_METHOD(JIT_HELPERS, UNSAFE_CAST_TO_STACKPTR,UnsafeCastToStackPointer, NoSig)
751 DEFINE_METHOD(JIT_HELPERS, GET_RAW_SZ_ARRAY_DATA, GetRawSzArrayData, NoSig)
753 DEFINE_CLASS(UNSAFE, InternalCompilerServices, Unsafe)
754 DEFINE_METHOD(UNSAFE, AS_POINTER, AsPointer, NoSig)
755 DEFINE_METHOD(UNSAFE, AS_REF_IN, AsRef, GM_RefT_RetRefT)
756 DEFINE_METHOD(UNSAFE, AS_REF_POINTER, AsRef, GM_VoidPtr_RetRefT)
757 DEFINE_METHOD(UNSAFE, SIZEOF, SizeOf, NoSig)
758 DEFINE_METHOD(UNSAFE, BYREF_AS, As, GM_RefTFrom_RetRefTTo)
759 DEFINE_METHOD(UNSAFE, OBJECT_AS, As, GM_Obj_RetT)
760 DEFINE_METHOD(UNSAFE, BYREF_ADD, Add, GM_RefT_Int_RetRefT)
761 DEFINE_METHOD(UNSAFE, BYREF_INTPTR_ADD, Add, GM_RefT_IntPtr_RetRefT)
762 DEFINE_METHOD(UNSAFE, PTR_ADD, Add, GM_PtrVoid_Int_RetPtrVoid)
763 DEFINE_METHOD(UNSAFE, BYREF_BYTE_OFFSET, ByteOffset, NoSig)
764 DEFINE_METHOD(UNSAFE, BYREF_ADD_BYTE_OFFSET, AddByteOffset, NoSig)
765 DEFINE_METHOD(UNSAFE, BYREF_ARE_SAME, AreSame, NoSig)
766 DEFINE_METHOD(UNSAFE, BYREF_IS_ADDRESS_GREATER_THAN, IsAddressGreaterThan, NoSig)
767 DEFINE_METHOD(UNSAFE, BYREF_IS_ADDRESS_LESS_THAN, IsAddressLessThan, NoSig)
768 DEFINE_METHOD(UNSAFE, BYREF_INIT_BLOCK_UNALIGNED, InitBlockUnaligned, NoSig)
769 DEFINE_METHOD(UNSAFE, BYREF_READ_UNALIGNED, ReadUnaligned, GM_RefByte_RetT)
770 DEFINE_METHOD(UNSAFE, BYREF_WRITE_UNALIGNED, WriteUnaligned, GM_RefByte_T_RetVoid)
771 DEFINE_METHOD(UNSAFE, PTR_READ_UNALIGNED, ReadUnaligned, GM_PtrVoid_RetT)
772 DEFINE_METHOD(UNSAFE, PTR_WRITE_UNALIGNED, WriteUnaligned, GM_PtrVoid_T_RetVoid)
774 DEFINE_CLASS(INTERLOCKED, Threading, Interlocked)
775 DEFINE_METHOD(INTERLOCKED, COMPARE_EXCHANGE_T, CompareExchange, GM_RefT_T_T_RetT)
776 DEFINE_METHOD(INTERLOCKED, COMPARE_EXCHANGE_OBJECT,CompareExchange, SM_RefObject_Object_Object_RetObject)
778 DEFINE_CLASS(PINNING_HELPER, CompilerServices, PinningHelper)
779 DEFINE_FIELD(PINNING_HELPER, M_DATA, m_data)
781 DEFINE_CLASS(ARRAY_PINNING_HELPER, CompilerServices, ArrayPinningHelper)
782 DEFINE_FIELD(ARRAY_PINNING_HELPER, M_ARRAY_DATA, m_arrayData)
783 DEFINE_FIELD(ARRAY_PINNING_HELPER, M_ARRAY_LENGTH_AND_PADDING, m_lengthAndPadding)
785 DEFINE_CLASS(RUNTIME_WRAPPED_EXCEPTION, CompilerServices, RuntimeWrappedException)
786 DEFINE_METHOD(RUNTIME_WRAPPED_EXCEPTION, OBJ_CTOR, .ctor, IM_Obj_RetVoid)
787 DEFINE_FIELD(RUNTIME_WRAPPED_EXCEPTION, WRAPPED_EXCEPTION, _wrappedException)
789 DEFINE_CLASS_U(Interop, SafeHandle, SafeHandle)
790 DEFINE_FIELD_U(handle, SafeHandle, m_handle)
791 DEFINE_FIELD_U(_state, SafeHandle, m_state)
792 DEFINE_FIELD_U(_ownsHandle, SafeHandle, m_ownsHandle)
793 DEFINE_FIELD_U(_fullyInitialized, SafeHandle, m_fullyInitialized)
794 DEFINE_CLASS(SAFE_HANDLE, Interop, SafeHandle)
795 DEFINE_FIELD(SAFE_HANDLE, HANDLE, handle)
796 DEFINE_METHOD(SAFE_HANDLE, GET_IS_INVALID, get_IsInvalid, IM_RetBool)
797 DEFINE_METHOD(SAFE_HANDLE, RELEASE_HANDLE, ReleaseHandle, IM_RetBool)
798 DEFINE_METHOD(SAFE_HANDLE, DISPOSE, Dispose, IM_RetVoid)
799 DEFINE_METHOD(SAFE_HANDLE, DISPOSE_BOOL, Dispose, IM_Bool_RetVoid)
802 DEFINE_CLASS(SAFE_TYPENAMEPARSER_HANDLE, System, SafeTypeNameParserHandle)
804 DEFINE_CLASS(SECURITY_EXCEPTION, Security, SecurityException)
806 DEFINE_CLASS_U(Diagnostics, StackFrameHelper, StackFrameHelper)
807 DEFINE_FIELD_U(targetThread, StackFrameHelper, targetThread)
808 DEFINE_FIELD_U(rgiOffset, StackFrameHelper, rgiOffset)
809 DEFINE_FIELD_U(rgiILOffset, StackFrameHelper, rgiILOffset)
810 DEFINE_FIELD_U(dynamicMethods, StackFrameHelper, dynamicMethods)
811 DEFINE_FIELD_U(rgMethodHandle, StackFrameHelper, rgMethodHandle)
812 DEFINE_FIELD_U(rgAssemblyPath, StackFrameHelper, rgAssemblyPath)
813 DEFINE_FIELD_U(rgLoadedPeAddress, StackFrameHelper, rgLoadedPeAddress)
814 DEFINE_FIELD_U(rgiLoadedPeSize, StackFrameHelper, rgiLoadedPeSize)
815 DEFINE_FIELD_U(rgInMemoryPdbAddress, StackFrameHelper, rgInMemoryPdbAddress)
816 DEFINE_FIELD_U(rgiInMemoryPdbSize, StackFrameHelper, rgiInMemoryPdbSize)
817 DEFINE_FIELD_U(rgiMethodToken, StackFrameHelper, rgiMethodToken)
818 DEFINE_FIELD_U(rgFilename, StackFrameHelper, rgFilename)
819 DEFINE_FIELD_U(rgiLineNumber, StackFrameHelper, rgiLineNumber)
820 DEFINE_FIELD_U(rgiColumnNumber, StackFrameHelper, rgiColumnNumber)
821 DEFINE_FIELD_U(rgiLastFrameFromForeignExceptionStackTrace, StackFrameHelper, rgiLastFrameFromForeignExceptionStackTrace)
822 DEFINE_FIELD_U(iFrameCount, StackFrameHelper, iFrameCount)
824 DEFINE_CLASS(STARTUP_HOOK_PROVIDER, System, StartupHookProvider)
825 DEFINE_METHOD(STARTUP_HOOK_PROVIDER, PROCESS_STARTUP_HOOKS, ProcessStartupHooks, SM_RetVoid)
827 DEFINE_CLASS(STREAM, IO, Stream)
828 DEFINE_METHOD(STREAM, BEGIN_READ, BeginRead, IM_ArrByte_Int_Int_AsyncCallback_Object_RetIAsyncResult)
829 DEFINE_METHOD(STREAM, END_READ, EndRead, IM_IAsyncResult_RetInt)
830 DEFINE_METHOD(STREAM, BEGIN_WRITE, BeginWrite, IM_ArrByte_Int_Int_AsyncCallback_Object_RetIAsyncResult)
831 DEFINE_METHOD(STREAM, END_WRITE, EndWrite, IM_IAsyncResult_RetVoid)
833 // Defined as element type alias
834 // DEFINE_CLASS(INTPTR, System, IntPtr)
835 DEFINE_FIELD(INTPTR, ZERO, Zero)
837 // Defined as element type alias
838 // DEFINE_CLASS(UINTPTR, System, UIntPtr)
839 DEFINE_FIELD(UINTPTR, ZERO, Zero)
841 DEFINE_CLASS(BITCONVERTER, System, BitConverter)
842 DEFINE_FIELD(BITCONVERTER, ISLITTLEENDIAN, IsLittleEndian)
844 // Defined as element type alias
845 // DEFINE_CLASS(STRING, System, String)
846 DEFINE_FIELD(STRING, M_FIRST_CHAR, _firstChar)
847 DEFINE_FIELD(STRING, EMPTY, Empty)
848 DEFINE_METHOD(STRING, CTOR_CHARPTR, .ctor, IM_PtrChar_RetVoid)
849 DEFINE_METHOD(STRING, CTORF_CHARARRAY, Ctor, IM_ArrChar_RetStr)
850 DEFINE_METHOD(STRING, CTORF_CHARARRAY_START_LEN,Ctor, IM_ArrChar_Int_Int_RetStr)
851 DEFINE_METHOD(STRING, CTORF_CHAR_COUNT, Ctor, IM_Char_Int_RetStr)
852 DEFINE_METHOD(STRING, CTORF_CHARPTR, Ctor, IM_PtrChar_RetStr)
853 DEFINE_METHOD(STRING, CTORF_CHARPTR_START_LEN,Ctor, IM_PtrChar_Int_Int_RetStr)
854 DEFINE_METHOD(STRING, CTORF_READONLYSPANOFCHAR,Ctor, IM_ReadOnlySpanOfChar_RetStr)
855 DEFINE_METHOD(STRING, CTORF_SBYTEPTR, Ctor, IM_PtrSByt_RetStr)
856 DEFINE_METHOD(STRING, CTORF_SBYTEPTR_START_LEN, Ctor, IM_PtrSByt_Int_Int_RetStr)
857 DEFINE_METHOD(STRING, CTORF_SBYTEPTR_START_LEN_ENCODING, Ctor, IM_PtrSByt_Int_Int_Encoding_RetStr)
858 DEFINE_METHOD(STRING, INTERNAL_COPY, InternalCopy, SM_Str_IntPtr_Int_RetVoid)
859 DEFINE_METHOD(STRING, WCSLEN, wcslen, SM_PtrChar_RetInt)
860 DEFINE_PROPERTY(STRING, LENGTH, Length, Int)
862 DEFINE_CLASS(STRING_BUILDER, Text, StringBuilder)
863 DEFINE_PROPERTY(STRING_BUILDER, LENGTH, Length, Int)
864 DEFINE_PROPERTY(STRING_BUILDER, CAPACITY, Capacity, Int)
865 DEFINE_METHOD(STRING_BUILDER, CTOR_INT, .ctor, IM_Int_RetVoid)
866 DEFINE_METHOD(STRING_BUILDER, TO_STRING, ToString, IM_RetStr)
867 DEFINE_METHOD(STRING_BUILDER, INTERNAL_COPY, InternalCopy, IM_IntPtr_Int_RetVoid)
868 DEFINE_METHOD(STRING_BUILDER, REPLACE_BUFFER_INTERNAL,ReplaceBufferInternal, IM_PtrChar_Int_RetVoid)
869 DEFINE_METHOD(STRING_BUILDER, REPLACE_BUFFER_ANSI_INTERNAL,ReplaceBufferAnsiInternal, IM_PtrSByt_Int_RetVoid)
871 DEFINE_CLASS(STRONG_NAME_KEY_PAIR, Reflection, StrongNameKeyPair)
873 DEFINE_CLASS_U(Threading, SynchronizationContext, SynchronizationContextObject)
874 DEFINE_FIELD_U(_props, SynchronizationContextObject, _props)
875 DEFINE_CLASS(SYNCHRONIZATION_CONTEXT, Threading, SynchronizationContext)
876 DEFINE_METHOD(SYNCHRONIZATION_CONTEXT, INVOKE_WAIT_METHOD_HELPER, InvokeWaitMethodHelper, SM_SyncCtx_ArrIntPtr_Bool_Int_RetInt)
878 DEFINE_CLASS(CONTEXTCALLBACK, Threading, ContextCallback)
881 DEFINE_CLASS(STACKCRAWMARK, Threading, StackCrawlMark)
884 DEFINE_CLASS_U(Threading, Thread, ThreadBaseObject)
885 DEFINE_FIELD_U(m_Name, ThreadBaseObject, m_Name)
886 DEFINE_FIELD_U(m_Delegate, ThreadBaseObject, m_Delegate)
887 DEFINE_FIELD_U(m_ThreadStartArg, ThreadBaseObject, m_ThreadStartArg)
888 DEFINE_FIELD_U(DONT_USE_InternalThread, ThreadBaseObject, m_InternalThread)
889 DEFINE_FIELD_U(m_Priority, ThreadBaseObject, m_Priority)
890 DEFINE_CLASS(THREAD, Threading, Thread)
891 DEFINE_FIELD(THREAD, CULTURE, m_CurrentCulture)
892 DEFINE_FIELD(THREAD, UI_CULTURE, m_CurrentUICulture)
893 DEFINE_SET_PROPERTY(THREAD, CULTURE, CurrentCulture, CultureInfo)
894 DEFINE_SET_PROPERTY(THREAD, UI_CULTURE, CurrentUICulture, CultureInfo)
895 DEFINE_STATIC_PROPERTY(THREAD, CURRENT_THREAD, CurrentThread, Thread)
896 DEFINE_METHOD(THREAD, INTERNAL_GET_CURRENT_THREAD, InternalGetCurrentThread, SM_RetIntPtr)
898 DEFINE_CLASS(PARAMETERIZEDTHREADSTART, Threading, ParameterizedThreadStart)
900 DEFINE_CLASS(IOCB_HELPER, Threading, _IOCompletionCallback)
901 DEFINE_METHOD(IOCB_HELPER, PERFORM_IOCOMPLETION_CALLBACK, PerformIOCompletionCallback, SM_UInt_UInt_PtrNativeOverlapped_RetVoid)
903 DEFINE_CLASS(TPWAITORTIMER_HELPER, Threading, _ThreadPoolWaitOrTimerCallback)
904 DEFINE_METHOD(TPWAITORTIMER_HELPER, PERFORM_WAITORTIMER_CALLBACK, PerformWaitOrTimerCallback, SM_Obj_Bool_RetVoid)
906 DEFINE_CLASS(TP_WAIT_CALLBACK, Threading, _ThreadPoolWaitCallback)
907 DEFINE_METHOD(TP_WAIT_CALLBACK, PERFORM_WAIT_CALLBACK, PerformWaitCallback, SM_RetBool)
909 DEFINE_CLASS(TIMER_QUEUE, Threading, TimerQueue)
910 DEFINE_METHOD(TIMER_QUEUE, APPDOMAIN_TIMER_CALLBACK, AppDomainTimerCallback, SM_Int_RetVoid)
912 DEFINE_CLASS(TIMESPAN, System, TimeSpan)
915 DEFINE_CLASS(TYPE, System, Type)
916 DEFINE_METHOD(TYPE, GET_TYPE_FROM_HANDLE, GetTypeFromHandle, SM_RuntimeTypeHandle_RetType)
917 DEFINE_PROPERTY(TYPE, IS_IMPORT, IsImport, Bool)
919 DEFINE_CLASS(TYPE_DELEGATOR, Reflection, TypeDelegator)
921 DEFINE_CLASS(UNHANDLED_EVENTARGS, System, UnhandledExceptionEventArgs)
922 DEFINE_METHOD(UNHANDLED_EVENTARGS, CTOR, .ctor, IM_Obj_Bool_RetVoid)
924 DEFINE_CLASS(FIRSTCHANCE_EVENTARGS, ExceptionServices, FirstChanceExceptionEventArgs)
925 DEFINE_METHOD(FIRSTCHANCE_EVENTARGS, CTOR, .ctor, IM_Exception_RetVoid)
927 DEFINE_CLASS(ASSEMBLYLOADCONTEXT, Loader, AssemblyLoadContext)
928 DEFINE_METHOD(ASSEMBLYLOADCONTEXT, RESOLVE, Resolve, SM_IntPtr_AssemblyName_RetAssemblyBase)
929 DEFINE_METHOD(ASSEMBLYLOADCONTEXT, RESOLVEUNMANAGEDDLL, ResolveUnmanagedDll, SM_Str_IntPtr_RetIntPtr)
930 DEFINE_METHOD(ASSEMBLYLOADCONTEXT, RESOLVEUSINGEVENT, ResolveUsingResolvingEvent, SM_IntPtr_AssemblyName_RetAssemblyBase)
932 DEFINE_CLASS(LAZY, System, Lazy`1)
934 DEFINE_CLASS(LAZY_INITIALIZER, Threading, LazyInitializer)
936 DEFINE_CLASS(VALUE_TYPE, System, ValueType)
937 DEFINE_METHOD(VALUE_TYPE, GET_HASH_CODE, GetHashCode, IM_RetInt)
938 DEFINE_METHOD(VALUE_TYPE, EQUALS, Equals, IM_Obj_RetBool)
940 DEFINE_CLASS(GC, System, GC)
941 DEFINE_METHOD(GC, KEEP_ALIVE, KeepAlive, SM_Obj_RetVoid)
942 DEFINE_METHOD(GC, COLLECT, Collect, SM_RetVoid)
943 DEFINE_METHOD(GC, WAIT_FOR_PENDING_FINALIZERS, WaitForPendingFinalizers, SM_RetVoid)
945 DEFINE_CLASS_U(System, WeakReference, WeakReferenceObject)
946 DEFINE_FIELD_U(m_handle, WeakReferenceObject, m_Handle)
947 DEFINE_CLASS(WEAKREFERENCE, System, WeakReference)
949 DEFINE_CLASS_U(Threading, WaitHandle, WaitHandleBase)
950 DEFINE_FIELD_U(_waitHandle, WaitHandleBase, m_safeHandle)
951 DEFINE_FIELD_U(waitHandle, WaitHandleBase, m_handle)
952 DEFINE_FIELD_U(hasThreadAffinity, WaitHandleBase, m_hasThreadAffinity)
954 DEFINE_CLASS(DEBUGGER, Diagnostics, Debugger)
955 DEFINE_METHOD(DEBUGGER, BREAK_CAN_THROW, BreakCanThrow, SM_RetVoid)
957 DEFINE_CLASS(BUFFER, System, Buffer)
958 DEFINE_METHOD(BUFFER, MEMCPY_PTRBYTE_ARRBYTE, Memcpy, SM_PtrByte_Int_ArrByte_Int_Int_RetVoid)
959 DEFINE_METHOD(BUFFER, MEMCPY, Memcpy, SM_PtrByte_PtrByte_Int_RetVoid)
961 #ifdef FEATURE_COMINTEROP
962 DEFINE_CLASS(WINDOWSRUNTIMEMARSHAL, WinRT, WindowsRuntimeMarshal)
963 #ifdef FEATURE_COMINTEROP_WINRT_MANAGED_ACTIVATION
964 DEFINE_METHOD(WINDOWSRUNTIMEMARSHAL, GET_ACTIVATION_FACTORY_FOR_TYPE, GetActivationFactoryForType, SM_Type_RetIntPtr)
965 #endif // FEATURE_COMINTEROP_WINRT_MANAGED_ACTIVATION
967 DEFINE_CLASS(IACTIVATIONFACTORY, WinRT, IActivationFactory)
968 DEFINE_METHOD(IACTIVATIONFACTORY, ACTIVATE_INSTANCE, ActivateInstance, IM_RetObj)
969 DEFINE_CLASS(ISTRINGABLEHELPER, WinRT, IStringableHelper)
970 DEFINE_METHOD(ISTRINGABLEHELPER, TO_STRING, ToString, SM_Obj_RetStr)
971 #endif // FEATURE_COMINTEROP
973 DEFINE_CLASS(STUBHELPERS, StubHelpers, StubHelpers)
974 DEFINE_METHOD(STUBHELPERS, IS_QCALL, IsQCall, SM_IntPtr_RetBool)
975 DEFINE_METHOD(STUBHELPERS, INIT_DECLARING_TYPE, InitDeclaringType, SM_IntPtr_RetVoid)
976 DEFINE_METHOD(STUBHELPERS, GET_NDIRECT_TARGET, GetNDirectTarget, SM_IntPtr_RetIntPtr)
977 DEFINE_METHOD(STUBHELPERS, GET_DELEGATE_TARGET, GetDelegateTarget, SM_Delegate_RefIntPtr_RetIntPtr)
978 #ifdef FEATURE_COMINTEROP
979 DEFINE_METHOD(STUBHELPERS, GET_COM_HR_EXCEPTION_OBJECT, GetCOMHRExceptionObject, SM_Int_IntPtr_Obj_RetException)
980 DEFINE_METHOD(STUBHELPERS, GET_COM_HR_EXCEPTION_OBJECT_WINRT, GetCOMHRExceptionObject_WinRT, SM_Int_IntPtr_Obj_RetException)
981 DEFINE_METHOD(STUBHELPERS, GET_COM_IP_FROM_RCW, GetCOMIPFromRCW, SM_Obj_IntPtr_RefIntPtr_RefBool_RetIntPtr)
982 DEFINE_METHOD(STUBHELPERS, GET_COM_IP_FROM_RCW_WINRT, GetCOMIPFromRCW_WinRT, SM_Obj_IntPtr_RefIntPtr_RetIntPtr)
983 DEFINE_METHOD(STUBHELPERS, GET_COM_IP_FROM_RCW_WINRT_SHARED_GENERIC, GetCOMIPFromRCW_WinRTSharedGeneric, SM_Obj_IntPtr_RefIntPtr_RetIntPtr)
984 DEFINE_METHOD(STUBHELPERS, GET_COM_IP_FROM_RCW_WINRT_DELEGATE, GetCOMIPFromRCW_WinRTDelegate, SM_Obj_IntPtr_RefIntPtr_RetIntPtr)
985 DEFINE_METHOD(STUBHELPERS, SHOULD_CALL_WINRT_INTERFACE, ShouldCallWinRTInterface, SM_Obj_IntPtr_RetBool)
986 DEFINE_METHOD(STUBHELPERS, STUB_REGISTER_RCW, StubRegisterRCW, SM_Obj_RetVoid)
987 DEFINE_METHOD(STUBHELPERS, STUB_UNREGISTER_RCW, StubUnregisterRCW, SM_Obj_RetVoid)
988 DEFINE_METHOD(STUBHELPERS, GET_WINRT_FACTORY_OBJECT, GetWinRTFactoryObject, SM_IntPtr_RetObj)
989 DEFINE_METHOD(STUBHELPERS, GET_DELEGATE_INVOKE_METHOD, GetDelegateInvokeMethod, SM_Delegate_RetIntPtr)
990 DEFINE_METHOD(STUBHELPERS, GET_WINRT_FACTORY_RETURN_VALUE, GetWinRTFactoryReturnValue, SM_Obj_IntPtr_RetIntPtr)
991 DEFINE_METHOD(STUBHELPERS, GET_OUTER_INSPECTABLE, GetOuterInspectable, SM_Obj_IntPtr_RetIntPtr)
993 DEFINE_METHOD(STUBHELPERS, TRIGGER_EXCEPTION_SWALLOWED_MDA, TriggerExceptionSwallowedMDA, SM_Exception_IntPtr_RetException)
994 #endif // MDA_SUPPORTED
995 #endif // FEATURE_COMINTEROP
996 #if defined(MDA_SUPPORTED)
997 DEFINE_METHOD(STUBHELPERS, CHECK_COLLECTED_DELEGATE_MDA, CheckCollectedDelegateMDA, SM_IntPtr_RetVoid)
998 #endif // MDA_SUPPORTED
999 DEFINE_METHOD(STUBHELPERS, SET_LAST_ERROR, SetLastError, SM_RetVoid)
1000 DEFINE_METHOD(STUBHELPERS, CLEAR_LAST_ERROR, ClearLastError, SM_RetVoid)
1002 DEFINE_METHOD(STUBHELPERS, THROW_INTEROP_PARAM_EXCEPTION, ThrowInteropParamException, SM_Int_Int_RetVoid)
1003 DEFINE_METHOD(STUBHELPERS, ADD_TO_CLEANUP_LIST_SAFEHANDLE, AddToCleanupList, SM_RefCleanupWorkListElement_SafeHandle_RetIntPtr)
1004 DEFINE_METHOD(STUBHELPERS, ADD_TO_CLEANUP_LIST_DELEGATE, AddToCleanupList, SM_RefCleanupWorkListElement_Delegate_RetVoid)
1005 DEFINE_METHOD(STUBHELPERS, DESTROY_CLEANUP_LIST, DestroyCleanupList, SM_RefCleanupWorkListElement_RetVoid)
1006 DEFINE_METHOD(STUBHELPERS, GET_HR_EXCEPTION_OBJECT, GetHRExceptionObject, SM_Int_RetException)
1007 DEFINE_METHOD(STUBHELPERS, CREATE_CUSTOM_MARSHALER_HELPER, CreateCustomMarshalerHelper, SM_IntPtr_Int_IntPtr_RetIntPtr)
1009 DEFINE_METHOD(STUBHELPERS, CHECK_STRING_LENGTH, CheckStringLength, SM_Int_RetVoid)
1011 DEFINE_METHOD(STUBHELPERS, FMT_CLASS_UPDATE_NATIVE_INTERNAL, FmtClassUpdateNativeInternal, SM_Obj_PtrByte_RefCleanupWorkListElement_RetVoid)
1012 DEFINE_METHOD(STUBHELPERS, FMT_CLASS_UPDATE_CLR_INTERNAL, FmtClassUpdateCLRInternal, SM_Obj_PtrByte_RetVoid)
1013 DEFINE_METHOD(STUBHELPERS, LAYOUT_DESTROY_NATIVE_INTERNAL, LayoutDestroyNativeInternal, SM_PtrByte_IntPtr_RetVoid)
1014 DEFINE_METHOD(STUBHELPERS, ALLOCATE_INTERNAL, AllocateInternal, SM_IntPtr_RetObj)
1015 DEFINE_METHOD(STUBHELPERS, STRLEN, strlen, SM_PtrSByt_RetInt)
1016 DEFINE_METHOD(STUBHELPERS, MARSHAL_TO_MANAGED_VA_LIST_INTERNAL,MarshalToManagedVaListInternal, SM_IntPtr_IntPtr_RetVoid)
1017 DEFINE_METHOD(STUBHELPERS, MARSHAL_TO_UNMANAGED_VA_LIST_INTERNAL,MarshalToUnmanagedVaListInternal,SM_IntPtr_UInt_IntPtr_RetVoid)
1018 DEFINE_METHOD(STUBHELPERS, CALC_VA_LIST_SIZE, CalcVaListSize, SM_IntPtr_RetUInt)
1019 DEFINE_METHOD(STUBHELPERS, VALIDATE_OBJECT, ValidateObject, SM_Obj_IntPtr_Obj_RetVoid)
1020 DEFINE_METHOD(STUBHELPERS, VALIDATE_BYREF, ValidateByref, SM_IntPtr_IntPtr_Obj_RetVoid)
1021 DEFINE_METHOD(STUBHELPERS, GET_STUB_CONTEXT, GetStubContext, SM_RetIntPtr)
1022 DEFINE_METHOD(STUBHELPERS, LOG_PINNED_ARGUMENT, LogPinnedArgument, SM_IntPtr_IntPtr_RetVoid)
1023 #ifdef _TARGET_64BIT_
1024 DEFINE_METHOD(STUBHELPERS, GET_STUB_CONTEXT_ADDR, GetStubContextAddr, SM_RetIntPtr)
1025 #endif // _TARGET_64BIT_
1026 #ifdef MDA_SUPPORTED
1027 DEFINE_METHOD(STUBHELPERS, TRIGGER_GC_FOR_MDA, TriggerGCForMDA, SM_RetVoid)
1029 DEFINE_METHOD(STUBHELPERS, SAFE_HANDLE_ADD_REF, SafeHandleAddRef, SM_SafeHandle_RefBool_RetIntPtr)
1030 DEFINE_METHOD(STUBHELPERS, SAFE_HANDLE_RELEASE, SafeHandleRelease, SM_SafeHandle_RetVoid)
1032 #ifdef PROFILING_SUPPORTED
1033 DEFINE_METHOD(STUBHELPERS, PROFILER_BEGIN_TRANSITION_CALLBACK, ProfilerBeginTransitionCallback, SM_IntPtr_IntPtr_Obj_RetIntPtr)
1034 DEFINE_METHOD(STUBHELPERS, PROFILER_END_TRANSITION_CALLBACK, ProfilerEndTransitionCallback, SM_IntPtr_IntPtr_RetVoid)
1037 #ifdef FEATURE_ARRAYSTUB_AS_IL
1038 DEFINE_METHOD(STUBHELPERS, ARRAY_TYPE_CHECK, ArrayTypeCheck, SM_Obj_ArrObject_RetVoid)
1041 #ifdef FEATURE_MULTICASTSTUB_AS_IL
1042 DEFINE_METHOD(STUBHELPERS, MULTICAST_DEBUGGER_TRACE_HELPER, MulticastDebuggerTraceHelper, SM_Obj_Int_RetVoid)
1045 DEFINE_CLASS(ANSICHARMARSHALER, StubHelpers, AnsiCharMarshaler)
1046 DEFINE_METHOD(ANSICHARMARSHALER, CONVERT_TO_NATIVE, ConvertToNative, SM_Char_Bool_Bool_RetByte)
1047 DEFINE_METHOD(ANSICHARMARSHALER, CONVERT_TO_MANAGED, ConvertToManaged, SM_Byte_RetChar)
1048 DEFINE_METHOD(ANSICHARMARSHALER, DO_ANSI_CONVERSION, DoAnsiConversion, SM_Str_Bool_Bool_RefInt_RetArrByte)
1050 DEFINE_CLASS(CSTRMARSHALER, StubHelpers, CSTRMarshaler)
1051 DEFINE_METHOD(CSTRMARSHALER, CONVERT_TO_NATIVE, ConvertToNative, SM_Int_Str_IntPtr_RetIntPtr)
1052 DEFINE_METHOD(CSTRMARSHALER, CONVERT_TO_MANAGED, ConvertToManaged, SM_IntPtr_RetStr)
1053 DEFINE_METHOD(CSTRMARSHALER, CLEAR_NATIVE, ClearNative, SM_IntPtr_RetVoid)
1055 DEFINE_CLASS(WSTRBUFFERMARSHALER, StubHelpers, WSTRBufferMarshaler)
1056 DEFINE_METHOD(WSTRBUFFERMARSHALER, CONVERT_TO_NATIVE, ConvertToNative, SM_Str_RetIntPtr)
1057 DEFINE_METHOD(WSTRBUFFERMARSHALER, CONVERT_TO_MANAGED, ConvertToManaged, SM_IntPtr_RetStr)
1058 DEFINE_METHOD(WSTRBUFFERMARSHALER, CLEAR_NATIVE, ClearNative, SM_IntPtr_RetVoid)
1060 DEFINE_CLASS(BSTRMARSHALER, StubHelpers, BSTRMarshaler)
1061 DEFINE_METHOD(BSTRMARSHALER, CONVERT_TO_NATIVE, ConvertToNative, SM_Str_IntPtr_RetIntPtr)
1062 DEFINE_METHOD(BSTRMARSHALER, CONVERT_TO_MANAGED, ConvertToManaged, SM_IntPtr_RetStr)
1063 DEFINE_METHOD(BSTRMARSHALER, CLEAR_NATIVE, ClearNative, SM_IntPtr_RetVoid)
1065 DEFINE_CLASS(ANSIBSTRMARSHALER, StubHelpers, AnsiBSTRMarshaler)
1066 DEFINE_METHOD(ANSIBSTRMARSHALER, CONVERT_TO_NATIVE, ConvertToNative, SM_Int_Str_RetIntPtr)
1067 DEFINE_METHOD(ANSIBSTRMARSHALER, CONVERT_TO_MANAGED, ConvertToManaged, SM_IntPtr_RetStr)
1068 DEFINE_METHOD(ANSIBSTRMARSHALER, CLEAR_NATIVE, ClearNative, SM_IntPtr_RetVoid)
1070 #ifdef FEATURE_COMINTEROP
1071 DEFINE_CLASS(OBJECTMARSHALER, StubHelpers, ObjectMarshaler)
1072 DEFINE_METHOD(OBJECTMARSHALER, CONVERT_TO_NATIVE, ConvertToNative, SM_ObjIntPtr_RetVoid)
1073 DEFINE_METHOD(OBJECTMARSHALER, CONVERT_TO_MANAGED, ConvertToManaged, SM_IntPtr_RetObj)
1074 DEFINE_METHOD(OBJECTMARSHALER, CLEAR_NATIVE, ClearNative, SM_IntPtr_RetVoid)
1076 DEFINE_CLASS(HSTRINGMARSHALER, StubHelpers, HStringMarshaler)
1077 DEFINE_METHOD(HSTRINGMARSHALER, CONVERT_TO_NATIVE_REFERENCE, ConvertToNativeReference, SM_Str_PtrHStringHeader_RetIntPtr)
1078 DEFINE_METHOD(HSTRINGMARSHALER, CONVERT_TO_NATIVE, ConvertToNative, SM_Str_RetIntPtr)
1079 DEFINE_METHOD(HSTRINGMARSHALER, CONVERT_TO_MANAGED, ConvertToManaged, SM_IntPtr_RetStr)
1080 DEFINE_METHOD(HSTRINGMARSHALER, CLEAR_NATIVE, ClearNative, SM_IntPtr_RetVoid)
1082 DEFINE_CLASS(URIMARSHALER, StubHelpers, UriMarshaler)
1083 DEFINE_METHOD(URIMARSHALER, GET_RAWURI_FROM_NATIVE, GetRawUriFromNative, SM_IntPtr_RetStr)
1084 DEFINE_METHOD(URIMARSHALER, CREATE_NATIVE_URI_INSTANCE, CreateNativeUriInstance, SM_Str_RetIntPtr)
1086 DEFINE_CLASS(INTERFACEMARSHALER, StubHelpers, InterfaceMarshaler)
1087 DEFINE_METHOD(INTERFACEMARSHALER, CONVERT_TO_NATIVE, ConvertToNative, SM_Obj_IntPtr_IntPtr_Int_RetIntPtr)
1088 DEFINE_METHOD(INTERFACEMARSHALER, CONVERT_TO_MANAGED, ConvertToManaged, SM_IntPtr_IntPtr_IntPtr_Int_RetObj)
1089 DEFINE_METHOD(INTERFACEMARSHALER, CLEAR_NATIVE, ClearNative, SM_IntPtr_RetVoid)
1092 DEFINE_CLASS(MNGD_SAFE_ARRAY_MARSHALER, StubHelpers, MngdSafeArrayMarshaler)
1093 DEFINE_METHOD(MNGD_SAFE_ARRAY_MARSHALER, CREATE_MARSHALER, CreateMarshaler, SM_IntPtr_IntPtr_Int_Int_RetVoid)
1094 DEFINE_METHOD(MNGD_SAFE_ARRAY_MARSHALER, CONVERT_SPACE_TO_NATIVE, ConvertSpaceToNative, SM_IntPtr_RefObj_IntPtr_RetVoid)
1095 DEFINE_METHOD(MNGD_SAFE_ARRAY_MARSHALER, CONVERT_CONTENTS_TO_NATIVE, ConvertContentsToNative, SM_IntPtr_RefObj_IntPtr_Obj_RetVoid)
1096 DEFINE_METHOD(MNGD_SAFE_ARRAY_MARSHALER, CONVERT_SPACE_TO_MANAGED, ConvertSpaceToManaged, SM_IntPtr_RefObj_IntPtr_RetVoid)
1097 DEFINE_METHOD(MNGD_SAFE_ARRAY_MARSHALER, CONVERT_CONTENTS_TO_MANAGED, ConvertContentsToManaged, SM_IntPtr_RefObj_IntPtr_RetVoid)
1098 DEFINE_METHOD(MNGD_SAFE_ARRAY_MARSHALER, CLEAR_NATIVE, ClearNative, SM_IntPtr_RefObj_IntPtr_RetVoid)
1100 DEFINE_CLASS(MNGD_HIDDEN_LENGTH_ARRAY_MARSHALER, StubHelpers, MngdHiddenLengthArrayMarshaler)
1101 DEFINE_METHOD(MNGD_HIDDEN_LENGTH_ARRAY_MARSHALER, CREATE_MARSHALER, CreateMarshaler, SM_IntPtr_IntPtr_IntPtr_UShrt_RetVoid)
1102 DEFINE_METHOD(MNGD_HIDDEN_LENGTH_ARRAY_MARSHALER, CONVERT_SPACE_TO_MANAGED, ConvertSpaceToManaged, SM_IntPtr_RefObj_IntPtr_Int_RetVoid)
1103 DEFINE_METHOD(MNGD_HIDDEN_LENGTH_ARRAY_MARSHALER, CONVERT_CONTENTS_TO_MANAGED, ConvertContentsToManaged, SM_IntPtr_RefObj_IntPtr_RetVoid)
1104 DEFINE_METHOD(MNGD_HIDDEN_LENGTH_ARRAY_MARSHALER, CONVERT_SPACE_TO_NATIVE, ConvertSpaceToNative, SM_IntPtr_RefObj_IntPtr_RetVoid)
1105 DEFINE_METHOD(MNGD_HIDDEN_LENGTH_ARRAY_MARSHALER, CONVERT_CONTENTS_TO_NATIVE, ConvertContentsToNative, SM_IntPtr_RefObj_IntPtr_RetVoid)
1106 DEFINE_METHOD(MNGD_HIDDEN_LENGTH_ARRAY_MARSHALER, CLEAR_NATIVE_CONTENTS, ClearNativeContents, SM_IntPtr_IntPtr_Int_RetVoid)
1107 DEFINE_METHOD(MNGD_HIDDEN_LENGTH_ARRAY_MARSHALER, CLEAR_NATIVE_CONTENTS_TYPE, ClearNativeContents_Type, NoSig)
1109 DEFINE_METHOD(MNGD_HIDDEN_LENGTH_ARRAY_MARSHALER, CONVERT_CONTENTS_TO_MANAGED_DATETIME, ConvertContentsToManaged_DateTime, NoSig)
1110 DEFINE_METHOD(MNGD_HIDDEN_LENGTH_ARRAY_MARSHALER, CONVERT_CONTENTS_TO_MANAGED_TYPE, ConvertContentsToManaged_Type, NoSig)
1111 DEFINE_METHOD(MNGD_HIDDEN_LENGTH_ARRAY_MARSHALER, CONVERT_CONTENTS_TO_MANAGED_EXCEPTION, ConvertContentsToManaged_Exception, NoSig)
1112 DEFINE_METHOD(MNGD_HIDDEN_LENGTH_ARRAY_MARSHALER, CONVERT_CONTENTS_TO_MANAGED_NULLABLE, ConvertContentsToManaged_Nullable, NoSig)
1113 DEFINE_METHOD(MNGD_HIDDEN_LENGTH_ARRAY_MARSHALER, CONVERT_CONTENTS_TO_MANAGED_KEYVALUEPAIR, ConvertContentsToManaged_KeyValuePair, NoSig)
1115 DEFINE_METHOD(MNGD_HIDDEN_LENGTH_ARRAY_MARSHALER, CONVERT_CONTENTS_TO_NATIVE_DATETIME, ConvertContentsToNative_DateTime, NoSig)
1116 DEFINE_METHOD(MNGD_HIDDEN_LENGTH_ARRAY_MARSHALER, CONVERT_CONTENTS_TO_NATIVE_TYPE, ConvertContentsToNative_Type, NoSig)
1117 DEFINE_METHOD(MNGD_HIDDEN_LENGTH_ARRAY_MARSHALER, CONVERT_CONTENTS_TO_NATIVE_EXCEPTION, ConvertContentsToNative_Exception, NoSig)
1118 DEFINE_METHOD(MNGD_HIDDEN_LENGTH_ARRAY_MARSHALER, CONVERT_CONTENTS_TO_NATIVE_NULLABLE, ConvertContentsToNative_Nullable, NoSig)
1119 DEFINE_METHOD(MNGD_HIDDEN_LENGTH_ARRAY_MARSHALER, CONVERT_CONTENTS_TO_NATIVE_KEYVALUEPAIR, ConvertContentsToNative_KeyValuePair, NoSig)
1121 DEFINE_CLASS(DATETIMEOFFSETMARSHALER, StubHelpers, DateTimeOffsetMarshaler)
1122 DEFINE_METHOD(DATETIMEOFFSETMARSHALER, CONVERT_TO_NATIVE, ConvertToNative, SM_RefDateTimeOffset_RefDateTimeNative_RetVoid)
1123 DEFINE_METHOD(DATETIMEOFFSETMARSHALER, CONVERT_TO_MANAGED, ConvertToManaged, SM_RefDateTimeOffset_RefDateTimeNative_RetVoid)
1125 DEFINE_CLASS(NULLABLEMARSHALER, StubHelpers, NullableMarshaler)
1126 DEFINE_METHOD(NULLABLEMARSHALER, CONVERT_TO_NATIVE, ConvertToNative, NoSig)
1127 DEFINE_METHOD(NULLABLEMARSHALER, CONVERT_TO_MANAGED, ConvertToManaged, NoSig)
1128 DEFINE_METHOD(NULLABLEMARSHALER, CONVERT_TO_MANAGED_RET_VOID, ConvertToManagedRetVoid, NoSig)
1130 DEFINE_CLASS(SYSTEMTYPEMARSHALER, StubHelpers, SystemTypeMarshaler)
1132 DEFINE_METHOD(SYSTEMTYPEMARSHALER, CONVERT_TO_NATIVE, ConvertToNative, SM_Type_PtrTypeName_RetVoid)
1133 DEFINE_METHOD(SYSTEMTYPEMARSHALER, CONVERT_TO_MANAGED, ConvertToManaged, SM_PtrTypeName_RefType_RetVoid)
1134 DEFINE_METHOD(SYSTEMTYPEMARSHALER, CLEAR_NATIVE, ClearNative, SM_PtrTypeName_RetVoid)
1136 DEFINE_CLASS(KEYVALUEPAIRMARSHALER, StubHelpers, KeyValuePairMarshaler)
1137 DEFINE_METHOD(KEYVALUEPAIRMARSHALER, CONVERT_TO_NATIVE, ConvertToNative, NoSig)
1138 DEFINE_METHOD(KEYVALUEPAIRMARSHALER, CONVERT_TO_MANAGED, ConvertToManaged, NoSig)
1139 DEFINE_METHOD(KEYVALUEPAIRMARSHALER, CONVERT_TO_MANAGED_BOX, ConvertToManagedBox, NoSig)
1141 DEFINE_CLASS(HRESULTEXCEPTIONMARSHALER, StubHelpers, HResultExceptionMarshaler)
1142 DEFINE_METHOD(HRESULTEXCEPTIONMARSHALER, CONVERT_TO_NATIVE, ConvertToNative, SM_Exception_RetInt)
1143 DEFINE_METHOD(HRESULTEXCEPTIONMARSHALER, CONVERT_TO_MANAGED, ConvertToManaged, SM_Int_RetException)
1145 #endif // FEATURE_COMINTEROP
1147 DEFINE_CLASS(VALUECLASSMARSHALER, StubHelpers, ValueClassMarshaler)
1148 DEFINE_METHOD(VALUECLASSMARSHALER, CONVERT_TO_NATIVE, ConvertToNative, SM_IntPtrIntPtrIntPtr_RefCleanupWorkListElement_RetVoid)
1149 DEFINE_METHOD(VALUECLASSMARSHALER, CONVERT_TO_MANAGED, ConvertToManaged, SM_IntPtrIntPtrIntPtr_RetVoid)
1150 DEFINE_METHOD(VALUECLASSMARSHALER, CLEAR_NATIVE, ClearNative, SM_IntPtr_IntPtr_RetVoid)
1152 DEFINE_CLASS(DATEMARSHALER, StubHelpers, DateMarshaler)
1153 DEFINE_METHOD(DATEMARSHALER, CONVERT_TO_NATIVE, ConvertToNative, SM_DateTime_RetDbl)
1154 DEFINE_METHOD(DATEMARSHALER, CONVERT_TO_MANAGED, ConvertToManaged, SM_Dbl_RetLong)
1156 DEFINE_CLASS(VBBYVALSTRMARSHALER, StubHelpers, VBByValStrMarshaler)
1157 DEFINE_METHOD(VBBYVALSTRMARSHALER, CONVERT_TO_NATIVE, ConvertToNative, SM_Str_Bool_Bool_RefInt_RetIntPtr)
1158 DEFINE_METHOD(VBBYVALSTRMARSHALER, CONVERT_TO_MANAGED, ConvertToManaged, SM_IntPtr_Int_RetStr)
1159 DEFINE_METHOD(VBBYVALSTRMARSHALER, CLEAR_NATIVE, ClearNative, SM_IntPtr_RetVoid)
1161 DEFINE_CLASS(MNGD_NATIVE_ARRAY_MARSHALER, StubHelpers, MngdNativeArrayMarshaler)
1162 DEFINE_METHOD(MNGD_NATIVE_ARRAY_MARSHALER, CREATE_MARSHALER, CreateMarshaler, SM_IntPtr_IntPtr_Int_RetVoid)
1163 DEFINE_METHOD(MNGD_NATIVE_ARRAY_MARSHALER, CONVERT_SPACE_TO_NATIVE, ConvertSpaceToNative, SM_IntPtr_RefObj_IntPtr_RetVoid)
1164 DEFINE_METHOD(MNGD_NATIVE_ARRAY_MARSHALER, CONVERT_CONTENTS_TO_NATIVE, ConvertContentsToNative, SM_IntPtr_RefObj_IntPtr_RetVoid)
1165 DEFINE_METHOD(MNGD_NATIVE_ARRAY_MARSHALER, CONVERT_SPACE_TO_MANAGED, ConvertSpaceToManaged, SM_IntPtr_RefObj_IntPtr_Int_RetVoid)
1166 DEFINE_METHOD(MNGD_NATIVE_ARRAY_MARSHALER, CONVERT_CONTENTS_TO_MANAGED, ConvertContentsToManaged, SM_IntPtr_RefObj_IntPtr_RetVoid)
1167 DEFINE_METHOD(MNGD_NATIVE_ARRAY_MARSHALER, CLEAR_NATIVE, ClearNative, SM_IntPtr_IntPtr_Int_RetVoid)
1168 DEFINE_METHOD(MNGD_NATIVE_ARRAY_MARSHALER, CLEAR_NATIVE_CONTENTS, ClearNativeContents, SM_IntPtr_IntPtr_Int_RetVoid)
1170 DEFINE_CLASS(MNGD_REF_CUSTOM_MARSHALER, StubHelpers, MngdRefCustomMarshaler)
1171 DEFINE_METHOD(MNGD_REF_CUSTOM_MARSHALER, CREATE_MARSHALER, CreateMarshaler, SM_IntPtr_IntPtr_RetVoid)
1172 DEFINE_METHOD(MNGD_REF_CUSTOM_MARSHALER, CONVERT_CONTENTS_TO_NATIVE, ConvertContentsToNative, SM_IntPtr_RefObj_IntPtr_RetVoid)
1173 DEFINE_METHOD(MNGD_REF_CUSTOM_MARSHALER, CONVERT_CONTENTS_TO_MANAGED, ConvertContentsToManaged, SM_IntPtr_RefObj_IntPtr_RetVoid)
1174 DEFINE_METHOD(MNGD_REF_CUSTOM_MARSHALER, CLEAR_NATIVE, ClearNative, SM_IntPtr_RefObj_IntPtr_RetVoid)
1175 DEFINE_METHOD(MNGD_REF_CUSTOM_MARSHALER, CLEAR_MANAGED, ClearManaged, SM_IntPtr_RefObj_IntPtr_RetVoid)
1177 DEFINE_CLASS(ASANY_MARSHALER, StubHelpers, AsAnyMarshaler)
1178 DEFINE_METHOD(ASANY_MARSHALER, CTOR, .ctor, IM_IntPtr_RetVoid)
1179 DEFINE_METHOD(ASANY_MARSHALER, CONVERT_TO_NATIVE, ConvertToNative, IM_Obj_Int_RetIntPtr)
1180 DEFINE_METHOD(ASANY_MARSHALER, CONVERT_TO_MANAGED, ConvertToManaged, IM_Obj_IntPtr_RetVoid)
1181 DEFINE_METHOD(ASANY_MARSHALER, CLEAR_NATIVE, ClearNative, IM_IntPtr_RetVoid)
1183 DEFINE_CLASS(NATIVEVARIANT, StubHelpers, NativeVariant)
1185 DEFINE_CLASS(WIN32NATIVE, Win32, Win32Native)
1186 DEFINE_METHOD(WIN32NATIVE, COTASKMEMALLOC, CoTaskMemAlloc, SM_UIntPtr_RetIntPtr)
1187 DEFINE_METHOD(WIN32NATIVE, COTASKMEMFREE, CoTaskMemFree, SM_IntPtr_RetVoid)
1189 #ifdef FEATURE_COMINTEROP
1190 DEFINE_CLASS(IITERABLE, WinRT, IIterable`1)
1191 DEFINE_CLASS(IVECTOR, WinRT, IVector`1)
1192 DEFINE_CLASS(IMAP, WinRT, IMap`2)
1193 DEFINE_CLASS(IKEYVALUEPAIR, WinRT, IKeyValuePair`2)
1194 DEFINE_CLASS(IVECTORVIEW, WinRT, IVectorView`1)
1195 DEFINE_CLASS(IMAPVIEW, WinRT, IMapView`2)
1196 DEFINE_CLASS(IITERATOR, WinRT, IIterator`1)
1197 DEFINE_CLASS(IPROPERTYVALUE, WinRT, IPropertyValue)
1198 DEFINE_CLASS(IBINDABLEITERABLE, WinRT, IBindableIterable)
1199 DEFINE_CLASS(IBINDABLEITERATOR, WinRT, IBindableIterator)
1200 DEFINE_CLASS(IBINDABLEVECTOR, WinRT, IBindableVector)
1201 DEFINE_CLASS(ICLOSABLE, WinRT, IClosable)
1203 DEFINE_CLASS(GET_ENUMERATOR_DELEGATE, WinRT, GetEnumerator_Delegate`1)
1204 DEFINE_CLASS(ITERABLE_TO_ENUMERABLE_ADAPTER, WinRT, IterableToEnumerableAdapter)
1205 DEFINE_METHOD(ITERABLE_TO_ENUMERABLE_ADAPTER, GET_ENUMERATOR_STUB, GetEnumerator_Stub, NoSig)
1206 DEFINE_METHOD(ITERABLE_TO_ENUMERABLE_ADAPTER, GET_ENUMERATOR_VARIANCE_STUB, GetEnumerator_Variance_Stub, NoSig)
1208 DEFINE_CLASS(VECTOR_TO_LIST_ADAPTER, WinRT, VectorToListAdapter)
1209 DEFINE_METHOD(VECTOR_TO_LIST_ADAPTER, INDEXER_GET, Indexer_Get, NoSig)
1210 DEFINE_METHOD(VECTOR_TO_LIST_ADAPTER, INDEXER_SET, Indexer_Set, NoSig)
1211 DEFINE_METHOD(VECTOR_TO_LIST_ADAPTER, INDEX_OF, IndexOf, NoSig)
1212 DEFINE_METHOD(VECTOR_TO_LIST_ADAPTER, INSERT, Insert, NoSig)
1213 DEFINE_METHOD(VECTOR_TO_LIST_ADAPTER, REMOVE_AT, RemoveAt, NoSig)
1215 DEFINE_CLASS(MAP_TO_DICTIONARY_ADAPTER, WinRT, MapToDictionaryAdapter)
1216 DEFINE_METHOD(MAP_TO_DICTIONARY_ADAPTER, INDEXER_GET, Indexer_Get, NoSig)
1217 DEFINE_METHOD(MAP_TO_DICTIONARY_ADAPTER, INDEXER_SET, Indexer_Set, NoSig)
1218 DEFINE_METHOD(MAP_TO_DICTIONARY_ADAPTER, KEYS, Keys, NoSig)
1219 DEFINE_METHOD(MAP_TO_DICTIONARY_ADAPTER, VALUES, Values, NoSig)
1220 DEFINE_METHOD(MAP_TO_DICTIONARY_ADAPTER, CONTAINS_KEY, ContainsKey, NoSig)
1221 DEFINE_METHOD(MAP_TO_DICTIONARY_ADAPTER, ADD, Add, NoSig)
1222 DEFINE_METHOD(MAP_TO_DICTIONARY_ADAPTER, REMOVE, Remove, NoSig)
1223 DEFINE_METHOD(MAP_TO_DICTIONARY_ADAPTER, TRY_GET_VALUE, TryGetValue, NoSig)
1225 DEFINE_CLASS(VECTOR_TO_COLLECTION_ADAPTER, WinRT, VectorToCollectionAdapter)
1226 DEFINE_METHOD(VECTOR_TO_COLLECTION_ADAPTER, COUNT, Count, NoSig)
1227 DEFINE_METHOD(VECTOR_TO_COLLECTION_ADAPTER, IS_READ_ONLY, IsReadOnly, NoSig)
1228 DEFINE_METHOD(VECTOR_TO_COLLECTION_ADAPTER, ADD, Add, NoSig)
1229 DEFINE_METHOD(VECTOR_TO_COLLECTION_ADAPTER, CLEAR, Clear, NoSig)
1230 DEFINE_METHOD(VECTOR_TO_COLLECTION_ADAPTER, CONTAINS, Contains, NoSig)
1231 DEFINE_METHOD(VECTOR_TO_COLLECTION_ADAPTER, COPY_TO, CopyTo, NoSig)
1232 DEFINE_METHOD(VECTOR_TO_COLLECTION_ADAPTER, REMOVE, Remove, NoSig)
1234 DEFINE_CLASS(MAP_TO_COLLECTION_ADAPTER, WinRT, MapToCollectionAdapter)
1235 DEFINE_METHOD(MAP_TO_COLLECTION_ADAPTER, COUNT, Count, NoSig)
1236 DEFINE_METHOD(MAP_TO_COLLECTION_ADAPTER, IS_READ_ONLY, IsReadOnly, NoSig)
1237 DEFINE_METHOD(MAP_TO_COLLECTION_ADAPTER, ADD, Add, NoSig)
1238 DEFINE_METHOD(MAP_TO_COLLECTION_ADAPTER, CLEAR, Clear, NoSig)
1239 DEFINE_METHOD(MAP_TO_COLLECTION_ADAPTER, CONTAINS, Contains, NoSig)
1240 DEFINE_METHOD(MAP_TO_COLLECTION_ADAPTER, COPY_TO, CopyTo, NoSig)
1241 DEFINE_METHOD(MAP_TO_COLLECTION_ADAPTER, REMOVE, Remove, NoSig)
1243 DEFINE_CLASS(BINDABLEITERABLE_TO_ENUMERABLE_ADAPTER, WinRT, BindableIterableToEnumerableAdapter)
1244 DEFINE_METHOD(BINDABLEITERABLE_TO_ENUMERABLE_ADAPTER, GET_ENUMERATOR_STUB, GetEnumerator_Stub, NoSig)
1246 DEFINE_CLASS(BINDABLEVECTOR_TO_LIST_ADAPTER, WinRT, BindableVectorToListAdapter)
1247 DEFINE_METHOD(BINDABLEVECTOR_TO_LIST_ADAPTER, INDEXER_GET, Indexer_Get, NoSig)
1248 DEFINE_METHOD(BINDABLEVECTOR_TO_LIST_ADAPTER, INDEXER_SET, Indexer_Set, NoSig)
1249 DEFINE_METHOD(BINDABLEVECTOR_TO_LIST_ADAPTER, ADD, Add, NoSig)
1250 DEFINE_METHOD(BINDABLEVECTOR_TO_LIST_ADAPTER, CONTAINS, Contains, NoSig)
1251 DEFINE_METHOD(BINDABLEVECTOR_TO_LIST_ADAPTER, CLEAR, Clear, NoSig)
1252 DEFINE_METHOD(BINDABLEVECTOR_TO_LIST_ADAPTER, IS_READ_ONLY, IsReadOnly, NoSig)
1253 DEFINE_METHOD(BINDABLEVECTOR_TO_LIST_ADAPTER, IS_FIXED_SIZE, IsFixedSize, NoSig)
1254 DEFINE_METHOD(BINDABLEVECTOR_TO_LIST_ADAPTER, INDEX_OF, IndexOf, NoSig)
1255 DEFINE_METHOD(BINDABLEVECTOR_TO_LIST_ADAPTER, INSERT, Insert, NoSig)
1256 DEFINE_METHOD(BINDABLEVECTOR_TO_LIST_ADAPTER, REMOVE, Remove, NoSig)
1257 DEFINE_METHOD(BINDABLEVECTOR_TO_LIST_ADAPTER, REMOVE_AT, RemoveAt, NoSig)
1259 DEFINE_CLASS(BINDABLEVECTOR_TO_COLLECTION_ADAPTER, WinRT, BindableVectorToCollectionAdapter)
1260 DEFINE_METHOD(BINDABLEVECTOR_TO_COLLECTION_ADAPTER, COPY_TO, CopyTo, NoSig)
1261 DEFINE_METHOD(BINDABLEVECTOR_TO_COLLECTION_ADAPTER, COUNT, Count, NoSig)
1262 DEFINE_METHOD(BINDABLEVECTOR_TO_COLLECTION_ADAPTER, SYNC_ROOT, SyncRoot, NoSig)
1263 DEFINE_METHOD(BINDABLEVECTOR_TO_COLLECTION_ADAPTER, IS_SYNCHRONIZED, IsSynchronized, NoSig)
1265 DEFINE_CLASS(ENUMERABLE_TO_ITERABLE_ADAPTER, WinRT, EnumerableToIterableAdapter)
1266 DEFINE_METHOD(ENUMERABLE_TO_ITERABLE_ADAPTER, FIRST_STUB, First_Stub, NoSig)
1268 DEFINE_CLASS(LIST_TO_VECTOR_ADAPTER, WinRT, ListToVectorAdapter)
1269 DEFINE_METHOD(LIST_TO_VECTOR_ADAPTER, GET_AT, GetAt, NoSig)
1270 DEFINE_METHOD(LIST_TO_VECTOR_ADAPTER, SIZE, Size, NoSig)
1271 DEFINE_METHOD(LIST_TO_VECTOR_ADAPTER, GET_VIEW, GetView, NoSig)
1272 DEFINE_METHOD(LIST_TO_VECTOR_ADAPTER, INDEX_OF, IndexOf, NoSig)
1273 DEFINE_METHOD(LIST_TO_VECTOR_ADAPTER, SET_AT, SetAt, NoSig)
1274 DEFINE_METHOD(LIST_TO_VECTOR_ADAPTER, INSERT_AT, InsertAt, NoSig)
1275 DEFINE_METHOD(LIST_TO_VECTOR_ADAPTER, REMOVE_AT, RemoveAt, NoSig)
1276 DEFINE_METHOD(LIST_TO_VECTOR_ADAPTER, APPEND, Append, NoSig)
1277 DEFINE_METHOD(LIST_TO_VECTOR_ADAPTER, REMOVE_AT_END, RemoveAtEnd, NoSig)
1278 DEFINE_METHOD(LIST_TO_VECTOR_ADAPTER, CLEAR, Clear, NoSig)
1279 DEFINE_METHOD(LIST_TO_VECTOR_ADAPTER, GET_MANY, GetMany, NoSig)
1280 DEFINE_METHOD(LIST_TO_VECTOR_ADAPTER, REPLACE_ALL, ReplaceAll, NoSig)
1282 DEFINE_CLASS(DICTIONARY_TO_MAP_ADAPTER, WinRT, DictionaryToMapAdapter)
1283 DEFINE_METHOD(DICTIONARY_TO_MAP_ADAPTER, LOOKUP, Lookup, NoSig)
1284 DEFINE_METHOD(DICTIONARY_TO_MAP_ADAPTER, SIZE, Size, NoSig)
1285 DEFINE_METHOD(DICTIONARY_TO_MAP_ADAPTER, HAS_KEY, HasKey, NoSig)
1286 DEFINE_METHOD(DICTIONARY_TO_MAP_ADAPTER, GET_VIEW, GetView, NoSig)
1287 DEFINE_METHOD(DICTIONARY_TO_MAP_ADAPTER, INSERT, Insert, NoSig)
1288 DEFINE_METHOD(DICTIONARY_TO_MAP_ADAPTER, REMOVE, Remove, NoSig)
1289 DEFINE_METHOD(DICTIONARY_TO_MAP_ADAPTER, CLEAR, Clear, NoSig)
1291 DEFINE_CLASS(IVECTORVIEW_TO_IREADONLYCOLLECTION_ADAPTER, WinRT, VectorViewToReadOnlyCollectionAdapter)
1292 DEFINE_METHOD(IVECTORVIEW_TO_IREADONLYCOLLECTION_ADAPTER, COUNT, Count, NoSig)
1294 DEFINE_CLASS(IMAPVIEW_TO_IREADONLYCOLLECTION_ADAPTER, WinRT, MapViewToReadOnlyCollectionAdapter)
1295 DEFINE_METHOD(IMAPVIEW_TO_IREADONLYCOLLECTION_ADAPTER, COUNT, Count, NoSig)
1297 DEFINE_CLASS(IREADONLYLIST_TO_IVECTORVIEW_ADAPTER, WinRT, IReadOnlyListToIVectorViewAdapter)
1298 DEFINE_METHOD(IREADONLYLIST_TO_IVECTORVIEW_ADAPTER, GETAT, GetAt, NoSig)
1299 DEFINE_METHOD(IREADONLYLIST_TO_IVECTORVIEW_ADAPTER, GETMANY, GetMany, NoSig)
1300 DEFINE_METHOD(IREADONLYLIST_TO_IVECTORVIEW_ADAPTER, INDEXOF, IndexOf, NoSig)
1301 DEFINE_METHOD(IREADONLYLIST_TO_IVECTORVIEW_ADAPTER, SIZE, Size, NoSig)
1303 DEFINE_CLASS(INDEXER_GET_DELEGATE, WinRT, Indexer_Get_Delegate`1)
1304 DEFINE_CLASS(IVECTORVIEW_TO_IREADONLYLIST_ADAPTER, WinRT, IVectorViewToIReadOnlyListAdapter)
1305 DEFINE_METHOD(IVECTORVIEW_TO_IREADONLYLIST_ADAPTER, INDEXER_GET, Indexer_Get, NoSig)
1306 DEFINE_METHOD(IVECTORVIEW_TO_IREADONLYLIST_ADAPTER, INDEXER_GET_VARIANCE, Indexer_Get_Variance, NoSig)
1308 DEFINE_CLASS(IREADONLYDICTIONARY_TO_IMAPVIEW_ADAPTER, WinRT, IReadOnlyDictionaryToIMapViewAdapter)
1309 DEFINE_METHOD(IREADONLYDICTIONARY_TO_IMAPVIEW_ADAPTER, HASKEY, HasKey, NoSig)
1310 DEFINE_METHOD(IREADONLYDICTIONARY_TO_IMAPVIEW_ADAPTER, LOOKUP, Lookup, NoSig)
1311 DEFINE_METHOD(IREADONLYDICTIONARY_TO_IMAPVIEW_ADAPTER, SIZE, Size, NoSig)
1312 DEFINE_METHOD(IREADONLYDICTIONARY_TO_IMAPVIEW_ADAPTER, SPLIT, Split, NoSig)
1314 DEFINE_CLASS(IMAPVIEW_TO_IREADONLYDICTIONARY_ADAPTER, WinRT, IMapViewToIReadOnlyDictionaryAdapter)
1315 DEFINE_METHOD(IMAPVIEW_TO_IREADONLYDICTIONARY_ADAPTER, CONTAINSKEY, ContainsKey, NoSig)
1316 DEFINE_METHOD(IMAPVIEW_TO_IREADONLYDICTIONARY_ADAPTER, INDEXER_GET, Indexer_Get, NoSig)
1317 DEFINE_METHOD(IMAPVIEW_TO_IREADONLYDICTIONARY_ADAPTER, TRYGETVALUE, TryGetValue, NoSig)
1318 DEFINE_METHOD(IMAPVIEW_TO_IREADONLYDICTIONARY_ADAPTER, KEYS, Keys, NoSig)
1319 DEFINE_METHOD(IMAPVIEW_TO_IREADONLYDICTIONARY_ADAPTER, VALUES, Values, NoSig)
1321 DEFINE_CLASS(ENUMERABLE_TO_BINDABLEITERABLE_ADAPTER, WinRT, EnumerableToBindableIterableAdapter)
1322 DEFINE_METHOD(ENUMERABLE_TO_BINDABLEITERABLE_ADAPTER, FIRST_STUB, First_Stub, NoSig)
1324 DEFINE_CLASS(LIST_TO_BINDABLEVECTOR_ADAPTER, WinRT, ListToBindableVectorAdapter)
1325 DEFINE_METHOD(LIST_TO_BINDABLEVECTOR_ADAPTER, GET_AT, GetAt, NoSig)
1326 DEFINE_METHOD(LIST_TO_BINDABLEVECTOR_ADAPTER, SIZE, Size, NoSig)
1327 DEFINE_METHOD(LIST_TO_BINDABLEVECTOR_ADAPTER, GET_VIEW, GetView, NoSig)
1328 DEFINE_METHOD(LIST_TO_BINDABLEVECTOR_ADAPTER, INDEX_OF, IndexOf, NoSig)
1329 DEFINE_METHOD(LIST_TO_BINDABLEVECTOR_ADAPTER, SET_AT, SetAt, NoSig)
1330 DEFINE_METHOD(LIST_TO_BINDABLEVECTOR_ADAPTER, INSERT_AT, InsertAt, NoSig)
1331 DEFINE_METHOD(LIST_TO_BINDABLEVECTOR_ADAPTER, REMOVE_AT, RemoveAt, NoSig)
1332 DEFINE_METHOD(LIST_TO_BINDABLEVECTOR_ADAPTER, APPEND, Append, NoSig)
1333 DEFINE_METHOD(LIST_TO_BINDABLEVECTOR_ADAPTER, REMOVE_AT_END, RemoveAtEnd, NoSig)
1334 DEFINE_METHOD(LIST_TO_BINDABLEVECTOR_ADAPTER, CLEAR, Clear, NoSig)
1336 DEFINE_CLASS(IDISPOSABLE_TO_ICLOSABLE_ADAPTER, WinRT, IDisposableToIClosableAdapter)
1337 DEFINE_METHOD(IDISPOSABLE_TO_ICLOSABLE_ADAPTER, CLOSE, Close, NoSig)
1339 DEFINE_CLASS(ICLOSABLE_TO_IDISPOSABLE_ADAPTER, WinRT, IClosableToIDisposableAdapter)
1340 DEFINE_METHOD(ICLOSABLE_TO_IDISPOSABLE_ADAPTER, DISPOSE, Dispose, NoSig)
1342 #endif // FEATURE_COMINTEROP
1344 DEFINE_CLASS(SZARRAYHELPER, System, SZArrayHelper)
1345 // Note: The order of methods here has to match order they are implemented on the interfaces in
1347 DEFINE_METHOD(SZARRAYHELPER, GETENUMERATOR, GetEnumerator, NoSig)
1348 // ICollection`1/IReadOnlyCollection`1
1349 DEFINE_METHOD(SZARRAYHELPER, GET_COUNT, get_Count, NoSig)
1350 DEFINE_METHOD(SZARRAYHELPER, ISREADONLY, get_IsReadOnly, NoSig)
1351 DEFINE_METHOD(SZARRAYHELPER, ADD, Add, NoSig)
1352 DEFINE_METHOD(SZARRAYHELPER, CLEAR, Clear, NoSig)
1353 DEFINE_METHOD(SZARRAYHELPER, CONTAINS, Contains, NoSig)
1354 DEFINE_METHOD(SZARRAYHELPER, COPYTO, CopyTo, NoSig)
1355 DEFINE_METHOD(SZARRAYHELPER, REMOVE, Remove, NoSig)
1356 // IList`1/IReadOnlyList`1
1357 DEFINE_METHOD(SZARRAYHELPER, GET_ITEM, get_Item, NoSig)
1358 DEFINE_METHOD(SZARRAYHELPER, SET_ITEM, set_Item, NoSig)
1359 DEFINE_METHOD(SZARRAYHELPER, INDEXOF, IndexOf, NoSig)
1360 DEFINE_METHOD(SZARRAYHELPER, INSERT, Insert, NoSig)
1361 DEFINE_METHOD(SZARRAYHELPER, REMOVEAT, RemoveAt, NoSig)
1363 DEFINE_CLASS(IENUMERABLEGENERIC, CollectionsGeneric, IEnumerable`1)
1364 DEFINE_CLASS(IENUMERATORGENERIC, CollectionsGeneric, IEnumerator`1)
1365 DEFINE_CLASS(ICOLLECTIONGENERIC, CollectionsGeneric, ICollection`1)
1366 DEFINE_CLASS(ILISTGENERIC, CollectionsGeneric, IList`1)
1367 DEFINE_CLASS(IREADONLYCOLLECTIONGENERIC,CollectionsGeneric, IReadOnlyCollection`1)
1368 DEFINE_CLASS(IREADONLYLISTGENERIC, CollectionsGeneric, IReadOnlyList`1)
1369 DEFINE_CLASS(IREADONLYDICTIONARYGENERIC,CollectionsGeneric, IReadOnlyDictionary`2)
1370 DEFINE_CLASS(IDICTIONARYGENERIC, CollectionsGeneric, IDictionary`2)
1371 DEFINE_CLASS(KEYVALUEPAIRGENERIC, CollectionsGeneric, KeyValuePair`2)
1373 DEFINE_CLASS(ICOMPARABLEGENERIC, System, IComparable`1)
1374 DEFINE_CLASS(IEQUATABLEGENERIC, System, IEquatable`1)
1376 DEFINE_CLASS_U(Reflection, LoaderAllocator, LoaderAllocatorObject)
1377 DEFINE_FIELD_U(m_slots, LoaderAllocatorObject, m_pSlots)
1378 DEFINE_FIELD_U(m_slotsUsed, LoaderAllocatorObject, m_slotsUsed)
1379 DEFINE_CLASS(LOADERALLOCATOR, Reflection, LoaderAllocator)
1380 DEFINE_METHOD(LOADERALLOCATOR, CTOR, .ctor, IM_RetVoid)
1382 DEFINE_CLASS_U(Reflection, LoaderAllocatorScout, LoaderAllocatorScoutObject)
1383 DEFINE_FIELD_U(m_nativeLoaderAllocator, LoaderAllocatorScoutObject, m_nativeLoaderAllocator)
1384 DEFINE_CLASS(LOADERALLOCATORSCOUT, Reflection, LoaderAllocatorScout)
1386 DEFINE_CLASS(CONTRACTEXCEPTION, CodeContracts, ContractException)
1388 DEFINE_CLASS_U(CodeContracts, ContractException, ContractExceptionObject)
1389 DEFINE_FIELD_U(_kind, ContractExceptionObject, _Kind)
1390 DEFINE_FIELD_U(_userMessage, ContractExceptionObject, _UserMessage)
1391 DEFINE_FIELD_U(_condition, ContractExceptionObject, _Condition)
1393 #ifdef FEATURE_COMINTEROP
1394 DEFINE_CLASS(CAUSALITY_TRACE_LEVEL, WindowsFoundationDiag, CausalityTraceLevel)
1395 DEFINE_CLASS(ASYNC_TRACING_EVENT_ARGS, WindowsFoundationDiag, TracingStatusChangedEventArgs)
1396 DEFINE_PROPERTY(ASYNC_TRACING_EVENT_ARGS, ENABLED, Enabled, Bool)
1397 DEFINE_PROPERTY(ASYNC_TRACING_EVENT_ARGS, TRACELEVEL, TraceLevel, CausalityTraceLevel)
1398 DEFINE_CLASS(IASYNC_TRACING_EVENT_ARGS, WindowsFoundationDiag, ITracingStatusChangedEventArgs)
1399 DEFINE_PROPERTY(IASYNC_TRACING_EVENT_ARGS, ENABLED, Enabled, Bool)
1400 DEFINE_PROPERTY(IASYNC_TRACING_EVENT_ARGS, TRACELEVEL, TraceLevel, CausalityTraceLevel)
1401 #endif // FEATURE_COMINTEROP
1403 DEFINE_CLASS(MODULEBASE, Reflection, Module)
1405 #ifdef FEATURE_ICASTABLE
1406 DEFINE_CLASS(ICASTABLE, CompilerServices, ICastable)
1408 DEFINE_CLASS(ICASTABLEHELPERS, CompilerServices, ICastableHelpers)
1409 DEFINE_METHOD(ICASTABLEHELPERS, ISINSTANCEOF, IsInstanceOfInterface, SM_ICastable_RtType_RefException_RetBool)
1410 DEFINE_METHOD(ICASTABLEHELPERS, GETIMPLTYPE, GetImplType, SM_ICastable_RtType_RetRtType)
1412 #endif // FEATURE_ICASTABLE
1414 DEFINE_CLASS(CUTF8MARSHALER, StubHelpers, UTF8Marshaler)
1415 DEFINE_METHOD(CUTF8MARSHALER, CONVERT_TO_NATIVE, ConvertToNative, SM_Int_Str_IntPtr_RetIntPtr)
1416 DEFINE_METHOD(CUTF8MARSHALER, CONVERT_TO_MANAGED, ConvertToManaged, SM_IntPtr_RetStr)
1417 DEFINE_METHOD(CUTF8MARSHALER, CLEAR_NATIVE, ClearNative, SM_IntPtr_RetVoid)
1419 DEFINE_CLASS(UTF8BUFFERMARSHALER, StubHelpers, UTF8BufferMarshaler)
1420 DEFINE_METHOD(UTF8BUFFERMARSHALER, CONVERT_TO_NATIVE, ConvertToNative, NoSig)
1421 DEFINE_METHOD(UTF8BUFFERMARSHALER, CONVERT_TO_MANAGED, ConvertToManaged, NoSig)
1423 // Classes referenced in EqualityComparer<T>.Default optimization
1425 DEFINE_CLASS(BYTE_EQUALITYCOMPARER, CollectionsGeneric, ByteEqualityComparer)
1426 DEFINE_CLASS(ENUM_EQUALITYCOMPARER, CollectionsGeneric, EnumEqualityComparer`1)
1427 DEFINE_CLASS(LONG_ENUM_EQUALITYCOMPARER, CollectionsGeneric, LongEnumEqualityComparer`1)
1428 DEFINE_CLASS(NULLABLE_EQUALITYCOMPARER, CollectionsGeneric, NullableEqualityComparer`1)
1429 DEFINE_CLASS(GENERIC_EQUALITYCOMPARER, CollectionsGeneric, GenericEqualityComparer`1)
1430 DEFINE_CLASS(OBJECT_EQUALITYCOMPARER, CollectionsGeneric, ObjectEqualityComparer`1)
1432 DEFINE_CLASS(INATTRIBUTE, Interop, InAttribute)
1435 #undef DEFINE_METHOD
1437 #undef DEFINE_CLASS_U
1438 #undef DEFINE_FIELD_U