Search
Module:
Directory

   Desktop Functions:

   Smart Device Functions:


Show Recent Changes
Subscribe (RSS)
Misc. Pages
Comments
FAQ
Helpful Tools
Playground
Suggested Reading
Website TODO List
Download Visual Studio Add-In

ICatRegister (Interfaces)
 
.
Summary
The ICatRegister interface provides methods for registering and unregistering component category information in the Registry. This includes both the human-readable names of categories and the categories implemented/required by a given component or class.

C# Definition:

    /// <summary>
    /// provides methods for registering and unregistering component category
    /// information in the registry. This includes both the human-readable
    /// names of categories and the categories implemented or required by a
    /// given component or class.
    /// </summary>
    [ComImport, Guid("0002E012-0000-0000-C000-000000000046"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), ComVisible(false)]
    public interface ICatRegister
    {
        /// <summary>
        /// Registers one or more component categories. Each component category
        /// consists of a CATID and a list of locale-dependent description strings.
        /// </summary>
        /// <param name="cCategories">The number of component categories to register.</param>
        /// <param name="rgCategoryInfo">
        /// The array of cCategories CATEGORYINFO structures. By providing the same
        /// CATID for multiple CATEGORYINFO structures, multiple locales can be
        /// registered for the same component category.
        /// </param>
        void RegisterCategories(uint cCategories, [In, MarshalAs(UnmanagedType.LPArray)] CATEGORYINFO[] rgCategoryInfo);

        /// <summary>
        /// Removes the registration of one or more component categories. Each component
        /// category consists of a CATID and a list of locale-dependent description strings.
        /// </summary>
        /// <param name="cCategories">The number of cCategories CATIDs to be removed.</param>
        /// <param name="rgcatid">Identifies the categories to be removed.</param>
        void UnRegisterCategories(uint cCategories, [In, MarshalAs(UnmanagedType.LPArray)] Guid[] rgcatid);

        /// <summary>
        /// Registers the class as implementing one or more component categories.
        /// </summary>
        /// <param name="rclsid">The class ID of the relevent class for which category information will be set.</param>
        /// <param name="cCategories">The number of categories to associate as category identifiers for the class.</param>
        /// <param name="rgcatid">The array of cCategories CATIDs to associate as category identifiers for the class.</param>
        void RegisterClassImplCategories([In] ref Guid rclsid, uint cCategories, [In, MarshalAs(UnmanagedType.LPArray)] Guid[] rgcatid);

        /// <summary>
        /// Removes one or more implemented category identifiers from a class.
        /// </summary>
        /// <param name="rclsid">The class ID of the relevant class to be manipulated.</param>
        /// <param name="cCategories">The number of category CATIDs to remove.</param>
        /// <param name="rgcatid">The array of cCategories CATID that are to be removed. Only the category IDs specified in this array are removed.</param>
        void UnRegisterClassImplCategories([In] ref Guid rclsid, uint cCategories, [In, MarshalAs(UnmanagedType.LPArray)] Guid[] rgcatid);

        /// <summary>
        /// Registers the class as requiring one or more component categories.
        /// </summary>
        /// <param name="rclsid">The class ID of the relevent class for which category information will be set.</param>
        /// <param name="cCategories">The number of category CATIDs to associate as category identifiers for the class.</param>
        /// <param name="rgcatid">The array of cCategories CATID to associate as category identifiers for the class.</param>
        void RegisterClassReqCategories([In] ref Guid rclsid, uint cCategories, [In, MarshalAs(UnmanagedType.LPArray)] Guid[] rgcatid);

        /// <summary>
        /// Removes one or more required category identifiers from a class.
        /// </summary>
        /// <param name="rclsid">The class ID of the relevent class to be manipulated.</param>
        /// <param name="cCategories">The number of category CATIDs to remove.</param>
        /// <param name="rgcatid">The array of cCategories CATID that are to be removed. Only the category IDs specified in this array are removed.</param>
        void UnRegisterClassReqCategories([In] ref Guid rclsid, uint cCategories, [In, MarshalAs(UnmanagedType.LPArray)] Guid[] rgcatid);
    }

VB Definition:

<ComImport> _
<Guid("TODO")> _
'TODO: Insert <InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _ if this doesn't derive from IDispatch
Interface ICatRegister
   TODO
End Interface

User-Defined Types:

None.

Notes:

None.

Documentation

Please edit this page!

Do you have...

  • helpful tips?
  • corrections to the existing content?
  • alternate definitions?
  • additional languages you want to include?

Select "Edit This Page" on the right hand toolbar and edit it! Or add new pages containing any supporting types needed.

 
Access PInvoke.net directly from VS:
Terms of Use
Edit This Page
Find References
Show Printable Version
Revisions