Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Base / MS / Internal / Security / RightsManagement / Errors.cs / 1 / Errors.cs
//------------------------------------------------------------------------------ // //// Copyright (c) Microsoft Corporation. All rights reserved. // // // Description: // This file contains Error Constants defined by the promethium SDK and an exception mapping mechanism // // // History: // 06/13/2005: [....]: Initial implementation. // //----------------------------------------------------------------------------- using System; using System.Runtime.InteropServices; using System.Security; using System.Security.Permissions; using System.Security.RightsManagement; using System.Windows; // Enable presharp pragma warning suppress directives. #pragma warning disable 1634, 1691 namespace MS.Internal.Security.RightsManagement { internal static class Errors { internal static string GetLocalizedFailureCodeMessageWithDefault(RightsManagementFailureCode failureCode) { string errorMessage = GetLocalizedFailureCodeMessage(failureCode); if (errorMessage != null) { return errorMessage; } else { return SR.Get(SRID.RmExceptionGenericMessage); } } ////// This function throws the exception if hr doesn't indicate a success. In case of recognized /// Rights Management Failure code it will throw a RightsManagementException with an appropriate /// message. Otherwise, if code isn't recognized as Rights Management specific, it will throw /// RightsManagementException which has a COMException as an inner exception with the /// appropriate hr code. /// ////// Critical: This code calls into ThrowExceptionForHr which has a link demand /// TreatAsSafe: The net effect is the same as throwing an exception from your app /// [SecurityCritical, SecurityTreatAsSafe] internal static void ThrowOnErrorCode(int hr) { // we can return if it is not a failure right away // there is no reason to attempt to look-up codes and // messages which is somewhat expensive in the case of success if (hr >=0) { return; } string errorMessage = GetLocalizedFailureCodeMessage((RightsManagementFailureCode)hr); if (errorMessage != null) { throw new RightsManagementException((RightsManagementFailureCode)hr, errorMessage); } else { try { // It seems that ThrowExceptionForHR is the most consistent way // to get a platform representation of the unmanaged HR code Marshal.ThrowExceptionForHR(hr); } // disabling PreSharp false positive. In this case we are actually re-throwing the same exception // wrapped in a more specific message #pragma warning disable 56500 catch (Exception e) { // rethrow the exception as an inner exception of the RmExceptionGenericMessage throw new RightsManagementException(SR.Get(SRID.RmExceptionGenericMessage), e); } #pragma warning restore 56500 } } private static string GetLocalizedFailureCodeMessage(RightsManagementFailureCode failureCode) { SRID result; switch (failureCode) { case RightsManagementFailureCode.InvalidLicense: result=SRID.RmExceptionInvalidLicense; break; case RightsManagementFailureCode.InfoNotInLicense: result=SRID.RmExceptionInfoNotInLicense; break; case RightsManagementFailureCode.InvalidLicenseSignature: result=SRID.RmExceptionInvalidLicenseSignature; break; case RightsManagementFailureCode.EncryptionNotPermitted: result=SRID.RmExceptionEncryptionNotPermitted; break; case RightsManagementFailureCode.RightNotGranted: result=SRID.RmExceptionRightNotGranted; break; case RightsManagementFailureCode.InvalidVersion: result=SRID.RmExceptionInvalidVersion; break; case RightsManagementFailureCode.InvalidEncodingType: result=SRID.RmExceptionInvalidEncodingType; break; case RightsManagementFailureCode.InvalidNumericalValue: result=SRID.RmExceptionInvalidNumericalValue; break; case RightsManagementFailureCode.InvalidAlgorithmType: result=SRID.RmExceptionInvalidAlgorithmType; break; case RightsManagementFailureCode.EnvironmentNotLoaded: result=SRID.RmExceptionEnvironmentNotLoaded; break; case RightsManagementFailureCode.EnvironmentCannotLoad: result=SRID.RmExceptionEnvironmentCannotLoad; break; case RightsManagementFailureCode.TooManyLoadedEnvironments: result=SRID.RmExceptionTooManyLoadedEnvironments; break; case RightsManagementFailureCode.IncompatibleObjects: result=SRID.RmExceptionIncompatibleObjects; break; case RightsManagementFailureCode.LibraryFail: result=SRID.RmExceptionLibraryFail; break; case RightsManagementFailureCode.EnablingPrincipalFailure: result=SRID.RmExceptionEnablingPrincipalFailure; break; case RightsManagementFailureCode.InfoNotPresent: result=SRID.RmExceptionInfoNotPresent; break; case RightsManagementFailureCode.BadGetInfoQuery: result=SRID.RmExceptionBadGetInfoQuery; break; case RightsManagementFailureCode.KeyTypeUnsupported: result=SRID.RmExceptionKeyTypeUnsupported; break; case RightsManagementFailureCode.CryptoOperationUnsupported: result=SRID.RmExceptionCryptoOperationUnsupported; break; case RightsManagementFailureCode.ClockRollbackDetected: result=SRID.RmExceptionClockRollbackDetected; break; case RightsManagementFailureCode.QueryReportsNoResults: result=SRID.RmExceptionQueryReportsNoResults; break; case RightsManagementFailureCode.UnexpectedException: result=SRID.RmExceptionUnexpectedException; break; case RightsManagementFailureCode.BindValidityTimeViolated: result=SRID.RmExceptionBindValidityTimeViolated; break; case RightsManagementFailureCode.BrokenCertChain: result=SRID.RmExceptionBrokenCertChain; break; case RightsManagementFailureCode.BindPolicyViolation: result=SRID.RmExceptionBindPolicyViolation; break; case RightsManagementFailureCode.ManifestPolicyViolation: result=SRID.RmExceptionManifestPolicyViolation; break; case RightsManagementFailureCode.BindRevokedLicense: result=SRID.RmExceptionBindRevokedLicense; break; case RightsManagementFailureCode.BindRevokedIssuer: result=SRID.RmExceptionBindRevokedIssuer; break; case RightsManagementFailureCode.BindRevokedPrincipal: result=SRID.RmExceptionBindRevokedPrincipal; break; case RightsManagementFailureCode.BindRevokedResource: result=SRID.RmExceptionBindRevokedResource; break; case RightsManagementFailureCode.BindRevokedModule: result=SRID.RmExceptionBindRevokedModule; break; case RightsManagementFailureCode.BindContentNotInEndUseLicense: result=SRID.RmExceptionBindContentNotInEndUseLicense; break; case RightsManagementFailureCode.BindAccessPrincipalNotEnabling: result=SRID.RmExceptionBindAccessPrincipalNotEnabling; break; case RightsManagementFailureCode.BindAccessUnsatisfied: result=SRID.RmExceptionBindAccessUnsatisfied; break; case RightsManagementFailureCode.BindIndicatedPrincipalMissing: result=SRID.RmExceptionBindIndicatedPrincipalMissing; break; case RightsManagementFailureCode.BindMachineNotFoundInGroupIdentity: result=SRID.RmExceptionBindMachineNotFoundInGroupIdentity; break; case RightsManagementFailureCode.LibraryUnsupportedPlugIn: result=SRID.RmExceptionLibraryUnsupportedPlugIn; break; case RightsManagementFailureCode.BindRevocationListStale: result=SRID.RmExceptionBindRevocationListStale; break; case RightsManagementFailureCode.BindNoApplicableRevocationList: result=SRID.RmExceptionBindNoApplicableRevocationList; break; case RightsManagementFailureCode.InvalidHandle: result=SRID.RmExceptionInvalidHandle; break; case RightsManagementFailureCode.BindIntervalTimeViolated: result=SRID.RmExceptionBindIntervalTimeViolated; break; case RightsManagementFailureCode.BindNoSatisfiedRightsGroup: result=SRID.RmExceptionBindNoSatisfiedRightsGroup; break; case RightsManagementFailureCode.BindSpecifiedWorkMissing: result=SRID.RmExceptionBindSpecifiedWorkMissing; break; case RightsManagementFailureCode.NoMoreData: result=SRID.RmExceptionNoMoreData; break; case RightsManagementFailureCode.LicenseAcquisitionFailed: result=SRID.RmExceptionLicenseAcquisitionFailed; break; case RightsManagementFailureCode.IdMismatch: result=SRID.RmExceptionIdMismatch; break; case RightsManagementFailureCode.TooManyCertificates: result=SRID.RmExceptionTooManyCertificates; break; case RightsManagementFailureCode.NoDistributionPointUrlFound: result=SRID.RmExceptionNoDistributionPointUrlFound; break; case RightsManagementFailureCode.AlreadyInProgress: result=SRID.RmExceptionAlreadyInProgress; break; case RightsManagementFailureCode.GroupIdentityNotSet: result=SRID.RmExceptionGroupIdentityNotSet; break; case RightsManagementFailureCode.RecordNotFound: result=SRID.RmExceptionRecordNotFound; break; case RightsManagementFailureCode.NoConnect: result=SRID.RmExceptionNoConnect; break; case RightsManagementFailureCode.NoLicense: result=SRID.RmExceptionNoLicense; break; case RightsManagementFailureCode.NeedsMachineActivation: result=SRID.RmExceptionNeedsMachineActivation; break; case RightsManagementFailureCode.NeedsGroupIdentityActivation: result=SRID.RmExceptionNeedsGroupIdentityActivation; break; case RightsManagementFailureCode.ActivationFailed: result=SRID.RmExceptionActivationFailed; break; case RightsManagementFailureCode.Aborted: result=SRID.RmExceptionAborted; break; case RightsManagementFailureCode.OutOfQuota: result=SRID.RmExceptionOutOfQuota; break; case RightsManagementFailureCode.AuthenticationFailed: result=SRID.RmExceptionAuthenticationFailed; break; case RightsManagementFailureCode.ServerError: result=SRID.RmExceptionServerError; break; case RightsManagementFailureCode.InstallationFailed: result=SRID.RmExceptionInstallationFailed; break; case RightsManagementFailureCode.HidCorrupted: result=SRID.RmExceptionHidCorrupted; break; case RightsManagementFailureCode.InvalidServerResponse: result=SRID.RmExceptionInvalidServerResponse; break; case RightsManagementFailureCode.ServiceNotFound: result=SRID.RmExceptionServiceNotFound; break; case RightsManagementFailureCode.UseDefault: result=SRID.RmExceptionUseDefault; break; case RightsManagementFailureCode.ServerNotFound: result=SRID.RmExceptionServerNotFound; break; case RightsManagementFailureCode.InvalidEmail: result=SRID.RmExceptionInvalidEmail; break; case RightsManagementFailureCode.ValidityTimeViolation: result=SRID.RmExceptionValidityTimeViolation; break; case RightsManagementFailureCode.OutdatedModule: result=SRID.RmExceptionOutdatedModule; break; case RightsManagementFailureCode.ServiceMoved: result=SRID.RmExceptionServiceMoved; break; case RightsManagementFailureCode.ServiceGone: result=SRID.RmExceptionServiceGone; break; case RightsManagementFailureCode.AdEntryNotFound: result=SRID.RmExceptionAdEntryNotFound; break; case RightsManagementFailureCode.NotAChain: result=SRID.RmExceptionNotAChain; break; case RightsManagementFailureCode.RequestDenied: result=SRID.RmExceptionRequestDenied; break; case RightsManagementFailureCode.NotSet: result=SRID.RmExceptionNotSet; break; case RightsManagementFailureCode.MetadataNotSet: result=SRID.RmExceptionMetadataNotSet; break; case RightsManagementFailureCode.RevocationInfoNotSet: result=SRID.RmExceptionRevocationInfoNotSet; break; case RightsManagementFailureCode.InvalidTimeInfo: result=SRID.RmExceptionInvalidTimeInfo; break; case RightsManagementFailureCode.RightNotSet: result=SRID.RmExceptionRightNotSet; break; case RightsManagementFailureCode.LicenseBindingToWindowsIdentityFailed: result=SRID.RmExceptionLicenseBindingToWindowsIdentityFailed; break; case RightsManagementFailureCode.InvalidIssuanceLicenseTemplate: result=SRID.RmExceptionInvalidIssuanceLicenseTemplate; break; case RightsManagementFailureCode.InvalidKeyLength: result=SRID.RmExceptionInvalidKeyLength; break; case RightsManagementFailureCode.ExpiredOfficialIssuanceLicenseTemplate: result=SRID.RmExceptionExpiredOfficialIssuanceLicenseTemplate; break; case RightsManagementFailureCode.InvalidClientLicensorCertificate: result=SRID.RmExceptionInvalidClientLicensorCertificate; break; case RightsManagementFailureCode.HidInvalid: result=SRID.RmExceptionHidInvalid; break; case RightsManagementFailureCode.EmailNotVerified: result=SRID.RmExceptionEmailNotVerified; break; case RightsManagementFailureCode.DebuggerDetected: result=SRID.RmExceptionDebuggerDetected; break; case RightsManagementFailureCode.InvalidLockboxType: result=SRID.RmExceptionInvalidLockboxType; break; case RightsManagementFailureCode.InvalidLockboxPath: result=SRID.RmExceptionInvalidLockboxPath; break; case RightsManagementFailureCode.InvalidRegistryPath: result=SRID.RmExceptionInvalidRegistryPath; break; case RightsManagementFailureCode.NoAesCryptoProvider: result=SRID.RmExceptionNoAesCryptoProvider; break; case RightsManagementFailureCode.GlobalOptionAlreadySet: result=SRID.RmExceptionGlobalOptionAlreadySet; break; case RightsManagementFailureCode.OwnerLicenseNotFound: result=SRID.RmExceptionOwnerLicenseNotFound; break; default: return null; } return SR.Get(result); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SystemIPv6InterfaceProperties.cs
- UInt16Converter.cs
- SettingsPropertyIsReadOnlyException.cs
- OverflowException.cs
- XmlSchemaImporter.cs
- NotifyCollectionChangedEventArgs.cs
- PageParserFilter.cs
- Pointer.cs
- AesManaged.cs
- DoubleCollection.cs
- Descriptor.cs
- SessionStateUtil.cs
- ExpressionTextBox.xaml.cs
- ClientType.cs
- TypeBuilderInstantiation.cs
- HttpMethodConstraint.cs
- XmlSchemaAttributeGroup.cs
- CrossAppDomainChannel.cs
- HttpProfileBase.cs
- KeyValueInternalCollection.cs
- RenderContext.cs
- ActivityDesignerHelper.cs
- SHA512.cs
- GregorianCalendar.cs
- BasicBrowserDialog.designer.cs
- RSAPKCS1SignatureFormatter.cs
- MetadataProperty.cs
- BitArray.cs
- ObjectComplexPropertyMapping.cs
- ToolStripTemplateNode.cs
- NameValueCollection.cs
- QilStrConcatenator.cs
- FontFamilyValueSerializer.cs
- ControlBuilder.cs
- XamlTreeBuilderBamlRecordWriter.cs
- OleDragDropHandler.cs
- SplitterPanelDesigner.cs
- ResourceDisplayNameAttribute.cs
- MessageLogTraceRecord.cs
- Timer.cs
- Size.cs
- HtmlGenericControl.cs
- Window.cs
- EmptyReadOnlyDictionaryInternal.cs
- BrowserDefinitionCollection.cs
- XmlNavigatorFilter.cs
- DetailsViewDesigner.cs
- CacheDependency.cs
- Crypto.cs
- DesignerPerfEventProvider.cs
- ScalarConstant.cs
- LicenseException.cs
- DataGridLengthConverter.cs
- XmlElement.cs
- FileDialogCustomPlacesCollection.cs
- Label.cs
- TrackBarRenderer.cs
- TypeUtils.cs
- CreateParams.cs
- BinaryMessageFormatter.cs
- XmlNotation.cs
- TaiwanCalendar.cs
- Size3DValueSerializer.cs
- Array.cs
- DrawingContextDrawingContextWalker.cs
- AspProxy.cs
- _Semaphore.cs
- ByteAnimationBase.cs
- ContextMenuStripGroupCollection.cs
- TdsValueSetter.cs
- RowCache.cs
- FileVersionInfo.cs
- FigureParaClient.cs
- unsafenativemethodstextservices.cs
- ResourceWriter.cs
- WindowsScrollBar.cs
- VideoDrawing.cs
- SystemIdentity.cs
- BufferModesCollection.cs
- XmlAttributeCollection.cs
- Renderer.cs
- FixedDSBuilder.cs
- _NetworkingPerfCounters.cs
- IdnMapping.cs
- InkCollectionBehavior.cs
- Stopwatch.cs
- MemberInfoSerializationHolder.cs
- ClientConvert.cs
- DbMetaDataColumnNames.cs
- DetailsViewUpdatedEventArgs.cs
- PrivilegeNotHeldException.cs
- ExpressionEvaluator.cs
- OracleString.cs
- LineGeometry.cs
- GridViewDeletedEventArgs.cs
- ItemContainerGenerator.cs
- DbQueryCommandTree.cs
- TableRowCollection.cs
- CheckBox.cs
- FrameworkContextData.cs