using System;
using System.Reflection;
namespace System.Runtime.InteropServices
{
/// Provides a set of services for registering and unregistering managed assemblies for use from COM.
// Token: 0x02000322 RID: 802
[ComVisible(true)]
[Guid("CCBD682C-73A5-4568-B8B0-C7007E11ABA2")]
public interface IRegistrationServices
{
/// Returns the GUID of the COM category that contains the managed classes.
/// The GUID of the COM category that contains the managed classes.
// Token: 0x06002225 RID: 8741
Guid GetManagedCategoryGuid();
/// Retrieves the COM ProgID for a specified type.
/// The ProgID for the specified type.
/// The type whose ProgID is being requested.
// Token: 0x06002226 RID: 8742
string GetProgIdForType(Type type);
/// Retrieves a list of classes in an assembly that would be registered by a call to .
/// A array containing a list of classes in .
/// The assembly to search for classes.
// Token: 0x06002227 RID: 8743
Type[] GetRegistrableTypesInAssembly(Assembly assembly);
/// Registers the classes in a managed assembly to enable creation from COM.
/// true if contains types that were successfully registered; otherwise false if the assembly contains no eligible types.
/// The assembly to be registered.
/// An value indicating any special settings needed when registering .
///
/// is null.
/// The full name of is null.-or- A method marked with is not static.-or- There is more than one method marked with at a given level of the hierarchy.-or- The signature of the method marked with is not valid.
// Token: 0x06002228 RID: 8744
bool RegisterAssembly(Assembly assembly, AssemblyRegistrationFlags flags);
/// Registers the specified type with COM using the specified GUID.
/// The type to be registered for use from COM.
/// GUID used to register the specified type.
// Token: 0x06002229 RID: 8745
void RegisterTypeForComClients(Type type, ref Guid g);
/// Determines whether the specified type is a COM type.
/// true if the specified type is a COM type; otherwise false.
/// The type to determine if it is a COM type.
// Token: 0x0600222A RID: 8746
bool TypeRepresentsComType(Type type);
/// Determines whether the specified type requires registration.
/// true if the type must be registered for use from COM; otherwise false.
/// The type to check for COM registration requirements.
// Token: 0x0600222B RID: 8747
bool TypeRequiresRegistration(Type type);
/// Unregisters the classes in a managed assembly.
/// true if contains types that were successfully unregistered; otherwise false if the assembly contains no eligible types.
/// The assembly to be unregistered.
///
/// is null.
/// The full name of is null.-or- A method marked with is not static.-or- There is more than one method marked with at a given level of the hierarchy.-or- The signature of the method marked with is not valid.
// Token: 0x0600222C RID: 8748
bool UnregisterAssembly(Assembly assembly);
}
}