本文整理汇总了C#中System.Threading.StackCrawlMark类的典型用法代码示例。如果您正苦于以下问题:C# StackCrawlMark类的具体用法?C# StackCrawlMark怎么用?C# StackCrawlMark使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
StackCrawlMark类属于System.Threading命名空间,在下文中一共展示了StackCrawlMark类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。
示例1: _IOCompletionCallback
internal _IOCompletionCallback(IOCompletionCallback ioCompletionCallback, ref StackCrawlMark stackMark)
{
_ioCompletionCallback = ioCompletionCallback;
// clone the exection context
_executionContext = ExecutionContext.Capture(ref stackMark);
ExecutionContext.ClearSyncContext(_executionContext);
}
开发者ID:gbarnett,项目名称:shared-source-cli-2.0,代码行数:7,代码来源:overlapped.cs
示例2: GrovelForResourceSet
public ResourceSet GrovelForResourceSet(CultureInfo culture, Dictionary<string, ResourceSet> localResourceSets, bool tryParents, bool createIfNotExists, ref StackCrawlMark stackMark)
{
string file = null;
ResourceSet set = null;
ResourceSet set2;
try
{
new FileIOPermission(PermissionState.Unrestricted).Assert();
string resourceFileName = this._mediator.GetResourceFileName(culture);
file = this.FindResourceFile(culture, resourceFileName);
if (file == null)
{
if (tryParents && culture.HasInvariantCultureName)
{
throw new MissingManifestResourceException(Environment.GetResourceString("MissingManifestResource_NoNeutralDisk") + Environment.NewLine + "baseName: " + this._mediator.BaseNameField + " locationInfo: " + ((this._mediator.LocationInfo == null) ? "<null>" : this._mediator.LocationInfo.FullName) + " fileName: " + this._mediator.GetResourceFileName(culture));
}
}
else
{
set = this.CreateResourceSet(file);
}
set2 = set;
}
finally
{
CodeAccessPermission.RevertAssert();
}
return set2;
}
开发者ID:pritesh-mandowara-sp,项目名称:DecompliedDotNetLibraries,代码行数:29,代码来源:FileBasedResourceGroveler.cs
示例3: GetType
internal static Type GetType(
string typeName,
Func<AssemblyName, Assembly> assemblyResolver,
Func<Assembly, string, bool, Type> typeResolver,
bool throwOnError,
bool ignoreCase,
ref StackCrawlMark stackMark)
{
if (typeName == null)
throw new ArgumentNullException("typeName");
if (typeName.Length > 0 && typeName[0] == '\0')
throw new ArgumentException(Environment.GetResourceString("Format_StringZeroLength"));
Contract.EndContractBlock();
Type ret = null;
SafeTypeNameParserHandle handle = CreateTypeNameParser(typeName, throwOnError);
if (handle != null)
{
// If we get here the typeName must have been successfully parsed.
// Let's construct the Type object.
using (TypeNameParser parser = new TypeNameParser(handle))
{
ret = parser.ConstructType(assemblyResolver, typeResolver, throwOnError, ignoreCase, ref stackMark);
}
}
return ret;
}
开发者ID:l1183479157,项目名称:coreclr,代码行数:30,代码来源:TypeNameParser.cs
示例4: Capture
internal static ExecutionContext Capture(ref StackCrawlMark stackMark)
{
if (IsFlowSuppressed())
{
return null;
}
ExecutionContext executionContextNoCreate = System.Threading.Thread.CurrentThread.GetExecutionContextNoCreate();
ExecutionContext context2 = new ExecutionContext {
isNewCapture = true,
SecurityContext = System.Security.SecurityContext.Capture(executionContextNoCreate, ref stackMark)
};
if (context2.SecurityContext != null)
{
context2.SecurityContext.ExecutionContext = context2;
}
context2._hostExecutionContext = HostExecutionContextManager.CaptureHostExecutionContext();
if (executionContextNoCreate != null)
{
context2._syncContext = (executionContextNoCreate._syncContext == null) ? null : executionContextNoCreate._syncContext.CreateCopy();
if (executionContextNoCreate._logicalCallContext != null)
{
System.Runtime.Remoting.Messaging.LogicalCallContext logicalCallContext = executionContextNoCreate.LogicalCallContext;
context2.LogicalCallContext = (System.Runtime.Remoting.Messaging.LogicalCallContext) logicalCallContext.Clone();
}
}
return context2;
}
开发者ID:randomize,项目名称:VimConfig,代码行数:27,代码来源:ExecutionContext.cs
示例5: _IOCompletionCallback
internal _IOCompletionCallback(IOCompletionCallback ioCompletionCallback, ref StackCrawlMark stackMark)
{
_ioCompletionCallback = ioCompletionCallback;
// clone the exection context
_executionContext = ExecutionContext.Capture(
ref stackMark,
ExecutionContext.CaptureOptions.IgnoreSyncCtx | ExecutionContext.CaptureOptions.OptimizeDefaultCase);
}
开发者ID:kouvel,项目名称:coreclr,代码行数:8,代码来源:Overlapped.cs
示例6: ConstructType
private unsafe Type ConstructType(Func<AssemblyName, Assembly> assemblyResolver, Func<Assembly, string, bool, Type> typeResolver, bool throwOnError, bool ignoreCase, ref StackCrawlMark stackMark)
{
Assembly assembly = null;
int[] numArray2;
string assemblyName = this.GetAssemblyName();
if (assemblyName.Length > 0)
{
assembly = ResolveAssembly(assemblyName, assemblyResolver, throwOnError, ref stackMark);
if (assembly == null)
{
return null;
}
}
string[] names = this.GetNames();
if (names == null)
{
if (throwOnError)
{
throw new TypeLoadException(Environment.GetResourceString("Arg_TypeLoadNullStr"));
}
return null;
}
Type typeStart = ResolveType(assembly, names, typeResolver, throwOnError, ignoreCase, ref stackMark);
if (typeStart == null)
{
return null;
}
SafeTypeNameParserHandle[] typeArguments = this.GetTypeArguments();
Type[] genericArgs = null;
if (typeArguments != null)
{
genericArgs = new Type[typeArguments.Length];
for (int i = 0; i < typeArguments.Length; i++)
{
using (TypeNameParser parser = new TypeNameParser(typeArguments[i]))
{
genericArgs[i] = parser.ConstructType(assemblyResolver, typeResolver, throwOnError, ignoreCase, ref stackMark);
}
if (genericArgs[i] == null)
{
return null;
}
}
}
int[] modifiers = this.GetModifiers();
if (((numArray2 = modifiers) == null) || (numArray2.Length == 0))
{
numRef = null;
goto Label_00EE;
}
fixed (int* numRef = numArray2)
{
IntPtr ptr;
Label_00EE:
ptr = new IntPtr((void*) numRef);
return RuntimeTypeHandle.GetTypeHelper(typeStart, genericArgs, ptr, (modifiers == null) ? 0 : modifiers.Length);
}
}
开发者ID:pritesh-mandowara-sp,项目名称:DecompliedDotNetLibraries,代码行数:58,代码来源:TypeNameParser.cs
示例7: _TimerCallback
internal _TimerCallback(TimerCallback timerCallback, object state, ref StackCrawlMark stackMark)
{
this._timerCallback = timerCallback;
this._state = state;
if (!ExecutionContext.IsFlowSuppressed())
{
this._executionContext = ExecutionContext.Capture(ref stackMark, ExecutionContext.CaptureOptions.OptimizeDefaultCase | ExecutionContext.CaptureOptions.IgnoreSyncCtx);
}
}
开发者ID:pritesh-mandowara-sp,项目名称:DecompliedDotNetLibraries,代码行数:9,代码来源:_TimerCallback.cs
示例8: _ThreadPoolWaitCallback
internal _ThreadPoolWaitCallback(WaitCallback waitCallback, object state, bool compressStack, ref StackCrawlMark stackMark)
{
this._waitCallback = waitCallback;
this._state = state;
if (compressStack && !ExecutionContext.IsFlowSuppressed())
{
this._executionContext = ExecutionContext.Capture(ref stackMark, ExecutionContext.CaptureOptions.OptimizeDefaultCase | ExecutionContext.CaptureOptions.IgnoreSyncCtx);
}
}
开发者ID:pritesh-mandowara-sp,项目名称:DecompliedDotNetLibraries,代码行数:9,代码来源:_ThreadPoolWaitCallback.cs
示例9: QueueUserWorkItemCallback
internal QueueUserWorkItemCallback(WaitCallback waitCallback, object stateObj, bool compressStack, ref StackCrawlMark stackMark)
{
this.callback = waitCallback;
this.state = stateObj;
if (compressStack && !ExecutionContext.IsFlowSuppressed())
{
this.context = ExecutionContext.Capture(ref stackMark, ExecutionContext.CaptureOptions.OptimizeDefaultCase | ExecutionContext.CaptureOptions.IgnoreSyncCtx);
}
}
开发者ID:pritesh-mandowara-sp,项目名称:DecompliedDotNetLibraries,代码行数:9,代码来源:QueueUserWorkItemCallback.cs
示例10: _ThreadPoolWaitOrTimerCallback
internal _ThreadPoolWaitOrTimerCallback(WaitOrTimerCallback waitOrTimerCallback, object state, bool compressStack, ref StackCrawlMark stackMark)
{
this._waitOrTimerCallback = waitOrTimerCallback;
this._state = state;
if (compressStack && !ExecutionContext.IsFlowSuppressed())
{
this._executionContext = ExecutionContext.Capture(ref stackMark);
ExecutionContext.ClearSyncContext(this._executionContext);
}
}
开发者ID:randomize,项目名称:VimConfig,代码行数:10,代码来源:_ThreadPoolWaitOrTimerCallback.cs
示例11: _TimerCallback
internal _TimerCallback(TimerCallback timerCallback, Object state, ref StackCrawlMark stackMark)
{
_timerCallback = timerCallback;
_state = state;
if (!ExecutionContext.IsFlowSuppressed())
{
_executionContext = ExecutionContext.Capture(ref stackMark);
ExecutionContext.ClearSyncContext(_executionContext);
}
}
开发者ID:gbarnett,项目名称:shared-source-cli-2.0,代码行数:10,代码来源:timer.cs
示例12: GetType
internal static Type GetType(
string typeName,
Func<AssemblyName, Assembly> assemblyResolver,
Func<Assembly, string, bool, Type> typeResolver,
bool throwOnError,
bool ignoreCase,
ref StackCrawlMark stackMark)
{
TypeSpec spec = TypeSpec.Parse (typeName);
return spec.Resolve (assemblyResolver, typeResolver, throwOnError, ignoreCase);
}
开发者ID:Profit0004,项目名称:mono,代码行数:11,代码来源:TypeNameParser.cs
示例13: AddTimer
internal void AddTimer(TimerCallback callback, object state, uint dueTime, uint period, ref StackCrawlMark stackMark)
{
if (callback == null)
{
throw new ArgumentNullException("TimerCallback");
}
_TimerCallback callback2 = new _TimerCallback(callback, state, ref stackMark);
state = callback2;
this.AddTimerNative(state, dueTime, period, ref stackMark);
this.timerDeleted = 0;
}
开发者ID:randomize,项目名称:VimConfig,代码行数:11,代码来源:TimerBase.cs
示例14: ConstructType
private unsafe Type ConstructType(Func<AssemblyName, Assembly> assemblyResolver, Func<Assembly, string, bool, Type> typeResolver, bool throwOnError, bool ignoreCase, ref StackCrawlMark stackMark)
{
Assembly assembly = null;
string assemblyName = this.GetAssemblyName();
if (assemblyName.Length > 0)
{
assembly = TypeNameParser.ResolveAssembly(assemblyName, assemblyResolver, throwOnError, ref stackMark);
if (assembly == null)
{
return null;
}
}
string[] names = this.GetNames();
if (names == null)
{
if (throwOnError)
{
throw new TypeLoadException(Environment.GetResourceString("Arg_TypeLoadNullStr"));
}
return null;
}
else
{
Type type = TypeNameParser.ResolveType(assembly, names, typeResolver, throwOnError, ignoreCase, ref stackMark);
if (type == null)
{
return null;
}
SafeTypeNameParserHandle[] typeArguments = this.GetTypeArguments();
Type[] array = null;
if (typeArguments != null)
{
array = new Type[typeArguments.Length];
for (int i = 0; i < typeArguments.Length; i++)
{
using (TypeNameParser typeNameParser = new TypeNameParser(typeArguments[i]))
{
array[i] = typeNameParser.ConstructType(assemblyResolver, typeResolver, throwOnError, ignoreCase, ref stackMark);
}
if (array[i] == null)
{
return null;
}
}
}
int[] modifiers = this.GetModifiers();
fixed (int* ptr = modifiers)
{
IntPtr pModifiers = new IntPtr((void*)ptr);
return RuntimeTypeHandle.GetTypeHelper(type, array, pModifiers, (modifiers == null) ? 0 : modifiers.Length);
}
}
}
开发者ID:ChristianWulf,项目名称:CSharpKDMDiscoverer,代码行数:53,代码来源:TypeNameParser.cs
示例15: CreateInstanceSlow
internal Object CreateInstanceSlow(bool publicOnly, bool skipCheckThis, bool fillCache, ref StackCrawlMark stackMark)
{
bool bNeedSecurityCheck = true;
bool bCanBeCached = false;
bool bSecurityCheckOff = false;
if (!skipCheckThis)
CreateInstanceCheckThis();
if (!fillCache)
bSecurityCheckOff = true;
return CreateInstanceMono (!publicOnly);
}
开发者ID:JokerMisfits,项目名称:linux-packaging-mono,代码行数:14,代码来源:RuntimeType.cs
示例16: DefineDynamicModuleInternal
internal ModuleBuilder DefineDynamicModuleInternal(
String name,
bool emitSymbolInfo, // specify if emit symbol info or not
ref StackCrawlMark stackMark)
{
BCLDebug.Log("DYNIL","## DYNIL LOGGING: AssemblyBuilder.DefineDynamicModule( " + name + " )");
BCLDebug.Assert(m_assemblyData != null, "m_assemblyData is null in DefineDynamicModuleInternal");
if (name == null)
throw new ArgumentNullException("name");
if (name.Length == 0)
throw new ArgumentException(Environment.GetResourceString("Argument_EmptyName"), "name");
if (name[0] == '\0')
throw new ArgumentException(Environment.GetResourceString("Argument_InvalidName"), "name");
m_assemblyData.CheckNameConflict(name);
// create the dynamic module
ModuleBuilder dynModule = nDefineDynamicModule(this, emitSymbolInfo, name, ref stackMark);
ISymbolWriter writer = null;
if (emitSymbolInfo)
{
// create the default SymWriter
Assembly assem = LoadISymWrapper();
Type symWriter = assem.GetType("System.Diagnostics.SymbolStore.SymWriter", true, false);
if (symWriter != null && !symWriter.IsVisible)
symWriter = null;
if (symWriter == null)
{
// cannot find SymWriter
throw new ExecutionEngineException(String.Format(CultureInfo.CurrentCulture, Environment.GetResourceString(ResId.MissingType), "SymWriter"));
}
try {
(new PermissionSet(PermissionState.Unrestricted)).Assert();
writer = (ISymbolWriter) Activator.CreateInstance(symWriter);
}
finally {
CodeAccessPermission.RevertAssert();
}
}
dynModule.Init(name, null, writer);
m_assemblyData.AddModule(dynModule);
return dynModule;
}
开发者ID:gbarnett,项目名称:shared-source-cli-2.0,代码行数:48,代码来源:assemblybuilder.cs
示例17: Assert
internal static void Assert(PermissionSet permSet, ref StackCrawlMark stackMark)
{
FrameSecurityDescriptor descriptor = CodeAccessSecurityEngine.CheckNReturnSO(CodeAccessSecurityEngine.AssertPermissionToken, CodeAccessSecurityEngine.AssertPermission, ref stackMark, 1);
if (descriptor == null)
{
Environment.FailFast(Environment.GetResourceString("ExecutionEngine_MissingSecurityDescriptor"));
}
else
{
if (descriptor.HasImperativeAsserts())
{
throw new SecurityException(Environment.GetResourceString("Security_MustRevertOverride"));
}
descriptor.SetAssert(permSet);
}
}
开发者ID:pritesh-mandowara-sp,项目名称:DecompliedDotNetLibraries,代码行数:16,代码来源:SecurityRuntime.cs
示例18: AssertAllPossible
internal static void AssertAllPossible(ref StackCrawlMark stackMark)
{
FrameSecurityDescriptor securityObjectForFrame = GetSecurityObjectForFrame(ref stackMark, true);
if (securityObjectForFrame == null)
{
Environment.FailFast(Environment.GetResourceString("ExecutionEngine_MissingSecurityDescriptor"));
}
else
{
if (securityObjectForFrame.GetAssertAllPossible())
{
throw new SecurityException(Environment.GetResourceString("Security_MustRevertOverride"));
}
securityObjectForFrame.SetAssertAllPossible();
}
}
开发者ID:pritesh-mandowara-sp,项目名称:DecompliedDotNetLibraries,代码行数:16,代码来源:SecurityRuntime.cs
示例19: GrovelForResourceSet
[System.Security.SecuritySafeCritical] // auto-generated
public ResourceSet GrovelForResourceSet(CultureInfo culture, Dictionary<String, ResourceSet> localResourceSets, bool tryParents, bool createIfNotExists, ref StackCrawlMark stackMark)
{
Contract.Assert(culture != null, "culture shouldn't be null; check caller");
String fileName = null;
ResourceSet rs = null;
// Don't use Assembly manifest, but grovel on disk for a file.
try
{
#if !DISABLE_CAS_USE
new System.Security.Permissions.FileIOPermission(System.Security.Permissions.PermissionState.Unrestricted).Assert();
#endif
// Create new ResourceSet, if a file exists on disk for it.
String tempFileName = _mediator.GetResourceFileName(culture);
fileName = FindResourceFile(culture, tempFileName);
if (fileName == null)
{
if (tryParents)
{
// If we've hit top of the Culture tree, return.
if (culture.HasInvariantCultureName)
{
// We really don't think this should happen - we always
// expect the neutral locale's resources to be present.
throw new MissingManifestResourceException(Environment.GetResourceString("MissingManifestResource_NoNeutralDisk") + Environment.NewLine + "baseName: " + _mediator.BaseNameField + " locationInfo: " + (_mediator.LocationInfo == null ? "<null>" : _mediator.LocationInfo.FullName) + " fileName: " + _mediator.GetResourceFileName(culture));
}
}
}
else
{
rs = CreateResourceSet(fileName);
}
return rs;
}
finally
{
#if !DISABLE_CAS_USE
System.Security.CodeAccessPermission.RevertAssert();
#endif
}
}
开发者ID:JokerMisfits,项目名称:linux-packaging-mono,代码行数:44,代码来源:filebasedresourcegroveler.cs
示例20: Deny
internal static void Deny(PermissionSet permSet, ref StackCrawlMark stackMark)
{
if (!AppDomain.CurrentDomain.IsLegacyCasPolicyEnabled)
{
throw new NotSupportedException(Environment.GetResourceString("NotSupported_CasDeny"));
}
FrameSecurityDescriptor securityObjectForFrame = GetSecurityObjectForFrame(ref stackMark, true);
if (securityObjectForFrame == null)
{
Environment.FailFast(Environment.GetResourceString("ExecutionEngine_MissingSecurityDescriptor"));
}
else
{
if (securityObjectForFrame.HasImperativeDenials())
{
throw new SecurityException(Environment.GetResourceString("Security_MustRevertOverride"));
}
securityObjectForFrame.SetDeny(permSet);
}
}
开发者ID:pritesh-mandowara-sp,项目名称:DecompliedDotNetLibraries,代码行数:20,代码来源:SecurityRuntime.cs
注:本文中的System.Threading.StackCrawlMark类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论