﻿<?xml version="1.0" encoding="utf-8"?><Type Name="RegistrationServices" FullName="System.Runtime.InteropServices.RegistrationServices"><TypeSignature Maintainer="auto" Language="C#" Value="public class RegistrationServices : System.Runtime.InteropServices.IRegistrationServices" /><TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit RegistrationServices extends System.Object implements class System.Runtime.InteropServices.IRegistrationServices" /><AssemblyInfo><AssemblyName>mscorlib</AssemblyName><AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00]</AssemblyPublicKey><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the &lt;link location="node:gtk-sharp/programming/threads"&gt;Gtk# Thread Programming&lt;/link&gt; for details.</ThreadSafetyStatement><Base><BaseTypeName>System.Object</BaseTypeName></Base><Interfaces><Interface><InterfaceName>System.Runtime.InteropServices.IRegistrationServices</InterfaceName></Interface></Interfaces><Attributes><Attribute><AttributeName>System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)</AttributeName></Attribute><Attribute><AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName></Attribute><Attribute><AttributeName>System.Runtime.InteropServices.Guid("475e398f-8afa-43a7-a3be-f4ef8d6787c9")</AttributeName></Attribute></Attributes><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Registration is needed when the objects within an assembly are being used by COM clients. The <format type="text/html"><a href="E190E342-36EF-4651-A0B4-0E8C2C0281CB">[&lt;topic://cpgrfassemblyregistrationtoolregasmexe&gt;]</a></format> and vsprvsext use methods exposed by the <see cref="T:System.Runtime.InteropServices.RegistrationServices" /> class to add or remove COM-enabling registry entries for managed assemblies.</para><para>You can use the following methods to assist you in preparing a registration file: </para><list type="bullet"><item><para><see cref="M:System.Runtime.InteropServices.RegistrationServices.GetManagedCategoryGuid" /></para></item><item><para><see cref="M:System.Runtime.InteropServices.RegistrationServices.GetProgIdForType(System.Type)" /></para></item><item><para><see cref="M:System.Runtime.InteropServices.RegistrationServices.GetRegistrableTypesInAssembly(System.Reflection.Assembly)" /></para></item><item><para><see cref="M:System.Runtime.InteropServices.RegistrationServices.TypeRepresentsComType(System.Type)" /></para></item></list><para>Although these methods help in gathering information to be used in a registration file, they do not actually produce a registration file. Instead, you can use the <format type="text/html"><a href="e190e342-36ef-4651-a0b4-0e8c2c0281cb">Assembly Registration Tool (Regasm.exe)</a></format> tool with the /regfile option to perform this task. <see cref="T:System.Runtime.InteropServices.RegistrationServices" /> methods cannot export and register a type library. To export and register a type library, you can use the <format type="text/html"><a href="e190e342-36ef-4651-a0b4-0e8c2c0281cb">Assembly Registration Tool (Regasm.exe)</a></format> tool and the <format type="text/html"><a href="a487d61b-d166-467b-a7ca-d8b52fbff42d">Type Library Exporter (Tlbexp.exe)</a></format> tool.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Provides a set of services for registering and unregistering managed assemblies for use from COM.</para></summary></Docs><Members><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public RegistrationServices ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue /><Parameters /><Docs><remarks>To be added</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.RegistrationServices" /> class. </para></summary></Docs></Member><Member MemberName="GetManagedCategoryGuid"><MemberSignature Language="C#" Value="public virtual Guid GetManagedCategoryGuid ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance valuetype System.Guid GetManagedCategoryGuid() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Guid</ReturnType></ReturnValue><Parameters /><Docs><remarks>To be added</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Returns the GUID of the COM category that contains the managed classes.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The GUID of the COM category that contains the managed classes.</para></returns></Docs></Member><Member MemberName="GetProgIdForType"><MemberSignature Language="C#" Value="public virtual string GetProgIdForType (Type type);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance string GetProgIdForType(class System.Type type) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Parameters><Parameter Name="type" Type="System.Type" /></Parameters><Docs><remarks>To be added</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Retrieves the COM ProgID for the specified type.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The ProgID for the specified type.</para></returns><param name="type"><attribution license="cc4" from="Microsoft" modified="false" />The type corresponding to the ProgID that is being requested. </param></Docs></Member><Member MemberName="GetRegistrableTypesInAssembly"><MemberSignature Language="C#" Value="public virtual Type[] GetRegistrableTypesInAssembly (System.Reflection.Assembly assembly);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.Type[] GetRegistrableTypesInAssembly(class System.Reflection.Assembly assembly) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Type[]</ReturnType></ReturnValue><Parameters><Parameter Name="assembly" Type="System.Reflection.Assembly" /></Parameters><Docs><remarks>To be added</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Retrieves a list of classes in an assembly that would be registered by a call to <see cref="M:System.Runtime.InteropServices.RegistrationServices.RegisterAssembly(System.Reflection.Assembly,System.Runtime.InteropServices.AssemblyRegistrationFlags)" />.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A <see cref="T:System.Type" /> array containing a list of classes in <paramref name="assembly" />.</para></returns><param name="assembly"><attribution license="cc4" from="Microsoft" modified="false" />The assembly to search for classes. </param></Docs></Member><Member MemberName="RegisterAssembly"><MemberSignature Language="C#" Value="public virtual bool RegisterAssembly (System.Reflection.Assembly assembly, System.Runtime.InteropServices.AssemblyRegistrationFlags flags);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool RegisterAssembly(class System.Reflection.Assembly assembly, valuetype System.Runtime.InteropServices.AssemblyRegistrationFlags flags) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="assembly" Type="System.Reflection.Assembly" /><Parameter Name="flags" Type="System.Runtime.InteropServices.AssemblyRegistrationFlags" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>RegisterAssembly adds the appropriate registry entries for the types in the specified assembly. This method also calls any registration functions found in the assembly.</para><para>Use <see cref="M:System.Reflection.Assembly.Load(System.String)" /> to get an assembly.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Registers the classes in a managed assembly to enable creation from COM.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>true if <paramref name="assembly" /> contains types that were successfully registered; otherwise false if the assembly contains no eligible types.</para></returns><param name="assembly"><attribution license="cc4" from="Microsoft" modified="false" />The assembly to be registered. </param><param name="flags"><attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.Runtime.InteropServices.AssemblyRegistrationFlags" /> value indicating any special settings used when registering <paramref name="assembly" />. </param></Docs></Member><Member MemberName="RegisterTypeForComClients"><MemberSignature Language="C#" Value="public virtual void RegisterTypeForComClients (Type type, ref Guid g);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void RegisterTypeForComClients(class System.Type type, valuetype System.Guid g) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="type" Type="System.Type" /><Parameter Name="g" Type="System.Guid&amp;" RefType="ref" /></Parameters><Docs><param name="type">To be added: an object of type 'Type'</param><param name="g">To be added: an object of type 'Guid&amp;'</param><summary>To be added</summary><remarks>To be added</remarks></Docs></Member><Member MemberName="RegisterTypeForComClients"><MemberSignature Language="C#" Value="public virtual int RegisterTypeForComClients (Type type, System.Runtime.InteropServices.RegistrationClassContext classContext, System.Runtime.InteropServices.RegistrationConnectionType flags);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance int32 RegisterTypeForComClients(class System.Type type, valuetype System.Runtime.InteropServices.RegistrationClassContext classContext, valuetype System.Runtime.InteropServices.RegistrationConnectionType flags) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>System.Runtime.InteropServices.ComVisible(false)</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>System.Int32</ReturnType></ReturnValue><Parameters><Parameter Name="type" Type="System.Type" /><Parameter Name="classContext" Type="System.Runtime.InteropServices.RegistrationClassContext" /><Parameter Name="flags" Type="System.Runtime.InteropServices.RegistrationConnectionType" /></Parameters><Docs><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This method is equivalent to calling CoRegisterClassObject in COM. The <see cref="M:System.Runtime.InteropServices.RegistrationServices.RegisterTypeForComClients(System.Type,System.Runtime.InteropServices.RegistrationClassContext,System.Runtime.InteropServices.RegistrationConnectionType)" /> method is not atomic and can cause unpredictable results when used in a multithreaded context. </para><para>In the .NET Framework version 2.0 and later, use the <see cref="M:System.Runtime.InteropServices.RegistrationServices.UnregisterTypeForComClients(System.Int32)" /> method to unregister a type in COM. </para><para>Note that using platform invoke to call the unmanaged CoRegisterClassObject and  CoDisconnectObject methods for registration and unregistration of COM objects is not supported.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Registers the specified type with COM using the specified execution context and connection type.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>An integer that represents a cookie value.</para></returns><param name="type"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Type" /> object to register for use from COM.</param><param name="classContext"><attribution license="cc4" from="Microsoft" modified="false" />One of the <see cref="T:System.Runtime.InteropServices.RegistrationClassContext" /> values that indicates the context in which the executable code will be run.</param><param name="flags"><attribution license="cc4" from="Microsoft" modified="false" />One of the <see cref="T:System.Runtime.InteropServices.RegistrationConnectionType" /> values that specifies how connections are made to the class object.</param></Docs></Member><Member MemberName="TypeRepresentsComType"><MemberSignature Language="C#" Value="public virtual bool TypeRepresentsComType (Type type);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool TypeRepresentsComType(class System.Type type) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="type" Type="System.Type" /></Parameters><Docs><remarks>To be added</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Indicates whether a type is marked with the <see cref="T:System.Runtime.InteropServices.ComImportAttribute" />, or derives from a type marked with the <see cref="T:System.Runtime.InteropServices.ComImportAttribute" /> and shares the same GUID as the parent.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>true if a type is marked with the <see cref="T:System.Runtime.InteropServices.ComImportAttribute" />, or derives from a type marked with the <see cref="T:System.Runtime.InteropServices.ComImportAttribute" /> and shares the same GUID as the parent; otherwise false.</para></returns><param name="type"><attribution license="cc4" from="Microsoft" modified="false" />The type to check for being a COM type. </param></Docs></Member><Member MemberName="TypeRequiresRegistration"><MemberSignature Language="C#" Value="public virtual bool TypeRequiresRegistration (Type type);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool TypeRequiresRegistration(class System.Type type) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="type" Type="System.Type" /></Parameters><Docs><remarks>To be added</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Determines whether the specified type requires registration.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>true if the type must be registered for use from COM; otherwise false.</para></returns><param name="type"><attribution license="cc4" from="Microsoft" modified="false" />The type to check for COM registration requirements. </param></Docs></Member><Member MemberName="UnregisterAssembly"><MemberSignature Language="C#" Value="public virtual bool UnregisterAssembly (System.Reflection.Assembly assembly);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool UnregisterAssembly(class System.Reflection.Assembly assembly) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="assembly" Type="System.Reflection.Assembly" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>UnregisterAssembly removes the registry entries for the types in the specified assembly previously added by <see cref="M:System.Runtime.InteropServices.RegistrationServices.RegisterAssembly(System.Reflection.Assembly,System.Runtime.InteropServices.AssemblyRegistrationFlags)" />. This method also calls any unregistration functions found in the assembly.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Unregisters the classes in a managed assembly.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>true if <paramref name="assembly" /> contains types that were successfully unregistered; otherwise false if the assembly contains no eligible types.</para></returns><param name="assembly"><attribution license="cc4" from="Microsoft" modified="false" />The assembly to be unregistered. </param></Docs></Member><Member MemberName="UnregisterTypeForComClients"><MemberSignature Language="C#" Value="public virtual void UnregisterTypeForComClients (int cookie);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void UnregisterTypeForComClients(int32 cookie) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>System.Runtime.InteropServices.ComVisible(false)</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="cookie" Type="System.Int32" /></Parameters><Docs><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Note that using platform invoke to call the unmanaged CoRegisterClassObject and  CoDisconnectObject methods to register and unregister COM objects is not supported.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Removes references to a type registered with the <see cref="M:System.Runtime.InteropServices.RegistrationServices.RegisterTypeForComClients(System.Type,System.Runtime.InteropServices.RegistrationClassContext,System.Runtime.InteropServices.RegistrationConnectionType)" /> method. </para></summary><param name="cookie"><attribution license="cc4" from="Microsoft" modified="false" />The cookie value returned by a previous call to the <see cref="M:System.Runtime.InteropServices.RegistrationServices.RegisterTypeForComClients(System.Type,System.Runtime.InteropServices.RegistrationClassContext,System.Runtime.InteropServices.RegistrationConnectionType)" /> method overload.</param></Docs></Member></Members></Type>