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
Support Forum
Download Visual Studio Add-In

Terms of Use
Privacy Policy
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.


NEW: SmartAssembly 5.0

Automated Error Reporting: get a volume of crash reports and a complete state of your program whenever it fails, and improve the quality of your program.

Try it for free.

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