Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 58855
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 10, 20262026-05-10T17:54:48+00:00 2026-05-10T17:54:48+00:00

I’ve got some code that uses the Component Categories manager to load all of

  • 0

I’ve got some code that uses the Component Categories manager to load all of the classes that implement a particular category.

Is there an easy way to get a description, path and version information from the loaded DLL or EXE?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-10T17:54:48+00:00Added an answer on May 10, 2026 at 5:54 pm

    When the object is loaded in-proc (i.e. from a DLL) in the same apartment, there are potentially some tricks you could do to find the DLL in memory. For instance, if you look in the virtual method table (vtable) for code pointers into the live object, they would usually point into the DLL. You could then use some system calls to determine which loaded DLL that code is part of.

    But there are many potential pitfalls. If you have to load these objects into a separate apartment, then the code pointer will point to a stub and not the actual code. Also, many COM libraries actually implement the common interfaces in wrapper classes provided by the runtime, so this would be highly likely to give you false information in many common use cases. (I.e. you would end up getting the info for a runtime DLL, typically MFC or ATL).

    When an object is loaded out-of-proc (i.e. from an EXE), I don’t know any plausible way to chase down which EXE corresponds to the live object. (Clearly this data must exist somewhere in your process or in the COM runtime but its buried somewhere below the stubs, and is probably dependent on the version of Windows you are running).

    So unless you are looking at a very restricted set of objects (all in-proc that load in the same apartment as you), probably your best bet is to use the registration information in the Registry to look up what you need. This is troublesome because this is one of those things that can change from version to version of the OS, but fortunately COM has been around long enough that this hasn’t changed a ton over the years.

    Given a CLSID of an object you got from the Component Categories Manager, you would look up the corresponding binary file as follows:

    1. Open registry key HKEY_CLASSES_ROOT\CLSID\{xxxxxxxxx-yyyyy-zzzz-aaaa-bbbbbbbbbbbbbb} where string inside the braces is the CLSID of the object you want to find.
    2. If this is an in-proc object, there will be a sub-key named InProcServer32 whose ‘default’ REG_SZ contains the full path to the DLL you need.
    3. If this is an out-of-proc object, there will be a sub-key named LocalServer32 whose ‘default’ REG_SZ contains the full path to the EXE you need. In some cases you may have to trim command line switches off this string to get just the EXE path.
    4. With the DLL or EXE from the previous steps, you can call GetFileVersionInfo() in Win32 (or use System.Diagnostics.FileVersionInfo.GetVersionInfo if you have .NET available) to retrieve the version information structure from the executable, which will have version and description in it.
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 64k
  • Answers 64k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • added an answer The ## concatenates what's before the ## with what's after… May 11, 2026 at 10:47 am
  • added an answer In order to add contents to display on a JTable,… May 11, 2026 at 10:47 am
  • added an answer You should use a method to handle the uploaded file,… May 11, 2026 at 10:47 am

Related Questions

I keep getting tasks that are above my skill level. How can I address this without coming accross as grossly incompetent?
I have a web-service that I will be deploying to dev, staging and production.
I'm thinking of starting a wiki, probably on a low cost LAMP hosting account.
I have the following tables in my database that have a many-to-many relationship, which
I'm using the RESTful authentication Rails plugin for an app I'm developing. I'm having
I recently printed out Jeff Atwood's Understanding The Hardware blog post and plan on
I find that getting Unicode support in my cross-platform apps a real pain in
I would like to test a string containing a path to a file for
I'm getting this problem: PHP Warning: mail() [function.mail]: SMTP server response: 550 5.7.1 Unable
I'm an Information Architect and JavaScript developer by trade nowadays, but recently I've been

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.