Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / System.ServiceModel.Activation / System / ServiceModel / Activation / Interop / SafeNativeMethods.cs / 1305376 / SafeNativeMethods.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Activation.Interop { using System; using System.Security; using System.Runtime.InteropServices; using System.Security.Principal; using System.Runtime.Versioning; using System.Runtime; [SuppressUnmanagedCodeSecurity] static class SafeNativeMethods { public const int ERROR_NO_TOKEN = 1008; const string ADVAPI32 = "advapi32.dll"; const string KERNEL32 = "kernel32.dll"; [DllImport(ADVAPI32, SetLastError = true, EntryPoint = "OpenThreadToken")] [ResourceExposure(ResourceScope.None)] static extern bool OpenThreadTokenCritical( [In] IntPtr ThreadHandle, [In] TokenAccessLevels DesiredAccess, [In] bool OpenAsSelf, [Out] out SafeCloseHandleCritical TokenHandle); [DllImport(KERNEL32, SetLastError = true)] [ResourceExposure(ResourceScope.None)] static extern IntPtr GetCurrentThread(); [Fx.Tag.SecurityNote(Critical = "Calls two safe native methods: GetCurrentThread and OpenThreadToken." + "Marshal.GetLastWin32Error captures current thread token in a SecurityCritical field.")] [SecurityCritical] internal static bool OpenCurrentThreadTokenCritical(TokenAccessLevels desiredAccess, bool openAsSelf, out SafeCloseHandleCritical tokenHandle, out int error) { bool result = OpenThreadTokenCritical(GetCurrentThread(), desiredAccess, openAsSelf, out tokenHandle); error = Marshal.GetLastWin32Error(); return result; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Part.cs
- StreamingContext.cs
- Expander.cs
- SelectorItemAutomationPeer.cs
- WsatConfiguration.cs
- ConfigsHelper.cs
- IpcClientChannel.cs
- XmlNodeComparer.cs
- TabPanel.cs
- WebServiceFault.cs
- documentation.cs
- ConnectionsZone.cs
- MembershipSection.cs
- ReadOnlyNameValueCollection.cs
- CompModSwitches.cs
- MessageSecurityVersion.cs
- RequestDescription.cs
- FieldAccessException.cs
- WmpBitmapDecoder.cs
- Baml6Assembly.cs
- ProfessionalColorTable.cs
- GlyphRun.cs
- PersianCalendar.cs
- LocalizableAttribute.cs
- CookieHandler.cs
- ConnectivityStatus.cs
- RequestCachePolicyConverter.cs
- XmlElement.cs
- Rect.cs
- LineMetrics.cs
- ResourceAssociationType.cs
- TabControlAutomationPeer.cs
- Range.cs
- ServiceAppDomainAssociationProvider.cs
- ArglessEventHandlerProxy.cs
- CaseStatementSlot.cs
- RegexGroup.cs
- RecognizerInfo.cs
- TextWriterEngine.cs
- AccessViolationException.cs
- EdmComplexTypeAttribute.cs
- NativeRightsManagementAPIsStructures.cs
- DataGridViewColumnEventArgs.cs
- UriScheme.cs
- UrlMappingCollection.cs
- ShapingEngine.cs
- JsonUriDataContract.cs
- TableHeaderCell.cs
- FrameworkPropertyMetadata.cs
- ThaiBuddhistCalendar.cs
- VerbConverter.cs
- WebScriptServiceHostFactory.cs
- ParserStreamGeometryContext.cs
- ProcessModule.cs
- HtmlEncodedRawTextWriter.cs
- TextSearch.cs
- UserCancellationException.cs
- BrowserCapabilitiesFactoryBase.cs
- WorkflowRuntimeEndpoint.cs
- OleDbStruct.cs
- RuleRef.cs
- DataPager.cs
- JournalEntry.cs
- KerberosTicketHashIdentifierClause.cs
- PaperSize.cs
- QueryableFilterUserControl.cs
- CodePrimitiveExpression.cs
- UnionExpr.cs
- DrawItemEvent.cs
- Nullable.cs
- XmlAttributeCollection.cs
- InvalidChannelBindingException.cs
- Transform3D.cs
- ProcessModule.cs
- StructuredTypeEmitter.cs
- _SSPISessionCache.cs
- DocumentSchemaValidator.cs
- DataGridViewDataErrorEventArgs.cs
- Int32CAMarshaler.cs
- EncoderParameter.cs
- SystemNetHelpers.cs
- Timeline.cs
- BamlRecordHelper.cs
- XamlWriter.cs
- ObfuscateAssemblyAttribute.cs
- Int32EqualityComparer.cs
- WindowsTab.cs
- FlowDocumentScrollViewerAutomationPeer.cs
- CodeExpressionStatement.cs
- PathStreamGeometryContext.cs
- counter.cs
- WindowsAltTab.cs
- EventLogPermissionEntry.cs
- TypeInformation.cs
- QilIterator.cs
- ForeignConstraint.cs
- DataFieldCollectionEditor.cs
- PeerNearMe.cs
- MemberDescriptor.cs
- Error.cs