diff options
Diffstat (limited to 'src/vm/ecalllist.h')
-rw-r--r-- | src/vm/ecalllist.h | 2483 |
1 files changed, 2483 insertions, 0 deletions
diff --git a/src/vm/ecalllist.h b/src/vm/ecalllist.h new file mode 100644 index 0000000000..8d4164e018 --- /dev/null +++ b/src/vm/ecalllist.h @@ -0,0 +1,2483 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// ECallList.H +// +// This file contains definitions of FCall entrypoints +// + + + + +#ifndef FCFuncElement +#define FCFuncElement(name, impl) +#endif + +#ifndef FCFuncElementSig +#define FCFuncElementSig(name,sig,impl) +#endif + +#ifndef FCIntrinsic +#define FCIntrinsic(name,impl,intrinsicID) +#endif + +#ifndef FCIntrinsicSig +#define FCIntrinsicSig(name,sig,impl,intrinsicID) +#endif + +#ifndef QCFuncElement +#define QCFuncElement(name,impl) +#endif + +#ifndef FCDynamic +#define FCDynamic(name,intrinsicID,dynamicID) +#endif + +#ifndef FCDynamicSig +#define FCDynamicSig(name,sig,intrinsicID,dynamicID) +#endif + +#ifndef FCUnreferenced +#define FCUnreferenced +#endif + +#ifndef FCFuncStart +#define FCFuncStart(name) +#endif + +#ifndef FCFuncEnd +#define FCFuncEnd() +#endif + +#ifndef FCClassElement +#define FCClassElement(name,namespace,funcs) +#endif + +// +// +// Entrypoint definitions +// +// + +#ifdef FEATURE_REMOTING +FCFuncStart(gMarshalByRefFuncs) + FCFuncElement("GetComIUnknown", RemotingNative::GetComIUnknown) +FCFuncEnd() + +FCFuncStart(gRemotingFuncs) + FCFuncElement("IsTransparentProxy", RemotingNative::FCIsTransparentProxy) + FCFuncElement("GetRealProxy", RemotingNative::FCGetRealProxy) + FCFuncElement("Unwrap", RemotingNative::FCUnwrap) + FCFuncElement("AlwaysUnwrap", RemotingNative::FCAlwaysUnwrap) + FCFuncElement("CheckCast", RemotingNative::NativeCheckCast) + FCFuncElement("nSetRemoteActivationConfigured", RemotingNative::SetRemotingConfiguredFlag) + + FCFuncElement("CORProfilerTrackRemoting", ProfilingFCallHelper::FC_TrackRemoting) + FCFuncElement("CORProfilerTrackRemotingCookie", ProfilingFCallHelper::FC_TrackRemotingCookie) + FCFuncElement("CORProfilerTrackRemotingAsync", ProfilingFCallHelper::FC_TrackRemotingAsync) + FCFuncElement("CORProfilerRemotingClientSendingMessage", ProfilingFCallHelper::FC_RemotingClientSendingMessage) + FCFuncElement("CORProfilerRemotingClientReceivingReply", ProfilingFCallHelper::FC_RemotingClientReceivingReply) + FCFuncElement("CORProfilerRemotingServerReceivingMessage", ProfilingFCallHelper::FC_RemotingServerReceivingMessage) + FCFuncElement("CORProfilerRemotingServerSendingReply", ProfilingFCallHelper::FC_RemotingServerSendingReply) + + FCFuncElement("CreateTransparentProxy", RemotingNative::CreateTransparentProxy) + FCFuncElement("AllocateUninitializedObject", RemotingNative::AllocateUninitializedObject) + FCFuncElement("CallDefaultCtor", RemotingNative::CallDefaultCtor) + FCFuncElement("AllocateInitializedObject", RemotingNative::AllocateInitializedObject) + FCFuncElement("ResetInterfaceCache", RemotingNative::ResetInterfaceCache) +FCFuncEnd() + +FCFuncStart(gRealProxyFuncs) + FCFuncElement("SetStubData", CRealProxy::SetStubData) + FCFuncElement("GetStubData", CRealProxy::GetStubData) + FCFuncElement("GetStub", CRealProxy::GetStub) + FCFuncElement("GetDefaultStub", CRealProxy::GetDefaultStub) + FCFuncElement("GetProxiedType", CRealProxy::GetProxiedType) +FCFuncEnd() + +FCFuncStart(gContextFuncs) + FCFuncElement("SetupInternalContext", Context::SetupInternalContext) + FCFuncElement("CleanupInternalContext", Context::CleanupInternalContext) + FCFuncElement("ExecuteCallBackInEE", Context::ExecuteCallBack) +FCFuncEnd() +#endif + + +FCFuncStart(gDependentHandleFuncs) + FCFuncElement("nInitialize", DependentHandle::nInitialize) + FCFuncElement("nGetPrimary", DependentHandle::nGetPrimary) + FCFuncElement("nGetPrimaryAndSecondary", DependentHandle::nGetPrimaryAndSecondary) + FCFuncElement("nFree", DependentHandle::nFree) +FCFuncEnd() + +#ifndef FEATURE_CORECLR +FCFuncStart(gSizedRefHandleFuncs) + FCFuncElement("CreateSizedRef", SizedRefHandle::Initialize) + FCFuncElement("FreeSizedRef", SizedRefHandle::Free) + FCFuncElement("GetTargetOfSizedRef", SizedRefHandle::GetTarget) + FCFuncElement("GetApproximateSizeOfSizedRef", SizedRefHandle::GetApproximateSize) +FCFuncEnd() +#endif // !FEATURE_CORECLR + +#ifdef FEATURE_RWLOCK +FCFuncStart(gRWLockFuncs) + FCFuncElement("AcquireReaderLockInternal", CRWLock::StaticAcquireReaderLockPublic) + FCFuncElement("AcquireWriterLockInternal", CRWLock::StaticAcquireWriterLockPublic) + FCFuncElement("ReleaseReaderLockInternal", CRWLock::StaticReleaseReaderLockPublic) + FCFuncElement("ReleaseWriterLockInternal", CRWLock::StaticReleaseWriterLockPublic) + FCFuncElement("FCallUpgradeToWriterLock", CRWLock::StaticDoUpgradeToWriterLockPublic) + FCFuncElement("DowngradeFromWriterLockInternal", CRWLock::StaticDowngradeFromWriterLock) + FCFuncElement("FCallReleaseLock", CRWLock::StaticDoReleaseLock) + FCFuncElement("RestoreLockInternal", CRWLock::StaticRestoreLockPublic) + FCFuncElement("PrivateGetIsReaderLockHeld", CRWLock::StaticIsReaderLockHeld) + FCFuncElement("PrivateGetIsWriterLockHeld", CRWLock::StaticIsWriterLockHeld) + FCFuncElement("PrivateGetWriterSeqNum", CRWLock::StaticGetWriterSeqNum) + FCFuncElement("AnyWritersSince", CRWLock::StaticAnyWritersSince) + FCFuncElement("PrivateInitialize", CRWLock::StaticPrivateInitialize) + FCFuncElement("PrivateDestruct", CRWLock::StaticPrivateDestruct) +FCFuncEnd() +#endif // FEATURE_RWLOCK + +#ifdef FEATURE_REMOTING +FCFuncStart(gMessageFuncs) + FCFuncElement("InternalGetArgCount", CMessage::GetArgCount) + FCFuncElement("InternalHasVarArgs", CMessage::HasVarArgs) + FCFuncElement("InternalGetArg", CMessage::GetArg) + FCFuncElement("InternalGetArgs", CMessage::GetArgs) + FCFuncElement("PropagateOutParameters", CMessage::PropagateOutParameters) + FCFuncElement("GetReturnValue", CMessage::GetReturnValue) + FCFuncElement("GetAsyncBeginInfo", CMessage::GetAsyncBeginInfo) + FCFuncElement("GetAsyncResult", CMessage::GetAsyncResult) + FCFuncElement("GetThisPtr", CMessage::GetAsyncObject) + FCFuncElement("OutToUnmanagedDebugger", CMessage::DebugOut) + FCFuncElement("Dispatch", CMessage::Dispatch) +FCFuncEnd() +#endif //FEATURE_REMOTING + +#ifdef FEATURE_REMOTING +FCFuncStart(gChannelServicesFuncs) + FCFuncElement("GetPrivateContextsPerfCounters", GetPrivateContextsPerfCountersEx) +FCFuncEnd() +#endif // FEATURE_REMOTING + +FCFuncStart(gEnumFuncs) + FCFuncElement("InternalGetUnderlyingType", ReflectionEnum::InternalGetEnumUnderlyingType) + FCFuncElement("InternalGetCorElementType", ReflectionEnum::InternalGetCorElementType) + QCFuncElement("GetEnumValuesAndNames", ReflectionEnum::GetEnumValuesAndNames) + FCFuncElement("InternalBoxEnum", ReflectionEnum::InternalBoxEnum) + FCFuncElement("Equals", ReflectionEnum::InternalEquals) + FCFuncElement("InternalCompareTo", ReflectionEnum::InternalCompareTo) + FCFuncElement("InternalHasFlag", ReflectionEnum::InternalHasFlag) +FCFuncEnd() + +#ifdef FEATURE_REMOTING +FCFuncStart(gStackBuilderSinkFuncs) + FCFuncElement("_PrivateProcessMessage", CStackBuilderSink::PrivateProcessMessage) +FCFuncEnd() +#endif + +#ifdef FEATURE_CORECLR +FCFuncStart(gSymWrapperCodePunkSafeHandleFuncs) + FCFuncElement("nGetDReleaseTarget", COMPunkSafeHandle::nGetDReleaseTarget) +FCFuncEnd() +#endif //FEATURE_CORECLR + +FCFuncStart(gParseNumbersFuncs) + FCFuncElement("IntToString", ParseNumbers::IntToString) + FCFuncElement("LongToString", ParseNumbers::LongToString) + FCFuncElement("StringToInt", ParseNumbers::StringToInt) + FCFuncElement("StringToLong", ParseNumbers::StringToLong) +FCFuncEnd() + +#ifndef FEATURE_CORECLR // FCalls used by System.TimeSpan +FCFuncStart(gTimeSpanFuncs) + FCFuncElement("LegacyFormatMode", SystemNative::LegacyFormatMode) +FCFuncEnd() +#endif // !FEATURE_CORECLR + +#ifndef FEATURE_CORECLR // FCalls used by System.TimeZone +FCFuncStart(gTimeZoneFuncs) + FCFuncElement("nativeGetTimeZoneMinuteOffset", COMNlsInfo::nativeGetTimeZoneMinuteOffset) + FCFuncElement("nativeGetStandardName", COMNlsInfo::nativeGetStandardName) + FCFuncElement("nativeGetDaylightName", COMNlsInfo::nativeGetDaylightName) + FCFuncElement("nativeGetDaylightChanges", COMNlsInfo::nativeGetDaylightChanges) +FCFuncEnd() +#endif // FEATURE_CORECLR + +FCFuncStart(gObjectFuncs) + FCIntrinsic("GetType", ObjectNative::GetClass, CORINFO_INTRINSIC_Object_GetType) + FCFuncElement("MemberwiseClone", ObjectNative::Clone) +FCFuncEnd() + +FCFuncStart(gStringFuncs) + FCDynamic("FastAllocateString", CORINFO_INTRINSIC_Illegal, ECall::FastAllocateString) + FCDynamicSig(COR_CTOR_METHOD_NAME, &gsig_IM_ArrChar_RetVoid, CORINFO_INTRINSIC_Illegal, ECall::CtorCharArrayManaged) + FCDynamicSig(COR_CTOR_METHOD_NAME, &gsig_IM_ArrChar_Int_Int_RetVoid, CORINFO_INTRINSIC_Illegal, ECall::CtorCharArrayStartLengthManaged) + FCDynamicSig(COR_CTOR_METHOD_NAME, &gsig_IM_PtrChar_RetVoid, CORINFO_INTRINSIC_Illegal, ECall::CtorCharPtrManaged) + FCDynamicSig(COR_CTOR_METHOD_NAME, &gsig_IM_PtrChar_Int_Int_RetVoid, CORINFO_INTRINSIC_Illegal, ECall::CtorCharPtrStartLengthManaged) + FCDynamicSig(COR_CTOR_METHOD_NAME, &gsig_IM_Char_Int_RetVoid, CORINFO_INTRINSIC_Illegal, ECall::CtorCharCountManaged) + FCFuncElementSig(COR_CTOR_METHOD_NAME, &gsig_IM_PtrSByt_RetVoid, COMString::StringInitCharPtr) + FCFuncElementSig(COR_CTOR_METHOD_NAME, &gsig_IM_PtrSByt_Int_Int_RetVoid, COMString::StringInitCharPtrPartial) + FCFuncElementSig(COR_CTOR_METHOD_NAME, &gsig_IM_PtrSByt_Int_Int_Encoding_RetVoid, COMString::StringInitSBytPtrPartialEx) + FCFuncElement("IsFastSort", COMString::IsFastSort) + FCFuncElement("nativeCompareOrdinalIgnoreCaseWC", COMString::FCCompareOrdinalIgnoreCaseWC) + FCIntrinsic("get_Length", COMString::Length, CORINFO_INTRINSIC_StringLength) + FCIntrinsic("get_Chars", COMString::GetCharAt, CORINFO_INTRINSIC_StringGetChar) + FCFuncElement("IsAscii", COMString::IsAscii) + FCFuncElement("CompareOrdinalHelper", COMString::CompareOrdinalEx) + FCFuncElement("IndexOfAny", COMString::IndexOfCharArray) + FCFuncElement("LastIndexOfAny", COMString::LastIndexOfCharArray) + FCFuncElementSig("ReplaceInternal", &gsig_IM_Str_Str_RetStr, COMString::ReplaceString) +#ifdef FEATURE_COMINTEROP + FCFuncElement("SetTrailByte", COMString::FCSetTrailByte) + FCFuncElement("TryGetTrailByte", COMString::FCTryGetTrailByte) +#endif // FEATURE_COMINTEROP +#ifdef FEATURE_RANDOMIZED_STRING_HASHING + FCFuncElement("InternalMarvin32HashString", COMString::Marvin32HashString) + QCFuncElement("InternalUseRandomizedHashing", COMString::UseRandomizedHashing) +#endif // FEATURE_RANDOMIZED_STRING_HASHING +FCFuncEnd() + +FCFuncStart(gStringBufferFuncs) + FCFuncElement("ReplaceBufferInternal", COMStringBuffer::ReplaceBufferInternal) + FCFuncElement("ReplaceBufferAnsiInternal", COMStringBuffer::ReplaceBufferAnsiInternal) +FCFuncEnd() + +FCFuncStart(gValueTypeFuncs) + FCFuncElement("CanCompareBits", ValueTypeHelper::CanCompareBits) + FCFuncElement("FastEqualsCheck", ValueTypeHelper::FastEqualsCheck) + FCFuncElement("GetHashCode", ValueTypeHelper::GetHashCode) + FCFuncElement("GetHashCodeOfPtr", ValueTypeHelper::GetHashCodeOfPtr) +FCFuncEnd() + +FCFuncStart(gDiagnosticsDebugger) + FCFuncElement("BreakInternal", DebugDebugger::Break) + FCFuncElement("LaunchInternal", DebugDebugger::Launch) + FCFuncElement("get_IsAttached", DebugDebugger::IsDebuggerAttached) + FCFuncElement("Log", DebugDebugger::Log) + FCFuncElement("IsLogging", DebugDebugger::IsLogging) + FCFuncElement("CustomNotification", DebugDebugger::CustomNotification) +FCFuncEnd() + +FCFuncStart(gDiagnosticsStackTrace) + FCFuncElement("GetStackFramesInternal", DebugStackTrace::GetStackFramesInternal) +FCFuncEnd() + +FCFuncStart(gDiagnosticsLog) + FCFuncElement("AddLogSwitch", Log::AddLogSwitch) + FCFuncElement("ModifyLogSwitch", Log::ModifyLogSwitch) +FCFuncEnd() + +FCFuncStart(gDiagnosticsAssert) + FCFuncElement("ShowDefaultAssertDialog", DebuggerAssert::ShowDefaultAssertDialog) +FCFuncEnd() + +FCFuncStart(gDateTimeFuncs) + FCFuncElement("GetSystemTimeAsFileTime", SystemNative::__GetSystemTimeAsFileTime) +#ifndef FEATURE_CORECLR + QCFuncElement("LegacyParseMode", SystemNative::LegacyDateTimeParseMode) + QCFuncElement("EnableAmPmParseAdjustment", SystemNative::EnableAmPmParseAdjustment) +#endif +FCFuncEnd() + +FCFuncStart(gEnvironmentFuncs) + FCFuncElement("GetVersion", SystemNative::GetOSVersion) + FCFuncElement("GetVersionEx", SystemNative::GetOSVersionEx) + FCFuncElement("get_TickCount", SystemNative::GetTickCount) + QCFuncElement("_Exit", SystemNative::Exit) + FCFuncElement("set_ExitCode", SystemNative::SetExitCode) + FCFuncElement("get_ExitCode", SystemNative::GetExitCode) + FCFuncElement("get_HasShutdownStarted", SystemNative::HasShutdownStarted) + QCFuncElement("GetProcessorCount", SystemNative::GetProcessorCount) +#ifndef FEATURE_CORECLR + QCFuncElement("GetWorkingSet", SystemNative::GetWorkingSet) + FCFuncElement("nativeGetEnvironmentVariable", SystemNative::_GetEnvironmentVariable) + FCFuncElement("GetCompatibilityFlag", SystemNative::_GetCompatibilityFlag) + QCFuncElement("GetCommandLine", SystemNative::_GetCommandLine) + FCFuncElement("GetResourceFromDefault", GetResourceFromDefault) +#endif // !FEATURE_CORECLR + FCFuncElement("GetCommandLineArgsNative", SystemNative::GetCommandLineArgs) + +#if defined(FEATURE_COMINTEROP) && !defined(FEATURE_CORESYSTEM) + QCFuncElement("WinRTSupported", SystemNative::WinRTSupported) +#endif // FEATURE_COMINTEROP + FCFuncElementSig("FailFast", &gsig_SM_Str_RetVoid, SystemNative::FailFast) +#ifndef FEATURE_CORECLR + FCFuncElementSig("FailFast", &gsig_SM_Str_Uint_RetVoid, SystemNative::FailFastWithExitCode) +#endif + FCFuncElementSig("FailFast", &gsig_SM_Str_Exception_RetVoid, SystemNative::FailFastWithException) +#ifndef FEATURE_CORECLR + QCFuncElement("GetIsCLRHosted", SystemNative::IsCLRHosted) + QCFuncElement("TriggerCodeContractFailure", SystemNative::TriggerCodeContractFailure) +#endif // !FEATURE_CORECLR +FCFuncEnd() + +FCFuncStart(gRuntimeEnvironmentFuncs) + FCFuncElement("GetModuleFileName", SystemNative::_GetModuleFileName) + FCFuncElement("GetRuntimeDirectoryImpl", SystemNative::GetRuntimeDirectory) +#ifdef FEATURE_FUSION + FCFuncElement("GetDeveloperPath", SystemNative::GetDeveloperPath) + FCFuncElement("GetHostBindingFile", SystemNative::GetHostBindingFile) +#endif // FEATURE_FUSION +#ifndef FEATURE_CORECLR + QCFuncElement("_GetSystemVersion", SystemNative::_GetSystemVersion) +#endif +#if defined(FEATURE_CLASSIC_COMINTEROP) && !defined(FEATURE_CORECLR) + QCFuncElement("GetRuntimeInterfaceImpl", SystemNative::GetRuntimeInterfaceImpl) +#endif +FCFuncEnd() + +FCFuncStart(gSerializationFuncs) +#ifndef FEATURE_CORECLR + FCFuncElement("GetEnableUnsafeTypeForwarders", ReflectionSerialization::GetEnableUnsafeTypeForwarders) + FCFuncElement("nativeGetSafeUninitializedObject", ReflectionSerialization::GetSafeUninitializedObject) +#endif + FCFuncElement("nativeGetUninitializedObject", ReflectionSerialization::GetUninitializedObject) +FCFuncEnd() + +FCFuncStart(gExceptionFuncs) + FCFuncElement("IsImmutableAgileException", ExceptionNative::IsImmutableAgileException) + FCFuncElement("nIsTransient", ExceptionNative::IsTransient) + FCFuncElement("GetMethodFromStackTrace", SystemNative::GetMethodFromStackTrace) +#ifndef FEATURE_CORECLR + FCFuncElement("StripFileInfo", ExceptionNative::StripFileInfo) +#endif + QCFuncElement("GetMessageFromNativeResources", ExceptionNative::GetMessageFromNativeResources) +#if defined(FEATURE_EXCEPTIONDISPATCHINFO) + FCFuncElement("PrepareForForeignExceptionRaise", ExceptionNative::PrepareForForeignExceptionRaise) + FCFuncElement("CopyStackTrace", ExceptionNative::CopyStackTrace) + FCFuncElement("CopyDynamicMethods", ExceptionNative::CopyDynamicMethods) + FCFuncElement("GetStackTracesDeepCopy", ExceptionNative::GetStackTracesDeepCopy) + FCFuncElement("SaveStackTracesFromDeepCopy", ExceptionNative::SaveStackTracesFromDeepCopy) +#endif // defined(FEATURE_EXCEPTIONDISPATCHINFO) +FCFuncEnd() + +FCFuncStart(gSafeHandleFuncs) + FCFuncElement("InternalDispose", SafeHandle::DisposeNative) + FCFuncElement("InternalFinalize", SafeHandle::Finalize) + FCFuncElement("SetHandleAsInvalid", SafeHandle::SetHandleAsInvalid) + FCFuncElement("DangerousAddRef", SafeHandle::DangerousAddRef) + FCFuncElement("DangerousRelease", SafeHandle::DangerousRelease) +FCFuncEnd() + +FCFuncStart(gCriticalHandleFuncs) + FCFuncElement("FireCustomerDebugProbe", CriticalHandle::FireCustomerDebugProbe) +FCFuncEnd() + +FCFuncStart(gSafeBufferFuncs) + FCFuncElement("PtrToStructureNative", SafeBuffer::PtrToStructure) + FCFuncElement("StructureToPtrNative", SafeBuffer::StructureToPtr) +FCFuncEnd() + +#ifndef FEATURE_COREFX_GLOBALIZATION +FCFuncStart(gNormalizationFuncs) + FCFuncElement("nativeNormalizationIsNormalizedString", COMNlsInfo::nativeNormalizationIsNormalizedString) + FCFuncElement("nativeNormalizationNormalizeString", COMNlsInfo::nativeNormalizationNormalizeString) + QCFuncElement("nativeNormalizationInitNormalization", COMNlsInfo::nativeNormalizationInitNormalization) +FCFuncEnd() +#endif // FEATURE_COREFX_GLOBALIZATION + +FCFuncStart(gTypedReferenceFuncs) + FCFuncElement("InternalToObject", ReflectionInvocation::TypedReferenceToObject) +#ifndef FEATURE_CORECLR + FCFuncElement("InternalSetTypedReference", ReflectionInvocation::SetTypedReference) + FCFuncElement("InternalMakeTypedReference", ReflectionInvocation::MakeTypedReference) +#endif +FCFuncEnd() + +FCFuncStart(gSystem_Type) + FCIntrinsic("GetTypeFromHandle", RuntimeTypeHandle::GetTypeFromHandle, CORINFO_INTRINSIC_GetTypeFromHandle) + FCFuncElement("GetTypeFromHandleUnsafe", RuntimeTypeHandle::GetRuntimeType) + FCIntrinsic("op_Equality", RuntimeTypeHandle::TypeEQ, CORINFO_INTRINSIC_TypeEQ) + FCIntrinsic("op_Inequality", RuntimeTypeHandle::TypeNEQ, CORINFO_INTRINSIC_TypeNEQ) +FCFuncEnd() + +FCFuncStart(gSystem_RuntimeType) + FCFuncElement("GetGUID", ReflectionInvocation::GetGUID) + FCFuncElement("_CreateEnum", ReflectionInvocation::CreateEnum) + FCFuncElement("CanValueSpecialCast", ReflectionInvocation::CanValueSpecialCast) + FCFuncElement("AllocateValueType", ReflectionInvocation::AllocateValueType) +#if defined(FEATURE_COMINTEROP) + FCFuncElement("GetTypeFromCLSIDImpl", ReflectionInvocation::GetClassFromCLSID) + FCFuncElement("GetTypeFromProgIDImpl", ReflectionInvocation::GetClassFromProgID) + FCFuncElement("InvokeDispMethod", ReflectionInvocation::InvokeDispMethod) +#ifdef FEATURE_COMINTEROP_WINRT_MANAGED_ACTIVATION + FCFuncElement("IsTypeExportedToWindowsRuntime", RuntimeTypeHandle::IsTypeExportedToWindowsRuntime) +#endif + FCFuncElement("IsWindowsRuntimeObjectType", RuntimeTypeHandle::IsWindowsRuntimeObjectType) +#endif // defined(FEATURE_COMINTEROP) +FCFuncEnd() + +FCFuncStart(gJitHelpers) + FCFuncElement("UnsafeSetArrayElement", JitHelpers::UnsafeSetArrayElement) +#ifdef _DEBUG + FCFuncElement("IsAddressInStack", ReflectionInvocation::IsAddressInStack) +#endif +FCFuncEnd() + +FCFuncStart(gCOMTypeHandleFuncs) + FCFuncElement("CreateInstance", RuntimeTypeHandle::CreateInstance) + FCFuncElement("CreateCaInstance", RuntimeTypeHandle::CreateCaInstance) + FCFuncElement("CreateInstanceForAnotherGenericParameter", RuntimeTypeHandle::CreateInstanceForGenericType) + QCFuncElement("GetGCHandle", RuntimeTypeHandle::GetGCHandle) + + FCFuncElement("IsInstanceOfType", RuntimeTypeHandle::IsInstanceOfType) + FCFuncElement("GetDeclaringMethod", RuntimeTypeHandle::GetDeclaringMethod) + FCFuncElement("GetDeclaringType", RuntimeTypeHandle::GetDeclaringType) + QCFuncElement("GetDefaultConstructor", RuntimeTypeHandle::GetDefaultConstructor) + QCFuncElement("MakePointer", RuntimeTypeHandle::MakePointer) + QCFuncElement("MakeByRef", RuntimeTypeHandle::MakeByRef) + QCFuncElement("MakeSZArray", RuntimeTypeHandle::MakeSZArray) + QCFuncElement("MakeArray", RuntimeTypeHandle::MakeArray) + QCFuncElement("IsCollectible", RuntimeTypeHandle::IsCollectible) + FCFuncElement("GetFirstIntroducedMethod", RuntimeTypeHandle::GetFirstIntroducedMethod) + FCFuncElement("GetNextIntroducedMethod", RuntimeTypeHandle::GetNextIntroducedMethod) + FCFuncElement("GetCorElementType", RuntimeTypeHandle::GetCorElementType) + FCFuncElement("GetAssembly", RuntimeTypeHandle::GetAssembly) + FCFuncElement("GetModule", RuntimeTypeHandle::GetModule) + FCFuncElement("GetBaseType", RuntimeTypeHandle::GetBaseType) + FCFuncElement("GetElementType", RuntimeTypeHandle::GetElementType) + FCFuncElement("GetArrayRank", RuntimeTypeHandle::GetArrayRank) + FCFuncElement("GetToken", RuntimeTypeHandle::GetToken) + FCFuncElement("_GetUtf8Name", RuntimeTypeHandle::GetUtf8Name) + FCFuncElement("GetMethodAt", RuntimeTypeHandle::GetMethodAt) + FCFuncElement("GetFields", RuntimeTypeHandle::GetFields) + FCFuncElement("GetInterfaces", RuntimeTypeHandle::GetInterfaces) + QCFuncElement("GetConstraints", RuntimeTypeHandle::GetConstraints) + FCFuncElement("GetAttributes", RuntimeTypeHandle::GetAttributes) + FCFuncElement("_GetMetadataImport", RuntimeTypeHandle::GetMetadataImport) + FCFuncElement("GetNumVirtuals", RuntimeTypeHandle::GetNumVirtuals) + QCFuncElement("VerifyInterfaceIsImplemented", RuntimeTypeHandle::VerifyInterfaceIsImplemented) + QCFuncElement("GetInterfaceMethodImplementationSlot", RuntimeTypeHandle::GetInterfaceMethodImplementationSlot) + FCFuncElement("IsComObject", RuntimeTypeHandle::IsComObject) +#ifdef FEATURE_REMOTING + FCFuncElement("HasProxyAttribute", RuntimeTypeHandle::HasProxyAttribute) + FCFuncElement("IsContextful", RuntimeTypeHandle::IsContextful) +#endif + FCFuncElement("IsValueType", RuntimeTypeHandle::IsValueType) + FCFuncElement("IsInterface", RuntimeTypeHandle::IsInterface) + QCFuncElement("IsSecurityCritical", RuntimeTypeHandle::IsSecurityCritical) + QCFuncElement("IsSecuritySafeCritical", RuntimeTypeHandle::IsSecuritySafeCritical) + QCFuncElement("IsSecurityTransparent", RuntimeTypeHandle::IsSecurityTransparent) + QCFuncElement("_IsVisible", RuntimeTypeHandle::IsVisible) + QCFuncElement("ConstructName", RuntimeTypeHandle::ConstructName) + FCFuncElement("CanCastTo", RuntimeTypeHandle::CanCastTo) + QCFuncElement("GetTypeByName", RuntimeTypeHandle::GetTypeByName) + QCFuncElement("GetTypeByNameUsingCARules", RuntimeTypeHandle::GetTypeByNameUsingCARules) + QCFuncElement("GetInstantiation", RuntimeTypeHandle::GetInstantiation) + QCFuncElement("Instantiate", RuntimeTypeHandle::Instantiate) + QCFuncElement("GetGenericTypeDefinition", RuntimeTypeHandle::GetGenericTypeDefinition) + FCFuncElement("HasInstantiation", RuntimeTypeHandle::HasInstantiation) + FCFuncElement("GetGenericVariableIndex", RuntimeTypeHandle::GetGenericVariableIndex) + FCFuncElement("IsGenericVariable", RuntimeTypeHandle::IsGenericVariable) + FCFuncElement("IsGenericTypeDefinition", RuntimeTypeHandle::IsGenericTypeDefinition) + FCFuncElement("ContainsGenericVariables", RuntimeTypeHandle::ContainsGenericVariables) + FCFuncElement("SatisfiesConstraints", RuntimeTypeHandle::SatisfiesConstraints) + FCFuncElement("Allocate", RuntimeTypeHandle::Allocate) //for A.CI + FCFuncElement("CompareCanonicalHandles", RuntimeTypeHandle::CompareCanonicalHandles) + FCIntrinsic("GetValueInternal", RuntimeTypeHandle::GetValueInternal, CORINFO_INTRINSIC_RTH_GetValueInternal) +#ifndef FEATURE_CORECLR + FCFuncElement("IsEquivalentTo", RuntimeTypeHandle::IsEquivalentTo) + FCFuncElement("IsEquivalentType", RuntimeTypeHandle::IsEquivalentType) +#endif // FEATURE_CORECLR +FCFuncEnd() + +FCFuncStart(gMetaDataImport) + FCFuncElement("_GetDefaultValue", MetaDataImport::GetDefaultValue) + FCFuncElement("_GetName", MetaDataImport::GetName) + FCFuncElement("_GetUserString", MetaDataImport::GetUserString) + FCFuncElement("_GetScopeProps", MetaDataImport::GetScopeProps) + FCFuncElement("_GetClassLayout", MetaDataImport::GetClassLayout) + FCFuncElement("_GetSignatureFromToken", MetaDataImport::GetSignatureFromToken) + FCFuncElement("_GetNamespace", MetaDataImport::GetNamespace) + FCFuncElement("_GetEventProps", MetaDataImport::GetEventProps) + FCFuncElement("_GetFieldDefProps", MetaDataImport::GetFieldDefProps) + FCFuncElement("_GetPropertyProps", MetaDataImport::GetPropertyProps) + FCFuncElement("_GetParentToken", MetaDataImport::GetParentToken) + FCFuncElement("_GetParamDefProps", MetaDataImport::GetParamDefProps) + FCFuncElement("_GetGenericParamProps", MetaDataImport::GetGenericParamProps) + + FCFuncElement("_Enum", MetaDataImport::Enum) + FCFuncElement("_GetMemberRefProps", MetaDataImport::GetMemberRefProps) + FCFuncElement("_GetCustomAttributeProps", MetaDataImport::GetCustomAttributeProps) + FCFuncElement("_GetFieldOffset", MetaDataImport::GetFieldOffset) + + FCFuncElement("_GetSigOfFieldDef", MetaDataImport::GetSigOfFieldDef) + FCFuncElement("_GetSigOfMethodDef", MetaDataImport::GetSigOfMethodDef) + FCFuncElement("_GetFieldMarshal", MetaDataImport::GetFieldMarshal) + FCFuncElement("_GetPInvokeMap", MetaDataImport::GetPinvokeMap) + FCFuncElement("_IsValidToken", MetaDataImport::IsValidToken) + FCFuncElement("_GetMarshalAs", MetaDataImport::GetMarshalAs) +FCFuncEnd() + +FCFuncStart(gRuntimeFieldInfoFuncs) + FCFuncElement("PerformVisibilityCheckOnField", ReflectionInvocation::PerformVisibilityCheckOnField) +FCFuncEnd() + +FCFuncStart(gSignatureNative) + FCFuncElement("GetSignature", SignatureNative::GetSignature) + FCFuncElement("GetCustomModifiers", SignatureNative::GetCustomModifiers) + FCFuncElement("CompareSig", SignatureNative::CompareSig) +FCFuncEnd() + +FCFuncStart(gRuntimeMethodHandle) + QCFuncElement("ConstructInstantiation", RuntimeMethodHandle::ConstructInstantiation) + FCFuncElement("_GetCurrentMethod", RuntimeMethodHandle::GetCurrentMethod) +#ifdef FEATURE_SERIALIZATION + FCFuncElement("SerializationInvoke", RuntimeMethodHandle::SerializationInvoke) +#endif // FEATURE_SERIALIZATION + FCFuncElement("InvokeMethod", RuntimeMethodHandle::InvokeMethod) + QCFuncElement("GetFunctionPointer", RuntimeMethodHandle::GetFunctionPointer) + FCFuncElement("GetImplAttributes", RuntimeMethodHandle::GetImplAttributes) + FCFuncElement("GetAttributes", RuntimeMethodHandle::GetAttributes) + FCFuncElement("GetDeclaringType", RuntimeMethodHandle::GetDeclaringType) + FCFuncElement("GetSlot", RuntimeMethodHandle::GetSlot) + FCFuncElement("GetMethodDef", RuntimeMethodHandle::GetMethodDef) + FCFuncElement("GetName", RuntimeMethodHandle::GetName) + FCFuncElement("_GetUtf8Name", RuntimeMethodHandle::GetUtf8Name) + FCFuncElement("MatchesNameHash", RuntimeMethodHandle::MatchesNameHash) + QCFuncElement("GetMethodInstantiation", RuntimeMethodHandle::GetMethodInstantiation) + FCFuncElement("HasMethodInstantiation", RuntimeMethodHandle::HasMethodInstantiation) + FCFuncElement("IsGenericMethodDefinition", RuntimeMethodHandle::IsGenericMethodDefinition) + FCFuncElement("IsTypicalMethodDefinition", RuntimeMethodHandle::IsTypicalMethodDefinition) + QCFuncElement("GetTypicalMethodDefinition", RuntimeMethodHandle::GetTypicalMethodDefinition) + QCFuncElement("StripMethodInstantiation", RuntimeMethodHandle::StripMethodInstantiation) + FCFuncElement("GetStubIfNeeded", RuntimeMethodHandle::GetStubIfNeeded) + FCFuncElement("GetMethodFromCanonical", RuntimeMethodHandle::GetMethodFromCanonical) + FCFuncElement("IsDynamicMethod", RuntimeMethodHandle::IsDynamicMethod) + FCFuncElement("GetMethodBody", RuntimeMethodHandle::GetMethodBody) +#ifndef FEATURE_CORECLR + FCFuncElement("_IsTokenSecurityTransparent", RuntimeMethodHandle::IsTokenSecurityTransparent) + QCFuncElement("_IsSecurityCritical", RuntimeMethodHandle::IsSecurityCritical) + QCFuncElement("_IsSecuritySafeCritical", RuntimeMethodHandle::IsSecuritySafeCritical) +#endif // FEATURE_CORECLR + QCFuncElement("_IsSecurityTransparent", RuntimeMethodHandle::IsSecurityTransparent) + FCFuncElement("CheckLinktimeDemands", RuntimeMethodHandle::CheckLinktimeDemands) + QCFuncElement("IsCAVisibleFromDecoratedType", RuntimeMethodHandle::IsCAVisibleFromDecoratedType) + FCFuncElement("IsConstructor", RuntimeMethodHandle::IsConstructor) + QCFuncElement("Destroy", RuntimeMethodHandle::Destroy) + FCFuncElement("GetResolver", RuntimeMethodHandle::GetResolver) + FCFuncElement("GetLoaderAllocator", RuntimeMethodHandle::GetLoaderAllocator) + FCFuncElement("GetSpecialSecurityFlags", ReflectionInvocation::GetSpecialSecurityFlags) +#ifndef FEATURE_CORECLR + QCFuncElement("GetCallerType", RuntimeMethodHandle::GetCallerType) + FCFuncElement("PerformSecurityCheck", ReflectionInvocation::PerformSecurityCheck) +#endif // FEATURE_CORECLR +FCFuncEnd() + +FCFuncStart(gCOMDefaultBinderFuncs) + FCFuncElement("CanConvertPrimitive", ReflectionBinder::DBCanConvertPrimitive) + FCFuncElement("CanConvertPrimitiveObjectToType", ReflectionBinder::DBCanConvertObjectPrimitive) +FCFuncEnd() + + +FCFuncStart(gCOMFieldHandleNewFuncs) + FCFuncElement("GetValue", RuntimeFieldHandle::GetValue) + FCFuncElement("SetValue", RuntimeFieldHandle::SetValue) +#ifndef FEATURE_CORECLR + FCFuncElement("GetValueDirect", RuntimeFieldHandle::GetValueDirect) +#endif +#ifdef FEATURE_SERIALIZATION + FCFuncElement("SetValueDirect", RuntimeFieldHandle::SetValueDirect) +#endif + FCFuncElement("GetName", RuntimeFieldHandle::GetName) + FCFuncElement("_GetUtf8Name", RuntimeFieldHandle::GetUtf8Name) + FCFuncElement("MatchesNameHash", RuntimeFieldHandle::MatchesNameHash) + FCFuncElement("GetAttributes", RuntimeFieldHandle::GetAttributes) + FCFuncElement("GetApproxDeclaringType", RuntimeFieldHandle::GetApproxDeclaringType) + FCFuncElement("GetToken", RuntimeFieldHandle::GetToken) + FCFuncElement("GetStaticFieldForGenericType", RuntimeFieldHandle::GetStaticFieldForGenericType) + QCFuncElement("IsSecurityCritical", RuntimeFieldHandle::IsSecurityCritical) + QCFuncElement("IsSecuritySafeCritical", RuntimeFieldHandle::IsSecuritySafeCritical) + QCFuncElement("IsSecurityTransparent", RuntimeFieldHandle::IsSecurityTransparent) + FCFuncElement("AcquiresContextFromThis", RuntimeFieldHandle::AcquiresContextFromThis) + QCFuncElement("CheckAttributeAccess", RuntimeFieldHandle::CheckAttributeAccess) +FCFuncEnd() + + +FCFuncStart(gCOMModuleFuncs) + QCFuncElement("GetType", COMModule::GetType) + QCFuncElement("GetScopeName", COMModule::GetScopeName) + FCFuncElement("GetTypes", COMModule::GetTypes) + QCFuncElement("GetFullyQualifiedName", COMModule::GetFullyQualifiedName) + QCFuncElement("nIsTransientInternal", COMModule::IsTransient) + FCFuncElement("IsResource", COMModule::IsResource) +#if defined(FEATURE_X509) && defined(FEATURE_CAS_POLICY) + QCFuncElement("GetSignerCertificate", COMModule::GetSignerCertificate) +#endif // defined(FEATURE_X509) && defined(FEATURE_CAS_POLICY) +FCFuncEnd() + +FCFuncStart(gCOMModuleBuilderFuncs) + FCFuncElement("nCreateISymWriterForDynamicModule", COMModule::nCreateISymWriterForDynamicModule) + QCFuncElement("GetStringConstant", COMModule::GetStringConstant) + QCFuncElement("GetTypeRef", COMModule::GetTypeRef) + QCFuncElement("GetTokenFromTypeSpec", COMModule::GetTokenFromTypeSpec) + QCFuncElement("GetMemberRef", COMModule::GetMemberRef) + QCFuncElement("GetMemberRefOfMethodInfo", COMModule::GetMemberRefOfMethodInfo) + QCFuncElement("GetMemberRefOfFieldInfo", COMModule::GetMemberRefOfFieldInfo) + QCFuncElement("GetMemberRefFromSignature", COMModule::GetMemberRefFromSignature) +#ifndef FEATURE_CORECLR + QCFuncElement("SetModuleName", COMModule::SetModuleName) + QCFuncElement("PreSavePEFile", COMDynamicWrite::PreSavePEFile) + QCFuncElement("SavePEFile", COMDynamicWrite::SavePEFile) + QCFuncElement("AddResource", COMDynamicWrite::AddResource) +#endif + QCFuncElement("GetArrayMethodToken", COMModule::GetArrayMethodToken) + QCFuncElement("SetFieldRVAContent", COMModule::SetFieldRVAContent) +#ifndef FEATURE_CORECLR + QCFuncElement("DefineNativeResourceFile", COMDynamicWrite::DefineNativeResourceFile) + QCFuncElement("DefineNativeResourceBytes", COMDynamicWrite::DefineNativeResourceBytes) +#endif // FEATURE_CORECLR +FCFuncEnd() + +FCFuncStart(gCOMModuleHandleFuncs) + FCFuncElement("GetToken", ModuleHandle::GetToken) + QCFuncElement("GetModuleType", ModuleHandle::GetModuleType) + FCFuncElement("GetDynamicMethod", ModuleHandle::GetDynamicMethod) + FCFuncElement("_GetMetadataImport", ModuleHandle::GetMetadataImport) + QCFuncElement("ResolveType", ModuleHandle::ResolveType) + QCFuncElement("ResolveMethod", ModuleHandle::ResolveMethod) + QCFuncElement("_ContainsPropertyMatchingHash", ModuleHandle::ContainsPropertyMatchingHash) + QCFuncElement("ResolveField", ModuleHandle::ResolveField) +#ifndef FEATURE_CORECLR + QCFuncElement("GetAssembly", ModuleHandle::GetAssembly) +#endif // FEATURE_CORECLR + QCFuncElement("GetPEKind", ModuleHandle::GetPEKind) + FCFuncElement("GetMDStreamVersion", ModuleHandle::GetMDStreamVersion) +FCFuncEnd() + +FCFuncStart(gCustomAttributeEncodedArgument) + FCFuncElement("ParseAttributeArguments", Attribute::ParseAttributeArguments) +FCFuncEnd() + +FCFuncStart(gPseudoCustomAttribute) + FCFuncElement("_GetSecurityAttributes", COMCustomAttribute::GetSecurityAttributes) +FCFuncEnd() + +FCFuncStart(gCOMCustomAttributeFuncs) + FCFuncElement("_ParseAttributeUsageAttribute", COMCustomAttribute::ParseAttributeUsageAttribute) + FCFuncElement("_CreateCaObject", COMCustomAttribute::CreateCaObject) + FCFuncElement("_GetPropertyOrFieldData", COMCustomAttribute::GetPropertyOrFieldData) +FCFuncEnd() + +FCFuncStart(gSecurityContextFrameFuncs) + FCFuncElement("Push", COMCustomAttribute::PushSecurityContextFrame) + FCFuncElement("Pop", COMCustomAttribute::PopSecurityContextFrame) +FCFuncEnd() + +FCFuncStart(gCOMClassWriter) + QCFuncElement("DefineGenericParam", COMDynamicWrite::DefineGenericParam) + QCFuncElement("DefineType", COMDynamicWrite::DefineType) + QCFuncElement("SetParentType", COMDynamicWrite::SetParentType) + QCFuncElement("AddInterfaceImpl", COMDynamicWrite::AddInterfaceImpl) + QCFuncElement("DefineMethod", COMDynamicWrite::DefineMethod) + QCFuncElement("DefineMethodSpec", COMDynamicWrite::DefineMethodSpec) + QCFuncElement("SetMethodIL", COMDynamicWrite::SetMethodIL) + QCFuncElement("TermCreateClass", COMDynamicWrite::TermCreateClass) + QCFuncElement("DefineField", COMDynamicWrite::DefineField) + QCFuncElement("DefineProperty", COMDynamicWrite::DefineProperty) + QCFuncElement("DefineEvent", COMDynamicWrite::DefineEvent) + QCFuncElement("DefineMethodSemantics", COMDynamicWrite::DefineMethodSemantics) + QCFuncElement("SetMethodImpl", COMDynamicWrite::SetMethodImpl) + QCFuncElement("DefineMethodImpl", COMDynamicWrite::DefineMethodImpl) + QCFuncElement("GetTokenFromSig", COMDynamicWrite::GetTokenFromSig) + QCFuncElement("SetFieldLayoutOffset", COMDynamicWrite::SetFieldLayoutOffset) + QCFuncElement("SetClassLayout", COMDynamicWrite::SetClassLayout) + QCFuncElement("SetParamInfo", COMDynamicWrite::SetParamInfo) +#ifndef FEATURE_CORECLR + QCFuncElement("SetPInvokeData", COMDynamicWrite::SetPInvokeData) + QCFuncElement("SetFieldMarshal", COMDynamicWrite::SetFieldMarshal) +#endif // FEATURE_CORECLR + QCFuncElement("SetConstantValue", COMDynamicWrite::SetConstantValue) + QCFuncElement("DefineCustomAttribute", COMDynamicWrite::DefineCustomAttribute) +#ifndef FEATURE_CORECLR + QCFuncElement("AddDeclarativeSecurity", COMDynamicWrite::AddDeclarativeSecurity) +#endif // FEATURE_CORECLR +FCFuncEnd() + +#ifdef FEATURE_METHOD_RENTAL +FCFuncStart(gCOMMethodRental) + QCFuncElement("SwapMethodBody", COMMethodRental::SwapMethodBody) +FCFuncEnd() +#endif // FEATURE_METHOD_RENTAL + +#ifdef FEATURE_CAS_POLICY +FCFuncStart(gFrameSecurityDescriptorFuncs) + FCFuncElement("IncrementOverridesCount", SecurityPolicy::IncrementOverridesCount) + FCFuncElement("DecrementOverridesCount", SecurityPolicy::DecrementOverridesCount) + FCFuncElement("IncrementAssertCount", SecurityPolicy::IncrementAssertCount) + FCFuncElement("DecrementAssertCount", SecurityPolicy::DecrementAssertCount) +FCFuncEnd() +#endif // FEATURE_CAS_POLICY + +#ifdef FEATURE_CAS_POLICY +FCFuncStart(gCodeAccessSecurityEngineFuncs) + FCFuncElement("SpecialDemand", SecurityStackWalk::FcallSpecialDemand) + FCFuncElement("Check", SecurityStackWalk::Check) + FCFuncElement("CheckNReturnSO", SecurityStackWalk::CheckNReturnSO) + FCFuncElement("GetZoneAndOriginInternal", SecurityStackWalk::GetZoneAndOrigin) +#ifdef FEATURE_COMPRESSEDSTACK + FCFuncElement("QuickCheckForAllDemands", SecurityStackWalk::FCallQuickCheckForAllDemands) + FCFuncElement("AllDomainsHomogeneousWithNoStackModifiers", SecurityStackWalk::FCallAllDomainsHomogeneousWithNoStackModifiers) +#endif +FCFuncEnd() +#endif // FEATURE_CAS_POLICY + +FCFuncStart(gCompatibilitySwitchFuncs) + FCFuncElement("GetValueInternalCall", CompatibilitySwitch::GetValue) +#ifndef FEATURE_CORECLR + FCFuncElement("IsEnabledInternalCall", CompatibilitySwitch::IsEnabled) + FCFuncElement("GetAppContextOverridesInternalCall", CompatibilitySwitch::GetAppContextOverrides) +#endif +FCFuncEnd() + + +#ifdef FEATURE_COMPRESSEDSTACK +FCFuncStart(gCompressedStackFuncs) + FCFuncElement("DestroyDelayedCompressedStack", SecurityStackWalk::FcallDestroyDelayedCompressedStack) + FCFuncElement("DestroyDCSList", NewCompressedStack::DestroyDCSList) + FCFuncElement("GetDelayedCompressedStack", SecurityStackWalk::EcallGetDelayedCompressedStack) + FCFuncElement("GetDCSCount", NewCompressedStack::FCallGetDCSCount) + FCFuncElement("GetDomainCompressedStack", NewCompressedStack::GetDomainCompressedStack) + FCFuncElement("GetHomogeneousPLS", NewCompressedStack::FCallGetHomogeneousPLS) + FCFuncElement("IsImmediateCompletionCandidate", NewCompressedStack::FCallIsImmediateCompletionCandidate) +FCFuncEnd() + +FCFuncStart(gDomainCompressedStackFuncs) + FCFuncElement("GetDescCount", DomainCompressedStack::GetDescCount) + FCFuncElement("GetDomainPermissionSets", DomainCompressedStack::GetDomainPermissionSets) + FCFuncElement("GetDescriptorInfo", DomainCompressedStack::GetDescriptorInfo) + FCFuncElement("IgnoreDomain", DomainCompressedStack::IgnoreDomain) +FCFuncEnd() +#endif // #ifdef FEATURE_COMPRESSEDSTACK + +FCFuncStart(gCOMSecurityManagerFuncs) + QCFuncElement("IsSameType", SecurityPolicy::IsSameType) + FCFuncElement("_SetThreadSecurity", SecurityPolicy::SetThreadSecurity) +#ifdef FEATURE_CAS_POLICY + QCFuncElement("GetGrantedPermissions", SecurityPolicy::GetGrantedPermissions) +#endif +FCFuncEnd() + +FCFuncStart(gCOMSecurityContextFuncs) +#ifdef FEATURE_IMPERSONATION + FCFuncElement("GetImpersonationFlowMode", SecurityPolicy::GetImpersonationFlowMode) +#endif +#ifdef FEATURE_COMPRESSEDSTACK + FCFuncElement("IsDefaultThreadSecurityInfo", SecurityPolicy::IsDefaultThreadSecurityInfo) +#endif // #ifdef FEATURE_COMPRESSEDSTACK +FCFuncEnd() + +#ifdef FEATURE_CAS_POLICY +FCFuncStart(gCOMSecurityZone) + QCFuncElement("_CreateFromUrl", SecurityPolicy::CreateFromUrl) +FCFuncEnd() +#endif // FEATURE_CAS_POLICY + +FCFuncStart(gCOMFileIOAccessFuncs) + QCFuncElement("IsLocalDrive", SecurityPolicy::IsLocalDrive) +FCFuncEnd() + +FCFuncStart(gCOMStringExpressionSetFuncs) + QCFuncElement("GetLongPathName", SecurityPolicy::_GetLongPathName) +FCFuncEnd() + + +FCFuncStart(gCOMUrlStringFuncs) + QCFuncElement("GetDeviceName", SecurityPolicy::GetDeviceName) +FCFuncEnd() + +#ifdef FEATURE_CAS_POLICY +FCFuncStart(gCOMSecurityRuntimeFuncs) + FCFuncElement("GetSecurityObjectForFrame", SecurityRuntime::GetSecurityObjectForFrame) +FCFuncEnd() +#endif // FEATURE_CAS_POLICY + +#ifdef FEATURE_X509 + +FCFuncStart(gX509CertificateFuncs) +#ifndef FEATURE_CORECLR +FCFuncElement("_AddCertificateToStore", COMX509Store::AddCertificate) +#endif // !FEATURE_CORECLR + FCFuncElement("_DuplicateCertContext", COMX509Certificate::DuplicateCertContext) +#ifndef FEATURE_CORECLR + FCFuncElement("_ExportCertificatesToBlob", COMX509Store::ExportCertificatesToBlob) +#endif // !FEATURE_CORECLR + FCFuncElement("_GetCertRawData", COMX509Certificate::GetCertRawData) + FCFuncElement("_GetDateNotAfter", COMX509Certificate::GetDateNotAfter) + FCFuncElement("_GetDateNotBefore", COMX509Certificate::GetDateNotBefore) + FCFuncElement("_GetIssuerName", COMX509Certificate::GetIssuerName) + FCFuncElement("_GetPublicKeyOid", COMX509Certificate::GetPublicKeyOid) + FCFuncElement("_GetPublicKeyParameters", COMX509Certificate::GetPublicKeyParameters) + FCFuncElement("_GetPublicKeyValue", COMX509Certificate::GetPublicKeyValue) + FCFuncElement("_GetSerialNumber", COMX509Certificate::GetSerialNumber) + FCFuncElement("_GetSubjectInfo", COMX509Certificate::GetSubjectInfo) + FCFuncElement("_GetThumbprint", COMX509Certificate::GetThumbprint) + FCFuncElement("_LoadCertFromBlob", COMX509Certificate::LoadCertFromBlob) + FCFuncElement("_LoadCertFromFile", COMX509Certificate::LoadCertFromFile) +#ifndef FEATURE_CORECLR + FCFuncElement("_OpenX509Store", COMX509Store::OpenX509Store) +#endif // !FEATURE_CORECLR + FCFuncElement("_QueryCertBlobType", COMX509Certificate::QueryCertBlobType) + FCFuncElement("_QueryCertFileType", COMX509Certificate::QueryCertFileType) +FCFuncEnd() + +FCFuncStart(gX509SafeCertContextHandleFuncs) + FCFuncElement("_FreePCertContext", COMX509Certificate::FreePCertContext) +FCFuncEnd() + +#ifndef FEATURE_CORECLR +FCFuncStart(gX509SafeCertStoreHandleFuncs) + FCFuncElement("_FreeCertStoreContext", COMX509Store::FreeCertStoreContext) +FCFuncEnd() +#endif + +#endif // FEATURE_X509 + +FCFuncStart(gBCLDebugFuncs) + FCFuncElement("GetRegistryLoggingValues", ManagedLoggingHelper::GetRegistryLoggingValues) +FCFuncEnd() + +#ifdef FEATURE_CRYPTO +FCFuncStart(gCryptographyUtilsFuncs) + FCFuncElement("_AcquireCSP", COMCryptography::_AcquireCSP) + FCFuncElement("_CreateCSP", COMCryptography::_CreateCSP) + FCFuncElement("_ExportKey", COMCryptography::_ExportKey) + FCFuncElement("_GenerateKey", COMCryptography::_GenerateKey) + FCFuncElement("_GetKeyParameter", COMCryptography::_GetKeyParameter) + FCFuncElement("_GetUserKey", COMCryptography::_GetUserKey) + FCFuncElement("_ImportKey", COMCryptography::_ImportKey) + FCFuncElement("_ImportCspBlob", COMCryptography::_ImportCspBlob) + FCFuncElement("_OpenCSP", COMCryptography::_OpenCSP) + QCFuncElement("ExportCspBlob", COMCryptography::ExportCspBlob) + QCFuncElement("GetPersistKeyInCsp", COMCryptography::GetPersistKeyInCsp) + QCFuncElement("SetPersistKeyInCsp", COMCryptography::SetPersistKeyInCsp) + QCFuncElement("SignValue", COMCryptography::SignValue) + QCFuncElement("VerifySign", COMCryptography::VerifySign) + FCFuncElement("_GetProviderParameter", COMCryptography::_GetProviderParameter) + FCFuncElement("_ProduceLegacyHmacValues", COMCryptography::_ProduceLegacyHMACValues) + QCFuncElement("CreateHash", COMCryptography::CreateHash) + QCFuncElement("EndHash", COMCryptography::EndHash) + QCFuncElement("HashData", COMCryptography::HashData) + QCFuncElement("SetProviderParameter", COMCryptography::SetProviderParameter) +#ifndef FEATURE_CORECLR + FCFuncElement("_DecryptData", COMCryptography::_DecryptData) + FCFuncElement("_EncryptData", COMCryptography::_EncryptData) + FCFuncElement("_GetEnforceFipsPolicySetting", COMCryptography::_GetEnforceFipsPolicySetting) + FCFuncElement("_ImportBulkKey", COMCryptography::_ImportBulkKey) + FCFuncElement("_GetKeySetSecurityInfo", COMCryptography::_GetKeySetSecurityInfo) + QCFuncElement("SearchForAlgorithm", COMCryptography::SearchForAlgorithm) + QCFuncElement("SetKeyParamDw", COMCryptography::SetKeyParamDw) + QCFuncElement("SetKeyParamRgb", COMCryptography::SetKeyParamRgb) + QCFuncElement("SetKeySetSecurityInfo", COMCryptography::SetKeySetSecurityInfo) +#endif //FEATURE_CORECLR +FCFuncEnd() + +FCFuncStart(gSafeHashHandleFuncs) + QCFuncElement("FreeHash", COMCryptography::FreeHash) +FCFuncEnd() + +FCFuncStart(gSafeKeyHandleFuncs) + QCFuncElement("FreeKey", COMCryptography::FreeKey) +FCFuncEnd() + +FCFuncStart(gSafeProvHandleFuncs) + QCFuncElement("FreeCsp", COMCryptography::FreeCsp) +FCFuncEnd() + +#ifndef FEATURE_CORECLR +FCFuncStart(gPasswordDeriveBytesFuncs) + QCFuncElement("DeriveKey", COMCryptography::DeriveKey) +FCFuncEnd() +#endif + +#if defined(FEATURE_CRYPTO) +FCFuncStart(gRfc2898DeriveBytesFuncs) + QCFuncElement("DeriveKey", COMCryptography::DeriveKey) +FCFuncEnd() +#endif + +#ifndef FEATURE_CORECLR +FCFuncStart(gRNGCryptoServiceProviderFuncs) + QCFuncElement("GetBytes", COMCryptography::GetBytes) + QCFuncElement("GetNonZeroBytes", COMCryptography::GetNonZeroBytes) +FCFuncEnd() +#endif //FEATURE_CORECLR + +FCFuncStart(gRSACryptoServiceProviderFuncs) + QCFuncElement("DecryptKey", COMCryptography::DecryptKey) + QCFuncElement("EncryptKey", COMCryptography::EncryptKey) +FCFuncEnd() +#endif // FEATURE_CRYPTO + +FCFuncStart(gAppDomainManagerFuncs) + QCFuncElement("GetEntryAssembly", AssemblyNative::GetEntryAssembly) +#ifdef FEATURE_APPDOMAINMANAGER_INITOPTIONS + FCFuncElement("HasHost", AppDomainNative::HasHost) + QCFuncElement("RegisterWithHost", AppDomainNative::RegisterWithHost) +#endif +FCFuncEnd() + +#ifdef FEATURE_FUSION +FCFuncStart(gAppDomainSetupFuncs) + FCFuncElement("UpdateContextProperty", AppDomainNative::UpdateContextProperty) +FCFuncEnd() +#endif // FEATURE_FUSION + +#ifndef FEATURE_CORECLR +FCFuncStart(gWindowsRuntimeContextFuncs) + QCFuncElement("CreateDesignerContext", AppDomainNative::CreateDesignerContext) + QCFuncElement("SetCurrentContext", AppDomainNative::SetCurrentDesignerContext) +FCFuncEnd() +#endif // FEATURE_CORECLR + +FCFuncStart(gAppDomainFuncs) +#ifdef FEATURE_REMOTING + FCFuncElement("GetDefaultDomain", AppDomainNative::GetDefaultDomain) +#endif +#ifdef FEATURE_FUSION + FCFuncElement("GetFusionContext", AppDomainNative::GetFusionContext) +#endif // FEATURE_FUSION + FCFuncElement("IsStringInterned", AppDomainNative::IsStringInterned) + FCFuncElement("IsUnloadingForcedFinalize", AppDomainNative::IsUnloadingForcedFinalize) +#ifdef FEATURE_REMOTING + FCFuncElement("nCreateDomain", AppDomainNative::CreateDomain) + FCFuncElement("nCreateInstance", AppDomainNative::CreateInstance) +#endif +#ifdef FEATURE_LOADER_OPTIMIZATION + FCFuncElement("UpdateLoaderOptimization", AppDomainNative::UpdateLoaderOptimization) +#endif // FEATURE_LOADER_OPTIMIZATION + QCFuncElement("DisableFusionUpdatesFromADManager", AppDomainNative::DisableFusionUpdatesFromADManager) + +#ifdef FEATURE_APPX + QCFuncElement("nGetAppXFlags", AppDomainNative::GetAppXFlags) +#endif + QCFuncElement("GetAppDomainManagerType", AppDomainNative::GetAppDomainManagerType) + QCFuncElement("SetAppDomainManagerType", AppDomainNative::SetAppDomainManagerType) + FCFuncElement("nGetFriendlyName", AppDomainNative::GetFriendlyName) +#ifndef FEATURE_CORECLR + FCFuncElement("GetSecurityDescriptor", AppDomainNative::GetSecurityDescriptor) + FCFuncElement("nIsDefaultAppDomainForEvidence", AppDomainNative::IsDefaultAppDomainForEvidence) + FCFuncElement("nGetAssemblies", AppDomainNative::GetAssemblies) +#endif +#ifdef FEATURE_CAS_POLICY + FCFuncElement("nSetHostSecurityManagerFlags", AppDomainNative::SetHostSecurityManagerFlags) + QCFuncElement("SetLegacyCasPolicyEnabled", AppDomainNative::SetLegacyCasPolicyEnabled) +#endif // FEATURE_CAS_POLICY +#ifdef FEATURE_APTCA + QCFuncElement("SetCanonicalConditionalAptcaList", AppDomainNative::SetCanonicalConditionalAptcaList) +#endif // FEATURE_ATPCA + QCFuncElement("SetSecurityHomogeneousFlag", AppDomainNative::SetSecurityHomogeneousFlag) + QCFuncElement("SetupDomainSecurity", AppDomainNative::SetupDomainSecurity) + FCFuncElement("nSetupFriendlyName", AppDomainNative::SetupFriendlyName) +#if FEATURE_COMINTEROP + FCFuncElement("nSetDisableInterfaceCache", AppDomainNative::SetDisableInterfaceCache) +#endif // FEATURE_COMINTEROP +#ifndef FEATURE_CORECLR + FCFuncElement("_nExecuteAssembly", AppDomainNative::ExecuteAssembly) +#endif +#ifdef FEATURE_VERSIONING + FCFuncElement("nCreateContext", AppDomainNative::CreateContext) +#endif // FEATURE_VERSIONING +#ifdef FEATURE_REMOTING + FCFuncElement("nUnload", AppDomainNative::Unload) +#endif // FEATURE_REMOTING + FCFuncElement("GetId", AppDomainNative::GetId) + FCFuncElement("GetOrInternString", AppDomainNative::GetOrInternString) + QCFuncElement("GetGrantSet", AppDomainNative::GetGrantSet) +#ifdef FEATURE_REMOTING + FCFuncElement("GetDynamicDir", AppDomainNative::GetDynamicDir) +#ifdef FEATURE_CAS_POLICY + QCFuncElement("GetIsLegacyCasPolicyEnabled", AppDomainNative::IsLegacyCasPolicyEnabled) +#endif // FEATURE_CAS_POLICY + FCFuncElement("nChangeSecurityPolicy", AppDomainNative::ChangeSecurityPolicy) + FCFuncElement("IsDomainIdValid", AppDomainNative::IsDomainIdValid) + FCFuncElement("nApplyPolicy", AppDomainNative::nApplyPolicy) +#endif // FEATURE_REMOTING +#ifdef FEATURE_CORECLR + QCFuncElement("nSetupBindingPaths", AppDomainNative::SetupBindingPaths) + QCFuncElement("nSetNativeDllSearchDirectories", AppDomainNative::SetNativeDllSearchDirectories) +#endif + FCFuncElement("IsFinalizingForUnload", AppDomainNative::IsFinalizingForUnload) + FCFuncElement("PublishAnonymouslyHostedDynamicMethodsAssembly", AppDomainNative::PublishAnonymouslyHostedDynamicMethodsAssembly) +#ifdef FEATURE_APPDOMAIN_RESOURCE_MONITORING + FCFuncElement("nEnableMonitoring", AppDomainNative::EnableMonitoring) + FCFuncElement("nMonitoringIsEnabled", AppDomainNative::MonitoringIsEnabled) + FCFuncElement("nGetTotalProcessorTime", AppDomainNative::GetTotalProcessorTime) + FCFuncElement("nGetTotalAllocatedMemorySize", AppDomainNative::GetTotalAllocatedMemorySize) + FCFuncElement("nGetLastSurvivedMemorySize", AppDomainNative::GetLastSurvivedMemorySize) + FCFuncElement("nGetLastSurvivedProcessMemorySize", AppDomainNative::GetLastSurvivedProcessMemorySize) + +#endif //FEATURE_APPDOMAIN_RESOURCE_MONITORING +FCFuncEnd() + +#if defined(FEATURE_MULTICOREJIT) && !defined(FEATURE_CORECLR) +FCFuncStart(gProfileOptimizationFuncs) + QCFuncElement("InternalSetProfileRoot", MultiCoreJITNative::InternalSetProfileRoot) + QCFuncElement("InternalStartProfile", MultiCoreJITNative::InternalStartProfile) +FCFuncEnd() +#endif // defined(FEATURE_MULTICOREJIT) && !defined(FEATURE_CORECLR) + +FCFuncStart(gUtf8String) + FCFuncElement("EqualsCaseSensitive", Utf8String::EqualsCaseSensitive) + QCFuncElement("EqualsCaseInsensitive", Utf8String::EqualsCaseInsensitive) + QCFuncElement("HashCaseInsensitive", Utf8String::HashCaseInsensitive) +FCFuncEnd() + +FCFuncStart(gTypeNameBuilder) + QCFuncElement("CreateTypeNameBuilder", TypeNameBuilder::_CreateTypeNameBuilder) + QCFuncElement("ReleaseTypeNameBuilder", TypeNameBuilder::_ReleaseTypeNameBuilder) + QCFuncElement("OpenGenericArguments", TypeNameBuilder::_OpenGenericArguments) + QCFuncElement("CloseGenericArguments", TypeNameBuilder::_CloseGenericArguments) + QCFuncElement("OpenGenericArgument", TypeNameBuilder::_OpenGenericArgument) + QCFuncElement("CloseGenericArgument", TypeNameBuilder::_CloseGenericArgument) + QCFuncElement("AddName", TypeNameBuilder::_AddName) + QCFuncElement("AddPointer", TypeNameBuilder::_AddPointer) + QCFuncElement("AddByRef", TypeNameBuilder::_AddByRef) + QCFuncElement("AddSzArray", TypeNameBuilder::_AddSzArray) + QCFuncElement("AddArray", TypeNameBuilder::_AddArray) + QCFuncElement("AddAssemblySpec", TypeNameBuilder::_AddAssemblySpec) + QCFuncElement("ToString", TypeNameBuilder::_ToString) + QCFuncElement("Clear", TypeNameBuilder::_Clear) +FCFuncEnd() + +#ifndef FEATURE_CORECLR +FCFuncStart(gSafeTypeNameParserHandle) + QCFuncElement("_ReleaseTypeNameParser", TypeName::QReleaseTypeNameParser) +FCFuncEnd() + +FCFuncStart(gTypeNameParser) + QCFuncElement("_CreateTypeNameParser", TypeName::QCreateTypeNameParser) + QCFuncElement("_GetNames", TypeName::QGetNames) + QCFuncElement("_GetTypeArguments", TypeName::QGetTypeArguments) + QCFuncElement("_GetModifiers", TypeName::QGetModifiers) + QCFuncElement("_GetAssemblyName", TypeName::QGetAssemblyName) +FCFuncEnd() +#endif //!FEATURE_CORECLR + +#ifdef FEATURE_CAS_POLICY +FCFuncStart(gPEFileFuncs) + QCFuncElement("ReleaseSafePEFileHandle", AssemblyNative::ReleaseSafePEFileHandle) +FCFuncEnd() +#endif // FEATURE_CAS_POLICY + +FCFuncStart(gManifestBasedResourceGrovelerFuncs) + QCFuncElement("GetNeutralResourcesLanguageAttribute", AssemblyNative::GetNeutralResourcesLanguageAttribute) +FCFuncEnd() + +FCFuncStart(gAssemblyFuncs) + QCFuncElement("GetFullName", AssemblyNative::GetFullName) + QCFuncElement("GetLocation", AssemblyNative::GetLocation) + QCFuncElement("GetResource", AssemblyNative::GetResource) + QCFuncElement("GetCodeBase", AssemblyNative::GetCodeBase) + QCFuncElement("GetExecutingAssembly", AssemblyNative::GetExecutingAssembly) + QCFuncElement("GetFlags", AssemblyNative::GetFlags) + QCFuncElement("GetHashAlgorithm", AssemblyNative::GetHashAlgorithm) + QCFuncElement("GetLocale", AssemblyNative::GetLocale) + QCFuncElement("GetPublicKey", AssemblyNative::GetPublicKey) +#ifndef FEATURE_CORECLR + QCFuncElement("GetSecurityRuleSet", AssemblyNative::GetSecurityRuleSet) +#endif // !FEATURE_CORECLR + QCFuncElement("GetSimpleName", AssemblyNative::GetSimpleName) + QCFuncElement("GetVersion", AssemblyNative::GetVersion) + FCFuncElement("FCallIsDynamic", AssemblyNative::IsDynamic) + FCFuncElement("_nLoad", AssemblyNative::Load) +#ifndef FEATURE_CORECLR + FCFuncElement("IsFrameworkAssembly", AssemblyNative::IsFrameworkAssembly) + FCFuncElement("IsNewPortableAssembly", AssemblyNative::IsNewPortableAssembly) +#endif + FCFuncElement("nLoadImage", AssemblyNative::LoadImage) +#ifndef FEATURE_CORECLR + FCFuncElement("nLoadFile", AssemblyNative::LoadFile) + QCFuncElement("LoadModule", AssemblyNative::LoadModule) +#endif // FEATURE_CORECLR + QCFuncElement("GetType", AssemblyNative::GetType) + QCFuncElement("GetManifestResourceInfo", AssemblyNative::GetManifestResourceInfo) +#ifndef FEATURE_CORECLR + QCFuncElement("UseRelativeBindForSatellites", AssemblyNative::UseRelativeBindForSatellites) +#endif + QCFuncElement("GetModules", AssemblyNative::GetModules) + QCFuncElement("GetModule", AssemblyNative::GetModule) + FCFuncElement("GetReferencedAssemblies", AssemblyNative::GetReferencedAssemblies) +#ifndef FEATURE_CORECLR + QCFuncElement("GetForwardedTypes", AssemblyNative::GetForwardedTypes) +#endif // FEATURE_CORECLR + QCFuncElement("GetExportedTypes", AssemblyNative::GetExportedTypes) + FCFuncElement("GetManifestResourceNames", AssemblyNative::GetManifestResourceNames) + QCFuncElement("GetEntryPoint", AssemblyNative::GetEntryPoint) + QCFuncElement("IsAllSecurityTransparent", AssemblyNative::IsAllSecurityTransparent) + QCFuncElement("IsAllSecurityCritical", AssemblyNative::IsAllSecurityCritical) +#ifndef FEATURE_CORECLR + QCFuncElement("IsAllSecuritySafeCritical", AssemblyNative::IsAllSecuritySafeCritical) + QCFuncElement("IsAllPublicAreaSecuritySafeCritical", AssemblyNative::IsAllPublicAreaSecuritySafeCritical) + QCFuncElement("GetGrantSet", AssemblyNative::GetGrantSet) + FCFuncElement("IsGlobalAssemblyCache", AssemblyNative::IsGlobalAssemblyCache) +#endif // !FEATURE_CORECLR +#ifdef FEATURE_CAS_POLICY + QCFuncElement("GetEvidence", SecurityPolicy::GetEvidence) +#endif // FEATURE_CAS_POLICY + QCFuncElement("GetImageRuntimeVersion", AssemblyNative::GetImageRuntimeVersion) + FCFuncElement("IsReflectionOnly", AssemblyNative::IsReflectionOnly) +#ifndef FEATURE_CORECLR + QCFuncElement("GetHostContext", AssemblyNative::GetHostContext) +#endif +#ifdef FEATURE_CAS_POLICY + QCFuncElement("GetIsStrongNameVerified", AssemblyNative::IsStrongNameVerified) + QCFuncElement("GetRawBytes", AssemblyNative::GetRawBytes) +#endif // FEATURE_CAS_POLICY + FCFuncElement("GetManifestModule", AssemblyHandle::GetManifestModule) + FCFuncElement("GetToken", AssemblyHandle::GetToken) +#ifdef FEATURE_APTCA + FCFuncElement("AptcaCheck", AssemblyHandle::AptcaCheck) +#endif // FEATURE_APTCA +#ifdef FEATURE_APPX + QCFuncElement("nIsDesignerBindingContext", AssemblyNative::IsDesignerBindingContext) +#endif + +FCFuncEnd() + +#ifdef FEATURE_CORECLR +FCFuncStart(gAssemblyExtensionsFuncs) + QCFuncElement("InternalTryGetRawMetadata", AssemblyNative::InternalTryGetRawMetadata) +FCFuncEnd() +#endif + +#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) +FCFuncStart(gAssemblyLoadContextFuncs) + QCFuncElement("InitializeAssemblyLoadContext", AssemblyNative::InitializeAssemblyLoadContext) + QCFuncElement("LoadFromPath", AssemblyNative::LoadFromPath) + QCFuncElement("InternalLoadUnmanagedDllFromPath", AssemblyNative::InternalLoadUnmanagedDllFromPath) + QCFuncElement("OverrideDefaultAssemblyLoadContextForCurrentDomain", AssemblyNative::OverrideDefaultAssemblyLoadContextForCurrentDomain) + QCFuncElement("CanUseAppPathAssemblyLoadContextInCurrentDomain", AssemblyNative::CanUseAppPathAssemblyLoadContextInCurrentDomain) + QCFuncElement("LoadFromStream", AssemblyNative::LoadFromStream) + FCFuncElement("nGetFileInformation", AssemblyNameNative::GetFileInformation) + QCFuncElement("GetLoadContextForAssembly", AssemblyNative::GetLoadContextForAssembly) +#if defined(FEATURE_MULTICOREJIT) + QCFuncElement("InternalSetProfileRoot", MultiCoreJITNative::InternalSetProfileRoot) + QCFuncElement("InternalStartProfile", MultiCoreJITNative::InternalStartProfile) +#endif // defined(FEATURE_MULTICOREJIT) +FCFuncEnd() +#endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER) + +FCFuncStart(gAssemblyNameFuncs) + FCFuncElement("nInit", AssemblyNameNative::Init) + FCFuncElement("nToString", AssemblyNameNative::ToString) + FCFuncElement("nGetPublicKeyToken", AssemblyNameNative::GetPublicKeyToken) +#ifndef FEATURE_CORECLR + FCFuncElement("EscapeCodeBase", AssemblyNameNative::EscapeCodeBase) + FCFuncElement("ReferenceMatchesDefinitionInternal", AssemblyNameNative::ReferenceMatchesDefinition) + FCFuncElement("nGetFileInformation", AssemblyNameNative::GetFileInformation) +#endif // !FEATURE_CORECLR +FCFuncEnd() + +FCFuncStart(gLoaderAllocatorFuncs) + QCFuncElement("Destroy", LoaderAllocator::Destroy) +FCFuncEnd() + +FCFuncStart(gAssemblyBuilderFuncs) + FCFuncElement("nCreateDynamicAssembly", AppDomainNative::CreateDynamicAssembly) + FCFuncElement("GetInMemoryAssemblyModule", AssemblyNative::GetInMemoryAssemblyModule) +#ifndef FEATURE_CORECLR + FCFuncElement("GetOnDiskAssemblyModule", AssemblyNative::GetOnDiskAssemblyModule) +#ifdef FEATURE_MULTIMODULE_ASSEMBLIES + QCFuncElement("DefineDynamicModule", COMModule::DefineDynamicModule) +#endif // FEATURE_MULTIMODULE_ASSEMBLIES + QCFuncElement("PrepareForSavingManifestToDisk", AssemblyNative::PrepareForSavingManifestToDisk) + QCFuncElement("SaveManifestToDisk", AssemblyNative::SaveManifestToDisk) + QCFuncElement("AddFile", AssemblyNative::AddFile) + QCFuncElement("SetFileHashValue", AssemblyNative::SetFileHashValue) + QCFuncElement("AddStandAloneResource", AssemblyNative::AddStandAloneResource) + QCFuncElement("AddExportedTypeOnDisk", AssemblyNative::AddExportedTypeOnDisk) + QCFuncElement("AddExportedTypeInMemory", AssemblyNative::AddExportedTypeInMemory) + QCFuncElement("AddDeclarativeSecurity", AssemblyNative::AddDeclarativeSecurity) + QCFuncElement("CreateVersionInfoResource", AssemblyNative::CreateVersionInfoResource) +#endif // !FEATURE_CORECLR +FCFuncEnd() + +#ifdef MDA_SUPPORTED +FCFuncStart(gMda) + FCFuncElement("MemberInfoCacheCreation", MdaManagedSupport::MemberInfoCacheCreation) + FCFuncElement("DateTimeInvalidLocalFormat", MdaManagedSupport::DateTimeInvalidLocalFormat) + FCFuncElement("IsStreamWriterBufferedDataLostEnabled", MdaManagedSupport::IsStreamWriterBufferedDataLostEnabled) + FCFuncElement("IsStreamWriterBufferedDataLostCaptureAllocatedCallStack", MdaManagedSupport::IsStreamWriterBufferedDataLostCaptureAllocatedCallStack) + FCFuncElement("ReportStreamWriterBufferedDataLost", MdaManagedSupport::ReportStreamWriterBufferedDataLost) + FCFuncElement("IsInvalidGCHandleCookieProbeEnabled", MdaManagedSupport::IsInvalidGCHandleCookieProbeEnabled) + FCFuncElement("FireInvalidGCHandleCookieProbe", MdaManagedSupport::FireInvalidGCHandleCookieProbe) + FCFuncElement("ReportErrorSafeHandleRelease", MdaManagedSupport::ReportErrorSafeHandleRelease) +FCFuncEnd() +#endif // MDA_SUPPORTED + +FCFuncStart(gDelegateFuncs) + FCFuncElement("BindToMethodName", COMDelegate::BindToMethodName) + FCFuncElement("BindToMethodInfo", COMDelegate::BindToMethodInfo) + FCFuncElement("GetMulticastInvoke", COMDelegate::GetMulticastInvoke) + FCFuncElement("GetInvokeMethod", COMDelegate::GetInvokeMethod) + FCFuncElement("InternalAlloc", COMDelegate::InternalAlloc) + FCFuncElement("InternalAllocLike", COMDelegate::InternalAllocLike) + FCFuncElement("InternalEqualTypes", COMDelegate::InternalEqualTypes) + FCFuncElement("InternalEqualMethodHandles", COMDelegate::InternalEqualMethodHandles) + FCFuncElement("FindMethodHandle", COMDelegate::FindMethodHandle) + FCFuncElement("AdjustTarget", COMDelegate::AdjustTarget) + FCFuncElement("GetCallStub", COMDelegate::GetCallStub) + FCFuncElement("CompareUnmanagedFunctionPtrs", COMDelegate::CompareUnmanagedFunctionPtrs) + + // The FCall mechanism knows how to wire multiple different constructor calls into a + // single entrypoint, without the following entry. But we need this entry to satisfy + // frame creation within the body: + FCFuncElement("DelegateConstruct", COMDelegate::DelegateConstruct) +FCFuncEnd() + +FCFuncStart(gMathFuncs) + FCIntrinsicSig("Abs", &gsig_SM_Dbl_RetDbl, COMDouble::Abs, CORINFO_INTRINSIC_Abs) + FCIntrinsicSig("Abs", &gsig_SM_Flt_RetFlt, COMSingle::Abs, CORINFO_INTRINSIC_Abs) + FCIntrinsic("Acos", COMDouble::Acos, CORINFO_INTRINSIC_Acos) + FCIntrinsic("Asin", COMDouble::Asin, CORINFO_INTRINSIC_Asin) + FCIntrinsic("Atan", COMDouble::Atan, CORINFO_INTRINSIC_Atan) + FCIntrinsic("Atan2", COMDouble::Atan2, CORINFO_INTRINSIC_Atan2) + FCIntrinsic("Ceiling", COMDouble::Ceil, CORINFO_INTRINSIC_Ceiling) + FCIntrinsic("Cos", COMDouble::Cos, CORINFO_INTRINSIC_Cos) + FCIntrinsic("Cosh", COMDouble::Cosh, CORINFO_INTRINSIC_Cosh) + FCIntrinsic("Exp", COMDouble::Exp, CORINFO_INTRINSIC_Exp) + FCIntrinsic("Floor", COMDouble::Floor, CORINFO_INTRINSIC_Floor) + FCFuncElement("Log", COMDouble::Log) + FCIntrinsic("Log10", COMDouble::Log10, CORINFO_INTRINSIC_Log10) + FCIntrinsic("Pow", COMDouble::Pow, CORINFO_INTRINSIC_Pow) + FCIntrinsic("Round", COMDouble::Round, CORINFO_INTRINSIC_Round) + FCIntrinsic("Sin", COMDouble::Sin, CORINFO_INTRINSIC_Sin) + FCIntrinsic("Sinh", COMDouble::Sinh, CORINFO_INTRINSIC_Sinh) + FCFuncElement("SplitFractionDouble", COMDouble::ModF) + FCIntrinsic("Sqrt", COMDouble::Sqrt, CORINFO_INTRINSIC_Sqrt) + FCIntrinsic("Tan", COMDouble::Tan, CORINFO_INTRINSIC_Tan) + FCIntrinsic("Tanh", COMDouble::Tanh, CORINFO_INTRINSIC_Tanh) +FCFuncEnd() + +FCFuncStart(gThreadFuncs) + FCDynamic("InternalGetCurrentThread", CORINFO_INTRINSIC_Illegal, ECall::InternalGetCurrentThread) + FCFuncElement("StartInternal", ThreadNative::Start) +#ifndef FEATURE_CORECLR + FCFuncElement("SuspendInternal", ThreadNative::Suspend) + FCFuncElement("ResumeInternal", ThreadNative::Resume) + FCFuncElement("InterruptInternal", ThreadNative::Interrupt) +#endif + FCFuncElement("get_IsAlive", ThreadNative::IsAlive) + FCFuncElement("GetThreadStateNative", ThreadNative::GetThreadState) +#ifndef FEATURE_CORECLR + FCFuncElement("GetPriorityNative", ThreadNative::GetPriority) + FCFuncElement("SetPriorityNative", ThreadNative::SetPriority) +#endif +#ifdef FEATURE_LEAK_CULTURE_INFO + FCFuncElement("nativeGetSafeCulture", ThreadNative::nativeGetSafeCulture) +#else + QCFuncElement("nativeInitCultureAccessors", ThreadNative::nativeInitCultureAccessors) +#endif + FCFuncElement("JoinInternal", ThreadNative::Join) +#undef Sleep + FCFuncElement("SleepInternal", ThreadNative::Sleep) +#define Sleep(a) Dont_Use_Sleep(a) + FCFuncElement("SetStart", ThreadNative::SetStart) + FCFuncElement("SetBackgroundNative", ThreadNative::SetBackground) + FCFuncElement("IsBackgroundNative", ThreadNative::IsBackground) +#ifdef FEATURE_REMOTING + FCFuncElement("GetContextInternal", ThreadNative::GetContextFromContextID) +#endif + FCFuncElement("GetDomainInternal", ThreadNative::GetDomain) + FCFuncElement("GetFastDomainInternal", ThreadNative::FastGetDomain) +#ifdef FEATURE_COMPRESSEDSTACK + FCFuncElement("SetAppDomainStack", ThreadNative::SetAppDomainStack) + FCFuncElement("RestoreAppDomainStack", ThreadNative::RestoreAppDomainStack) +#endif // #ifdef FEATURE_COMPRESSEDSTACK +#ifdef FEATURE_REMOTING + FCFuncElement("InternalCrossContextCallback", ThreadNative::InternalCrossContextCallback) +#endif + QCFuncElement("InformThreadNameChange", ThreadNative::InformThreadNameChange) +#ifndef FEATURE_CORECLR + QCFuncElement("GetProcessDefaultStackSize", ThreadNative::GetProcessDefaultStackSize) + FCFuncElement("BeginCriticalRegion", ThreadNative::BeginCriticalRegion) + FCFuncElement("EndCriticalRegion", ThreadNative::EndCriticalRegion) + FCFuncElement("BeginThreadAffinity", ThreadNative::BeginThreadAffinity) + FCFuncElement("EndThreadAffinity", ThreadNative::EndThreadAffinity) +#endif // FEATURE_CORECLR +#ifdef FEATURE_LEGACYSURFACE + FCFuncElement("AbortInternal", ThreadNative::Abort) +#endif // FEATURE_LEGACYSURFACE +#ifndef FEATURE_CORECLR + FCFuncElement("ResetAbortNative", ThreadNative::ResetAbort) +#endif // FEATURE_CORECLR + FCFuncElement("get_IsThreadPoolThread", ThreadNative::IsThreadpoolThread) + FCFuncElement("SpinWaitInternal", ThreadNative::SpinWait) + QCFuncElement("YieldInternal", ThreadNative::YieldThread) + FCIntrinsic("GetCurrentThreadNative", ThreadNative::GetCurrentThread, CORINFO_INTRINSIC_GetCurrentManagedThread) + FCIntrinsic("get_ManagedThreadId", ThreadNative::GetManagedThreadId, CORINFO_INTRINSIC_GetManagedThreadId) + FCFuncElement("InternalFinalize", ThreadNative::Finalize) +#if defined(FEATURE_COMINTEROP) && !defined(FEATURE_CORECLR) + FCFuncElement("DisableComObjectEagerCleanup", ThreadNative::DisableComObjectEagerCleanup) +#endif // defined(FEATURE_COMINTEROP) && !defined(FEATURE_CORECLR) +#ifdef FEATURE_LEAK_CULTURE_INFO + FCFuncElement("nativeSetThreadUILocale", ThreadNative::SetThreadUILocale) +#endif +#ifdef FEATURE_COMINTEROP_APARTMENT_SUPPORT +#ifndef FEATURE_CORECLR + FCFuncElement("SetApartmentStateNative", ThreadNative::SetApartmentState) + FCFuncElement("GetApartmentStateNative", ThreadNative::GetApartmentState) +#endif // FEATURE_CORECLR + FCFuncElement("StartupSetApartmentStateInternal", ThreadNative::StartupSetApartmentState) +#endif // FEATURE_COMINTEROP_APARTMENT_SUPPORT + FCIntrinsic("MemoryBarrier", ThreadNative::FCMemoryBarrier, CORINFO_INTRINSIC_MemoryBarrier) +#ifndef FEATURE_CORECLR // coreclr does not support abort reason + FCFuncElement("SetAbortReason", ThreadNative::SetAbortReason) + FCFuncElement("GetAbortReason", ThreadNative::GetAbortReason) + FCFuncElement("ClearAbortReason", ThreadNative::ClearAbortReason) +#endif +FCFuncEnd() + +FCFuncStart(gThreadPoolFuncs) +#ifndef FEATURE_CORECLR + FCFuncElement("PostQueuedCompletionStatus", ThreadPoolNative::CorPostQueuedCompletionStatus) + FCFuncElement("GetAvailableThreadsNative", ThreadPoolNative::CorGetAvailableThreads) +#endif // FEATURE_CORECLR + FCFuncElement("SetMinThreadsNative", ThreadPoolNative::CorSetMinThreads) + FCFuncElement("GetMinThreadsNative", ThreadPoolNative::CorGetMinThreads) + FCFuncElement("RegisterWaitForSingleObjectNative", ThreadPoolNative::CorRegisterWaitForSingleObject) + FCFuncElement("BindIOCompletionCallbackNative", ThreadPoolNative::CorBindIoCompletionCallback) + FCFuncElement("SetMaxThreadsNative", ThreadPoolNative::CorSetMaxThreads) + FCFuncElement("GetMaxThreadsNative", ThreadPoolNative::CorGetMaxThreads) + FCFuncElement("NotifyWorkItemComplete", ThreadPoolNative::NotifyRequestComplete) + FCFuncElement("NotifyWorkItemProgressNative", ThreadPoolNative::NotifyRequestProgress) + FCFuncElement("IsThreadPoolHosted", ThreadPoolNative::IsThreadPoolHosted) + QCFuncElement("InitializeVMTp", ThreadPoolNative::InitializeVMTp) + FCFuncElement("ReportThreadStatus", ThreadPoolNative::ReportThreadStatus) + QCFuncElement("RequestWorkerThread", ThreadPoolNative::RequestWorkerThread) +FCFuncEnd() + +FCFuncStart(gTimerFuncs) + QCFuncElement("CreateAppDomainTimer", AppDomainTimerNative::CreateAppDomainTimer) + QCFuncElement("ChangeAppDomainTimer", AppDomainTimerNative::ChangeAppDomainTimer) + QCFuncElement("DeleteAppDomainTimer", AppDomainTimerNative::DeleteAppDomainTimer) +FCFuncEnd() + + +FCFuncStart(gRegisteredWaitHandleFuncs) + FCFuncElement("UnregisterWaitNative", ThreadPoolNative::CorUnregisterWait) + FCFuncElement("WaitHandleCleanupNative", ThreadPoolNative::CorWaitHandleCleanupNative) +FCFuncEnd() + +FCFuncStart(gWaitHandleFuncs) + FCFuncElement("WaitOneNative", WaitHandleNative::CorWaitOneNative) + FCFuncElement("WaitMultiple", WaitHandleNative::CorWaitMultipleNative) +#ifndef FEATURE_PAL + FCFuncElement("SignalAndWaitOne", WaitHandleNative::CorSignalAndWaitOneNative) +#endif // !FEATURE_PAL +FCFuncEnd() + +FCFuncStart(gNumberFuncs) + FCFuncElement("FormatDecimal", COMNumber::FormatDecimal) + FCFuncElement("FormatDouble", COMNumber::FormatDouble) + FCFuncElement("FormatInt32", COMNumber::FormatInt32) + FCFuncElement("FormatUInt32", COMNumber::FormatUInt32) + FCFuncElement("FormatInt64", COMNumber::FormatInt64) + FCFuncElement("FormatUInt64", COMNumber::FormatUInt64) + FCFuncElement("FormatSingle", COMNumber::FormatSingle) +#if !defined(FEATURE_CORECLR) + FCFuncElement("FormatNumberBuffer", COMNumber::FormatNumberBuffer) +#endif // !FEATURE_CORECLR + FCFuncElement("NumberBufferToDecimal", COMNumber::NumberBufferToDecimal) + FCFuncElement("NumberBufferToDouble", COMNumber::NumberBufferToDouble) +FCFuncEnd() + +#ifdef FEATURE_COMINTEROP +FCFuncStart(gVariantFuncs) + FCFuncElement("SetFieldsObject", COMVariant::SetFieldsObject) + FCFuncElement("SetFieldsR4", COMVariant::SetFieldsR4) + FCFuncElement("SetFieldsR8", COMVariant::SetFieldsR8) + FCFuncElement("GetR4FromVar", COMVariant::GetR4FromVar) + FCFuncElement("GetR8FromVar", COMVariant::GetR8FromVar) + FCFuncElement("BoxEnum", COMVariant::BoxEnum) +FCFuncEnd() +#endif // FEATURE_COMINTEROP + +#ifdef FEATURE_COMINTEROP +FCFuncStart(gOAVariantFuncs) + FCFuncElement("ChangeTypeEx", COMOAVariant::ChangeTypeEx) +FCFuncEnd() +#endif // FEATURE_COMINTEROP + +FCFuncStart(gDecimalFuncs) + FCFuncElementSig(COR_CTOR_METHOD_NAME, &gsig_IM_Flt_RetVoid, COMDecimal::InitSingle) + FCFuncElementSig(COR_CTOR_METHOD_NAME, &gsig_IM_Dbl_RetVoid, COMDecimal::InitDouble) + FCFuncElement("FCallAddSub", COMDecimal::DoAddSubThrow) + FCFuncElement("FCallMultiply", COMDecimal::DoMultiplyThrow) + FCFuncElement("FCallDivide", COMDecimal::DoDivideThrow) +#ifndef FEATURE_CORECLR + FCFuncElement("FCallAddSubOverflowed", COMDecimal::DoAddSub) + FCFuncElement("FCallMultiplyOverflowed", COMDecimal::DoMultiply) + FCFuncElement("FCallDivideOverflowed", COMDecimal::DoDivide) +#endif // FEATURE_CORECLR + FCFuncElement("FCallCompare", COMDecimal::DoCompare) + FCFuncElement("FCallFloor", COMDecimal::DoFloor) + FCFuncElement("GetHashCode", COMDecimal::GetHashCode) + FCFuncElement("FCallRound", COMDecimal::DoRound) + FCFuncElement("FCallToCurrency", COMDecimal::DoToCurrency) + FCFuncElement("FCallToInt32", COMDecimal::ToInt32) + FCFuncElement("ToDouble", COMDecimal::ToDouble) + FCFuncElement("ToSingle", COMDecimal::ToSingle) + FCFuncElement("FCallTruncate", COMDecimal::DoTruncate) +FCFuncEnd() + +FCFuncStart(gCurrencyFuncs) + FCFuncElement("FCallToDecimal", COMCurrency::DoToDecimal) +FCFuncEnd() + +#ifndef FEATURE_CORECLR +FCFuncStart(gCLRConfigFuncs) + FCFuncElement("CheckLegacyManagedDeflateStream", SystemNative::CheckLegacyManagedDeflateStream) + FCFuncElement("CheckThrowUnobservedTaskExceptions", SystemNative::CheckThrowUnobservedTaskExceptions) +FCFuncEnd() +#endif // ifndef FEATURE_CORECLR + +#if !defined(FEATURE_COREFX_GLOBALIZATION) +FCFuncStart(gCompareInfoFuncs) + QCFuncElement("InternalGetGlobalizedHashCode", COMNlsInfo::InternalGetGlobalizedHashCode) + QCFuncElement("InternalCompareString", COMNlsInfo::InternalCompareString) + QCFuncElement("InternalFindNLSStringEx", COMNlsInfo::InternalFindNLSStringEx) + QCFuncElement("NativeInternalInitSortHandle", COMNlsInfo::InternalInitSortHandle) + QCFuncElement("InternalIsSortable", COMNlsInfo::InternalIsSortable) + QCFuncElement("InternalGetSortKey", COMNlsInfo::InternalGetSortKey) +#ifndef FEATURE_CORECLR + QCFuncElement("InternalGetSortVersion", COMNlsInfo::InternalGetSortVersion) + QCFuncElement("InternalGetNlsVersionEx", COMNlsInfo::InternalGetNlsVersionEx) +#endif +FCFuncEnd() + +FCFuncStart(gEncodingTableFuncs) + FCFuncElement("GetNumEncodingItems", COMNlsInfo::nativeGetNumEncodingItems) + FCFuncElement("GetEncodingData", COMNlsInfo::nativeGetEncodingTableDataPointer) + FCFuncElement("GetCodePageData", COMNlsInfo::nativeGetCodePageTableDataPointer) +#if FEATURE_CODEPAGES_FILE + FCFuncElement("nativeCreateOpenFileMapping", COMNlsInfo::nativeCreateOpenFileMapping) +#endif +FCFuncEnd() + +FCFuncStart(gCalendarDataFuncs) + FCFuncElement("nativeGetTwoDigitYearMax", CalendarData::nativeGetTwoDigitYearMax) + FCFuncElement("nativeGetCalendarData", CalendarData::nativeGetCalendarData) + FCFuncElement("nativeGetCalendars", CalendarData::nativeGetCalendars) +FCFuncEnd() + +FCFuncStart(gCultureDataFuncs) + FCFuncElement("nativeInitCultureData", COMNlsInfo::nativeInitCultureData) + FCFuncElement("nativeGetNumberFormatInfoValues", COMNlsInfo::nativeGetNumberFormatInfoValues) + FCFuncElement("nativeEnumTimeFormats", CalendarData::nativeEnumTimeFormats) + FCFuncElement("LCIDToLocaleName", COMNlsInfo::LCIDToLocaleName) + FCFuncElement("LocaleNameToLCID", COMNlsInfo::LocaleNameToLCID) + + QCFuncElement("nativeEnumCultureNames", COMNlsInfo::nativeEnumCultureNames) + +FCFuncEnd() + +FCFuncStart(gCultureInfoFuncs) + QCFuncElement("InternalGetDefaultLocaleName", COMNlsInfo::InternalGetDefaultLocaleName) + FCFuncElement("nativeGetLocaleInfoEx", COMNlsInfo::nativeGetLocaleInfoEx) + FCFuncElement("nativeGetLocaleInfoExInt", COMNlsInfo::nativeGetLocaleInfoExInt) + +#ifndef FEATURE_CORECLR + FCFuncElement("nativeSetThreadLocale", COMNlsInfo::nativeSetThreadLocale) +#endif + QCFuncElement("InternalGetUserDefaultUILanguage", COMNlsInfo::InternalGetUserDefaultUILanguage) + QCFuncElement("InternalGetSystemDefaultUILanguage", COMNlsInfo::InternalGetSystemDefaultUILanguage) +// Added but disabled from desktop in .NET 4.0, stayed disabled in .NET 4.5 +#ifdef FEATURE_CORECLR + FCFuncElement("nativeGetResourceFallbackArray", COMNlsInfo::nativeGetResourceFallbackArray) +#endif +FCFuncEnd() + +FCFuncStart(gTextInfoFuncs) + FCFuncElement("InternalChangeCaseChar", COMNlsInfo::InternalChangeCaseChar) + FCFuncElement("InternalChangeCaseString", COMNlsInfo::InternalChangeCaseString) + FCFuncElement("InternalGetCaseInsHash", COMNlsInfo::InternalGetCaseInsHash) + QCFuncElement("InternalCompareStringOrdinalIgnoreCase", COMNlsInfo::InternalCompareStringOrdinalIgnoreCase) + QCFuncElement("InternalTryFindStringOrdinalIgnoreCase", COMNlsInfo::InternalTryFindStringOrdinalIgnoreCase) +FCFuncEnd() +#endif // !defined(FEATURE_COREFX_GLOBALIZATION) + +#ifdef FEATURE_COREFX_GLOBALIZATION +FCFuncStart(gCompareInfoFuncs) + QCFuncElement("InternalHashSortKey", CoreFxGlobalization::HashSortKey) +FCFuncEnd() +#endif + +FCFuncStart(gArrayFuncs) + FCFuncElement("get_Rank", ArrayNative::GetRank) + FCFuncElement("GetLowerBound", ArrayNative::GetLowerBound) + FCFuncElement("GetUpperBound", ArrayNative::GetUpperBound) + FCIntrinsicSig("GetLength", &gsig_IM_Int_RetInt, ArrayNative::GetLength, CORINFO_INTRINSIC_Array_GetDimLength) + FCFuncElement("get_Length", ArrayNative::GetLengthNoRank) + FCFuncElement("get_LongLength", ArrayNative::GetLongLengthNoRank) + FCFuncElement("GetDataPtrOffsetInternal", ArrayNative::GetDataPtrOffsetInternal) + FCFuncElement("Initialize", ArrayNative::Initialize) + FCFuncElement("Copy", ArrayNative::ArrayCopy) + FCFuncElement("Clear", ArrayNative::ArrayClear) + FCFuncElement("InternalCreate", ArrayNative::CreateInstance) + FCFuncElement("InternalGetReference", ArrayNative::GetReference) + FCFuncElement("InternalSetValue", ArrayNative::SetValue) + FCFuncElement("TrySZIndexOf", ArrayHelper::TrySZIndexOf) + FCFuncElement("TrySZLastIndexOf", ArrayHelper::TrySZLastIndexOf) + FCFuncElement("TrySZBinarySearch", ArrayHelper::TrySZBinarySearch) + FCFuncElement("TrySZSort", ArrayHelper::TrySZSort) + FCFuncElement("TrySZReverse", ArrayHelper::TrySZReverse) +FCFuncEnd() + +FCFuncStart(gBufferFuncs) + FCFuncElement("BlockCopy", Buffer::BlockCopy) + FCFuncElement("InternalBlockCopy", Buffer::InternalBlockCopy) + FCFuncElement("_GetByte", Buffer::GetByte) + FCFuncElement("_SetByte", Buffer::SetByte) + FCFuncElement("IsPrimitiveTypeArray", Buffer::IsPrimitiveTypeArray) + FCFuncElement("_ByteLength", Buffer::ByteLength) +#ifdef _TARGET_ARM_ + FCFuncElement("Memcpy", FCallMemcpy) +#endif + QCFuncElement("__Memmove", Buffer::MemMove) +FCFuncEnd() + +FCFuncStart(gGCInterfaceFuncs) + FCFuncElement("GetGenerationWR", GCInterface::GetGenerationWR) + FCFuncElement("_RegisterForFullGCNotification", GCInterface::RegisterForFullGCNotification) + FCFuncElement("_CancelFullGCNotification", GCInterface::CancelFullGCNotification) + FCFuncElement("_WaitForFullGCApproach", GCInterface::WaitForFullGCApproach) + FCFuncElement("_WaitForFullGCComplete", GCInterface::WaitForFullGCComplete) + FCFuncElement("_CollectionCount", GCInterface::CollectionCount) + FCFuncElement("GetGCLatencyMode", GCInterface::GetGcLatencyMode) + FCFuncElement("SetGCLatencyMode", GCInterface::SetGcLatencyMode) + FCFuncElement("GetLOHCompactionMode", GCInterface::GetLOHCompactionMode) + FCFuncElement("SetLOHCompactionMode", GCInterface::SetLOHCompactionMode) + QCFuncElement("_StartNoGCRegion", GCInterface::StartNoGCRegion) + QCFuncElement("_EndNoGCRegion", GCInterface::EndNoGCRegion) + FCFuncElement("IsServerGC", SystemNative::IsServerGC) + QCFuncElement("_AddMemoryPressure", GCInterface::_AddMemoryPressure) + QCFuncElement("_RemoveMemoryPressure", GCInterface::_RemoveMemoryPressure) + FCFuncElement("GetGeneration", GCInterface::GetGeneration) + QCFuncElement("GetTotalMemory", GCInterface::GetTotalMemory) + QCFuncElement("_Collect", GCInterface::Collect) + FCFuncElement("GetMaxGeneration", GCInterface::GetMaxGeneration) + QCFuncElement("_WaitForPendingFinalizers", GCInterface::WaitForPendingFinalizers) + + FCFuncElement("_SuppressFinalize", GCInterface::SuppressFinalize) + FCFuncElement("_ReRegisterForFinalize", GCInterface::ReRegisterForFinalize) + + FCFuncElement("_GetAllocatedBytesForCurrentThread", GCInterface::GetAllocatedBytesForCurrentThread) +FCFuncEnd() + +#ifndef FEATURE_CORECLR +FCFuncStart(gMemoryFailPointFuncs) + FCFuncElement("GetMemorySettings", COMMemoryFailPoint::GetMemorySettings) +FCFuncEnd() +#endif // FEATURE_CORECLR + +FCFuncStart(gInteropMarshalFuncs) + FCFuncElement("GetLastWin32Error", MarshalNative::GetLastWin32Error) + FCFuncElement("SetLastWin32Error", MarshalNative::SetLastWin32Error) + FCFuncElement("SizeOfHelper", MarshalNative::SizeOfClass) + FCFuncElement("GetSystemMaxDBCSCharSize", MarshalNative::GetSystemMaxDBCSCharSize) + FCFuncElement("PtrToStructureHelper", MarshalNative::PtrToStructureHelper) + FCFuncElement("DestroyStructure", MarshalNative::DestroyStructure) + FCFuncElement("UnsafeAddrOfPinnedArrayElement", MarshalNative::FCUnsafeAddrOfPinnedArrayElement) + FCFuncElement("GetExceptionCode", ExceptionNative::GetExceptionCode) +#ifndef FEATURE_CORECLR + QCFuncElement("InternalNumParamBytes", MarshalNative::NumParamBytes) + FCFuncElement("GetExceptionPointers", ExceptionNative::GetExceptionPointers) + QCFuncElement("GetHINSTANCE", COMModule::GetHINSTANCE) + FCFuncElement("GetUnmanagedThunkForManagedMethodPtr", MarshalNative::GetUnmanagedThunkForManagedMethodPtr) + FCFuncElement("GetManagedThunkForUnmanagedMethodPtr", MarshalNative::GetManagedThunkForUnmanagedMethodPtr) + FCFuncElement("InternalGetThreadFromFiberCookie", MarshalNative::GetThreadFromFiberCookie) +#endif + + FCFuncElement("OffsetOfHelper", MarshalNative::OffsetOfHelper) + FCFuncElement("SizeOfType", SafeBuffer::SizeOfType) + FCFuncElement("AlignedSizeOfType", SafeBuffer::AlignedSizeOfType) + + QCFuncElement("InternalPrelink", MarshalNative::Prelink) + FCFuncElement("CopyToNative", MarshalNative::CopyToNative) + FCFuncElement("CopyToManaged", MarshalNative::CopyToManaged) + FCFuncElement("StructureToPtr", MarshalNative::StructureToPtr) + FCFuncElement("ThrowExceptionForHRInternal", MarshalNative::ThrowExceptionForHR) + FCFuncElement("GetExceptionForHRInternal", MarshalNative::GetExceptionForHR) + FCFuncElement("GetDelegateForFunctionPointerInternal", MarshalNative::GetDelegateForFunctionPointerInternal) + FCFuncElement("GetFunctionPointerForDelegateInternal", MarshalNative::GetFunctionPointerForDelegateInternal) +#ifdef FEATURE_COMINTEROP + FCFuncElement("GetHRForException", MarshalNative::GetHRForException) + FCFuncElement("GetHRForException_WinRT", MarshalNative::GetHRForException_WinRT) + FCFuncElement("GetRawIUnknownForComObjectNoAddRef", MarshalNative::GetRawIUnknownForComObjectNoAddRef) + FCFuncElement("IsComObject", MarshalNative::IsComObject) + FCFuncElement("GetObjectForIUnknown", MarshalNative::GetObjectForIUnknown) + FCFuncElement("GetUniqueObjectForIUnknown", MarshalNative::GetUniqueObjectForIUnknown) + FCFuncElement("AddRef", MarshalNative::AddRef) + FCFuncElement("GetNativeVariantForObject", MarshalNative::GetNativeVariantForObject) + FCFuncElement("GetObjectForNativeVariant", MarshalNative::GetObjectForNativeVariant) + FCFuncElement("InternalFinalReleaseComObject", MarshalNative::FinalReleaseComObject) + FCFuncElement("QueryInterface", MarshalNative::QueryInterface) + FCFuncElement("CreateAggregatedObject", MarshalNative::CreateAggregatedObject) + FCFuncElement("AreComObjectsAvailableForCleanup", MarshalNative::AreComObjectsAvailableForCleanup) + FCFuncElement("InternalCreateWrapperOfType", MarshalNative::InternalCreateWrapperOfType) + FCFuncElement("GetObjectsForNativeVariants", MarshalNative::GetObjectsForNativeVariants) + FCFuncElement("GetStartComSlot", MarshalNative::GetStartComSlot) + + FCFuncElement("InitializeManagedWinRTFactoryObject", MarshalNative::InitializeManagedWinRTFactoryObject) + + FCFuncElement("GetNativeActivationFactory", MarshalNative::GetNativeActivationFactory) + FCFuncElement("GetIUnknownForObjectNative", MarshalNative::GetIUnknownForObjectNative) + FCFuncElement("GetIDispatchForObjectNative", MarshalNative::GetIDispatchForObjectNative) + FCFuncElement("GetComInterfaceForObjectNative", MarshalNative::GetComInterfaceForObjectNative) + FCFuncElement("InternalReleaseComObject", MarshalNative::ReleaseComObject) + FCFuncElement("Release", MarshalNative::Release) + FCFuncElement("InitializeWrapperForWinRT", MarshalNative::InitializeWrapperForWinRT) +#ifndef FEATURE_CORECLR + FCFuncElement("GetLoadedTypeForGUID", MarshalNative::GetLoadedTypeForGUID) + FCFuncElement("GetITypeInfoForType", MarshalNative::GetITypeInfoForType) + FCFuncElement("GetTypedObjectForIUnknown", MarshalNative::GetTypedObjectForIUnknown) + FCFuncElement("CleanupUnusedObjectsInCurrentContext", MarshalNative::CleanupUnusedObjectsInCurrentContext) + FCFuncElement("IsTypeVisibleFromCom", MarshalNative::IsTypeVisibleFromCom) + FCFuncElement("FCallGenerateGuidForType", MarshalNative::DoGenerateGuidForType) + FCFuncElement("FCallGetTypeLibGuid", MarshalNative::DoGetTypeLibGuid) + FCFuncElement("GetTypeLibLcid", MarshalNative::GetTypeLibLcid) + FCFuncElement("GetTypeLibVersion", MarshalNative::GetTypeLibVersion) + FCFuncElement("FCallGetTypeInfoGuid", MarshalNative::DoGetTypeInfoGuid) + FCFuncElement("FCallGetTypeLibGuidForAssembly", MarshalNative::DoGetTypeLibGuidForAssembly) + FCFuncElement("_GetTypeLibVersionForAssembly", MarshalNative::GetTypeLibVersionForAssembly) + FCFuncElement("GetEndComSlot", MarshalNative::GetEndComSlot) + FCFuncElement("GetMethodInfoForComSlot", MarshalNative::GetMethodInfoForComSlot) + FCFuncElement("InternalGetComSlotForMethodInfo", MarshalNative::GetComSlotForMethodInfo) + FCFuncElement("InternalSwitchCCW", MarshalNative::SwitchCCW) + FCFuncElement("InternalWrapIUnknownWithComObject", MarshalNative::WrapIUnknownWithComObject) + FCFuncElement("ChangeWrapperHandleStrength", MarshalNative::ChangeWrapperHandleStrength) + QCFuncElement("_GetInspectableIids", MarshalNative::GetInspectableIIDs) + QCFuncElement("_GetCachedWinRTTypes", MarshalNative::GetCachedWinRTTypes) + QCFuncElement("_GetCachedWinRTTypeByIid", MarshalNative::GetCachedWinRTTypeByIID) +#endif // FEATURE_CORECLR +#endif // FEATURE_COMINTEROP +FCFuncEnd() + +FCFuncStart(gArrayWithOffsetFuncs) + FCFuncElement("CalculateCount", MarshalNative::CalculateCount) +FCFuncEnd() + +#ifdef FEATURE_COMINTEROP + +#ifndef FEATURE_CORECLR +FCFuncStart(gExtensibleClassFactoryFuncs) + FCFuncElement("RegisterObjectCreationCallback", RegisterObjectCreationCallback) +FCFuncEnd() +#endif + + +#ifdef FEATURE_COMINTEROP_TLB_SUPPORT +FCFuncStart(gTypeLibConverterFuncs) + FCFuncElement("nConvertAssemblyToTypeLib", COMTypeLibConverter::ConvertAssemblyToTypeLib) + FCFuncElement("nConvertTypeLibToMetadata", COMTypeLibConverter::ConvertTypeLibToMetadata) + QCFuncElement("LoadInMemoryTypeByName", COMModule::LoadInMemoryTypeByName) +FCFuncEnd() +#endif // FEATURE_COMINTEROP_TLB_SUPPORT + +#ifdef FEATURE_COMINTEROP_MANAGED_ACTIVATION +FCFuncStart(gRegistrationFuncs) + FCFuncElement("RegisterTypeForComClientsNative", RegisterTypeForComClientsNative) + FCFuncElement("RegisterTypeForComClientsExNative", RegisterTypeForComClientsExNative) +FCFuncEnd() +#endif // FEATURE_COMINTEROP_MANAGED_ACTIVATION + +#endif // FEATURE_COMINTEROP + +#ifdef FEATURE_CAS_POLICY +FCFuncStart(gPolicyManagerFuncs) +#ifdef _DEBUG + QCFuncElement("DebugOut", SecurityConfig::DebugOut) +#endif +FCFuncEnd() + +FCFuncStart(gPolicyConfigFuncs) + QCFuncElement("ResetCacheData", SecurityConfig::ResetCacheData) + QCFuncElement("SaveDataByte", SecurityConfig::SaveDataByte) + QCFuncElement("RecoverData", SecurityConfig::RecoverData) + QCFuncElement("SetQuickCache", SecurityConfig::SetQuickCache) + QCFuncElement("GetCacheEntry", SecurityConfig::GetCacheEntry) + QCFuncElement("AddCacheEntry", SecurityConfig::AddCacheEntry) + QCFuncElement("GetMachineDirectory", SecurityConfig::_GetMachineDirectory) + QCFuncElement("GetUserDirectory", SecurityConfig::_GetUserDirectory) + QCFuncElement("WriteToEventLog", SecurityConfig::WriteToEventLog) +FCFuncEnd() +#endif // FEATURE_CAS_POLICY + +#ifndef FEATURE_CORECLR +FCFuncStart(gPrincipalFuncs) + FCFuncElement("OpenThreadToken", COMPrincipal::OpenThreadToken) + QCFuncElement("ImpersonateLoggedOnUser", COMPrincipal::ImpersonateLoggedOnUser) + QCFuncElement("RevertToSelf", COMPrincipal::RevertToSelf) + QCFuncElement("SetThreadToken", COMPrincipal::SetThreadToken) +FCFuncEnd() +#endif // !FEATURE_CORECLR + +#ifdef FEATURE_CAS_POLICY +FCFuncStart(gEvidenceFuncs) +FCFuncEnd() + +FCFuncStart(gAssemblyEvidenceFactoryFuncs) + QCFuncElement("GetAssemblyPermissionRequests", SecurityPolicy::GetAssemblyPermissionRequests) + QCFuncElement("GetStrongNameInformation", SecurityPolicy::GetStrongNameInformation) +FCFuncEnd() + +FCFuncStart(gPEFileEvidenceFactoryFuncs) + QCFuncElement("GetAssemblySuppliedEvidence", SecurityPolicy::GetAssemblySuppliedEvidence) + QCFuncElement("GetLocationEvidence", SecurityPolicy::GetLocationEvidence) + QCFuncElement("GetPublisherCertificate", SecurityPolicy::GetPublisherCertificate) + QCFuncElement("FireEvidenceGeneratedEvent", SecurityPolicy::FireEvidenceGeneratedEvent) +FCFuncEnd() + +FCFuncStart(gHostExecutionContextManagerFuncs) + FCFuncElement("ReleaseHostSecurityContext", HostExecutionContextManager::ReleaseSecurityContext) + FCFuncElement("CloneHostSecurityContext", HostExecutionContextManager::CloneSecurityContext) + FCFuncElement("CaptureHostSecurityContext", HostExecutionContextManager::CaptureSecurityContext) + FCFuncElement("SetHostSecurityContext", HostExecutionContextManager::SetSecurityContext) + FCFuncElement("HostSecurityManagerPresent", HostExecutionContextManager::HostPresent) +FCFuncEnd() +#endif // FEATURE_CAS_POLICY + +#if defined(FEATURE_ISOSTORE) && !defined(FEATURE_ISOSTORE_LIGHT) +FCFuncStart(gIsolatedStorage) + QCFuncElement("GetCaller", COMIsolatedStorage::GetCaller) +FCFuncEnd() + +FCFuncStart(gIsolatedStorageFile) + QCFuncElement("GetRootDir", COMIsolatedStorageFile::GetRootDir) + QCFuncElement("GetQuota", COMIsolatedStorageFile::GetQuota) + QCFuncElement("SetQuota", COMIsolatedStorageFile::SetQuota) + QCFuncElement("Reserve", COMIsolatedStorageFile::Reserve) + QCFuncElement("GetUsage", COMIsolatedStorageFile::GetUsage) + QCFuncElement("Open", COMIsolatedStorageFile::Open) + QCFuncElement("Lock", COMIsolatedStorageFile::Lock) + QCFuncElement("CreateDirectoryWithDacl", COMIsolatedStorageFile::CreateDirectoryWithDacl) +FCFuncEnd() + +FCFuncStart(gIsolatedStorageFileHandle) + QCFuncElement("Close", COMIsolatedStorageFile::Close) +FCFuncEnd() +#endif // FEATURE_ISOSTORE && !FEATURE_ISOSTORE_LIGHT + +FCFuncStart(gTypeLoadExceptionFuncs) + QCFuncElement("GetTypeLoadExceptionMessage", GetTypeLoadExceptionMessage) +FCFuncEnd() + +FCFuncStart(gFileLoadExceptionFuncs) + QCFuncElement("GetFileLoadExceptionMessage", GetFileLoadExceptionMessage) + QCFuncElement("GetMessageForHR", FileLoadException_GetMessageForHR) +FCFuncEnd() + +FCFuncStart(gMissingMemberExceptionFuncs) + FCFuncElement("FormatSignature", MissingMemberException_FormatSignature) +FCFuncEnd() + +FCFuncStart(gInterlockedFuncs) + FCIntrinsicSig("Exchange", &gsig_SM_RefInt_Int_RetInt, COMInterlocked::Exchange, CORINFO_INTRINSIC_InterlockedXchg32) + FCIntrinsicSig("Exchange", &gsig_SM_RefLong_Long_RetLong, COMInterlocked::Exchange64, CORINFO_INTRINSIC_InterlockedXchg64) + FCFuncElementSig("Exchange", &gsig_SM_RefDbl_Dbl_RetDbl, COMInterlocked::ExchangeDouble) + FCFuncElementSig("Exchange", &gsig_SM_RefFlt_Flt_RetFlt, COMInterlocked::ExchangeFloat) + FCFuncElementSig("Exchange", &gsig_SM_RefObj_Obj_RetObj, COMInterlocked::ExchangeObject) + FCFuncElementSig("Exchange", &gsig_SM_RefIntPtr_IntPtr_RetIntPtr, COMInterlocked::ExchangePointer) + FCIntrinsicSig("CompareExchange", &gsig_SM_RefInt_Int_Int_RetInt, COMInterlocked::CompareExchange, CORINFO_INTRINSIC_InterlockedCmpXchg32) + FCIntrinsicSig("CompareExchange", &gsig_SM_RefLong_Long_Long_RetLong, COMInterlocked::CompareExchange64, CORINFO_INTRINSIC_InterlockedCmpXchg64) + FCFuncElementSig("CompareExchange", &gsig_SM_RefDbl_Dbl_Dbl_RetDbl, COMInterlocked::CompareExchangeDouble) + FCFuncElementSig("CompareExchange", &gsig_SM_RefFlt_Flt_Flt_RetFlt, COMInterlocked::CompareExchangeFloat) + FCFuncElementSig("CompareExchange", &gsig_SM_RefObj_Obj_Obj_RetObj, COMInterlocked::CompareExchangeObject) + FCFuncElementSig("CompareExchange", &gsig_SM_RefInt_Int_Int_RefBool_RetInt, COMInterlocked::CompareExchangeReliableResult) + FCFuncElementSig("CompareExchange", &gsig_SM_RefIntPtr_IntPtr_IntPtr_RetIntPtr, COMInterlocked::CompareExchangePointer) + FCIntrinsicSig("ExchangeAdd", &gsig_SM_RefInt_Int_RetInt, COMInterlocked::ExchangeAdd32, CORINFO_INTRINSIC_InterlockedXAdd32) + FCIntrinsicSig("ExchangeAdd", &gsig_SM_RefLong_Long_RetLong, COMInterlocked::ExchangeAdd64, CORINFO_INTRINSIC_InterlockedXAdd64) + + FCFuncElement("_Exchange", COMInterlocked::ExchangeGeneric) + FCFuncElement("_CompareExchange", COMInterlocked::CompareExchangeGeneric) + +FCFuncEnd() + +FCFuncStart(gVarArgFuncs) + FCFuncElementSig(COR_CTOR_METHOD_NAME, &gsig_IM_IntPtr_PtrVoid_RetVoid, VarArgsNative::Init2) +#ifndef FEATURE_CORECLR + FCFuncElementSig(COR_CTOR_METHOD_NAME, &gsig_IM_IntPtr_RetVoid, VarArgsNative::Init) + FCFuncElement("GetRemainingCount", VarArgsNative::GetRemainingCount) + FCFuncElement("_GetNextArgType", VarArgsNative::GetNextArgType) + FCFuncElement("FCallGetNextArg", VarArgsNative::DoGetNextArg) + FCFuncElement("InternalGetNextArg", VarArgsNative::GetNextArg2) +#endif // FEATURE_CORECLR +FCFuncEnd() + +FCFuncStart(gMonitorFuncs) + FCFuncElement("Enter", JIT_MonEnter) + FCFuncElement("ReliableEnter", JIT_MonReliableEnter) + FCFuncElement("ReliableEnterTimeout", JIT_MonTryEnter) + FCFuncElement("Exit", JIT_MonExit) + FCFuncElement("ObjWait", ObjectNative::WaitTimeout) + FCFuncElement("ObjPulse", ObjectNative::Pulse) + FCFuncElement("ObjPulseAll", ObjectNative::PulseAll) + FCFuncElement("IsEnteredNative", ObjectNative::IsLockHeld) +FCFuncEnd() + +FCFuncStart(gOverlappedFuncs) + FCFuncElement("AllocateNativeOverlapped", AllocateNativeOverlapped) + FCFuncElement("FreeNativeOverlapped", FreeNativeOverlapped) + FCFuncElement("CheckVMForIOPacket", CheckVMForIOPacket) + FCFuncElement("GetOverlappedFromNative", GetOverlappedFromNative) +FCFuncEnd() + +FCFuncStart(gCompilerFuncs) + FCFuncElement("GetObjectValue", ObjectNative::GetObjectValue) + FCIntrinsic("InitializeArray", ArrayNative::InitializeArray, CORINFO_INTRINSIC_InitializeArray) + FCFuncElement("_RunClassConstructor", ReflectionInvocation::RunClassConstructor) +#ifndef FEATURE_CORECLR + FCFuncElement("_RunModuleConstructor", ReflectionInvocation::RunModuleConstructor) + FCFuncElement("_PrepareMethod", ReflectionInvocation::PrepareMethod) +#endif // !FEATURE_CORECLR + QCFuncElement("_CompileMethod", ReflectionInvocation::CompileMethod) +#ifndef FEATURE_CORECLR + FCFuncElement("PrepareDelegate", ReflectionInvocation::PrepareDelegate) +#endif // !FEATURE_CORECLR + FCFuncElement("PrepareContractedDelegate", ReflectionInvocation::PrepareContractedDelegate) + FCFuncElement("ProbeForSufficientStack", ReflectionInvocation::ProbeForSufficientStack) + FCFuncElement("ExecuteCodeWithGuaranteedCleanup", ReflectionInvocation::ExecuteCodeWithGuaranteedCleanup) + FCFuncElement("GetHashCode", ObjectNative::GetHashCode) + FCFuncElement("Equals", ObjectNative::Equals) + FCFuncElement("EnsureSufficientExecutionStack", ReflectionInvocation::EnsureSufficientExecutionStack) +#ifdef FEATURE_CORECLR + FCFuncElement("TryEnsureSufficientExecutionStack", ReflectionInvocation::TryEnsureSufficientExecutionStack) +#endif // FEATURE_CORECLR +FCFuncEnd() + +FCFuncStart(gContextSynchronizationFuncs) +#ifdef FEATURE_SYNCHRONIZATIONCONTEXT_WAIT + FCFuncElement("WaitHelper", SynchronizationContextNative::WaitHelper) +#endif // #ifdef FEATURE_SYNCHRONIZATIONCONTEXT_WAIT +#ifdef FEATURE_APPX + QCFuncElement("GetWinRTDispatcherForCurrentThread", SynchronizationContextNative::GetWinRTDispatcherForCurrentThread) +#endif +FCFuncEnd() + +FCFuncStart(gDateMarshalerFuncs) + FCFuncElement("ConvertToNative", StubHelpers::DateMarshaler__ConvertToNative) + FCFuncElement("ConvertToManaged", StubHelpers::DateMarshaler__ConvertToManaged) +FCFuncEnd() + +FCFuncStart(gValueClassMarshalerFuncs) + FCFuncElement("ConvertToNative", StubHelpers::ValueClassMarshaler__ConvertToNative) + FCFuncElement("ConvertToManaged", StubHelpers::ValueClassMarshaler__ConvertToManaged) + FCFuncElement("ClearNative", StubHelpers::ValueClassMarshaler__ClearNative) +FCFuncEnd() + +FCFuncStart(gMngdNativeArrayMarshalerFuncs) + FCFuncElement("CreateMarshaler", MngdNativeArrayMarshaler::CreateMarshaler) + FCFuncElement("ConvertSpaceToNative", MngdNativeArrayMarshaler::ConvertSpaceToNative) + FCFuncElement("ConvertContentsToNative", MngdNativeArrayMarshaler::ConvertContentsToNative) + FCFuncElement("ConvertSpaceToManaged", MngdNativeArrayMarshaler::ConvertSpaceToManaged) + FCFuncElement("ConvertContentsToManaged", MngdNativeArrayMarshaler::ConvertContentsToManaged) + FCFuncElement("ClearNative", MngdNativeArrayMarshaler::ClearNative) + FCFuncElement("ClearNativeContents", MngdNativeArrayMarshaler::ClearNativeContents) +FCFuncEnd() + +#ifdef FEATURE_COMINTEROP +FCFuncStart(gObjectMarshalerFuncs) + FCFuncElement("ConvertToNative", StubHelpers::ObjectMarshaler__ConvertToNative) + FCFuncElement("ConvertToManaged", StubHelpers::ObjectMarshaler__ConvertToManaged) + FCFuncElement("ClearNative", StubHelpers::ObjectMarshaler__ClearNative) +FCFuncEnd() + +FCFuncStart(gInterfaceMarshalerFuncs) + FCFuncElement("ConvertToNative", StubHelpers::InterfaceMarshaler__ConvertToNative) + FCFuncElement("ConvertToManaged", StubHelpers::InterfaceMarshaler__ConvertToManaged) + QCFuncElement("ClearNative", StubHelpers::InterfaceMarshaler__ClearNative) + FCFuncElement("ConvertToManagedWithoutUnboxing", StubHelpers::InterfaceMarshaler__ConvertToManagedWithoutUnboxing) +FCFuncEnd() + +FCFuncStart(gUriMarshalerFuncs) + FCFuncElement("GetRawUriFromNative", StubHelpers::UriMarshaler__GetRawUriFromNative) + FCFuncElement("CreateNativeUriInstanceHelper", StubHelpers::UriMarshaler__CreateNativeUriInstance) +FCFuncEnd() + +FCFuncStart(gEventArgsMarshalerFuncs) + QCFuncElement("CreateNativeNCCEventArgsInstanceHelper", StubHelpers::EventArgsMarshaler__CreateNativeNCCEventArgsInstance) + QCFuncElement("CreateNativePCEventArgsInstance", StubHelpers::EventArgsMarshaler__CreateNativePCEventArgsInstance) +FCFuncEnd() + +FCFuncStart(gMngdSafeArrayMarshalerFuncs) + FCFuncElement("CreateMarshaler", MngdSafeArrayMarshaler::CreateMarshaler) + FCFuncElement("ConvertSpaceToNative", MngdSafeArrayMarshaler::ConvertSpaceToNative) + FCFuncElement("ConvertContentsToNative", MngdSafeArrayMarshaler::ConvertContentsToNative) + FCFuncElement("ConvertSpaceToManaged", MngdSafeArrayMarshaler::ConvertSpaceToManaged) + FCFuncElement("ConvertContentsToManaged", MngdSafeArrayMarshaler::ConvertContentsToManaged) + FCFuncElement("ClearNative", MngdSafeArrayMarshaler::ClearNative) +FCFuncEnd() + +FCFuncStart(gMngdHiddenLengthArrayMarshalerFuncs) + FCFuncElement("CreateMarshaler", MngdHiddenLengthArrayMarshaler::CreateMarshaler) + FCFuncElement("ConvertSpaceToNative", MngdHiddenLengthArrayMarshaler::ConvertSpaceToNative) + FCFuncElement("ConvertContentsToNative", MngdHiddenLengthArrayMarshaler::ConvertContentsToNative) + FCFuncElement("ConvertSpaceToManaged", MngdHiddenLengthArrayMarshaler::ConvertSpaceToManaged) + FCFuncElement("ConvertContentsToManaged", MngdHiddenLengthArrayMarshaler::ConvertContentsToManaged) + FCFuncElement("ClearNativeContents", MngdHiddenLengthArrayMarshaler::ClearNativeContents) +FCFuncEnd() + +FCFuncStart(gWinRTTypeNameConverterFuncs) + FCFuncElement("ConvertToWinRTTypeName", StubHelpers::WinRTTypeNameConverter__ConvertToWinRTTypeName) + FCFuncElement("GetTypeFromWinRTTypeName", StubHelpers::WinRTTypeNameConverter__GetTypeFromWinRTTypeName) +FCFuncEnd() + +#endif // FEATURE_COMINTEROP + +FCFuncStart(gMngdRefCustomMarshalerFuncs) + FCFuncElement("CreateMarshaler", MngdRefCustomMarshaler::CreateMarshaler) + FCFuncElement("ConvertContentsToNative", MngdRefCustomMarshaler::ConvertContentsToNative) + FCFuncElement("ConvertContentsToManaged", MngdRefCustomMarshaler::ConvertContentsToManaged) + FCFuncElement("ClearNative", MngdRefCustomMarshaler::ClearNative) + FCFuncElement("ClearManaged", MngdRefCustomMarshaler::ClearManaged) +FCFuncEnd() + +FCFuncStart(gStubHelperFuncs) +#ifndef FEATURE_CORECLR +#ifndef _WIN64 + FCFuncElement("GetFinalStubTarget", StubHelpers::GetFinalStubTarget) +#endif // !_WIN64 + FCFuncElement("DemandPermission", StubHelpers::DemandPermission) +#endif // !FEATURE_CORECLR + FCFuncElement("IsQCall", StubHelpers::IsQCall) + FCFuncElement("InitDeclaringType", StubHelpers::InitDeclaringType) + FCIntrinsic("GetNDirectTarget", StubHelpers::GetNDirectTarget, CORINFO_INTRINSIC_StubHelpers_GetNDirectTarget) + FCFuncElement("GetDelegateTarget", StubHelpers::GetDelegateTarget) + FCFuncElement("SetLastError", StubHelpers::SetLastError) +#ifdef FEATURE_CORECLR + FCFuncElement("ClearLastError", StubHelpers::ClearLastError) +#endif + FCFuncElement("ThrowInteropParamException", StubHelpers::ThrowInteropParamException) + FCFuncElement("InternalGetHRExceptionObject", StubHelpers::GetHRExceptionObject) +#ifdef FEATURE_COMINTEROP + FCFuncElement("InternalGetCOMHRExceptionObject", StubHelpers::GetCOMHRExceptionObject) + FCFuncElement("GetCOMIPFromRCW", StubHelpers::GetCOMIPFromRCW) + FCFuncElement("GetCOMIPFromRCW_WinRT", StubHelpers::GetCOMIPFromRCW_WinRT) + FCFuncElement("GetCOMIPFromRCW_WinRTSharedGeneric", StubHelpers::GetCOMIPFromRCW_WinRTSharedGeneric) + FCFuncElement("GetCOMIPFromRCW_WinRTDelegate", StubHelpers::GetCOMIPFromRCW_WinRTDelegate) + FCFuncElement("ShouldCallWinRTInterface", StubHelpers::ShouldCallWinRTInterface) + FCFuncElement("GetTargetForAmbiguousVariantCall", StubHelpers::GetTargetForAmbiguousVariantCall) + FCFuncElement("StubRegisterRCW", StubHelpers::StubRegisterRCW) + FCFuncElement("StubUnregisterRCW", StubHelpers::StubUnregisterRCW) + FCFuncElement("GetDelegateInvokeMethod", StubHelpers::GetDelegateInvokeMethod) + FCFuncElement("GetWinRTFactoryObject", StubHelpers::GetWinRTFactoryObject) + FCFuncElement("GetWinRTFactoryReturnValue", StubHelpers::GetWinRTFactoryReturnValue) + FCFuncElement("GetOuterInspectable", StubHelpers::GetOuterInspectable) +#ifdef MDA_SUPPORTED + FCFuncElement("TriggerExceptionSwallowedMDA", StubHelpers::TriggerExceptionSwallowedMDA) +#endif +#endif // FEATURE_COMINTEROP +#ifdef MDA_SUPPORTED + FCFuncElement("CheckCollectedDelegateMDA", StubHelpers::CheckCollectedDelegateMDA) +#endif // MDA_SUPPORTED +#ifdef PROFILING_SUPPORTED + FCFuncElement("ProfilerBeginTransitionCallback", StubHelpers::ProfilerBeginTransitionCallback) + FCFuncElement("ProfilerEndTransitionCallback", StubHelpers::ProfilerEndTransitionCallback) +#endif + FCFuncElement("CreateCustomMarshalerHelper", StubHelpers::CreateCustomMarshalerHelper) + FCFuncElement("DecimalCanonicalizeInternal", StubHelpers::DecimalCanonicalizeInternal) + FCFuncElement("FmtClassUpdateNativeInternal", StubHelpers::FmtClassUpdateNativeInternal) + FCFuncElement("FmtClassUpdateCLRInternal", StubHelpers::FmtClassUpdateCLRInternal) + FCFuncElement("LayoutDestroyNativeInternal", StubHelpers::LayoutDestroyNativeInternal) + FCFuncElement("AllocateInternal", StubHelpers::AllocateInternal) + FCFuncElement("strlen", StubHelpers::AnsiStrlen) + FCFuncElement("MarshalToUnmanagedVaListInternal", StubHelpers::MarshalToUnmanagedVaListInternal) + FCFuncElement("MarshalToManagedVaListInternal", StubHelpers::MarshalToManagedVaListInternal) + FCFuncElement("CalcVaListSize", StubHelpers::CalcVaListSize) + FCFuncElement("ValidateObject", StubHelpers::ValidateObject) + FCFuncElement("ValidateByref", StubHelpers::ValidateByref) + FCFuncElement("LogPinnedArgument", StubHelpers::LogPinnedArgument) + FCIntrinsic("GetStubContext", StubHelpers::GetStubContext, CORINFO_INTRINSIC_StubHelpers_GetStubContext) +#ifdef _WIN64 + FCIntrinsic("GetStubContextAddr", StubHelpers::GetStubContextAddr, CORINFO_INTRINSIC_StubHelpers_GetStubContextAddr) +#endif // _WIN64 +#ifdef MDA_SUPPORTED + FCFuncElement("TriggerGCForMDA", StubHelpers::TriggerGCForMDA) +#endif // MDA_SUPPORTED +#ifdef FEATURE_ARRAYSTUB_AS_IL + FCFuncElement("ArrayTypeCheck", StubHelpers::ArrayTypeCheck) +#endif //FEATURE_ARRAYSTUB_AS_IL +#ifdef FEATURE_STUBS_AS_IL + FCFuncElement("MulticastDebuggerTraceHelper", StubHelpers::MulticastDebuggerTraceHelper) +#endif //FEATURE_STUBS_AS_IL +FCFuncEnd() + +FCFuncStart(gCoverageFuncs) + FCUnreferenced FCFuncElement("nativeCoverBlock", COMCoverage::nativeCoverBlock) +FCFuncEnd() + +FCFuncStart(gGCHandleFuncs) + FCFuncElement("InternalAlloc", MarshalNative::GCHandleInternalAlloc) + FCFuncElement("InternalFree", MarshalNative::GCHandleInternalFree) + FCFuncElement("InternalGet", MarshalNative::GCHandleInternalGet) + FCFuncElement("InternalSet", MarshalNative::GCHandleInternalSet) + FCFuncElement("InternalCompareExchange", MarshalNative::GCHandleInternalCompareExchange) + FCFuncElement("InternalAddrOfPinnedObject", MarshalNative::GCHandleInternalAddrOfPinnedObject) + FCFuncElement("InternalCheckDomain", MarshalNative::GCHandleInternalCheckDomain) +#ifndef FEATURE_CORECLR + FCFuncElement("InternalGetHandleType", MarshalNative::GCHandleInternalGetHandleType) +#endif +FCFuncEnd() + +#ifndef FEATURE_CORECLR +FCFuncStart(gConfigHelper) + FCFuncElement("RunParser", ConfigNative::RunParser) +FCFuncEnd() +#endif // FEATURE_CORECLR + +#ifndef FEATURE_CORECLR +FCFuncStart(gConsoleFuncs) + QCFuncElement("GetTitleNative", ConsoleNative::GetTitle) +FCFuncEnd() +#endif // ifndef FEATURE_CORECLR + +FCFuncStart(gVersioningHelperFuncs) + FCFuncElement("GetRuntimeId", GetRuntimeId_Wrapper) +FCFuncEnd() + +FCFuncStart(gStreamFuncs) + FCFuncElement("HasOverriddenBeginEndRead", StreamNative::HasOverriddenBeginEndRead) + FCFuncElement("HasOverriddenBeginEndWrite", StreamNative::HasOverriddenBeginEndWrite) +FCFuncEnd() + +#ifndef FEATURE_CORECLR +FCFuncStart(gConsoleStreamFuncs) + FCFuncElement("WaitForAvailableConsoleInput", ConsoleStreamHelper::WaitForAvailableConsoleInput) +FCFuncEnd() +#endif + +#if defined(FEATURE_COMINTEROP) && defined(FEATURE_REFLECTION_ONLY_LOAD) +FCFuncStart(gWindowsRuntimeMetadata) + QCFuncElement("nResolveNamespace", CLRPrivTypeCacheReflectionOnlyWinRT::ResolveNamespace) +FCFuncEnd() +#endif //FEATURE_COMINTEROP && FEATURE_REFLECTION_ONLY_LOAD + +#ifdef FEATURE_COMINTEROP +FCFuncStart(gWindowsRuntimeBufferHelperFuncs) + QCFuncElement("StoreOverlappedPtrInCCW", WindowsRuntimeBufferHelper::StoreOverlappedPtrInCCW) + //QCFuncElement("ReleaseOverlapped", WindowsRuntimeBufferHelper::ReleaseOverlapped) +FCFuncEnd() +#endif // ifdef FEATURE_COMINTEROP + +#if defined(FEATURE_EVENTSOURCE_XPLAT) +FCFuncStart(gEventLogger) + QCFuncElement("IsEventSourceLoggingEnabled", XplatEventSourceLogger::IsEventSourceLoggingEnabled) + QCFuncElement("LogEventSource", XplatEventSourceLogger::LogEventSource) +FCFuncEnd() +#endif // defined(FEATURE_EVENTSOURCE_XPLAT) + +#ifdef FEATURE_COMINTEROP +FCFuncStart(gRuntimeClassFuncs) + FCFuncElement("GetRedirectedGetHashCodeMD", ComObject::GetRedirectedGetHashCodeMD) + FCFuncElement("RedirectGetHashCode", ComObject::RedirectGetHashCode) + FCFuncElement("GetRedirectedToStringMD", ComObject::GetRedirectedToStringMD) + FCFuncElement("RedirectToString", ComObject::RedirectToString) + FCFuncElement("GetRedirectedEqualsMD", ComObject::GetRedirectedEqualsMD) + FCFuncElement("RedirectEquals", ComObject::RedirectEquals) +FCFuncEnd() +#endif // ifdef FEATURE_COMINTEROP +FCFuncStart(gWeakReferenceFuncs) + FCFuncElement("Create", WeakReferenceNative::Create) + FCFuncElement("Finalize", WeakReferenceNative::Finalize) + FCFuncElement("get_Target", WeakReferenceNative::GetTarget) + FCFuncElement("set_Target", WeakReferenceNative::SetTarget) + FCFuncElement("get_IsAlive", WeakReferenceNative::IsAlive) + FCFuncElement("IsTrackResurrection", WeakReferenceNative::IsTrackResurrection) +FCFuncEnd() + +FCFuncStart(gWeakReferenceOfTFuncs) + FCFuncElement("Create", WeakReferenceOfTNative::Create) + FCFuncElement("Finalize", WeakReferenceOfTNative::Finalize) + FCFuncElement("get_Target", WeakReferenceOfTNative::GetTarget) + FCFuncElement("set_Target", WeakReferenceOfTNative::SetTarget) + FCFuncElement("IsTrackResurrection", WeakReferenceOfTNative::IsTrackResurrection) +FCFuncEnd() + +#ifdef FEATURE_COMINTEROP + +// +// ECall helpers for the standard managed interfaces. +// + +#define MNGSTDITF_BEGIN_INTERFACE(FriendlyName, strMngItfName, strUCOMMngItfName, strCustomMarshalerName, strCustomMarshalerCookie, strManagedViewName, NativeItfIID, bCanCastOnNativeItfQI) \ +FCFuncStart(g##FriendlyName##Funcs) + +#define MNGSTDITF_DEFINE_METH_IMPL(FriendlyName, FCallMethName, MethName, MethSig, FcallDecl) \ + FCUnreferenced FCFuncElementSig(#MethName, MethSig, FriendlyName::FCallMethName) + +#define MNGSTDITF_END_INTERFACE(FriendlyName) \ +FCFuncEnd() + +#include "mngstditflist.h" + +#undef MNGSTDITF_BEGIN_INTERFACE +#undef MNGSTDITF_DEFINE_METH_IMPL +#undef MNGSTDITF_END_INTERFACE + +#endif // FEATURE_COMINTEROP + + +// +// +// Class definitions +// +// + +// Note these have to remain sorted by name:namespace pair (Assert will wack you if you don't) +// The sorting is case-sensitive + +FCClassElement("AppDomain", "System", gAppDomainFuncs) +FCClassElement("AppDomainManager", "System", gAppDomainManagerFuncs) +#ifdef FEATURE_FUSION +FCClassElement("AppDomainSetup", "System", gAppDomainSetupFuncs) +#endif // FEATURE_FUSION +FCClassElement("ArgIterator", "System", gVarArgFuncs) +FCClassElement("Array", "System", gArrayFuncs) +FCClassElement("ArrayWithOffset", "System.Runtime.InteropServices", gArrayWithOffsetFuncs) +FCClassElement("AssemblyBuilder", "System.Reflection.Emit", gAssemblyBuilderFuncs) +#ifdef FEATURE_CAS_POLICY +FCClassElement("AssemblyEvidenceFactory", "System.Security.Policy", gAssemblyEvidenceFactoryFuncs) +#endif // FEATURE_CAS_POLICY + +#ifdef FEATURE_CORECLR +FCClassElement("AssemblyExtensions", "System.Reflection.Metadata", gAssemblyExtensionsFuncs) +#endif + +#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) +FCClassElement("AssemblyLoadContext", "System.Runtime.Loader", gAssemblyLoadContextFuncs) +#endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER) + +FCClassElement("AssemblyName", "System.Reflection", gAssemblyNameFuncs) +FCClassElement("Assert", "System.Diagnostics", gDiagnosticsAssert) +FCClassElement("BCLDebug", "System", gBCLDebugFuncs) +#ifndef FEATURE_CORECLR +FCClassElement("BaseConfigHandler", "System", gConfigHelper) +#endif // FEATURE_CORECLR +FCClassElement("Buffer", "System", gBufferFuncs) +#ifndef FEATURE_CORECLR +// Since the 2nd letter of the classname is capital, we need to sort this before all class names +// that start with Cx where x is any small letter (strcmp is used for verification). +FCClassElement("CLRConfig", "System", gCLRConfigFuncs) +#endif // FEATURE_CORECLR +#if !defined(FEATURE_COREFX_GLOBALIZATION) +FCClassElement("CalendarData", "System.Globalization", gCalendarDataFuncs) +#endif // !defined(FEATURE_COREFX_GLOBALIZATION) +#ifndef FEATURE_CORECLR +FCClassElement("ChannelServices", "System.Runtime.Remoting.Channels", gChannelServicesFuncs) +#endif // FEATURE_CORECLR +#ifdef FEATURE_CAS_POLICY +FCClassElement("CodeAccessSecurityEngine", "System.Security", gCodeAccessSecurityEngineFuncs) +#endif +FCClassElement("CompareInfo", "System.Globalization", gCompareInfoFuncs) +FCClassElement("CompatibilitySwitch", "System.Runtime.Versioning", gCompatibilitySwitchFuncs) +#ifdef FEATURE_COMPRESSEDSTACK +FCClassElement("CompressedStack", "System.Threading", gCompressedStackFuncs) +#endif // FEATURE_COMPRESSEDSTACK +#ifdef FEATURE_CAS_POLICY +FCClassElement("Config", "System.Security.Util", gPolicyConfigFuncs) +#endif // FEATURE_CAS_POLICY +#ifndef FEATURE_CORECLR +FCClassElement("Console", "System", gConsoleFuncs) +#endif // ifndef FEATURE_CORECLR +#ifdef FEATURE_REMOTING +FCClassElement("Context", "System.Runtime.Remoting.Contexts", gContextFuncs) +#endif +FCClassElement("CriticalHandle", "System.Runtime.InteropServices", gCriticalHandleFuncs) +#if !defined(FEATURE_COREFX_GLOBALIZATION) +FCClassElement("CultureData", "System.Globalization", gCultureDataFuncs) +FCClassElement("CultureInfo", "System.Globalization", gCultureInfoFuncs) +#endif +FCClassElement("Currency", "System", gCurrencyFuncs) +#ifndef FEATURE_CORECLR +FCClassElement("CurrentSystemTimeZone", "System", gTimeZoneFuncs) +#endif // FEATURE_CORECLR +FCClassElement("CustomAttribute", "System.Reflection", gCOMCustomAttributeFuncs) +FCClassElement("CustomAttributeEncodedArgument", "System.Reflection", gCustomAttributeEncodedArgument) +FCClassElement("DateMarshaler", "System.StubHelpers", gDateMarshalerFuncs) +FCClassElement("DateTime", "System", gDateTimeFuncs) +FCClassElement("Debugger", "System.Diagnostics", gDiagnosticsDebugger) +FCClassElement("Decimal", "System", gDecimalFuncs) +FCClassElement("DefaultBinder", "System", gCOMDefaultBinderFuncs) +FCClassElement("Delegate", "System", gDelegateFuncs) +FCClassElement("DependentHandle", "System.Runtime.CompilerServices", gDependentHandleFuncs) +#ifdef FEATURE_COMPRESSEDSTACK +FCClassElement("DomainCompressedStack", "System.Threading", gDomainCompressedStackFuncs) +#endif // FEATURE_COMPRESSEDSTACK +#if !defined(FEATURE_COREFX_GLOBALIZATION) +FCClassElement("EncodingTable", "System.Globalization", gEncodingTableFuncs) +#endif // !defined(FEATURE_COREFX_GLOBALIZATION) +FCClassElement("Enum", "System", gEnumFuncs) +FCClassElement("Environment", "System", gEnvironmentFuncs) +#ifdef FEATURE_COMINTEROP +FCClassElement("EventArgsMarshaler", "System.StubHelpers", gEventArgsMarshalerFuncs) +#endif // FEATURE_COMINTEROP +FCClassElement("Exception", "System", gExceptionFuncs) +#if defined(FEATURE_COMINTEROP) && !defined(FEATURE_CORECLR) +FCClassElement("ExtensibleClassFactory", "System.Runtime.InteropServices", gExtensibleClassFactoryFuncs) +#endif +FCClassElement("FileIOAccess", "System.Security.Permissions", gCOMFileIOAccessFuncs) +FCClassElement("FileLoadException", "System.IO", gFileLoadExceptionFuncs) +FCClassElement("FormatterServices", "System.Runtime.Serialization", gSerializationFuncs) +#ifdef FEATURE_CAS_POLICY +FCClassElement("FrameSecurityDescriptor", "System.Security", gFrameSecurityDescriptorFuncs) +#endif +FCClassElement("GC", "System", gGCInterfaceFuncs) +FCClassElement("GCHandle", "System.Runtime.InteropServices", gGCHandleFuncs) +#ifdef FEATURE_CAS_POLICY +FCClassElement("HostExecutionContextManager", "System.Threading", gHostExecutionContextManagerFuncs) +#endif // FEATURE_CAS_POLICY +#ifdef FEATURE_COMINTEROP +FCClassElement("IEnumerable", "System.Collections", gStdMngIEnumerableFuncs) +FCClassElement("IEnumerator", "System.Collections", gStdMngIEnumeratorFuncs) +FCClassElement("IExpando", "System.Runtime.InteropServices.Expando", gStdMngIExpandoFuncs) +#endif // FEATURE_COMINTEROP +FCClassElement("ILCover", "System.Coverage", gCoverageFuncs) +#ifdef FEATURE_COMINTEROP +FCClassElement("IReflect", "System.Reflection", gStdMngIReflectFuncs) +#endif +#ifdef FEATURE_COMINTEROP +FCClassElement("InterfaceMarshaler", "System.StubHelpers", gInterfaceMarshalerFuncs) +#endif +FCClassElement("Interlocked", "System.Threading", gInterlockedFuncs) +#if defined(FEATURE_ISOSTORE) && !defined(FEATURE_ISOSTORE_LIGHT) +FCClassElement("IsolatedStorage", "System.IO.IsolatedStorage", gIsolatedStorage) +FCClassElement("IsolatedStorageFile", "System.IO.IsolatedStorage", gIsolatedStorageFile) +#endif // FEATURE_ISOSTORE && !FEATURE_ISOSTORE_LIGHT +FCClassElement("JitHelpers", "System.Runtime.CompilerServices", gJitHelpers) +FCClassElement("LoaderAllocatorScout", "System.Reflection", gLoaderAllocatorFuncs) +FCClassElement("Log", "System.Diagnostics", gDiagnosticsLog) +FCClassElement("ManifestBasedResourceGroveler", "System.Resources", gManifestBasedResourceGrovelerFuncs) +FCClassElement("Marshal", "System.Runtime.InteropServices", gInteropMarshalFuncs) +#ifdef FEATURE_REMOTING +FCClassElement("MarshalByRefObject", "System", gMarshalByRefFuncs) +#endif +FCClassElement("Math", "System", gMathFuncs) +#ifdef MDA_SUPPORTED +FCClassElement("Mda", "System", gMda) +#endif +#ifndef FEATURE_CORECLR +FCClassElement("MemoryFailPoint", "System.Runtime", gMemoryFailPointFuncs) +#endif // FEATURE_CORECLR +#ifdef FEATURE_REMOTING +FCClassElement("Message", "System.Runtime.Remoting.Messaging", gMessageFuncs) +#endif +FCClassElement("MetadataImport", "System.Reflection", gMetaDataImport) +#ifdef FEATURE_METHOD_RENTAL +FCClassElement("MethodRental", "System.Reflection.Emit", gCOMMethodRental) +#endif // FEATURE_METHOD_RENTAL +FCClassElement("MissingMemberException", "System", gMissingMemberExceptionFuncs) +#ifdef FEATURE_COMINTEROP +FCClassElement("MngdHiddenLengthArrayMarshaler", "System.StubHelpers", gMngdHiddenLengthArrayMarshalerFuncs) +#endif // FEATURE_COMINTEROP +FCClassElement("MngdNativeArrayMarshaler", "System.StubHelpers", gMngdNativeArrayMarshalerFuncs) +FCClassElement("MngdRefCustomMarshaler", "System.StubHelpers", gMngdRefCustomMarshalerFuncs) +#ifdef FEATURE_COMINTEROP +FCClassElement("MngdSafeArrayMarshaler", "System.StubHelpers", gMngdSafeArrayMarshalerFuncs) +#endif // FEATURE_COMINTEROP +FCClassElement("ModuleBuilder", "System.Reflection.Emit", gCOMModuleBuilderFuncs) +FCClassElement("ModuleHandle", "System", gCOMModuleHandleFuncs) +FCClassElement("Monitor", "System.Threading", gMonitorFuncs) +#ifndef FEATURE_COREFX_GLOBALIZATION +FCClassElement("Normalization", "System.Text", gNormalizationFuncs) +#endif // FEATURE_COREFX_GLOBALIZATION +FCClassElement("Number", "System", gNumberFuncs) +#ifdef FEATURE_COMINTEROP +FCClassElement("OAVariantLib", "Microsoft.Win32", gOAVariantFuncs) +#endif +FCClassElement("Object", "System", gObjectFuncs) +#ifdef FEATURE_COMINTEROP +FCClassElement("ObjectMarshaler", "System.StubHelpers", gObjectMarshalerFuncs) +#endif +FCClassElement("OverlappedData", "System.Threading", gOverlappedFuncs) +#ifdef FEATURE_CAS_POLICY +FCClassElement("PEFileEvidenceFactory", "System.Security.Policy", gPEFileEvidenceFactoryFuncs) +#endif // FEATURE_CAS_POLICY +FCClassElement("ParseNumbers", "System", gParseNumbersFuncs) +#ifndef FEATURE_CORECLR +FCClassElement("PasswordDeriveBytes", "System.Security.Cryptography", gPasswordDeriveBytesFuncs) +#endif +#ifdef FEATURE_CAS_POLICY +FCClassElement("PolicyManager", "System.Security", gPolicyManagerFuncs) +#endif + +#if defined(FEATURE_MULTICOREJIT) && !defined(FEATURE_CORECLR) +FCClassElement("ProfileOptimization", "System.Runtime", gProfileOptimizationFuncs) +#endif // defined(FEATURE_MULTICOREJIT) && !defined(FEATURE_CORECLR) + +FCClassElement("PseudoCustomAttribute", "System.Reflection", gPseudoCustomAttribute) +#ifdef FEATURE_CORECLR +FCClassElement("PunkSafeHandle", "System.Reflection.Emit", gSymWrapperCodePunkSafeHandleFuncs) +#endif +#ifndef FEATURE_CORECLR +FCClassElement("RNGCryptoServiceProvider", "System.Security.Cryptography", gRNGCryptoServiceProviderFuncs) +#endif +#ifdef FEATURE_CRYPTO +FCClassElement("RSACryptoServiceProvider", "System.Security.Cryptography", gRSACryptoServiceProviderFuncs) +#endif +#ifdef FEATURE_RWLOCK +FCClassElement("ReaderWriterLock", "System.Threading", gRWLockFuncs) +#endif // FEATURE_RWLOCK +#ifdef FEATURE_REMOTING +FCClassElement("RealProxy", "System.Runtime.Remoting.Proxies", gRealProxyFuncs) +#endif +FCClassElement("RegisteredWaitHandleSafe", "System.Threading", gRegisteredWaitHandleFuncs) +#ifdef FEATURE_COMINTEROP +#ifdef FEATURE_COMINTEROP_MANAGED_ACTIVATION +FCClassElement("RegistrationServices", "System.Runtime.InteropServices", gRegistrationFuncs) +#endif // FEATURE_COMINTEROP_MANAGED_ACTIVATION +#endif // FEATURE_COMINTEROP + +#ifdef FEATURE_REMOTING +FCClassElement("RemotingServices", "System.Runtime.Remoting", gRemotingFuncs) +#endif +#if defined(FEATURE_CRYPTO) +FCClassElement("Rfc2898DeriveBytes", "System.Security.Cryptography", gRfc2898DeriveBytesFuncs) +#endif +FCClassElement("RtFieldInfo", "System.Reflection", gRuntimeFieldInfoFuncs) +FCClassElement("RuntimeAssembly", "System.Reflection", gAssemblyFuncs) +#ifdef FEATURE_COMINTEROP +FCClassElement("RuntimeClass", "System.Runtime.InteropServices.WindowsRuntime", gRuntimeClassFuncs) +#endif // FEATURE_COMINTEROP +FCClassElement("RuntimeEnvironment", "System.Runtime.InteropServices", gRuntimeEnvironmentFuncs) +FCClassElement("RuntimeFieldHandle", "System", gCOMFieldHandleNewFuncs) +FCClassElement("RuntimeHelpers", "System.Runtime.CompilerServices", gCompilerFuncs) +FCClassElement("RuntimeMethodHandle", "System", gRuntimeMethodHandle) +FCClassElement("RuntimeModule", "System.Reflection", gCOMModuleFuncs) +FCClassElement("RuntimeType", "System", gSystem_RuntimeType) +FCClassElement("RuntimeTypeHandle", "System", gCOMTypeHandleFuncs) +FCClassElement("SafeBuffer", "System.Runtime.InteropServices", gSafeBufferFuncs) +#ifdef FEATURE_X509 +FCClassElement("SafeCertContextHandle", "System.Security.Cryptography.X509Certificates", gX509SafeCertContextHandleFuncs) +#ifndef FEATURE_CORECLR +FCClassElement("SafeCertStoreHandle", "System.Security.Cryptography.X509Certificates", gX509SafeCertStoreHandleFuncs) +#endif // FEATURE_CORECLR +#endif // FEATURE_X509 +FCClassElement("SafeHandle", "System.Runtime.InteropServices", gSafeHandleFuncs) +#ifdef FEATURE_CRYPTO +FCClassElement("SafeHashHandle", "System.Security.Cryptography", gSafeHashHandleFuncs) +#endif // FEATURE_CRYPTO +#if defined(FEATURE_ISOSTORE) && !defined(FEATURE_ISOSTORE_LIGHT) +FCClassElement("SafeIsolatedStorageFileHandle", "System.IO.IsolatedStorage", gIsolatedStorageFileHandle) +#endif // FEATURE_ISOSTORE && !FEATURE_ISOSTORE_LIGHT +#ifdef FEATURE_CRYPTO +FCClassElement("SafeKeyHandle", "System.Security.Cryptography", gSafeKeyHandleFuncs) +#endif +#ifdef FEATURE_CAS_POLICY +FCClassElement("SafePEFileHandle", "Microsoft.Win32.SafeHandles", gPEFileFuncs) +#endif // FEATURE_CAS_POLICY +#ifdef FEATURE_CRYPTO +FCClassElement("SafeProvHandle", "System.Security.Cryptography", gSafeProvHandleFuncs) +#endif +#ifndef FEATURE_CORECLR +FCClassElement("SafeTypeNameParserHandle", "System", gSafeTypeNameParserHandle) +#endif //!FEATURE_CORECLR +#if defined(FEATURE_IMPERSONATION) || defined(FEATURE_COMPRESSEDSTACK) +FCClassElement("SecurityContext", "System.Security", gCOMSecurityContextFuncs) +#endif // defined(FEATURE_IMPERSONATION) || defined(FEATURE_COMPRESSEDSTACK) +FCClassElement("SecurityContextFrame", "System.Reflection", gSecurityContextFrameFuncs) +FCClassElement("SecurityManager", "System.Security", gCOMSecurityManagerFuncs) +#ifdef FEATURE_CAS_POLICY +FCClassElement("SecurityRuntime", "System.Security", gCOMSecurityRuntimeFuncs) +#endif +FCClassElement("Signature", "System", gSignatureNative) +#ifndef FEATURE_CORECLR +FCClassElement("SizedReference", "System", gSizedRefHandleFuncs) +#endif // !FEATURE_CORECLR +#ifdef FEATURE_REMOTING +FCClassElement("StackBuilderSink", "System.Runtime.Remoting.Messaging", gStackBuilderSinkFuncs) +#endif +FCClassElement("StackTrace", "System.Diagnostics", gDiagnosticsStackTrace) +FCClassElement("Stream", "System.IO", gStreamFuncs) +FCClassElement("String", "System", gStringFuncs) +FCClassElement("StringBuilder", "System.Text", gStringBufferFuncs) +FCClassElement("StringExpressionSet", "System.Security.Util", gCOMStringExpressionSetFuncs) +FCClassElement("StubHelpers", "System.StubHelpers", gStubHelperFuncs) +#if defined(FEATURE_SYNCHRONIZATIONCONTEXT_WAIT) || defined(FEATURE_APPX) +FCClassElement("SynchronizationContext", "System.Threading", gContextSynchronizationFuncs) +#endif // FEATURE_SYNCHRONIZATIONCONTEXT_WAIT || FEATURE_APPX +#if !defined(FEATURE_COREFX_GLOBALIZATION) +FCClassElement("TextInfo", "System.Globalization", gTextInfoFuncs) +#endif // !defined(FEATURE_COREFX_GLOBALIZATION) +FCClassElement("Thread", "System.Threading", gThreadFuncs) +FCClassElement("ThreadPool", "System.Threading", gThreadPoolFuncs) +#ifndef FEATURE_CORECLR +FCClassElement("TimeSpan", "System", gTimeSpanFuncs) +#endif // !FEATURE_CORECLR +FCClassElement("TimerQueue", "System.Threading", gTimerFuncs) +FCClassElement("Type", "System", gSystem_Type) +FCClassElement("TypeBuilder", "System.Reflection.Emit", gCOMClassWriter) +#ifdef FEATURE_COMINTEROP_TLB_SUPPORT +FCClassElement("TypeLibConverter", "System.Runtime.InteropServices", gTypeLibConverterFuncs) +#endif +FCClassElement("TypeLoadException", "System", gTypeLoadExceptionFuncs) +FCClassElement("TypeNameBuilder", "System.Reflection.Emit", gTypeNameBuilder) +#ifndef FEATURE_CORECLR +FCClassElement("TypeNameParser", "System", gTypeNameParser) +#endif //!FEATURE_CORECLR +FCClassElement("TypedReference", "System", gTypedReferenceFuncs) +FCClassElement("URLString", "System.Security.Util", gCOMUrlStringFuncs) +#ifdef FEATURE_COMINTEROP +FCClassElement("UriMarshaler", "System.StubHelpers", gUriMarshalerFuncs) +#endif +FCClassElement("Utf8String", "System", gUtf8String) +#ifdef FEATURE_CRYPTO +FCClassElement("Utils", "System.Security.Cryptography", gCryptographyUtilsFuncs) +#endif +FCClassElement("ValueClassMarshaler", "System.StubHelpers", gValueClassMarshalerFuncs) +FCClassElement("ValueType", "System", gValueTypeFuncs) +#ifdef FEATURE_COMINTEROP +FCClassElement("Variant", "System", gVariantFuncs) +#endif +FCClassElement("VersioningHelper", "System.Runtime.Versioning", gVersioningHelperFuncs) +FCClassElement("WaitHandle", "System.Threading", gWaitHandleFuncs) +FCClassElement("WeakReference", "System", gWeakReferenceFuncs) +FCClassElement("WeakReference`1", "System", gWeakReferenceOfTFuncs) + +#ifndef FEATURE_CORECLR +FCClassElement("Win32", "System.Security.Principal", gPrincipalFuncs) +#endif + +#ifdef FEATURE_COMINTEROP +FCClassElement("WinRTTypeNameConverter", "System.StubHelpers", gWinRTTypeNameConverterFuncs) +#endif // FEATURE_COMINTEROP + +#ifdef FEATURE_COMINTEROP +FCClassElement("WindowsRuntimeBufferHelper", "System.Runtime.InteropServices.WindowsRuntime", gWindowsRuntimeBufferHelperFuncs) +#endif + +#ifndef FEATURE_CORECLR +FCClassElement("WindowsRuntimeDesignerContext", "System.Runtime.DesignerServices", gWindowsRuntimeContextFuncs) +#endif + +#if defined(FEATURE_COMINTEROP) && defined(FEATURE_REFLECTION_ONLY_LOAD) +FCClassElement("WindowsRuntimeMetadata", "System.Runtime.InteropServices.WindowsRuntime", gWindowsRuntimeMetadata) +#endif + +#ifdef FEATURE_X509 +FCClassElement("X509Utils", "System.Security.Cryptography.X509Certificates", gX509CertificateFuncs) +#endif // FEATURE_X509 +#if defined(FEATURE_EVENTSOURCE_XPLAT) +FCClassElement("XplatEventLogger", "System.Diagnostics.Tracing", gEventLogger) +#endif //defined(FEATURE_EVENTSOURCE_XPLAT) +#ifdef FEATURE_CAS_POLICY +FCClassElement("Zone", "System.Security.Policy", gCOMSecurityZone) +#endif // FEATURE_CAS_POLICY +#ifndef FEATURE_CORECLR +FCClassElement("__ConsoleStream", "System.IO", gConsoleStreamFuncs) +#endif + + +#undef FCFuncElement +#undef FCFuncElementSig +#undef FCIntrinsic +#undef FCIntrinsicSig +#undef QCFuncElement +#undef FCDynamic +#undef FCDynamicSig +#undef FCUnreferenced +#undef FCFuncStart +#undef FCFuncEnd +#undef FCClassElement |